@jsonstudio/rcc 0.89.1205 → 0.89.1457

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/README.md +53 -1412
  2. package/configsamples/config.json +426 -0
  3. package/configsamples/config.reference.json +58 -0
  4. package/configsamples/provider/crs/config.v1.json +46 -0
  5. package/configsamples/provider/glm/config.v1.json +81 -0
  6. package/configsamples/provider/glm-anthropic/config.v1.json +45 -0
  7. package/configsamples/provider/iflow/config.v1.json +74 -0
  8. package/configsamples/provider/kimi/config.v1.json +41 -0
  9. package/configsamples/provider/lmstudio/config.v1.json +101 -0
  10. package/configsamples/provider/mimo/config.v1.json +35 -0
  11. package/configsamples/provider/modelscope/config.v1.json +96 -0
  12. package/configsamples/provider/qwen/config.v1.json +38 -0
  13. package/configsamples/provider/tab/config.v1.json +50 -0
  14. package/configsamples/provider/tabglm/config.v1.json +49 -0
  15. package/dist/build-info.js +2 -2
  16. package/dist/cli/commands/code.js +12 -6
  17. package/dist/cli/commands/code.js.map +1 -1
  18. package/dist/cli/commands/config.d.ts +2 -1
  19. package/dist/cli/commands/config.js +77 -103
  20. package/dist/cli/commands/config.js.map +1 -1
  21. package/dist/cli/commands/examples.js +6 -6
  22. package/dist/cli/commands/examples.js.map +1 -1
  23. package/dist/cli/commands/init.d.ts +28 -0
  24. package/dist/cli/commands/init.js +94 -0
  25. package/dist/cli/commands/init.js.map +1 -0
  26. package/dist/cli/commands/port.js +10 -2
  27. package/dist/cli/commands/port.js.map +1 -1
  28. package/dist/cli/commands/restart.js +5 -2
  29. package/dist/cli/commands/restart.js.map +1 -1
  30. package/dist/cli/commands/start.js +25 -22
  31. package/dist/cli/commands/start.js.map +1 -1
  32. package/dist/cli/commands/status.js +1 -0
  33. package/dist/cli/commands/status.js.map +1 -1
  34. package/dist/cli/commands/stop.js +1 -0
  35. package/dist/cli/commands/stop.js.map +1 -1
  36. package/dist/cli/config/bundled-docs.d.ts +20 -0
  37. package/dist/cli/config/bundled-docs.js +91 -0
  38. package/dist/cli/config/bundled-docs.js.map +1 -0
  39. package/dist/cli/config/init-config.d.ts +37 -0
  40. package/dist/cli/config/init-config.js +212 -0
  41. package/dist/cli/config/init-config.js.map +1 -0
  42. package/dist/cli/config/init-provider-catalog.d.ts +8 -0
  43. package/dist/cli/config/init-provider-catalog.js +187 -0
  44. package/dist/cli/config/init-provider-catalog.js.map +1 -0
  45. package/dist/cli/register/init-command.d.ts +3 -0
  46. package/dist/cli/register/init-command.js +5 -0
  47. package/dist/cli/register/init-command.js.map +1 -0
  48. package/dist/cli.js +28 -3
  49. package/dist/cli.js.map +1 -1
  50. package/dist/client/gemini/gemini-protocol-client.js +2 -1
  51. package/dist/client/gemini/gemini-protocol-client.js.map +1 -1
  52. package/dist/client/gemini-cli/gemini-cli-protocol-client.js +40 -16
  53. package/dist/client/gemini-cli/gemini-cli-protocol-client.js.map +1 -1
  54. package/dist/client/openai/chat-protocol-client.js +2 -1
  55. package/dist/client/openai/chat-protocol-client.js.map +1 -1
  56. package/dist/client/responses/responses-protocol-client.js +2 -1
  57. package/dist/client/responses/responses-protocol-client.js.map +1 -1
  58. package/dist/config/risk-control-config.d.ts +94 -0
  59. package/dist/config/risk-control-config.js +196 -0
  60. package/dist/config/risk-control-config.js.map +1 -0
  61. package/dist/constants/index.d.ts +6 -0
  62. package/dist/constants/index.js +13 -0
  63. package/dist/constants/index.js.map +1 -1
  64. package/dist/docs/daemon-admin-ui.html +2113 -190
  65. package/dist/error-handling/quiet-error-handling-center.js +46 -8
  66. package/dist/error-handling/quiet-error-handling-center.js.map +1 -1
  67. package/dist/index.js +0 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/manager/modules/health/index.d.ts +1 -1
  70. package/dist/manager/modules/quota/antigravity-quota-manager.d.ts +70 -0
  71. package/dist/manager/modules/quota/antigravity-quota-manager.js +442 -0
  72. package/dist/manager/modules/quota/antigravity-quota-manager.js.map +1 -0
  73. package/dist/manager/modules/quota/index.d.ts +3 -127
  74. package/dist/manager/modules/quota/index.js +2 -1093
  75. package/dist/manager/modules/quota/index.js.map +1 -1
  76. package/dist/manager/modules/quota/provider-key-normalization.d.ts +3 -0
  77. package/dist/manager/modules/quota/provider-key-normalization.js +155 -0
  78. package/dist/manager/modules/quota/provider-key-normalization.js.map +1 -0
  79. package/dist/manager/modules/quota/provider-quota-daemon.cooldown.d.ts +9 -0
  80. package/dist/manager/modules/quota/provider-quota-daemon.cooldown.js +115 -0
  81. package/dist/manager/modules/quota/provider-quota-daemon.cooldown.js.map +1 -0
  82. package/dist/manager/modules/quota/provider-quota-daemon.d.ts +77 -0
  83. package/dist/manager/modules/quota/provider-quota-daemon.events.d.ts +12 -0
  84. package/dist/manager/modules/quota/provider-quota-daemon.events.js +239 -0
  85. package/dist/manager/modules/quota/provider-quota-daemon.events.js.map +1 -0
  86. package/dist/manager/modules/quota/provider-quota-daemon.js +404 -0
  87. package/dist/manager/modules/quota/provider-quota-daemon.js.map +1 -0
  88. package/dist/manager/modules/quota/provider-quota-daemon.model-backoff.d.ts +11 -0
  89. package/dist/manager/modules/quota/provider-quota-daemon.model-backoff.js +192 -0
  90. package/dist/manager/modules/quota/provider-quota-daemon.model-backoff.js.map +1 -0
  91. package/dist/manager/modules/quota/provider-quota-daemon.snapshot.d.ts +8 -0
  92. package/dist/manager/modules/quota/provider-quota-daemon.snapshot.js +96 -0
  93. package/dist/manager/modules/quota/provider-quota-daemon.snapshot.js.map +1 -0
  94. package/dist/manager/modules/quota/provider-quota-daemon.view.d.ts +19 -0
  95. package/dist/manager/modules/quota/provider-quota-daemon.view.js +37 -0
  96. package/dist/manager/modules/quota/provider-quota-daemon.view.js.map +1 -0
  97. package/dist/manager/modules/routing/index.d.ts +1 -0
  98. package/dist/manager/modules/routing/index.js +11 -25
  99. package/dist/manager/modules/routing/index.js.map +1 -1
  100. package/dist/manager/quota/provider-quota-center.d.ts +2 -0
  101. package/dist/manager/quota/provider-quota-center.js +80 -82
  102. package/dist/manager/quota/provider-quota-center.js.map +1 -1
  103. package/dist/modules/llmswitch/bridge.d.ts +16 -18
  104. package/dist/modules/llmswitch/bridge.js +293 -94
  105. package/dist/modules/llmswitch/bridge.js.map +1 -1
  106. package/dist/modules/llmswitch/core-loader.d.ts +4 -2
  107. package/dist/modules/llmswitch/core-loader.js +32 -20
  108. package/dist/modules/llmswitch/core-loader.js.map +1 -1
  109. package/dist/modules/pipeline/utils/colored-logger.js +3 -2
  110. package/dist/modules/pipeline/utils/colored-logger.js.map +1 -1
  111. package/dist/modules/pipeline/utils/debug-logger.js +1 -1
  112. package/dist/modules/pipeline/utils/debug-logger.js.map +1 -1
  113. package/dist/providers/auth/antigravity-userinfo-helper.d.ts +2 -1
  114. package/dist/providers/auth/antigravity-userinfo-helper.js +25 -4
  115. package/dist/providers/auth/antigravity-userinfo-helper.js.map +1 -1
  116. package/dist/providers/auth/iflow-cookie-auth.js +0 -2
  117. package/dist/providers/auth/iflow-cookie-auth.js.map +1 -1
  118. package/dist/providers/auth/oauth-lifecycle.js +2 -23
  119. package/dist/providers/auth/oauth-lifecycle.js.map +1 -1
  120. package/dist/providers/auth/tokenfile-auth.d.ts +2 -0
  121. package/dist/providers/auth/tokenfile-auth.js +33 -1
  122. package/dist/providers/auth/tokenfile-auth.js.map +1 -1
  123. package/dist/providers/core/config/camoufox-launcher.d.ts +5 -0
  124. package/dist/providers/core/config/camoufox-launcher.js +40 -4
  125. package/dist/providers/core/config/camoufox-launcher.js.map +1 -1
  126. package/dist/providers/core/config/service-profiles.js +7 -18
  127. package/dist/providers/core/config/service-profiles.js.map +1 -1
  128. package/dist/providers/core/runtime/antigravity-quota-client.js +6 -3
  129. package/dist/providers/core/runtime/antigravity-quota-client.js.map +1 -1
  130. package/dist/providers/core/runtime/base-provider.d.ts +2 -7
  131. package/dist/providers/core/runtime/base-provider.js +84 -165
  132. package/dist/providers/core/runtime/base-provider.js.map +1 -1
  133. package/dist/providers/core/runtime/gemini-cli-http-provider.d.ts +7 -0
  134. package/dist/providers/core/runtime/gemini-cli-http-provider.js +368 -97
  135. package/dist/providers/core/runtime/gemini-cli-http-provider.js.map +1 -1
  136. package/dist/providers/core/runtime/http-request-executor.d.ts +3 -0
  137. package/dist/providers/core/runtime/http-request-executor.js +110 -38
  138. package/dist/providers/core/runtime/http-request-executor.js.map +1 -1
  139. package/dist/providers/core/runtime/http-transport-provider.d.ts +17 -0
  140. package/dist/providers/core/runtime/http-transport-provider.js +165 -16
  141. package/dist/providers/core/runtime/http-transport-provider.js.map +1 -1
  142. package/dist/providers/core/runtime/provider-error-classifier.js +10 -0
  143. package/dist/providers/core/runtime/provider-error-classifier.js.map +1 -1
  144. package/dist/providers/core/runtime/provider-factory.js +7 -5
  145. package/dist/providers/core/runtime/provider-factory.js.map +1 -1
  146. package/dist/providers/core/runtime/provider-runtime-metadata.d.ts +6 -0
  147. package/dist/providers/core/runtime/provider-runtime-metadata.js.map +1 -1
  148. package/dist/providers/core/runtime/rate-limit-manager.d.ts +1 -12
  149. package/dist/providers/core/runtime/rate-limit-manager.js +4 -77
  150. package/dist/providers/core/runtime/rate-limit-manager.js.map +1 -1
  151. package/dist/providers/core/runtime/responses-provider.d.ts +1 -7
  152. package/dist/providers/core/runtime/responses-provider.js +12 -93
  153. package/dist/providers/core/runtime/responses-provider.js.map +1 -1
  154. package/dist/providers/core/strategies/oauth-auth-code-flow.js +12 -8
  155. package/dist/providers/core/strategies/oauth-auth-code-flow.js.map +1 -1
  156. package/dist/providers/core/utils/http-client.js +36 -46
  157. package/dist/providers/core/utils/http-client.js.map +1 -1
  158. package/dist/providers/core/utils/provider-error-logger.d.ts +1 -1
  159. package/dist/providers/core/utils/provider-error-reporter.d.ts +3 -1
  160. package/dist/providers/core/utils/provider-error-reporter.js +3 -0
  161. package/dist/providers/core/utils/provider-error-reporter.js.map +1 -1
  162. package/dist/providers/core/utils/snapshot-writer.js +1 -4
  163. package/dist/providers/core/utils/snapshot-writer.js.map +1 -1
  164. package/dist/providers/mock/mock-provider-runtime.js +57 -27
  165. package/dist/providers/mock/mock-provider-runtime.js.map +1 -1
  166. package/dist/scripts/camoufox/launch-auth.mjs +193 -58
  167. package/dist/server/handlers/handler-utils.js +8 -3
  168. package/dist/server/handlers/handler-utils.js.map +1 -1
  169. package/dist/server/handlers/responses-handler.js +1 -1
  170. package/dist/server/handlers/responses-handler.js.map +1 -1
  171. package/dist/server/runtime/http-server/daemon-admin/auth-handler.d.ts +2 -0
  172. package/dist/server/runtime/http-server/daemon-admin/auth-handler.js +103 -0
  173. package/dist/server/runtime/http-server/daemon-admin/auth-handler.js.map +1 -0
  174. package/dist/server/runtime/http-server/daemon-admin/auth-session.d.ts +5 -0
  175. package/dist/server/runtime/http-server/daemon-admin/auth-session.js +77 -0
  176. package/dist/server/runtime/http-server/daemon-admin/auth-session.js.map +1 -0
  177. package/dist/server/runtime/http-server/daemon-admin/auth-store.d.ts +18 -0
  178. package/dist/server/runtime/http-server/daemon-admin/auth-store.js +89 -0
  179. package/dist/server/runtime/http-server/daemon-admin/auth-store.js.map +1 -0
  180. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js +1 -2
  181. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js.map +1 -1
  182. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js +226 -24
  183. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js.map +1 -1
  184. package/dist/server/runtime/http-server/daemon-admin/quota-handler.js +47 -8
  185. package/dist/server/runtime/http-server/daemon-admin/quota-handler.js.map +1 -1
  186. package/dist/server/runtime/http-server/daemon-admin/restart-handler.js +1 -1
  187. package/dist/server/runtime/http-server/daemon-admin/restart-handler.js.map +1 -1
  188. package/dist/server/runtime/http-server/daemon-admin/stats-handler.js +1 -1
  189. package/dist/server/runtime/http-server/daemon-admin/stats-handler.js.map +1 -1
  190. package/dist/server/runtime/http-server/daemon-admin/status-handler.js +68 -4
  191. package/dist/server/runtime/http-server/daemon-admin/status-handler.js.map +1 -1
  192. package/dist/server/runtime/http-server/daemon-admin-routes.d.ts +3 -4
  193. package/dist/server/runtime/http-server/daemon-admin-routes.js +9 -14
  194. package/dist/server/runtime/http-server/daemon-admin-routes.js.map +1 -1
  195. package/dist/server/runtime/http-server/executor-metadata.js +1 -1
  196. package/dist/server/runtime/http-server/executor-metadata.js.map +1 -1
  197. package/dist/server/runtime/http-server/executor-response.js +0 -16
  198. package/dist/server/runtime/http-server/executor-response.js.map +1 -1
  199. package/dist/server/runtime/http-server/hub-shadow-compare.js +110 -34
  200. package/dist/server/runtime/http-server/hub-shadow-compare.js.map +1 -1
  201. package/dist/server/runtime/http-server/index.d.ts +5 -3
  202. package/dist/server/runtime/http-server/index.js +281 -136
  203. package/dist/server/runtime/http-server/index.js.map +1 -1
  204. package/dist/server/runtime/http-server/middleware.js +19 -1
  205. package/dist/server/runtime/http-server/middleware.js.map +1 -1
  206. package/dist/server/runtime/http-server/request-executor.js +59 -24
  207. package/dist/server/runtime/http-server/request-executor.js.map +1 -1
  208. package/dist/server/runtime/http-server/routes.js +12 -3
  209. package/dist/server/runtime/http-server/routes.js.map +1 -1
  210. package/dist/server/runtime/http-server/session-dir.d.ts +2 -0
  211. package/dist/server/runtime/http-server/session-dir.js +59 -0
  212. package/dist/server/runtime/http-server/session-dir.js.map +1 -0
  213. package/dist/server/runtime/http-server/types.d.ts +0 -4
  214. package/dist/server/utils/utf8-chunk-buffer.js +6 -3
  215. package/dist/server/utils/utf8-chunk-buffer.js.map +1 -1
  216. package/dist/server/utils/warmup-storm-tracker.js +1 -1
  217. package/dist/server/utils/warmup-storm-tracker.js.map +1 -1
  218. package/dist/server-factory.d.ts +6 -28
  219. package/dist/server-factory.js +8 -93
  220. package/dist/server-factory.js.map +1 -1
  221. package/dist/token-daemon/index.js +2 -2
  222. package/dist/token-daemon/index.js.map +1 -1
  223. package/dist/token-daemon/provider-registry.js +0 -1
  224. package/dist/token-daemon/provider-registry.js.map +1 -1
  225. package/dist/token-daemon/server-utils.js +8 -9
  226. package/dist/token-daemon/server-utils.js.map +1 -1
  227. package/dist/token-daemon/token-utils.js +1 -1
  228. package/dist/token-daemon/token-utils.js.map +1 -1
  229. package/dist/tools/semantic-replay.js +2 -2
  230. package/dist/tools/semantic-replay.js.map +1 -1
  231. package/dist/tools/stats-request-events.d.ts +1 -1
  232. package/dist/tools/stats-usage.js +6 -3
  233. package/dist/tools/stats-usage.js.map +1 -1
  234. package/dist/utils/llms-engine-shadow.d.ts +19 -0
  235. package/dist/utils/llms-engine-shadow.js +209 -0
  236. package/dist/utils/llms-engine-shadow.js.map +1 -0
  237. package/dist/utils/runtime-versions.js +2 -1
  238. package/dist/utils/runtime-versions.js.map +1 -1
  239. package/dist/utils/strip-internal-keys.d.ts +12 -0
  240. package/dist/utils/strip-internal-keys.js +28 -0
  241. package/dist/utils/strip-internal-keys.js.map +1 -0
  242. package/docs/ARCHITECTURE.md +402 -0
  243. package/docs/CHAT_PROCESS_PROTOCOL_AND_PIPELINE.md +221 -0
  244. package/docs/CODEX_AND_CLAUDE_CODE.md +69 -0
  245. package/docs/CONFIG_ARCHITECTURE.md +517 -0
  246. package/docs/ERROR_HANDLING_AUDIT.md +0 -0
  247. package/docs/GCLI2API_PARITY_GAPS.md +98 -0
  248. package/docs/INSTALLATION_AND_QUICKSTART.md +74 -0
  249. package/docs/INSTRUCTION_MARKUP.md +89 -0
  250. package/docs/MODULE_ENHANCEMENT_SYSTEM.md +666 -0
  251. package/docs/PORTS.md +36 -0
  252. package/docs/PROVIDERS_BUILTIN.md +111 -0
  253. package/docs/PROVIDER_TYPES.md +55 -0
  254. package/docs/SERVERTOOL_CLOCK_DESIGN.md +233 -0
  255. package/docs/USAGE_HANDLING_ANALYSIS.md +335 -0
  256. package/docs/USER_CONFIG_PARSER_CHANGES.md +175 -0
  257. package/docs/V3_INBOUND_OUTBOUND_DESIGN.md +86 -0
  258. package/docs/VIRTUAL_ROUTER_PRIORITY_AND_HEALTH.md +125 -0
  259. package/docs/anthropic-request-golden-samples.md +50 -0
  260. package/docs/antigravity-gemini-format-cleanup.md +102 -0
  261. package/docs/antigravity-routing-contract.md +31 -0
  262. package/docs/ccr-alignment-enhancetool.md +105 -0
  263. package/docs/chat-glm-500-analysis.md +79 -0
  264. package/docs/chat-request-golden-samples.md +42 -0
  265. package/docs/chat-semantic-expansion-plan.md +84 -0
  266. package/docs/cli-command-inventory.md +76 -0
  267. package/docs/codex-samples-replay.md +50 -0
  268. package/docs/daemon-admin-api-design.md +350 -0
  269. package/docs/daemon-admin-module-structure.md +169 -0
  270. package/docs/daemon-admin-ui.html +3394 -0
  271. package/docs/debug-system-design.md +734 -0
  272. package/docs/debugging/gemini-sse-root-cause.md +52 -0
  273. package/docs/debugging/sse_encoding_failure_analysis.md +53 -0
  274. package/docs/dry-run/README.md +721 -0
  275. package/docs/error-handling-v2.md +92 -0
  276. package/docs/exec-command-guard-policy.example.v1.json +42 -0
  277. package/docs/fixes/gemini-protocol-mapping.md +57 -0
  278. package/docs/fixes/oauth-portal-timing-fix.md +202 -0
  279. package/docs/fixes/web-search-hop3-fix.md +265 -0
  280. package/docs/glm-api-reference.md +390 -0
  281. package/docs/glm-chat-completions.md +1779 -0
  282. package/docs/glm-history-inline-images.md +44 -0
  283. package/docs/golden-ci-library.md +66 -0
  284. package/docs/lmstudio-dry-run-summary.md +203 -0
  285. package/docs/lmstudio-tool-calling.md +214 -0
  286. package/docs/mapping-tables/anthropic-to-openai.json +290 -0
  287. package/docs/mapping-tables/iflow-to-openai.json +215 -0
  288. package/docs/mapping-tables/openai-passthrough.json +190 -0
  289. package/docs/mapping-tables/openai-to-iflow.json +227 -0
  290. package/docs/monitoring/Design.md +61 -0
  291. package/docs/multi-token-auth-guide.md +66 -0
  292. package/docs/oauth-authentication-guide.md +168 -0
  293. package/docs/oauth-iflow-implementation.md +153 -0
  294. package/docs/pipeline-routing-report.md +209 -0
  295. package/docs/plans/manager-daemon/PLAN.md +86 -0
  296. package/docs/plans/provider-config-v2-plan.md +176 -0
  297. package/docs/plans/provider-runtime-manager-plan.md +209 -0
  298. package/docs/plans/transparent-429-failover.md +89 -0
  299. package/docs/plans/unified-hub-framework-v1.md +245 -0
  300. package/docs/provider-config-v2-ui-design.md +181 -0
  301. package/docs/provider-quota-design.md +129 -0
  302. package/docs/providers/gemini-provider.md +62 -0
  303. package/docs/providers/lmstudio-v2-migration-report.md +102 -0
  304. package/docs/providers/provider-composite-design.md +142 -0
  305. package/docs/providers/provider-composite-testing.md +98 -0
  306. package/docs/providers/provider-type-only-migration.md +111 -0
  307. package/docs/rccx-wasm-migration.md +74 -0
  308. package/docs/refactoring/architecture-comparison-diagram.md +140 -0
  309. package/docs/refactoring/compatibility-v2-architecture-design.md +738 -0
  310. package/docs/refactoring/workflow-compatibility-refactoring-design.md +361 -0
  311. package/docs/reports/routing-classification-report.json +24 -0
  312. package/docs/reports/routing-classification-report.md +18 -0
  313. package/docs/reports/thinking-keywords-report.json +19 -0
  314. package/docs/responses/README.md +156 -0
  315. package/docs/responses-generic-provider.md +86 -0
  316. package/docs/responses-passthrough-provider-design.md +202 -0
  317. package/docs/routing-awrr-health-weighted-round-robin.md +179 -0
  318. package/docs/routing-instructions.md +393 -0
  319. package/docs/servertool-framework.md +65 -0
  320. package/docs/stop-message-auto.md +225 -0
  321. package/docs/streaming-flow.html +30 -0
  322. package/docs/streaming-flow.md +182 -0
  323. package/docs/token-daemon-preview.html +490 -0
  324. package/docs/token-refresh-daemon-plan.md +269 -0
  325. package/docs/transformation-tables/Gemini-FinishReason/345/256/214/346/225/264/350/275/254/346/215/242/350/241/250.json +233 -0
  326. package/docs/transformation-tables/README.md +225 -0
  327. package/docs/transformation-tables/claude-code-router-anthropic-to-gemini.json +283 -0
  328. package/docs/transformation-tables/claude-code-router-anthropic-to-openai.json +208 -0
  329. package/docs/transformation-tables/claude-code-router-openai-to-anthropic.json +261 -0
  330. package/docs/transformation-tables/claude-code-router-openai-to-gemini.json +208 -0
  331. package/docs/transformation-tables/claude-code-router-openai-to-lmstudio.json +182 -0
  332. package/docs/transformation-tables/claude-code-router-openai-to-ollama.json +250 -0
  333. package/docs/transformation-tables/claude-code-router-openai-to-textgenwebui.json +295 -0
  334. package/docs/transformation-tables/claude-code-router-provider-conversions.json +193 -0
  335. package/docs/transformation-tables//345/256/214/346/225/264/347/232/204/345/267/245/345/205/267/346/211/247/350/241/214/346/265/201/347/250/213/350/275/254/346/215/242/350/241/250.json +299 -0
  336. package/docs/transformation-tables//345/257/271/350/257/235/345/216/206/345/217/262/347/273/264/346/212/244/345/210/206/346/236/220.md +134 -0
  337. package/docs/transformation-tables//345/267/245/345/205/267/350/260/203/347/224/250/346/250/241/345/274/217/345/210/206/346/236/220.md +158 -0
  338. package/docs/transformation-tables//347/212/266/346/200/201/347/256/241/347/220/206/351/234/200/346/261/202/345/210/206/346/236/220.md +175 -0
  339. package/docs/transformation-tables//351/235/231/346/200/201/350/241/250vs/345/212/250/346/200/201/345/210/206/346/236/220.md +189 -0
  340. package/docs/transformation-tables//351/235/231/346/200/201/350/241/250/345/207/206/347/241/256/346/200/247/350/257/204/344/274/260.md +179 -0
  341. package/docs/transformation-tables//351/235/236/346/265/201/345/274/217/345/234/272/346/231/257/345/210/206/346/236/220.md +189 -0
  342. package/docs/v2-architecture/IMPLEMENTATION-ROADMAP.md +367 -0
  343. package/docs/v2-architecture/OPTIMIZED-DESIGN.md +827 -0
  344. package/docs/v2-architecture/PRERUN-CONNECTION-DESIGN.md +716 -0
  345. package/docs/v2-architecture/README.md +549 -0
  346. package/docs/verification/modelscope-verify.md +59 -0
  347. package/docs/verified-configs/README.md +60 -0
  348. package/docs/verified-configs/v0.45.0/README.md +244 -0
  349. package/docs/verified-configs/v0.45.0/lmstudio-5521-gpt-oss-20b-mlx.json +135 -0
  350. package/docs/verified-configs/v0.45.0/merged-config.5521.json +1205 -0
  351. package/docs/verified-configs/v0.45.0/merged-config.qwen-5522.json +1559 -0
  352. package/docs/verified-configs/v0.45.0/qwen-5522-qwen3-coder-plus-final.json +221 -0
  353. package/docs/verified-configs/v0.45.0/qwen-5522-qwen3-coder-plus-fixed.json +242 -0
  354. package/docs/verified-configs/v0.45.0/qwen-5522-qwen3-coder-plus.json +242 -0
  355. package/docs/web-search-service-design.md +322 -0
  356. package/package.json +26 -15
  357. package/scripts/build-core.mjs +3 -1
  358. package/scripts/camoufox/launch-auth.mjs +193 -58
  359. package/scripts/ci/repo-sanity.mjs +138 -0
  360. package/scripts/mock-provider/run-regressions.mjs +157 -1
  361. package/scripts/monitor-diff.mjs +126 -0
  362. package/scripts/pack-mode.mjs +19 -1
  363. package/scripts/pack-rcc.mjs +63 -0
  364. package/scripts/run-bg.sh +0 -14
  365. package/scripts/tests/ci-jest.mjs +119 -0
  366. package/scripts/tools-dev/responses-debug-client/README.md +23 -0
  367. package/scripts/tools-dev/responses-debug-client/payloads/poem.json +13 -0
  368. package/scripts/tools-dev/responses-debug-client/payloads/sample-no-tools.json +98 -0
  369. package/scripts/tools-dev/responses-debug-client/payloads/text.json +13 -0
  370. package/scripts/tools-dev/responses-debug-client/payloads/tool.json +27 -0
  371. package/scripts/tools-dev/responses-debug-client/run.mjs +65 -0
  372. package/scripts/tools-dev/responses-debug-client/src/index.ts +281 -0
  373. package/scripts/tools-dev/run-llmswitch-chat.mjs +53 -0
  374. package/scripts/tools-dev/server-tools-dev/run-web-fetch.mjs +65 -0
  375. package/scripts/unified-hub-shadow-compare.mjs +33 -13
  376. package/scripts/vendor-core.mjs +13 -3
  377. package/scripts/verify-e2e-toolcall.mjs +115 -26
  378. package/dist/modules/llmswitch/pipeline-registry.d.ts +0 -57
  379. package/dist/modules/llmswitch/pipeline-registry.js +0 -229
  380. package/dist/modules/llmswitch/pipeline-registry.js.map +0 -1
  381. package/dist/server/RouteCodexServer.d.ts +0 -13
  382. package/dist/server/RouteCodexServer.js +0 -25
  383. package/dist/server/RouteCodexServer.js.map +0 -1
  384. package/dist/v2/conversion/hub/snapshot-recorder.d.ts +0 -12
  385. package/dist/v2/conversion/hub/snapshot-recorder.js +0 -22
  386. package/dist/v2/conversion/hub/snapshot-recorder.js.map +0 -1
  387. package/scripts/test-fc-responses.mjs +0 -66
  388. package/scripts/test-guidance.mjs +0 -100
  389. package/scripts/test-iflow-web-search.mjs +0 -141
  390. package/scripts/test-iflow.mjs +0 -379
  391. package/scripts/test-tool-exec.mjs +0 -26
@@ -1,7 +1,7 @@
1
1
  import { rejectNonLocalOrUnauthorizedAdmin } from '../daemon-admin-routes.js';
2
2
  export function registerRestartRoutes(app, options) {
3
3
  app.post('/daemon/restart', async (req, res) => {
4
- if (rejectNonLocalOrUnauthorizedAdmin(req, res, options.getExpectedApiKey?.())) {
4
+ if (rejectNonLocalOrUnauthorizedAdmin(req, res)) {
5
5
  return;
6
6
  }
7
7
  const restart = options.restartRuntimeFromDisk;
@@ -1 +1 @@
1
- {"version":3,"file":"restart-handler.js","sourceRoot":"","sources":["../../../../../src/server/runtime/http-server/daemon-admin/restart-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAE9E,MAAM,UAAU,qBAAqB,CAAC,GAAgB,EAAE,OAAgC;IACtF,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAChE,IAAI,iCAAiC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,EAAE,CAAC;YAAA,OAAO;QAAA,CAAC;QAEzF,MAAM,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC;QAC/C,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,gCAAgC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;YACxG,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;YAC/B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"restart-handler.js","sourceRoot":"","sources":["../../../../../src/server/runtime/http-server/daemon-admin/restart-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAE9E,MAAM,UAAU,qBAAqB,CAAC,GAAgB,EAAE,OAAgC;IACtF,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAChE,IAAI,iCAAiC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YAAA,OAAO;QAAA,CAAC;QAE1D,MAAM,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC;QAC/C,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,gCAAgC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;YACxG,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;YAC/B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -24,7 +24,7 @@ function sumTotals(rows) {
24
24
  }
25
25
  export function registerStatsRoutes(app, options) {
26
26
  app.get('/daemon/stats', (req, res) => {
27
- if (rejectNonLocalOrUnauthorizedAdmin(req, res, options.getExpectedApiKey?.())) {
27
+ if (rejectNonLocalOrUnauthorizedAdmin(req, res)) {
28
28
  return;
29
29
  }
30
30
  if (typeof options.getStatsSnapshot !== 'function') {
@@ -1 +1 @@
1
- {"version":3,"file":"stats-handler.js","sourceRoot":"","sources":["../../../../../src/server/runtime/http-server/daemon-admin/stats-handler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAW9E,SAAS,SAAS,CAAC,IAAqC;IACtD,MAAM,MAAM,GAAgB;QAC1B,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,iBAAiB,EAAE,CAAC;QACpB,qBAAqB,EAAE,CAAC;QACxB,iBAAiB,EAAE,CAAC;KACrB,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;YAAA,SAAS;QAAA,CAAC;QACrB,MAAM,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,iBAAiB,IAAI,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC;QACvD,MAAM,CAAC,qBAAqB,IAAI,GAAG,CAAC,qBAAqB,IAAI,CAAC,CAAC;QAC/D,MAAM,CAAC,iBAAiB,IAAI,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAgB,EAAE,OAAgC;IACpF,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACvD,IAAI,iCAAiC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,EAAE,CAAC;YAAA,OAAO;QAAA,CAAC;QAEzF,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;YAC9F,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAGxC,CAAC;YAEF,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAEhE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE;gBAC/B,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,MAAM,EAAE;oBACN,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,gBAAgB;iBAC7B;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"stats-handler.js","sourceRoot":"","sources":["../../../../../src/server/runtime/http-server/daemon-admin/stats-handler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAW9E,SAAS,SAAS,CAAC,IAAqC;IACtD,MAAM,MAAM,GAAgB;QAC1B,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,iBAAiB,EAAE,CAAC;QACpB,qBAAqB,EAAE,CAAC;QACxB,iBAAiB,EAAE,CAAC;KACrB,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;YAAA,SAAS;QAAA,CAAC;QACrB,MAAM,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,iBAAiB,IAAI,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC;QACvD,MAAM,CAAC,qBAAqB,IAAI,GAAG,CAAC,qBAAqB,IAAI,CAAC,CAAC;QAC/D,MAAM,CAAC,iBAAiB,IAAI,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAgB,EAAE,OAAgC;IACpF,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACvD,IAAI,iCAAiC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YAAA,OAAO;QAAA,CAAC;QAE1D,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;YAC9F,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAGxC,CAAC;YAEF,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAEhE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE;gBAC/B,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,MAAM,EAAE;oBACN,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,gBAAgB;iBAC7B;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { rejectNonLocalOrUnauthorizedAdmin } from '../daemon-admin-routes.js';
2
2
  export function registerStatusRoutes(app, options) {
3
3
  app.get('/daemon/status', (req, res) => {
4
- if (rejectNonLocalOrUnauthorizedAdmin(req, res, options.getExpectedApiKey?.())) {
4
+ if (rejectNonLocalOrUnauthorizedAdmin(req, res)) {
5
5
  return;
6
6
  }
7
7
  const manager = options.getManagerDaemon();
@@ -41,7 +41,7 @@ export function registerStatusRoutes(app, options) {
41
41
  // Admin-only module control helpers (stop/restart).
42
42
  // Intended for operational debugging (e.g. reload provider-quota snapshot after file deletion).
43
43
  app.post('/daemon/modules/:id/stop', async (req, res) => {
44
- if (rejectNonLocalOrUnauthorizedAdmin(req, res, options.getExpectedApiKey?.())) {
44
+ if (rejectNonLocalOrUnauthorizedAdmin(req, res)) {
45
45
  return;
46
46
  }
47
47
  const id = typeof req.params.id === 'string' ? req.params.id.trim() : '';
@@ -69,7 +69,7 @@ export function registerStatusRoutes(app, options) {
69
69
  }
70
70
  });
71
71
  app.post('/daemon/modules/:id/restart', async (req, res) => {
72
- if (rejectNonLocalOrUnauthorizedAdmin(req, res, options.getExpectedApiKey?.())) {
72
+ if (rejectNonLocalOrUnauthorizedAdmin(req, res)) {
73
73
  return;
74
74
  }
75
75
  const id = typeof req.params.id === 'string' ? req.params.id.trim() : '';
@@ -99,8 +99,50 @@ export function registerStatusRoutes(app, options) {
99
99
  res.status(500).json({ error: { message, code: 'module_restart_failed' } });
100
100
  }
101
101
  });
102
+ // Best-effort "refresh" semantics for modules that expose refreshNow()/reset().
103
+ // This is primarily used by quota modules so the admin UI can force refresh without restart.
104
+ app.post('/daemon/modules/:id/refresh', async (req, res) => {
105
+ if (rejectNonLocalOrUnauthorizedAdmin(req, res)) {
106
+ return;
107
+ }
108
+ const id = typeof req.params.id === 'string' ? req.params.id.trim() : '';
109
+ if (!id) {
110
+ res.status(400).json({ error: { message: 'id is required', code: 'bad_request' } });
111
+ return;
112
+ }
113
+ const daemon = options.getManagerDaemon();
114
+ if (!daemon || typeof daemon.getModule !== 'function') {
115
+ res.status(503).json({ error: { message: 'manager daemon not available', code: 'not_ready' } });
116
+ return;
117
+ }
118
+ const mod = daemon.getModule(id);
119
+ if (!mod) {
120
+ res.status(404).json({ error: { message: 'module not found', code: 'not_found' } });
121
+ return;
122
+ }
123
+ try {
124
+ if (typeof mod.refreshNow === 'function') {
125
+ const result = await mod.refreshNow();
126
+ res.status(200).json({ ok: true, id, action: 'refresh', refreshedAt: Date.now(), result });
127
+ return;
128
+ }
129
+ if (typeof mod.reset === 'function') {
130
+ const result = await mod.reset({ persist: true });
131
+ res.status(200).json({ ok: true, id, action: 'refresh', refreshedAt: Date.now(), result, fallback: 'reset' });
132
+ return;
133
+ }
134
+ await mod.stop();
135
+ await mod.init({ serverId: options.getServerId() });
136
+ await mod.start();
137
+ res.status(200).json({ ok: true, id, action: 'refresh', refreshedAt: Date.now(), fallback: 'restart' });
138
+ }
139
+ catch (error) {
140
+ const message = error instanceof Error ? error.message : String(error);
141
+ res.status(500).json({ error: { message, code: 'module_refresh_failed' } });
142
+ }
143
+ });
102
144
  app.post('/daemon/modules/:id/reset', async (req, res) => {
103
- if (rejectNonLocalOrUnauthorizedAdmin(req, res, options.getExpectedApiKey?.())) {
145
+ if (rejectNonLocalOrUnauthorizedAdmin(req, res)) {
104
146
  return;
105
147
  }
106
148
  const id = typeof req.params.id === 'string' ? req.params.id.trim() : '';
@@ -121,6 +163,28 @@ export function registerStatusRoutes(app, options) {
121
163
  try {
122
164
  if (typeof mod.reset === 'function') {
123
165
  const result = await mod.reset({ persist: true });
166
+ // Special-case: resetting provider-quota should immediately trigger a quota refresh
167
+ // so quota-aware providers (e.g. antigravity) are re-fetched instead of staying stale.
168
+ if (id === 'provider-quota') {
169
+ try {
170
+ const quotaMod = daemon.getModule('quota');
171
+ if (quotaMod && typeof quotaMod.refreshNow === 'function') {
172
+ const quotaRefresh = await quotaMod.refreshNow();
173
+ res.status(200).json({
174
+ ok: true,
175
+ id,
176
+ action: 'reset',
177
+ resetAt: Date.now(),
178
+ result,
179
+ meta: { quotaRefresh }
180
+ });
181
+ return;
182
+ }
183
+ }
184
+ catch {
185
+ // ignore quota refresh failures on provider-quota reset
186
+ }
187
+ }
124
188
  res.status(200).json({ ok: true, id, action: 'reset', resetAt: Date.now(), result });
125
189
  return;
126
190
  }
@@ -1 +1 @@
1
- {"version":3,"file":"status-handler.js","sourceRoot":"","sources":["../../../../../src/server/runtime/http-server/daemon-admin/status-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status-handler.js","sourceRoot":"","sources":["../../../../../src/server/runtime/http-server/daemon-admin/status-handler.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,7 @@ export interface DaemonAdminRouteOptions {
15
15
  */
16
16
  getVirtualRouterArtifacts: () => unknown | null;
17
17
  /**
18
- * 返回 HTTP server 访问 apikey(如果配置了)。
19
- * 用于允许远程访问 daemon-admin JSON API(配合 apikey 校验)。
18
+ * Deprecated: daemon-admin 不再使用 apikey 鉴权(改为密码登录)。
20
19
  */
21
20
  getExpectedApiKey?: () => string | undefined;
22
21
  /**
@@ -37,7 +36,7 @@ export interface DaemonAdminRouteOptions {
37
36
  };
38
37
  }
39
38
  export declare function isLocalRequest(req: Request): boolean;
40
- export declare function isDaemonAdminRequestAllowed(req: Request, expectedApiKey?: string): boolean;
39
+ export declare function isDaemonAdminAuthenticated(req: Request): boolean;
41
40
  export declare function rejectNonLocal(req: Request, res: Response): boolean;
42
- export declare function rejectNonLocalOrUnauthorizedAdmin(req: Request, res: Response, expectedApiKey?: string): boolean;
41
+ export declare function rejectNonLocalOrUnauthorizedAdmin(req: Request, res: Response): boolean;
43
42
  export declare function registerDaemonAdminRoutes(options: DaemonAdminRouteOptions): void;
@@ -1,24 +1,17 @@
1
+ import { registerDaemonAuthRoutes } from './daemon-admin/auth-handler.js';
1
2
  import { registerStatusRoutes } from './daemon-admin/status-handler.js';
2
3
  import { registerCredentialRoutes } from './daemon-admin/credentials-handler.js';
3
4
  import { registerQuotaRoutes } from './daemon-admin/quota-handler.js';
4
5
  import { registerProviderRoutes } from './daemon-admin/providers-handler.js';
5
6
  import { registerRestartRoutes } from './daemon-admin/restart-handler.js';
6
7
  import { registerStatsRoutes } from './daemon-admin/stats-handler.js';
7
- import { extractApiKeyFromRequest } from './middleware.js';
8
+ import { isDaemonSessionAuthenticated } from './daemon-admin/auth-session.js';
8
9
  export function isLocalRequest(req) {
9
10
  const ip = req.socket?.remoteAddress || '';
10
11
  return ip === '127.0.0.1' || ip === '::1' || ip === '::ffff:127.0.0.1';
11
12
  }
12
- export function isDaemonAdminRequestAllowed(req, expectedApiKey) {
13
- if (isLocalRequest(req)) {
14
- return true;
15
- }
16
- const expected = typeof expectedApiKey === 'string' ? expectedApiKey.trim() : '';
17
- if (!expected) {
18
- return false;
19
- }
20
- const provided = extractApiKeyFromRequest(req);
21
- return Boolean(provided && provided === expected);
13
+ export function isDaemonAdminAuthenticated(req) {
14
+ return isDaemonSessionAuthenticated(req);
22
15
  }
23
16
  export function rejectNonLocal(req, res) {
24
17
  if (isLocalRequest(req)) {
@@ -27,15 +20,17 @@ export function rejectNonLocal(req, res) {
27
20
  res.status(403).json({ error: { message: 'forbidden', code: 'forbidden' } });
28
21
  return true;
29
22
  }
30
- export function rejectNonLocalOrUnauthorizedAdmin(req, res, expectedApiKey) {
31
- if (isDaemonAdminRequestAllowed(req, expectedApiKey)) {
23
+ export function rejectNonLocalOrUnauthorizedAdmin(req, res) {
24
+ if (isDaemonAdminAuthenticated(req)) {
32
25
  return false;
33
26
  }
34
- res.status(403).json({ error: { message: 'forbidden', code: 'forbidden' } });
27
+ res.status(401).json({ error: { message: 'unauthorized', code: 'unauthorized' } });
35
28
  return true;
36
29
  }
37
30
  export function registerDaemonAdminRoutes(options) {
38
31
  const { app } = options;
32
+ // Daemon admin password auth (setup/login/logout/status)
33
+ registerDaemonAuthRoutes(app);
39
34
  // Daemon / manager 状态
40
35
  registerStatusRoutes(app, options);
41
36
  // Token usage / provider stats
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-admin-routes.js","sourceRoot":"","sources":["../../../../src/server/runtime/http-server/daemon-admin-routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAqC3D,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE,CAAC;IAC3C,OAAO,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,kBAAkB,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,GAAY,EAAE,cAAuB;IAC/E,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC/C,OAAO,OAAO,CAAC,QAAQ,IAAI,QAAQ,KAAK,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAY,EAAE,GAAa;IACxD,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,GAAY,EACZ,GAAa,EACb,cAAuB;IAEvB,IAAI,2BAA2B,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgC;IACxE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAExB,sBAAsB;IACtB,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEnC,+BAA+B;IAC/B,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAElC,yBAAyB;IACzB,wBAAwB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEvC,mBAAmB;IACnB,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAElC,+BAA+B;IAC/B,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAErC,qDAAqD;IACrD,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"daemon-admin-routes.js","sourceRoot":"","sources":["../../../../src/server/runtime/http-server/daemon-admin-routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAmC9E,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE,CAAC;IAC3C,OAAO,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,kBAAkB,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,GAAY;IACrD,OAAO,4BAA4B,CAAC,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAY,EAAE,GAAa;IACxD,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,GAAY,EACZ,GAAa;IAEb,IAAI,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;IACnF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgC;IACxE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAExB,yDAAyD;IACzD,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAE9B,sBAAsB;IACtB,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEnC,+BAA+B;IAC/B,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAElC,yBAAyB;IACzB,wBAAwB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEvC,mBAAmB;IACnB,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAElC,+BAA+B;IAC/B,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAErC,qDAAqD;IACrD,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { asRecord } from './provider-utils.js';
2
- import { extractSessionIdentifiersFromMetadata } from '../../../../sharedmodule/llmswitch-core/dist/conversion/hub/pipeline/session-identifiers.js';
2
+ import { extractSessionIdentifiersFromMetadata } from '../../../modules/llmswitch/bridge.js';
3
3
  export function cloneClientHeaders(source) {
4
4
  if (!source || typeof source !== 'object') {
5
5
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"executor-metadata.js","sourceRoot":"","sources":["../../../../src/server/runtime/http-server/executor-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor-metadata.js","sourceRoot":"","sources":["../../../../src/server/runtime/http-server/executor-metadata.ts"],"names":[],"mappings":"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"}
@@ -94,7 +94,6 @@ export async function convertProviderResponseIfNeeded(options, deps) {
94
94
  const reenterPipeline = async (reenterOpts) => {
95
95
  const nestedEntry = reenterOpts.entryEndpoint || options.entryEndpoint || entry;
96
96
  const nestedExtra = asRecord(reenterOpts.metadata) ?? {};
97
- const nestedEntryLower = nestedEntry.toLowerCase();
98
97
  const nestedMetadata = {
99
98
  ...(metadataBag ?? {}),
100
99
  ...nestedExtra,
@@ -102,21 +101,6 @@ export async function convertProviderResponseIfNeeded(options, deps) {
102
101
  direction: 'request',
103
102
  stage: 'inbound'
104
103
  };
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 followupProtocol = typeof nestedExtra.serverToolFollowupProtocol === 'string'
115
- ? nestedExtra.serverToolFollowupProtocol
116
- : undefined;
117
- if (followupProtocol) {
118
- nestedMetadata.providerProtocol = followupProtocol;
119
- }
120
104
  const nestedInput = {
121
105
  entryEndpoint: nestedEntry,
122
106
  method: 'POST',
@@ -1 +1 @@
1
- {"version":3,"file":"executor-response.js","sourceRoot":"","sources":["../../../../src/server/runtime/http-server/executor-response.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EACL,uBAAuB,IAAI,6BAA6B,EACxD,sBAAsB,IAAI,4BAA4B,EACvD,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,mCAAmC,EAAE,MAAM,wCAAwC,CAAC;AAkB7F,SAAS,oBAAoB,CAC3B,QAAiC,EACjC,eAAyC;IAEzC,MAAM,UAAU,GAAG;QACjB,QAAQ,CAAC,aAAa;QACtB,QAAQ,CAAC,eAAe;QACxB,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ;YACrD,CAAC,CAAE,QAAQ,CAAC,MAAkC,CAAC,aAAa;YAC5D,CAAC,CAAC,SAAS,CAAC;QACd,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ;YACpD,CAAC,CAAE,eAA2C,CAAC,KAAK;YACpD,CAAC,CAAC,SAAS;QACb,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ;YACpD,CAAC,CAAE,eAA2C,CAAC,eAAe;YAC9D,CAAC,CAAC,SAAS;KACd,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACtD,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,OAAuC,EACvC,IAAiC;IAEjC,IAAI,OAAO,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,MAAM,wBAAwB,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAChE,MAAM,wBAAwB,GAAG,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACjE,MAAM,mBAAmB,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACnE,IAAI,CAAC,wBAAwB,IAAI,CAAC,wBAAwB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACnF,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACnC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,4BAA4B,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,oBAAoB,CAAC,WAAW,IAAI,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACzF,MAAM,WAAW,GAA4B;YAC3C,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;SACvB,CAAC;QACF,IAAI,OAAQ,WAAmD,EAAE,SAAS,KAAK,QAAQ,EAAE,CAAC;YACxF,WAAW,CAAC,OAAO,GAAI,WAAuC,CAAC,SAAmB,CAAC;QACrF,CAAC;QACD,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC1C,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;QAC3D,WAAW,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAChD,WAAW,CAAC,eAAe,GAAG,eAAe,CAAC;QAC9C,mCAAmC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,WAAW,CAAC;QACnC,IAAI,QAAQ,EAAE,CAAC;YACZ,cAA0C,CAAC,oBAAoB,GAAG,QAAQ,CAAC;QAC9E,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,4BAA4B,CACtD,cAAc,EACd,OAAQ,cAA0C,CAAC,aAAa,KAAK,QAAQ;YAC3E,CAAC,CAAG,cAA0C,CAAC,aAAwB;YACvE,CAAC,CAAC,KAAK,CACV,CAAC;QAEF,MAAM,eAAe,GAAG,KAAK,EAAE,aAI9B,EAA0D,EAAE;YAC3D,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAiD,CAAC;gBAChF,MAAM,YAAY,GAChB,OAAO,CAAC,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;oBACtD,CAAC,CAAE,OAAO,CAAC,QAAoC;oBAC/C,CAAC,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,QAAQ,GAAG;oBACjB,GAAG,YAAY;oBACf,SAAS,EAAE,YAAY,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS;iBAC7D,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAA2B;gBAC1C,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,KAAK;gBAC7C,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,aAAa,CAAC,OAAO;gBAC3B,QAAQ,EAAE;oBACR,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;oBACtB,SAAS,EAAE,SAAS;oBACpB,KAAK,EAAE,iBAAiB;iBACzB;aACF,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,UAAU,GACd,YAAY,CAAC,IAAI,IAAI,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ;gBACxD,CAAC,CAAE,YAAY,CAAC,IAAgC;gBAChD,CAAC,CAAE,YAAmD,CAAC;YAC3D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;QAC1C,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,KAAK,EAAE,WAK9B,EAA2F,EAAE;YAC5F,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;YAChF,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzD,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;YAEnD,MAAM,cAAc,GAA4B;gBAC9C,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;gBACtB,GAAG,WAAW;gBACd,aAAa,EAAE,WAAW;gBAC1B,SAAS,EAAE,SAAS;gBACpB,KAAK,EAAE,SAAS;aACjB,CAAC;YAEF,IAAI,gBAAgB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBACtD,cAAc,CAAC,gBAAgB,GAAG,aAAa,CAAC;YAClD,CAAC;iBAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACtD,cAAc,CAAC,gBAAgB,GAAG,kBAAkB,CAAC;YACvD,CAAC;iBAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACrD,cAAc,CAAC,gBAAgB,GAAG,oBAAoB,CAAC;YACzD,CAAC;YACD,MAAM,gBAAgB,GACpB,OAAQ,WAAuC,CAAC,0BAA0B,KAAK,QAAQ;gBACrF,CAAC,CAAG,WAAuC,CAAC,0BAAqC;gBACjF,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,gBAAgB,EAAE,CAAC;gBACrB,cAAc,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YACrD,CAAC;YAED,MAAM,WAAW,GAA2B;gBAC1C,aAAa,EAAE,WAAW;gBAC1B,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,QAAQ,EAAE,cAAc;aACzB,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,UAAU,GACd,YAAY,CAAC,IAAI,IAAI,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ;gBACxD,CAAC,CAAE,YAAY,CAAC,IAAgC;gBAChD,CAAC,CAAC,SAAS,CAAC;YAChB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9B,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC;YACpD,gBAAgB;YAChB,gBAAgB,EAAE,IAA+B;YACjD,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,KAAK;YAC7C,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,eAAe;YACf,aAAa;YACb,eAAe;SAChB,CAAC,CAAC;QAEH,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;YAC9B,OAAO;gBACL,GAAG,OAAO,CAAC,QAAQ;gBACnB,IAAI,EAAE,EAAE,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE;aACrD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,OAAO,CAAC,QAAQ;YACnB,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI;SAC7B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAwB,CAAC;QACrC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;QACpF,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEnE,MAAM,mBAAmB,GACvB,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QAElE,IAAI,gBAAgB,KAAK,aAAa,IAAI,mBAAmB,EAAE,CAAC;YAC9D,OAAO,CAAC,KAAK,CACX,sFAAsF,EACtF,KAAK,CACN,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,0EAA0E,EAAE,KAAK,CAAC,CAAC;QACjG,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"executor-response.js","sourceRoot":"","sources":["../../../../src/server/runtime/http-server/executor-response.ts"],"names":[],"mappings":"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"}
@@ -2,32 +2,41 @@ import { buildInfo } from '../../../build-info.js';
2
2
  import { writeErrorsampleJson } from '../../../utils/errorsamples.js';
3
3
  import { resolveLlmswitchCoreVersion } from '../../../utils/runtime-versions.js';
4
4
  function resolveBoolFromEnv(value, fallback) {
5
- if (!value)
5
+ if (!value) {
6
6
  return fallback;
7
+ }
7
8
  const normalized = value.trim().toLowerCase();
8
- if (['1', 'true', 'yes', 'on'].includes(normalized))
9
+ if (['1', 'true', 'yes', 'on'].includes(normalized)) {
9
10
  return true;
10
- if (['0', 'false', 'no', 'off'].includes(normalized))
11
+ }
12
+ if (['0', 'false', 'no', 'off'].includes(normalized)) {
11
13
  return false;
14
+ }
12
15
  return fallback;
13
16
  }
14
17
  function resolveNumberFromEnv(value, fallback) {
15
- if (!value || !value.trim())
18
+ if (!value || !value.trim()) {
16
19
  return fallback;
20
+ }
17
21
  const n = Number(value);
18
22
  return Number.isFinite(n) ? n : fallback;
19
23
  }
20
24
  function clamp01(n) {
21
- if (!Number.isFinite(n))
25
+ if (!Number.isFinite(n)) {
22
26
  return 1;
23
- if (n <= 0)
27
+ }
28
+ if (n <= 0) {
24
29
  return 0;
25
- if (n >= 1)
30
+ }
31
+ if (n >= 1) {
26
32
  return 1;
33
+ }
27
34
  return n;
28
35
  }
29
36
  export function resolveHubShadowCompareConfig() {
30
- const defaultEnabled = buildInfo.mode !== 'release';
37
+ // Default-on: this is a black-box gate and only writes to disk when it detects a diff.
38
+ // Can be disabled explicitly via ROUTECODEX_UNIFIED_HUB_SHADOW_COMPARE=0.
39
+ const defaultEnabled = true;
31
40
  const enabled = resolveBoolFromEnv(process.env.ROUTECODEX_UNIFIED_HUB_SHADOW_COMPARE, defaultEnabled);
32
41
  const sampleRate = clamp01(resolveNumberFromEnv(process.env.ROUTECODEX_UNIFIED_HUB_SHADOW_COMPARE_SAMPLE_RATE, 1));
33
42
  const baselineModeRaw = String(process.env.ROUTECODEX_UNIFIED_HUB_SHADOW_BASELINE_MODE || 'off').trim().toLowerCase();
@@ -35,35 +44,45 @@ export function resolveHubShadowCompareConfig() {
35
44
  return { enabled, sampleRate, baselineMode };
36
45
  }
37
46
  export function shouldRunHubShadowCompare(config) {
38
- if (!config.enabled)
47
+ if (!config.enabled) {
39
48
  return false;
40
- if (config.sampleRate <= 0)
49
+ }
50
+ if (config.sampleRate <= 0) {
41
51
  return false;
42
- if (config.sampleRate >= 1)
52
+ }
53
+ if (config.sampleRate >= 1) {
43
54
  return true;
55
+ }
44
56
  return Math.random() < config.sampleRate;
45
57
  }
46
58
  function summarizeValue(value) {
47
- if (value === undefined)
59
+ if (value === undefined) {
48
60
  return 'undefined';
49
- if (value === null)
61
+ }
62
+ if (value === null) {
50
63
  return null;
64
+ }
51
65
  if (typeof value === 'string') {
52
66
  return value.length > 240 ? `${value.slice(0, 200)}...(len=${value.length})` : value;
53
67
  }
54
- if (typeof value === 'number' || typeof value === 'boolean')
68
+ if (typeof value === 'number' || typeof value === 'boolean') {
55
69
  return value;
56
- if (Array.isArray(value))
70
+ }
71
+ if (Array.isArray(value)) {
57
72
  return `[array length=${value.length}]`;
58
- if (value && typeof value === 'object')
73
+ }
74
+ if (value && typeof value === 'object') {
59
75
  return `[object keys=${Object.keys(value).length}]`;
76
+ }
60
77
  return String(value);
61
78
  }
62
79
  function diffPayloads(expected, actual, p = '<root>') {
63
- if (Object.is(expected, actual))
80
+ if (Object.is(expected, actual)) {
64
81
  return [];
65
- if (typeof expected !== typeof actual)
82
+ }
83
+ if (typeof expected !== typeof actual) {
66
84
  return [{ path: p, expected, actual }];
85
+ }
67
86
  if (Array.isArray(expected) && Array.isArray(actual)) {
68
87
  const max = Math.max(expected.length, actual.length);
69
88
  const diffs = [];
@@ -79,12 +98,15 @@ function diffPayloads(expected, actual, p = '<root>') {
79
98
  const diffs = [];
80
99
  for (const key of keys) {
81
100
  const next = p === '<root>' ? key : `${p}.${key}`;
82
- if (!(key in actualObj))
101
+ if (!(key in actualObj)) {
83
102
  diffs.push({ path: next, expected: expectedObj[key], actual: undefined });
84
- else if (!(key in expectedObj))
103
+ }
104
+ else if (!(key in expectedObj)) {
85
105
  diffs.push({ path: next, expected: undefined, actual: actualObj[key] });
86
- else
106
+ }
107
+ else {
87
108
  diffs.push(...diffPayloads(expectedObj[key], actualObj[key], next));
109
+ }
88
110
  }
89
111
  return diffs;
90
112
  }
@@ -92,14 +114,23 @@ function diffPayloads(expected, actual, p = '<root>') {
92
114
  }
93
115
  export async function recordHubShadowCompareDiff(options) {
94
116
  const ignoreInternalIds = resolveBoolFromEnv(process.env.ROUTECODEX_UNIFIED_HUB_SHADOW_COMPARE_IGNORE_INTERNAL_IDS, true);
95
- const excludedComparePaths = ignoreInternalIds
96
- ? [
97
- 'providerPayload.requestId',
98
- 'providerPayload.metadata.context.requestId',
99
- 'providerPayload.metadata.responsesContext.requestId',
100
- 'providerPayload.metadata.context.__disableHubSnapshots'
101
- ]
102
- : [];
117
+ const ignoreTargetSelection = resolveBoolFromEnv(process.env.ROUTECODEX_UNIFIED_HUB_SHADOW_COMPARE_IGNORE_TARGET_SELECTION, true);
118
+ const excludedComparePaths = [
119
+ ...(ignoreInternalIds
120
+ ? [
121
+ 'providerPayload.requestId',
122
+ 'providerPayload.metadata.context.requestId',
123
+ 'providerPayload.metadata.responsesContext.requestId',
124
+ 'providerPayload.metadata.context.__disableHubSnapshots'
125
+ ]
126
+ : []),
127
+ ...(ignoreTargetSelection ? ['target.providerKey', 'target.runtimeKey'] : []),
128
+ // Auxiliary / debug-only fields (not part of provider outbound contract).
129
+ 'providerPayload.stageExpectations',
130
+ 'providerPayload.stages',
131
+ 'providerPayload.anthropicMirror',
132
+ 'providerPayload.toolsFieldPresent'
133
+ ];
103
134
  const cloneJsonSafe = (value) => {
104
135
  try {
105
136
  return JSON.parse(JSON.stringify(value));
@@ -109,35 +140,80 @@ export async function recordHubShadowCompareDiff(options) {
109
140
  }
110
141
  };
111
142
  const deletePath = (root, pathExpr) => {
112
- if (!root || typeof root !== 'object')
143
+ if (!root || typeof root !== 'object') {
113
144
  return;
145
+ }
114
146
  const parts = pathExpr.split('.').filter(Boolean);
115
147
  let cursor = root;
116
148
  for (let i = 0; i < parts.length - 1; i += 1) {
117
149
  const key = parts[i];
118
- if (!cursor || typeof cursor !== 'object')
150
+ if (!cursor || typeof cursor !== 'object') {
119
151
  return;
152
+ }
120
153
  cursor = cursor[key];
121
154
  }
122
155
  const last = parts[parts.length - 1];
123
- if (!last)
156
+ if (!last) {
124
157
  return;
158
+ }
125
159
  if (cursor && typeof cursor === 'object' && Object.prototype.hasOwnProperty.call(cursor, last)) {
126
160
  delete cursor[last];
127
161
  }
128
162
  };
129
163
  const prepareForDiff = (value) => {
130
- if (!ignoreInternalIds)
164
+ if (!excludedComparePaths.length) {
131
165
  return value;
166
+ }
132
167
  const cloned = cloneJsonSafe(value);
133
168
  for (const p of excludedComparePaths) {
134
169
  deletePath(cloned, p);
135
170
  }
136
171
  return cloned;
137
172
  };
173
+ const baselineTarget = options.baselineOut?.target;
174
+ const candidateTarget = options.candidateOut?.target;
175
+ const baselineProviderKey = typeof baselineTarget?.providerKey === 'string' ? String(baselineTarget.providerKey) : undefined;
176
+ const candidateProviderKey = typeof candidateTarget?.providerKey === 'string' ? String(candidateTarget.providerKey) : undefined;
177
+ const baselineRuntimeKey = typeof baselineTarget?.runtimeKey === 'string' ? String(baselineTarget.runtimeKey) : undefined;
178
+ const candidateRuntimeKey = typeof candidateTarget?.runtimeKey === 'string' ? String(candidateTarget.runtimeKey) : undefined;
179
+ const routingDrift = Boolean(baselineProviderKey && candidateProviderKey && baselineProviderKey !== candidateProviderKey) ||
180
+ Boolean(baselineRuntimeKey && candidateRuntimeKey && baselineRuntimeKey !== candidateRuntimeKey);
138
181
  const diffs = diffPayloads(prepareForDiff(options.baselineOut), prepareForDiff(options.candidateOut));
139
- if (!diffs.length)
182
+ if (!diffs.length && routingDrift && ignoreTargetSelection) {
183
+ const llmsVersion = resolveLlmswitchCoreVersion();
184
+ const record = {
185
+ kind: 'unified-hub-shadow-runtime-routing-drift',
186
+ timestamp: new Date().toISOString(),
187
+ requestId: options.requestId,
188
+ entryEndpoint: options.entryEndpoint,
189
+ routeHint: options.routeHint,
190
+ attempt: options.attempt,
191
+ excludedProviderKeys: options.excludedProviderKeys || [],
192
+ runtime: {
193
+ routecodex: {
194
+ version: buildInfo.version,
195
+ mode: buildInfo.mode
196
+ },
197
+ llmswitchCore: llmsVersion ? { version: llmsVersion } : undefined,
198
+ node: { version: process.version }
199
+ },
200
+ baselineMode: options.baselineMode,
201
+ candidateMode: options.candidateMode,
202
+ baselineTarget: baselineTarget ?? null,
203
+ candidateTarget: candidateTarget ?? null
204
+ };
205
+ const file = await writeErrorsampleJson({
206
+ group: 'unified-hub-shadow-runtime-routing',
207
+ kind: 'route-drift',
208
+ payload: record
209
+ });
210
+ // eslint-disable-next-line no-console
211
+ console.error(`[unified-hub-shadow-runtime] wrote routing drift errorsample: ${file}`);
140
212
  return;
213
+ }
214
+ if (!diffs.length) {
215
+ return;
216
+ }
141
217
  const llmsVersion = resolveLlmswitchCoreVersion();
142
218
  const record = {
143
219
  kind: 'unified-hub-shadow-runtime-diff',