@jsonstudio/rcc 0.89.1205 → 0.89.1348

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 (332) hide show
  1. package/README.md +17 -0
  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 +74 -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 +91 -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 +36 -0
  40. package/dist/cli/config/init-config.js +180 -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-cli/gemini-cli-protocol-client.js +1 -1
  51. package/dist/client/gemini-cli/gemini-cli-protocol-client.js.map +1 -1
  52. package/dist/config/risk-control-config.d.ts +94 -0
  53. package/dist/config/risk-control-config.js +196 -0
  54. package/dist/config/risk-control-config.js.map +1 -0
  55. package/dist/constants/index.d.ts +6 -0
  56. package/dist/constants/index.js +13 -0
  57. package/dist/constants/index.js.map +1 -1
  58. package/dist/docs/daemon-admin-ui.html +2113 -190
  59. package/dist/index.js +0 -1
  60. package/dist/index.js.map +1 -1
  61. package/dist/manager/modules/health/index.d.ts +1 -1
  62. package/dist/manager/modules/quota/antigravity-quota-manager.d.ts +70 -0
  63. package/dist/manager/modules/quota/antigravity-quota-manager.js +442 -0
  64. package/dist/manager/modules/quota/antigravity-quota-manager.js.map +1 -0
  65. package/dist/manager/modules/quota/index.d.ts +3 -127
  66. package/dist/manager/modules/quota/index.js +2 -1093
  67. package/dist/manager/modules/quota/index.js.map +1 -1
  68. package/dist/manager/modules/quota/provider-key-normalization.d.ts +3 -0
  69. package/dist/manager/modules/quota/provider-key-normalization.js +155 -0
  70. package/dist/manager/modules/quota/provider-key-normalization.js.map +1 -0
  71. package/dist/manager/modules/quota/provider-quota-daemon.cooldown.d.ts +9 -0
  72. package/dist/manager/modules/quota/provider-quota-daemon.cooldown.js +115 -0
  73. package/dist/manager/modules/quota/provider-quota-daemon.cooldown.js.map +1 -0
  74. package/dist/manager/modules/quota/provider-quota-daemon.d.ts +77 -0
  75. package/dist/manager/modules/quota/provider-quota-daemon.events.d.ts +12 -0
  76. package/dist/manager/modules/quota/provider-quota-daemon.events.js +237 -0
  77. package/dist/manager/modules/quota/provider-quota-daemon.events.js.map +1 -0
  78. package/dist/manager/modules/quota/provider-quota-daemon.js +404 -0
  79. package/dist/manager/modules/quota/provider-quota-daemon.js.map +1 -0
  80. package/dist/manager/modules/quota/provider-quota-daemon.model-backoff.d.ts +11 -0
  81. package/dist/manager/modules/quota/provider-quota-daemon.model-backoff.js +189 -0
  82. package/dist/manager/modules/quota/provider-quota-daemon.model-backoff.js.map +1 -0
  83. package/dist/manager/modules/quota/provider-quota-daemon.snapshot.d.ts +8 -0
  84. package/dist/manager/modules/quota/provider-quota-daemon.snapshot.js +96 -0
  85. package/dist/manager/modules/quota/provider-quota-daemon.snapshot.js.map +1 -0
  86. package/dist/manager/modules/quota/provider-quota-daemon.view.d.ts +19 -0
  87. package/dist/manager/modules/quota/provider-quota-daemon.view.js +37 -0
  88. package/dist/manager/modules/quota/provider-quota-daemon.view.js.map +1 -0
  89. package/dist/manager/modules/routing/index.d.ts +1 -0
  90. package/dist/manager/modules/routing/index.js +11 -25
  91. package/dist/manager/modules/routing/index.js.map +1 -1
  92. package/dist/manager/quota/provider-quota-center.d.ts +2 -0
  93. package/dist/manager/quota/provider-quota-center.js +80 -82
  94. package/dist/manager/quota/provider-quota-center.js.map +1 -1
  95. package/dist/modules/llmswitch/bridge.d.ts +16 -18
  96. package/dist/modules/llmswitch/bridge.js +293 -94
  97. package/dist/modules/llmswitch/bridge.js.map +1 -1
  98. package/dist/modules/llmswitch/core-loader.d.ts +4 -2
  99. package/dist/modules/llmswitch/core-loader.js +32 -20
  100. package/dist/modules/llmswitch/core-loader.js.map +1 -1
  101. package/dist/modules/pipeline/utils/colored-logger.js +3 -2
  102. package/dist/modules/pipeline/utils/colored-logger.js.map +1 -1
  103. package/dist/modules/pipeline/utils/debug-logger.js +1 -1
  104. package/dist/modules/pipeline/utils/debug-logger.js.map +1 -1
  105. package/dist/providers/auth/iflow-cookie-auth.js +0 -2
  106. package/dist/providers/auth/iflow-cookie-auth.js.map +1 -1
  107. package/dist/providers/auth/oauth-lifecycle.js +2 -23
  108. package/dist/providers/auth/oauth-lifecycle.js.map +1 -1
  109. package/dist/providers/core/config/camoufox-launcher.js +35 -4
  110. package/dist/providers/core/config/camoufox-launcher.js.map +1 -1
  111. package/dist/providers/core/runtime/antigravity-quota-client.js +6 -3
  112. package/dist/providers/core/runtime/antigravity-quota-client.js.map +1 -1
  113. package/dist/providers/core/runtime/base-provider.d.ts +2 -2
  114. package/dist/providers/core/runtime/base-provider.js +74 -69
  115. package/dist/providers/core/runtime/base-provider.js.map +1 -1
  116. package/dist/providers/core/runtime/gemini-cli-http-provider.js +6 -4
  117. package/dist/providers/core/runtime/gemini-cli-http-provider.js.map +1 -1
  118. package/dist/providers/core/runtime/http-request-executor.js +2 -2
  119. package/dist/providers/core/runtime/http-request-executor.js.map +1 -1
  120. package/dist/providers/core/runtime/http-transport-provider.d.ts +14 -0
  121. package/dist/providers/core/runtime/http-transport-provider.js +111 -5
  122. package/dist/providers/core/runtime/http-transport-provider.js.map +1 -1
  123. package/dist/providers/core/runtime/provider-error-classifier.js +10 -0
  124. package/dist/providers/core/runtime/provider-error-classifier.js.map +1 -1
  125. package/dist/providers/core/runtime/provider-factory.js +7 -5
  126. package/dist/providers/core/runtime/provider-factory.js.map +1 -1
  127. package/dist/providers/core/runtime/provider-runtime-metadata.d.ts +6 -0
  128. package/dist/providers/core/runtime/provider-runtime-metadata.js.map +1 -1
  129. package/dist/providers/core/runtime/responses-provider.d.ts +1 -7
  130. package/dist/providers/core/runtime/responses-provider.js +12 -93
  131. package/dist/providers/core/runtime/responses-provider.js.map +1 -1
  132. package/dist/providers/core/strategies/oauth-auth-code-flow.js +12 -8
  133. package/dist/providers/core/strategies/oauth-auth-code-flow.js.map +1 -1
  134. package/dist/providers/core/utils/http-client.js +16 -3
  135. package/dist/providers/core/utils/http-client.js.map +1 -1
  136. package/dist/providers/core/utils/provider-error-logger.d.ts +1 -1
  137. package/dist/providers/core/utils/provider-error-reporter.d.ts +3 -1
  138. package/dist/providers/core/utils/provider-error-reporter.js +3 -0
  139. package/dist/providers/core/utils/provider-error-reporter.js.map +1 -1
  140. package/dist/providers/core/utils/snapshot-writer.js +1 -4
  141. package/dist/providers/core/utils/snapshot-writer.js.map +1 -1
  142. package/dist/providers/mock/mock-provider-runtime.js +57 -27
  143. package/dist/providers/mock/mock-provider-runtime.js.map +1 -1
  144. package/dist/scripts/camoufox/launch-auth.mjs +193 -58
  145. package/dist/server/handlers/handler-utils.js +3 -2
  146. package/dist/server/handlers/handler-utils.js.map +1 -1
  147. package/dist/server/runtime/http-server/daemon-admin/auth-handler.d.ts +2 -0
  148. package/dist/server/runtime/http-server/daemon-admin/auth-handler.js +103 -0
  149. package/dist/server/runtime/http-server/daemon-admin/auth-handler.js.map +1 -0
  150. package/dist/server/runtime/http-server/daemon-admin/auth-session.d.ts +5 -0
  151. package/dist/server/runtime/http-server/daemon-admin/auth-session.js +77 -0
  152. package/dist/server/runtime/http-server/daemon-admin/auth-session.js.map +1 -0
  153. package/dist/server/runtime/http-server/daemon-admin/auth-store.d.ts +18 -0
  154. package/dist/server/runtime/http-server/daemon-admin/auth-store.js +89 -0
  155. package/dist/server/runtime/http-server/daemon-admin/auth-store.js.map +1 -0
  156. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js +1 -2
  157. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js.map +1 -1
  158. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js +226 -24
  159. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js.map +1 -1
  160. package/dist/server/runtime/http-server/daemon-admin/quota-handler.js +47 -8
  161. package/dist/server/runtime/http-server/daemon-admin/quota-handler.js.map +1 -1
  162. package/dist/server/runtime/http-server/daemon-admin/restart-handler.js +1 -1
  163. package/dist/server/runtime/http-server/daemon-admin/restart-handler.js.map +1 -1
  164. package/dist/server/runtime/http-server/daemon-admin/stats-handler.js +1 -1
  165. package/dist/server/runtime/http-server/daemon-admin/stats-handler.js.map +1 -1
  166. package/dist/server/runtime/http-server/daemon-admin/status-handler.js +68 -4
  167. package/dist/server/runtime/http-server/daemon-admin/status-handler.js.map +1 -1
  168. package/dist/server/runtime/http-server/daemon-admin-routes.d.ts +3 -4
  169. package/dist/server/runtime/http-server/daemon-admin-routes.js +9 -14
  170. package/dist/server/runtime/http-server/daemon-admin-routes.js.map +1 -1
  171. package/dist/server/runtime/http-server/executor-metadata.js +1 -1
  172. package/dist/server/runtime/http-server/executor-metadata.js.map +1 -1
  173. package/dist/server/runtime/http-server/executor-response.js +0 -16
  174. package/dist/server/runtime/http-server/executor-response.js.map +1 -1
  175. package/dist/server/runtime/http-server/hub-shadow-compare.js +110 -34
  176. package/dist/server/runtime/http-server/hub-shadow-compare.js.map +1 -1
  177. package/dist/server/runtime/http-server/index.d.ts +5 -3
  178. package/dist/server/runtime/http-server/index.js +215 -109
  179. package/dist/server/runtime/http-server/index.js.map +1 -1
  180. package/dist/server/runtime/http-server/middleware.js +19 -1
  181. package/dist/server/runtime/http-server/middleware.js.map +1 -1
  182. package/dist/server/runtime/http-server/request-executor.js +10 -19
  183. package/dist/server/runtime/http-server/request-executor.js.map +1 -1
  184. package/dist/server/runtime/http-server/routes.js +8 -2
  185. package/dist/server/runtime/http-server/routes.js.map +1 -1
  186. package/dist/server/runtime/http-server/session-dir.d.ts +2 -0
  187. package/dist/server/runtime/http-server/session-dir.js +59 -0
  188. package/dist/server/runtime/http-server/session-dir.js.map +1 -0
  189. package/dist/server/runtime/http-server/types.d.ts +0 -4
  190. package/dist/server/utils/utf8-chunk-buffer.js +6 -3
  191. package/dist/server/utils/utf8-chunk-buffer.js.map +1 -1
  192. package/dist/server/utils/warmup-storm-tracker.js +1 -1
  193. package/dist/server/utils/warmup-storm-tracker.js.map +1 -1
  194. package/dist/server-factory.d.ts +6 -28
  195. package/dist/server-factory.js +8 -93
  196. package/dist/server-factory.js.map +1 -1
  197. package/dist/token-daemon/index.js +2 -2
  198. package/dist/token-daemon/index.js.map +1 -1
  199. package/dist/token-daemon/provider-registry.js +0 -1
  200. package/dist/token-daemon/provider-registry.js.map +1 -1
  201. package/dist/token-daemon/server-utils.js +8 -9
  202. package/dist/token-daemon/server-utils.js.map +1 -1
  203. package/dist/token-daemon/token-utils.js +1 -1
  204. package/dist/token-daemon/token-utils.js.map +1 -1
  205. package/dist/tools/semantic-replay.js +2 -2
  206. package/dist/tools/semantic-replay.js.map +1 -1
  207. package/dist/tools/stats-request-events.d.ts +1 -1
  208. package/dist/tools/stats-usage.js +6 -3
  209. package/dist/tools/stats-usage.js.map +1 -1
  210. package/dist/utils/llms-engine-shadow.d.ts +19 -0
  211. package/dist/utils/llms-engine-shadow.js +209 -0
  212. package/dist/utils/llms-engine-shadow.js.map +1 -0
  213. package/dist/utils/runtime-versions.js +2 -1
  214. package/dist/utils/runtime-versions.js.map +1 -1
  215. package/docs/ARCHITECTURE.md +402 -0
  216. package/docs/CODEX_AND_CLAUDE_CODE.md +69 -0
  217. package/docs/CONFIG_ARCHITECTURE.md +517 -0
  218. package/docs/ERROR_HANDLING_AUDIT.md +0 -0
  219. package/docs/GCLI2API_PARITY_GAPS.md +98 -0
  220. package/docs/INSTALLATION_AND_QUICKSTART.md +74 -0
  221. package/docs/INSTRUCTION_MARKUP.md +89 -0
  222. package/docs/MODULE_ENHANCEMENT_SYSTEM.md +666 -0
  223. package/docs/PORTS.md +36 -0
  224. package/docs/PROVIDERS_BUILTIN.md +111 -0
  225. package/docs/PROVIDER_TYPES.md +55 -0
  226. package/docs/SERVERTOOL_CLOCK_DESIGN.md +233 -0
  227. package/docs/USAGE_HANDLING_ANALYSIS.md +335 -0
  228. package/docs/USER_CONFIG_PARSER_CHANGES.md +175 -0
  229. package/docs/V3_INBOUND_OUTBOUND_DESIGN.md +86 -0
  230. package/docs/VIRTUAL_ROUTER_PRIORITY_AND_HEALTH.md +125 -0
  231. package/docs/anthropic-request-golden-samples.md +50 -0
  232. package/docs/ccr-alignment-enhancetool.md +105 -0
  233. package/docs/chat-glm-500-analysis.md +79 -0
  234. package/docs/chat-request-golden-samples.md +42 -0
  235. package/docs/chat-semantic-expansion-plan.md +82 -0
  236. package/docs/cli-command-inventory.md +76 -0
  237. package/docs/codex-samples-replay.md +50 -0
  238. package/docs/daemon-admin-api-design.md +350 -0
  239. package/docs/daemon-admin-module-structure.md +169 -0
  240. package/docs/daemon-admin-ui.html +3394 -0
  241. package/docs/debug-system-design.md +734 -0
  242. package/docs/debugging/gemini-sse-root-cause.md +52 -0
  243. package/docs/debugging/sse_encoding_failure_analysis.md +53 -0
  244. package/docs/dry-run/README.md +721 -0
  245. package/docs/error-handling-v2.md +92 -0
  246. package/docs/exec-command-guard-policy.example.v1.json +42 -0
  247. package/docs/fixes/gemini-protocol-mapping.md +57 -0
  248. package/docs/fixes/oauth-portal-timing-fix.md +202 -0
  249. package/docs/fixes/web-search-hop3-fix.md +265 -0
  250. package/docs/glm-api-reference.md +390 -0
  251. package/docs/glm-chat-completions.md +1779 -0
  252. package/docs/glm-history-inline-images.md +44 -0
  253. package/docs/golden-ci-library.md +66 -0
  254. package/docs/lmstudio-dry-run-summary.md +203 -0
  255. package/docs/lmstudio-tool-calling.md +214 -0
  256. package/docs/mapping-tables/anthropic-to-openai.json +290 -0
  257. package/docs/mapping-tables/iflow-to-openai.json +215 -0
  258. package/docs/mapping-tables/openai-passthrough.json +190 -0
  259. package/docs/mapping-tables/openai-to-iflow.json +227 -0
  260. package/docs/monitoring/Design.md +61 -0
  261. package/docs/multi-token-auth-guide.md +66 -0
  262. package/docs/oauth-authentication-guide.md +168 -0
  263. package/docs/oauth-iflow-implementation.md +153 -0
  264. package/docs/pipeline-routing-report.md +209 -0
  265. package/docs/plans/manager-daemon/PLAN.md +86 -0
  266. package/docs/plans/provider-config-v2-plan.md +176 -0
  267. package/docs/plans/provider-runtime-manager-plan.md +209 -0
  268. package/docs/plans/transparent-429-failover.md +89 -0
  269. package/docs/plans/unified-hub-framework-v1.md +245 -0
  270. package/docs/provider-config-v2-ui-design.md +181 -0
  271. package/docs/provider-quota-design.md +129 -0
  272. package/docs/providers/gemini-provider.md +62 -0
  273. package/docs/providers/lmstudio-v2-migration-report.md +102 -0
  274. package/docs/providers/provider-composite-design.md +142 -0
  275. package/docs/providers/provider-composite-testing.md +98 -0
  276. package/docs/providers/provider-type-only-migration.md +111 -0
  277. package/docs/rccx-wasm-migration.md +74 -0
  278. package/docs/refactoring/architecture-comparison-diagram.md +140 -0
  279. package/docs/refactoring/compatibility-v2-architecture-design.md +738 -0
  280. package/docs/refactoring/workflow-compatibility-refactoring-design.md +361 -0
  281. package/docs/reports/routing-classification-report.json +24 -0
  282. package/docs/reports/routing-classification-report.md +18 -0
  283. package/docs/reports/thinking-keywords-report.json +19 -0
  284. package/docs/responses/README.md +156 -0
  285. package/docs/responses-generic-provider.md +86 -0
  286. package/docs/responses-passthrough-provider-design.md +202 -0
  287. package/docs/routing-awrr-health-weighted-round-robin.md +179 -0
  288. package/docs/routing-instructions.md +393 -0
  289. package/docs/stop-message-auto.md +225 -0
  290. package/docs/streaming-flow.html +30 -0
  291. package/docs/streaming-flow.md +182 -0
  292. package/docs/token-daemon-preview.html +490 -0
  293. package/docs/token-refresh-daemon-plan.md +269 -0
  294. package/docs/transformation-tables/Gemini-FinishReason/345/256/214/346/225/264/350/275/254/346/215/242/350/241/250.json +233 -0
  295. package/docs/transformation-tables/README.md +225 -0
  296. package/docs/transformation-tables/claude-code-router-anthropic-to-gemini.json +283 -0
  297. package/docs/transformation-tables/claude-code-router-anthropic-to-openai.json +208 -0
  298. package/docs/transformation-tables/claude-code-router-openai-to-anthropic.json +261 -0
  299. package/docs/transformation-tables/claude-code-router-openai-to-gemini.json +208 -0
  300. package/docs/transformation-tables/claude-code-router-openai-to-lmstudio.json +182 -0
  301. package/docs/transformation-tables/claude-code-router-openai-to-ollama.json +250 -0
  302. package/docs/transformation-tables/claude-code-router-openai-to-textgenwebui.json +295 -0
  303. package/docs/transformation-tables/claude-code-router-provider-conversions.json +193 -0
  304. 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
  305. 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
  306. 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
  307. 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
  308. 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
  309. 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
  310. 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
  311. package/docs/v2-architecture/IMPLEMENTATION-ROADMAP.md +367 -0
  312. package/docs/v2-architecture/OPTIMIZED-DESIGN.md +827 -0
  313. package/docs/v2-architecture/PRERUN-CONNECTION-DESIGN.md +716 -0
  314. package/docs/v2-architecture/README.md +551 -0
  315. package/docs/verification/modelscope-verify.md +59 -0
  316. package/docs/web-search-service-design.md +322 -0
  317. package/package.json +12 -7
  318. package/scripts/camoufox/launch-auth.mjs +193 -58
  319. package/scripts/monitor-diff.mjs +126 -0
  320. package/scripts/pack-mode.mjs +19 -1
  321. package/scripts/pack-rcc.mjs +63 -0
  322. package/scripts/unified-hub-shadow-compare.mjs +33 -13
  323. package/scripts/verify-e2e-toolcall.mjs +115 -26
  324. package/dist/modules/llmswitch/pipeline-registry.d.ts +0 -57
  325. package/dist/modules/llmswitch/pipeline-registry.js +0 -229
  326. package/dist/modules/llmswitch/pipeline-registry.js.map +0 -1
  327. package/dist/server/RouteCodexServer.d.ts +0 -13
  328. package/dist/server/RouteCodexServer.js +0 -25
  329. package/dist/server/RouteCodexServer.js.map +0 -1
  330. package/dist/v2/conversion/hub/snapshot-recorder.d.ts +0 -12
  331. package/dist/v2/conversion/hub/snapshot-recorder.js +0 -22
  332. package/dist/v2/conversion/hub/snapshot-recorder.js.map +0 -1
@@ -0,0 +1,666 @@
1
+ # RouteCodex Progressive Module Enhancement System
2
+
3
+ ## Overview
4
+
5
+ The RouteCodex Progressive Module Enhancement System provides a simple, declarative way to add debugging capabilities to existing modules one by one while maintaining full backward compatibility. This system makes it easy for developers to incrementally enhance their modules with comprehensive debugging without breaking existing functionality.
6
+
7
+ ## Key Features
8
+
9
+ - **Non-intrusive**: Existing modules continue working without any changes
10
+ - **Configuration-driven**: JSON-based configuration for enabling/disabling debugging per module
11
+ - **Progressive rollout**: Add debugging to modules one at a time
12
+ - **Type-safe**: Full TypeScript support with comprehensive type definitions
13
+ - **Performance-aware**: Configurable logging levels and performance tracking
14
+ - **Integration-ready**: Seamlessly integrates with existing DebugCenter and DebugEventBus
15
+
16
+ ## Architecture
17
+
18
+ The enhancement system consists of several key components:
19
+
20
+ 1. **Module Enhancement Factory** - Core factory that wraps modules with debugging
21
+ 2. **Enhancement Configuration Manager** - Manages JSON-based configuration
22
+ 3. **Enhancement Registry** - Tracks all enhanced modules
23
+ 4. **Module Templates** - Pre-built templates for common module types
24
+ 5. **Integration Scripts** - CLI tools for progressive enhancement
25
+
26
+ ## Quick Start
27
+
28
+ ### 1. Basic Enhancement
29
+
30
+ ```typescript
31
+ import { ModuleEnhancementFactory } from '../src/modules/enhancement/module-enhancement-factory.js';
32
+ import { DebugCenter } from 'rcc-errorhandling';
33
+
34
+ // Create factory
35
+ const factory = new ModuleEnhancementFactory(debugCenter);
36
+
37
+ // Enhance your module
38
+ const enhanced = factory.createEnhancedModule(
39
+ originalModule,
40
+ 'my-provider',
41
+ 'provider',
42
+ {
43
+ enabled: true,
44
+ level: 'detailed',
45
+ consoleLogging: true,
46
+ debugCenter: true
47
+ }
48
+ );
49
+
50
+ // Use enhanced module
51
+ await enhanced.enhanced.processIncoming(request);
52
+ ```
53
+
54
+ ### 2. Configuration-Driven Enhancement
55
+
56
+ ```typescript
57
+ import { EnhancementConfigManager } from '../src/modules/enhancement/enhancement-config-manager.js';
58
+
59
+ // Create configuration manager
60
+ const configManager = new EnhancementConfigManager(debugCenter);
61
+
62
+ // Enhance using configuration
63
+ const enhanced = await configManager.enhanceModule(
64
+ originalModule,
65
+ 'my-provider',
66
+ 'provider'
67
+ );
68
+ ```
69
+
70
+ ### 3. CLI Enhancement Tool
71
+
72
+ ```bash
73
+ # Add enhancement to a module
74
+ node scripts/enhance-module.js add src/providers/core/runtime/chat-http-provider.ts
75
+
76
+ # Auto-detect modules
77
+ node scripts/enhance-module.js auto-detect
78
+
79
+ # List enhanced modules
80
+ node scripts/enhance-module.js list
81
+
82
+ # Enable/disable debugging
83
+ node scripts/enhance-module.js enable lmstudio-provider
84
+ node scripts/enhance-module.js disable lmstudio-provider
85
+ ```
86
+
87
+ ## Configuration
88
+
89
+ ### JSON Configuration File
90
+
91
+ The system uses a JSON configuration file (`enhancement-config.json`) to control debugging behavior:
92
+
93
+ ```json
94
+ {
95
+ "version": "1.0.0",
96
+ "global": {
97
+ "enabled": true,
98
+ "defaults": {
99
+ "enabled": true,
100
+ "level": "detailed",
101
+ "consoleLogging": true,
102
+ "debugCenter": true,
103
+ "maxLogEntries": 1000,
104
+ "performanceTracking": true,
105
+ "requestLogging": true,
106
+ "errorTracking": true,
107
+ "transformationLogging": true
108
+ },
109
+ "modules": {
110
+ "lmstudio-provider": {
111
+ "moduleId": "lmstudio-provider",
112
+ "moduleType": "provider",
113
+ "enabled": true,
114
+ "level": "detailed",
115
+ "consoleLogging": true,
116
+ "debugCenter": true
117
+ },
118
+ "pipeline-manager": {
119
+ "moduleId": "pipeline-manager",
120
+ "moduleType": "pipeline",
121
+ "enabled": true,
122
+ "level": "verbose",
123
+ "consoleLogging": true,
124
+ "debugCenter": true
125
+ }
126
+ },
127
+ "autoDetection": {
128
+ "enabled": true,
129
+ "patterns": [
130
+ "src/modules/pipeline/modules/**/*.ts",
131
+ "src/modules/pipeline/core/**/*.ts",
132
+ "src/server/**/*.ts"
133
+ ],
134
+ "excludeDirs": [
135
+ "node_modules",
136
+ "dist",
137
+ "tests"
138
+ ]
139
+ },
140
+ "performance": {
141
+ "enabled": true,
142
+ "thresholds": {
143
+ "warning": 1000,
144
+ "critical": 5000
145
+ }
146
+ }
147
+ },
148
+ "environments": {
149
+ "development": {
150
+ "enabled": true,
151
+ "defaults": {
152
+ "enabled": true,
153
+ "level": "verbose",
154
+ "consoleLogging": true,
155
+ "debugCenter": true
156
+ }
157
+ },
158
+ "production": {
159
+ "enabled": true,
160
+ "defaults": {
161
+ "enabled": false,
162
+ "level": "basic",
163
+ "consoleLogging": false,
164
+ "debugCenter": true
165
+ }
166
+ }
167
+ }
168
+ }
169
+ ```
170
+
171
+ ### Environment-Specific Configuration
172
+
173
+ The system supports environment-specific overrides:
174
+
175
+ - **development**: Full debugging enabled with verbose logging
176
+ - **production**: Minimal debugging for performance
177
+ - **test**: Verbose logging for testing scenarios
178
+
179
+ ## Module Types
180
+
181
+ The system supports enhancement for different module types:
182
+
183
+ ### Provider Modules
184
+ ```typescript
185
+ const enhanced = factory.createEnhancedModule(
186
+ providerModule,
187
+ 'my-provider',
188
+ 'provider',
189
+ config
190
+ );
191
+ ```
192
+
193
+ ### Pipeline Modules
194
+ ```typescript
195
+ const enhanced = factory.createEnhancedModule(
196
+ pipelineModule,
197
+ 'my-pipeline',
198
+ 'pipeline',
199
+ config
200
+ );
201
+ ```
202
+
203
+ ### Compatibility Modules
204
+ ```typescript
205
+ const enhanced = factory.createEnhancedModule(
206
+ compatibilityModule,
207
+ 'my-compatibility',
208
+ 'compatibility',
209
+ config
210
+ );
211
+ ```
212
+
213
+ ### Workflow Modules
214
+ ```typescript
215
+ const enhanced = factory.createEnhancedModule(
216
+ workflowModule,
217
+ 'my-workflow',
218
+ 'workflow',
219
+ config
220
+ );
221
+ ```
222
+
223
+ ### HTTP Server Modules
224
+ ```typescript
225
+ const enhanced = factory.createEnhancedModule(
226
+ serverModule,
227
+ 'my-server',
228
+ 'http-server',
229
+ config
230
+ );
231
+ ```
232
+
233
+ ## Enhancement Features
234
+
235
+ ### Debug Logging
236
+ - Structured logging with timestamps and request IDs
237
+ - Configurable log levels (none, basic, detailed, verbose)
238
+ - Automatic log rotation and size management
239
+ - Request/response correlation
240
+
241
+ ### Performance Tracking
242
+ - Execution time measurement for all methods
243
+ - Performance threshold monitoring
244
+ - Automatic performance metrics collection
245
+ - Integration with DebugEventBus
246
+
247
+ ### Error Tracking
248
+ - Comprehensive error logging with stack traces
249
+ - Error categorization and analysis
250
+ - Automatic error reporting to DebugCenter
251
+ - Request context preservation
252
+
253
+ ### Request/Response Logging
254
+ - Full request/response capture with sensitive data filtering
255
+ - Request lifecycle tracking
256
+ - Response time analysis
257
+ - Content size monitoring
258
+
259
+ ### Transformation Logging
260
+ - Data transformation tracking
261
+ - Before/after transformation capture
262
+ - Transformation rule execution logging
263
+ - Performance impact analysis
264
+
265
+ ## Integration Examples
266
+
267
+ ### Enhancing LM Studio Provider
268
+
269
+ **Before:**
270
+ ```typescript
271
+ export class LMStudioProviderSimple implements ProviderModule {
272
+ async processIncoming(request: any): Promise<any> {
273
+ // Direct processing
274
+ const response = await this.sendChatRequest(request);
275
+ return response;
276
+ }
277
+ }
278
+ ```
279
+
280
+ **After:**
281
+ ```typescript
282
+ export class EnhancedLMStudioProvider implements ProviderModule {
283
+ private enhancedModule: EnhancedModule<this> | null = null;
284
+ private configManager: EnhancementConfigManager;
285
+
286
+ async initialize(): Promise<void> {
287
+ this.enhancedModule = await this.configManager.enhanceModule(
288
+ this,
289
+ this.id,
290
+ 'provider'
291
+ );
292
+ }
293
+
294
+ async processIncoming(request: any): Promise<any> {
295
+ if (!this.enhancedModule) {
296
+ return this.originalProcessIncoming(request);
297
+ }
298
+ return this.enhancedModule.enhanced.processIncoming(request);
299
+ }
300
+ }
301
+ ```
302
+
303
+ ### Progressive Enhancement Pattern
304
+
305
+ ```typescript
306
+ class MyModule {
307
+ private enhanced: EnhancedModule<this> | null = null;
308
+
309
+ constructor(private config: ModuleConfig, private dependencies: ModuleDependencies) {
310
+ // Initialize enhancement manager
311
+ this.enhancementManager = new EnhancementConfigManager(
312
+ dependencies.debugCenter
313
+ );
314
+ }
315
+
316
+ async initialize(): Promise<void> {
317
+ // Create enhanced version
318
+ this.enhanced = await this.enhancementManager.enhanceModule(
319
+ this,
320
+ this.id,
321
+ 'provider'
322
+ );
323
+
324
+ // Continue with original initialization
325
+ await this.originalInitialize();
326
+ }
327
+
328
+ async processIncoming(request: any): Promise<any> {
329
+ // Use enhanced version if available, fallback to original
330
+ if (this.enhanced) {
331
+ return this.enhanced.enhanced.processIncoming(request);
332
+ }
333
+ return this.originalProcessIncoming(request);
334
+ }
335
+ }
336
+ ```
337
+
338
+ ## CLI Tool Usage
339
+
340
+ ### Adding Enhancement to a Module
341
+
342
+ ```bash
343
+ # Basic enhancement
344
+ node scripts/enhance-module.js add src/providers/core/runtime/my-provider.ts
345
+
346
+ # With custom module ID and type
347
+ node scripts/enhance-module.js add ./my-module.ts my-module provider
348
+
349
+ # Dry run to see changes
350
+ node scripts/enhance-module.js add ./my-module.ts --dry-run
351
+ ```
352
+
353
+ ### Managing Enhanced Modules
354
+
355
+ ```bash
356
+ # List all modules
357
+ node scripts/enhance-module.js list
358
+
359
+ # Show configuration
360
+ node scripts/enhance-module.js config
361
+
362
+ # Enable enhancement for a module
363
+ node scripts/enhance-module.js enable my-provider
364
+
365
+ # Disable enhancement for a module
366
+ node scripts/enhance-module.js disable my-provider
367
+
368
+ # Remove enhancement
369
+ node scripts/enhance-module.js remove my-provider
370
+ ```
371
+
372
+ ### Auto-Detection
373
+
374
+ ```bash
375
+ # Auto-detect modules for enhancement
376
+ node scripts/enhance-module.js auto-detect
377
+
378
+ # Auto-detect with custom patterns
379
+ node scripts/enhance-module.js auto-detect --config custom-config.json
380
+ ```
381
+
382
+ ## Templates
383
+
384
+ The system provides templates for common module types:
385
+
386
+ ### Provider Template
387
+ ```typescript
388
+ import { EnhancedProviderModule } from '../src/modules/enhancement/templates/provider-template.js';
389
+
390
+ export class MyProvider extends EnhancedProviderModule {
391
+ // Automatically gets all debugging capabilities
392
+ // Just implement the provider-specific logic
393
+ }
394
+ ```
395
+
396
+ ### Pipeline Template
397
+ ```typescript
398
+ import { EnhancedPipelineManager } from '../src/modules/enhancement/templates/pipeline-template.js';
399
+
400
+ export class MyPipelineManager extends EnhancedPipelineManager {
401
+ // Enhanced with debugging out of the box
402
+ }
403
+ ```
404
+
405
+ ## Debugging Integration
406
+
407
+ The enhancement system seamlessly integrates with RouteCodex's debugging infrastructure:
408
+
409
+ ### DebugEventBus Integration
410
+ ```typescript
411
+ // Enhanced modules automatically publish to DebugEventBus
412
+ const eventBus = DebugEventBus.getInstance();
413
+ eventBus.subscribe(event => {
414
+ console.log('Debug event:', event);
415
+ });
416
+ ```
417
+
418
+ ### DebugCenter Integration
419
+ ```typescript
420
+ // All enhanced modules send events to DebugCenter
421
+ debugCenter.processDebugEvent({
422
+ sessionId: 'request-123',
423
+ moduleId: 'my-provider',
424
+ operationId: 'processIncoming',
425
+ timestamp: Date.now(),
426
+ type: 'start',
427
+ position: 'middle',
428
+ data: { /* debug data */ }
429
+ });
430
+ ```
431
+
432
+ ## Performance Considerations
433
+
434
+ ### Minimal Overhead
435
+ - Zero overhead when disabled
436
+ - Conditional logging based on configuration
437
+ - Efficient log rotation and cleanup
438
+
439
+ ### Configurable Levels
440
+ ```typescript
441
+ const config: EnhancementConfig = {
442
+ enabled: true,
443
+ level: 'basic', // Minimal logging
444
+ consoleLogging: false, // No console output
445
+ debugCenter: true, // Still send to DebugCenter
446
+ maxLogEntries: 100 // Limit memory usage
447
+ };
448
+ ```
449
+
450
+ ### Production Optimization
451
+ ```typescript
452
+ // Production configuration
453
+ const productionConfig: EnhancementConfig = {
454
+ enabled: false, // Completely disabled
455
+ level: 'none',
456
+ consoleLogging: false,
457
+ debugCenter: false
458
+ };
459
+ ```
460
+
461
+ ## Testing Enhanced Modules
462
+
463
+ ```typescript
464
+ import { EnhancedModule } from '../src/modules/enhancement/module-enhancement-factory.js';
465
+
466
+ describe('Enhanced Provider', () => {
467
+ let enhanced: EnhancedModule<MyProvider>;
468
+
469
+ beforeEach(async () => {
470
+ const original = new MyProvider(config, dependencies);
471
+ const factory = new ModuleEnhancementFactory(debugCenter);
472
+
473
+ enhanced = factory.createEnhancedModule(
474
+ original,
475
+ 'test-provider',
476
+ 'provider',
477
+ { enabled: true, level: 'verbose' }
478
+ );
479
+
480
+ await enhanced.enhanced.initialize();
481
+ });
482
+
483
+ it('should process requests with debugging', async () => {
484
+ const response = await enhanced.enhanced.processIncoming(testRequest);
485
+
486
+ // Check that debugging occurred
487
+ expect(enhanced.logger.getStatistics().totalLogs).toBeGreaterThan(0);
488
+
489
+ // Verify response
490
+ expect(response).toBeDefined();
491
+ });
492
+
493
+ it('should capture performance metrics', async () => {
494
+ await enhanced.enhanced.processIncoming(testRequest);
495
+
496
+ const stats = enhanced.logger.getStatistics();
497
+ expect(stats.performanceTracking).toBe(true);
498
+ });
499
+ });
500
+ ```
501
+
502
+ ## Migration Guide
503
+
504
+ ### Step 1: Identify Modules to Enhance
505
+ ```bash
506
+ # Auto-detect modules
507
+ node scripts/enhance-module.js auto-detect
508
+ ```
509
+
510
+ ### Step 2: Start with Non-Critical Modules
511
+ ```bash
512
+ # Enhance a test module first
513
+ node scripts/enhance-module.js add src/modules/test-module.ts --dry-run
514
+ ```
515
+
516
+ ### Step 3: Gradually Roll Out
517
+ ```bash
518
+ # Enable one by one
519
+ node scripts/enhance-module.js enable module1
520
+ node scripts/enhance-module.js enable module2
521
+ ```
522
+
523
+ ### Step 4: Monitor and Adjust
524
+ ```bash
525
+ # Check logs and performance
526
+ node scripts/enhance-module.js list
527
+ ```
528
+
529
+ ## Best Practices
530
+
531
+ ### 1. Start Small
532
+ - Begin with non-critical modules
533
+ - Use basic logging levels initially
534
+ - Monitor performance impact
535
+
536
+ ### 2. Use Environment-Specific Configs
537
+ ```typescript
538
+ const config = process.env.NODE_ENV === 'production'
539
+ ? productionConfig
540
+ : developmentConfig;
541
+ ```
542
+
543
+ ### 3. Monitor Log Sizes
544
+ ```typescript
545
+ const stats = enhanced.logger.getStatistics();
546
+ if (stats.totalLogs > 10000) {
547
+ enhanced.logger.clearLogs();
548
+ }
549
+ ```
550
+
551
+ ### 4. Use Selective Enhancement
552
+ ```typescript
553
+ // Only enhance specific methods
554
+ const config: EnhancementConfig = {
555
+ enabled: true,
556
+ requestLogging: true,
557
+ errorTracking: true,
558
+ transformationLogging: false // Skip this for performance
559
+ };
560
+ ```
561
+
562
+ ## Troubleshooting
563
+
564
+ ### Common Issues
565
+
566
+ **Module not found in configuration**
567
+ ```bash
568
+ # Check configuration
569
+ node scripts/enhance-module.js config
570
+
571
+ # Auto-detect modules
572
+ node scripts/enhance-module.js auto-detect
573
+ ```
574
+
575
+ **Performance degradation**
576
+ ```typescript
577
+ // Reduce logging level
578
+ const config: EnhancementConfig = {
579
+ enabled: true,
580
+ level: 'basic',
581
+ maxLogEntries: 100
582
+ };
583
+ ```
584
+
585
+ **Memory usage high**
586
+ ```typescript
587
+ // Clear logs periodically
588
+ enhanced.logger.clearLogs();
589
+
590
+ // Reduce max entries
591
+ const config: EnhancementConfig = {
592
+ maxLogEntries: 500
593
+ };
594
+ ```
595
+
596
+ ### Debug Mode
597
+ ```typescript
598
+ // Enable verbose logging for troubleshooting
599
+ const config: EnhancementConfig = {
600
+ enabled: true,
601
+ level: 'verbose',
602
+ consoleLogging: true,
603
+ debugCenter: true
604
+ };
605
+ ```
606
+
607
+ ## API Reference
608
+
609
+ ### ModuleEnhancementFactory
610
+
611
+ ```typescript
612
+ class ModuleEnhancementFactory {
613
+ constructor(debugCenter: DebugCenter);
614
+
615
+ createEnhancedModule<T>(
616
+ module: T,
617
+ moduleId: string,
618
+ moduleType: string,
619
+ config?: EnhancementConfig
620
+ ): EnhancedModule<T>;
621
+ }
622
+ ```
623
+
624
+ ### EnhancementConfigManager
625
+
626
+ ```typescript
627
+ class EnhancementConfigManager {
628
+ constructor(debugCenter: DebugCenter, configPath?: string);
629
+
630
+ async enhanceModule<T>(
631
+ module: T,
632
+ moduleId: string,
633
+ moduleType: string,
634
+ config?: EnhancementConfig
635
+ ): Promise<EnhancedModule<T>>;
636
+
637
+ async loadConfig(configPath?: string): Promise<void>;
638
+ async saveConfig(config?: EnhancementConfigFile): Promise<void>;
639
+
640
+ getConfig(): EnhancementConfigFile | null;
641
+ getModuleConfig(moduleId: string): ModuleEnhancementConfig | null;
642
+ }
643
+ ```
644
+
645
+ ### EnhancedModule
646
+
647
+ ```typescript
648
+ interface EnhancedModule<T> {
649
+ readonly original: T;
650
+ readonly enhanced: T;
651
+ readonly logger: PipelineDebugLogger;
652
+ readonly config: EnhancementConfig;
653
+ readonly metadata: {
654
+ moduleId: string;
655
+ moduleType: string;
656
+ enhanced: boolean;
657
+ enhancementTime: number;
658
+ };
659
+ }
660
+ ```
661
+
662
+ ## Conclusion
663
+
664
+ The RouteCodex Progressive Module Enhancement System provides a comprehensive solution for adding debugging capabilities to existing modules incrementally. By using configuration-driven enhancement and maintaining backward compatibility, developers can gradually improve their debugging capabilities without disrupting existing functionality.
665
+
666
+ The system's modular design, type safety, and integration with existing debugging infrastructure make it an essential tool for maintaining and debugging complex RouteCodex applications.
package/docs/PORTS.md ADDED
@@ -0,0 +1,36 @@
1
+ # 端口与监听地址(输入端口)说明
2
+
3
+ ## 配置文件
4
+
5
+ 推荐在 `~/.routecodex/config.json` 里配置:
6
+
7
+ ```jsonc
8
+ {
9
+ "httpserver": {
10
+ "host": "127.0.0.1",
11
+ "port": 5555
12
+ }
13
+ }
14
+ ```
15
+
16
+ ## CLI 行为差异(rcc vs routecodex)
17
+
18
+ ### `rcc`(release 包)
19
+
20
+ - **严格按配置文件端口启动**(`httpserver.port`)
21
+ - 若端口缺失/非法:`rcc start` 直接失败
22
+
23
+ ### `routecodex`(dev worktree)
24
+
25
+ - 默认端口固定为 `5555`
26
+ - 可用环境变量覆盖:
27
+ - `ROUTECODEX_PORT` 或 `RCC_PORT`
28
+ - 也可用 `routecodex start --port <port>` 覆盖(dev package only)
29
+
30
+ ## 常用排查
31
+
32
+ ```bash
33
+ rcc status
34
+ curl http://127.0.0.1:5555/ready
35
+ ```
36
+