@jsonstudio/rcc 0.89.1968 → 0.89.2202

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 (559) hide show
  1. package/README.md +22 -0
  2. package/config/file-line-limit-policy.json +21 -0
  3. package/configsamples/config.json +1 -1
  4. package/configsamples/config.v1.quickstart.sanitized.json +6 -6
  5. package/configsamples/provider/iflow/config.v1.json +1 -1
  6. package/dist/app/config-readers.d.ts +18 -0
  7. package/dist/app/config-readers.js +95 -0
  8. package/dist/app/config-readers.js.map +1 -0
  9. package/dist/app/index.d.ts +9 -0
  10. package/dist/app/index.js +8 -0
  11. package/dist/app/index.js.map +1 -0
  12. package/dist/app/shutdown.d.ts +32 -0
  13. package/dist/app/shutdown.js +41 -0
  14. package/dist/app/shutdown.js.map +1 -0
  15. package/dist/bootstrap/index.d.ts +7 -0
  16. package/dist/bootstrap/index.js +7 -0
  17. package/dist/bootstrap/index.js.map +1 -0
  18. package/dist/bootstrap/log-filter.d.ts +15 -0
  19. package/dist/bootstrap/log-filter.js +81 -0
  20. package/dist/bootstrap/log-filter.js.map +1 -0
  21. package/dist/build-info.js +2 -2
  22. package/dist/cli/commands/claude.js +6 -5
  23. package/dist/cli/commands/claude.js.map +1 -1
  24. package/dist/cli/commands/init/basic.d.ts +1 -7
  25. package/dist/cli/commands/init/basic.js +0 -79
  26. package/dist/cli/commands/init/basic.js.map +1 -1
  27. package/dist/cli/commands/init/prompt-utils.d.ts +7 -0
  28. package/dist/cli/commands/init/prompt-utils.js +80 -0
  29. package/dist/cli/commands/init/prompt-utils.js.map +1 -0
  30. package/dist/cli/commands/init/workflows.js +2 -1
  31. package/dist/cli/commands/init/workflows.js.map +1 -1
  32. package/dist/cli/commands/init.js +74 -2
  33. package/dist/cli/commands/init.js.map +1 -1
  34. package/dist/cli/commands/launcher/index.d.ts +7 -0
  35. package/dist/cli/commands/launcher/index.js +7 -0
  36. package/dist/cli/commands/launcher/index.js.map +1 -0
  37. package/dist/cli/commands/launcher/types.d.ts +112 -0
  38. package/dist/cli/commands/launcher/types.js +7 -0
  39. package/dist/cli/commands/launcher/types.js.map +1 -0
  40. package/dist/cli/commands/launcher/utils.d.ts +114 -0
  41. package/dist/cli/commands/launcher/utils.js +378 -0
  42. package/dist/cli/commands/launcher/utils.js.map +1 -0
  43. package/dist/cli/commands/launcher-kernel.d.ts +2 -74
  44. package/dist/cli/commands/launcher-kernel.js +141 -143
  45. package/dist/cli/commands/launcher-kernel.js.map +1 -1
  46. package/dist/cli/commands/start-types.d.ts +67 -0
  47. package/dist/cli/commands/start-types.js +3 -0
  48. package/dist/cli/commands/start-types.js.map +1 -0
  49. package/dist/cli/commands/start-utils.d.ts +19 -0
  50. package/dist/cli/commands/start-utils.js +78 -0
  51. package/dist/cli/commands/start-utils.js.map +1 -0
  52. package/dist/cli/commands/start.d.ts +2 -67
  53. package/dist/cli/commands/start.js +201 -48
  54. package/dist/cli/commands/start.js.map +1 -1
  55. package/dist/cli/commands/stop.js +17 -1
  56. package/dist/cli/commands/stop.js.map +1 -1
  57. package/dist/cli/commands/tmux-inject.js +1 -1
  58. package/dist/cli/commands/tmux-inject.js.map +1 -1
  59. package/dist/cli/config/init-config.js +60 -2
  60. package/dist/cli/config/init-config.js.map +1 -1
  61. package/dist/cli/config/init-provider-catalog.js +3 -1
  62. package/dist/cli/config/init-provider-catalog.js.map +1 -1
  63. package/dist/cli/config/precommand-default-script.d.ts +17 -0
  64. package/dist/cli/config/precommand-default-script.js +47 -0
  65. package/dist/cli/config/precommand-default-script.js.map +1 -0
  66. package/dist/cli/server/port-utils.js +63 -51
  67. package/dist/cli/server/port-utils.js.map +1 -1
  68. package/dist/cli.js +2 -0
  69. package/dist/cli.js.map +1 -1
  70. package/dist/client/gemini-cli/gemini-cli-protocol-client.js +55 -5
  71. package/dist/client/gemini-cli/gemini-cli-protocol-client.js.map +1 -1
  72. package/dist/commands/oauth.js +28 -4
  73. package/dist/commands/oauth.js.map +1 -1
  74. package/dist/commands/quota-daemon.js +12 -0
  75. package/dist/commands/quota-daemon.js.map +1 -1
  76. package/dist/configsamples/config.v1.quickstart.sanitized.json +6 -6
  77. package/dist/constants/index.d.ts +34 -0
  78. package/dist/constants/index.js +57 -0
  79. package/dist/constants/index.js.map +1 -1
  80. package/dist/docs/daemon-admin-ui.html +268 -11
  81. package/dist/error-handling/quiet-error-handling-center.js +19 -1
  82. package/dist/error-handling/quiet-error-handling-center.js.map +1 -1
  83. package/dist/index.js +233 -30
  84. package/dist/index.js.map +1 -1
  85. package/dist/manager/index.js +4 -4
  86. package/dist/manager/index.js.map +1 -1
  87. package/dist/manager/modules/quota/antigravity-quota-core.d.ts +26 -0
  88. package/dist/manager/modules/quota/antigravity-quota-core.js +23 -0
  89. package/dist/manager/modules/quota/antigravity-quota-core.js.map +1 -0
  90. package/dist/manager/modules/quota/antigravity-quota-helpers.d.ts +16 -0
  91. package/dist/manager/modules/quota/antigravity-quota-helpers.js +167 -0
  92. package/dist/manager/modules/quota/antigravity-quota-helpers.js.map +1 -0
  93. package/dist/manager/modules/quota/antigravity-quota-manager.d.ts +10 -39
  94. package/dist/manager/modules/quota/antigravity-quota-manager.js +167 -464
  95. package/dist/manager/modules/quota/antigravity-quota-manager.js.map +1 -1
  96. package/dist/manager/modules/quota/antigravity-quota-persistence.d.ts +20 -0
  97. package/dist/manager/modules/quota/antigravity-quota-persistence.js +139 -0
  98. package/dist/manager/modules/quota/antigravity-quota-persistence.js.map +1 -0
  99. package/dist/manager/modules/quota/antigravity-quota-runtime.d.ts +55 -0
  100. package/dist/manager/modules/quota/antigravity-quota-runtime.js +174 -0
  101. package/dist/manager/modules/quota/antigravity-quota-runtime.js.map +1 -0
  102. package/dist/manager/modules/quota/antigravity-quota-sync.d.ts +46 -0
  103. package/dist/manager/modules/quota/antigravity-quota-sync.js +162 -0
  104. package/dist/manager/modules/quota/antigravity-quota-sync.js.map +1 -0
  105. package/dist/manager/modules/quota/index.d.ts +1 -0
  106. package/dist/manager/modules/quota/provider-quota-daemon.error-helpers.d.ts +13 -0
  107. package/dist/manager/modules/quota/provider-quota-daemon.error-helpers.js +149 -0
  108. package/dist/manager/modules/quota/provider-quota-daemon.error-helpers.js.map +1 -0
  109. package/dist/manager/modules/quota/provider-quota-daemon.events.js +1 -148
  110. package/dist/manager/modules/quota/provider-quota-daemon.events.js.map +1 -1
  111. package/dist/manager/modules/quota/provider-quota-daemon.js.map +1 -1
  112. package/dist/manager/modules/quota/quota-adapter.d.ts +111 -0
  113. package/dist/manager/modules/quota/quota-adapter.js +325 -0
  114. package/dist/manager/modules/quota/quota-adapter.js.map +1 -0
  115. package/dist/manager/quota/provider-quota-center.d.ts +10 -0
  116. package/dist/manager/quota/provider-quota-center.js +15 -2
  117. package/dist/manager/quota/provider-quota-center.js.map +1 -1
  118. package/dist/modules/llmswitch/bridge/antigravity-signature.d.ts +28 -0
  119. package/dist/modules/llmswitch/bridge/antigravity-signature.js +180 -0
  120. package/dist/modules/llmswitch/bridge/antigravity-signature.js.map +1 -0
  121. package/dist/modules/llmswitch/bridge/index.d.ts +13 -0
  122. package/dist/modules/llmswitch/bridge/index.js +14 -0
  123. package/dist/modules/llmswitch/bridge/index.js.map +1 -0
  124. package/dist/modules/llmswitch/bridge/module-loader.d.ts +16 -0
  125. package/dist/modules/llmswitch/bridge/module-loader.js +59 -0
  126. package/dist/modules/llmswitch/bridge/module-loader.js.map +1 -0
  127. package/dist/modules/llmswitch/bridge/quota-manager.d.ts +8 -0
  128. package/dist/modules/llmswitch/bridge/quota-manager.js +37 -0
  129. package/dist/modules/llmswitch/bridge/quota-manager.js.map +1 -0
  130. package/dist/modules/llmswitch/bridge/response-converter.d.ts +11 -0
  131. package/dist/modules/llmswitch/bridge/response-converter.js +68 -0
  132. package/dist/modules/llmswitch/bridge/response-converter.js.map +1 -0
  133. package/dist/modules/llmswitch/bridge/routing-integrations.d.ts +12 -0
  134. package/dist/modules/llmswitch/bridge/routing-integrations.js +56 -0
  135. package/dist/modules/llmswitch/bridge/routing-integrations.js.map +1 -0
  136. package/dist/modules/llmswitch/bridge/runtime-integrations.d.ts +34 -0
  137. package/dist/modules/llmswitch/bridge/runtime-integrations.js +87 -0
  138. package/dist/modules/llmswitch/bridge/runtime-integrations.js.map +1 -0
  139. package/dist/modules/llmswitch/bridge/snapshot-recorder.d.ts +13 -0
  140. package/dist/modules/llmswitch/bridge/snapshot-recorder.js +484 -0
  141. package/dist/modules/llmswitch/bridge/snapshot-recorder.js.map +1 -0
  142. package/dist/modules/llmswitch/bridge/state-integrations.d.ts +59 -0
  143. package/dist/modules/llmswitch/bridge/state-integrations.js +264 -0
  144. package/dist/modules/llmswitch/bridge/state-integrations.js.map +1 -0
  145. package/dist/modules/llmswitch/bridge.d.ts +14 -131
  146. package/dist/modules/llmswitch/bridge.js +14 -834
  147. package/dist/modules/llmswitch/bridge.js.map +1 -1
  148. package/dist/modules/pipeline/types/provider-config-types.d.ts +240 -0
  149. package/dist/modules/pipeline/types/provider-config-types.js +2 -0
  150. package/dist/modules/pipeline/types/provider-config-types.js.map +1 -0
  151. package/dist/modules/pipeline/types/provider-types.d.ts +2 -239
  152. package/dist/modules/pipeline/types/provider-types.js +1 -1
  153. package/dist/modules/pipeline/types/provider-types.js.map +1 -1
  154. package/dist/modules/pipeline/utils/debug-logger.js +3 -5
  155. package/dist/modules/pipeline/utils/debug-logger.js.map +1 -1
  156. package/dist/providers/auth/apikey-auth.d.ts +57 -1
  157. package/dist/providers/auth/apikey-auth.js +131 -1
  158. package/dist/providers/auth/apikey-auth.js.map +1 -1
  159. package/dist/providers/auth/oauth-lifecycle/error-detection.d.ts +8 -0
  160. package/dist/providers/auth/oauth-lifecycle/error-detection.js +71 -0
  161. package/dist/providers/auth/oauth-lifecycle/error-detection.js.map +1 -0
  162. package/dist/providers/auth/oauth-lifecycle/index.d.ts +10 -0
  163. package/dist/providers/auth/oauth-lifecycle/index.js +11 -0
  164. package/dist/providers/auth/oauth-lifecycle/index.js.map +1 -0
  165. package/dist/providers/auth/oauth-lifecycle/path-resolver.d.ts +18 -0
  166. package/dist/providers/auth/oauth-lifecycle/path-resolver.js +121 -0
  167. package/dist/providers/auth/oauth-lifecycle/path-resolver.js.map +1 -0
  168. package/dist/providers/auth/oauth-lifecycle/throttle.d.ts +22 -0
  169. package/dist/providers/auth/oauth-lifecycle/throttle.js +37 -0
  170. package/dist/providers/auth/oauth-lifecycle/throttle.js.map +1 -0
  171. package/dist/providers/auth/oauth-lifecycle/token-helpers.d.ts +36 -0
  172. package/dist/providers/auth/oauth-lifecycle/token-helpers.js +127 -0
  173. package/dist/providers/auth/oauth-lifecycle/token-helpers.js.map +1 -0
  174. package/dist/providers/auth/oauth-lifecycle/token-io.d.ts +14 -0
  175. package/dist/providers/auth/oauth-lifecycle/token-io.js +151 -0
  176. package/dist/providers/auth/oauth-lifecycle/token-io.js.map +1 -0
  177. package/dist/providers/auth/oauth-lifecycle.js +70 -446
  178. package/dist/providers/auth/oauth-lifecycle.js.map +1 -1
  179. package/dist/providers/auth/oauth-repair-cooldown.js +8 -3
  180. package/dist/providers/auth/oauth-repair-cooldown.js.map +1 -1
  181. package/dist/providers/auth/oauth-repair-env.js +5 -3
  182. package/dist/providers/auth/oauth-repair-env.js.map +1 -1
  183. package/dist/providers/auth/oauth-token-utils.d.ts +61 -0
  184. package/dist/providers/auth/oauth-token-utils.js +187 -0
  185. package/dist/providers/auth/oauth-token-utils.js.map +1 -0
  186. package/dist/providers/auth/oauth-utils/camoufox-helper.d.ts +21 -0
  187. package/dist/providers/auth/oauth-utils/camoufox-helper.js +82 -0
  188. package/dist/providers/auth/oauth-utils/camoufox-helper.js.map +1 -0
  189. package/dist/providers/auth/oauth-utils/error-extraction.d.ts +17 -0
  190. package/dist/providers/auth/oauth-utils/error-extraction.js +80 -0
  191. package/dist/providers/auth/oauth-utils/error-extraction.js.map +1 -0
  192. package/dist/providers/auth/oauth-utils/index.d.ts +7 -0
  193. package/dist/providers/auth/oauth-utils/index.js +8 -0
  194. package/dist/providers/auth/oauth-utils/index.js.map +1 -0
  195. package/dist/providers/auth/token-refresh/index.d.ts +6 -0
  196. package/dist/providers/auth/token-refresh/index.js +7 -0
  197. package/dist/providers/auth/token-refresh/index.js.map +1 -0
  198. package/dist/providers/auth/token-refresh/token-state.d.ts +17 -0
  199. package/dist/providers/auth/token-refresh/token-state.js +30 -0
  200. package/dist/providers/auth/token-refresh/token-state.js.map +1 -0
  201. package/dist/providers/auth/token-storage/index.d.ts +7 -0
  202. package/dist/providers/auth/token-storage/index.js +8 -0
  203. package/dist/providers/auth/token-storage/index.js.map +1 -0
  204. package/dist/providers/auth/token-storage/token-file-resolver.d.ts +12 -0
  205. package/dist/providers/auth/token-storage/token-file-resolver.js +117 -0
  206. package/dist/providers/auth/token-storage/token-file-resolver.js.map +1 -0
  207. package/dist/providers/auth/token-storage/token-persistence.d.ts +22 -0
  208. package/dist/providers/auth/token-storage/token-persistence.js +86 -0
  209. package/dist/providers/auth/token-storage/token-persistence.js.map +1 -0
  210. package/dist/providers/auth/tokenfile-auth.js +12 -9
  211. package/dist/providers/auth/tokenfile-auth.js.map +1 -1
  212. package/dist/providers/core/api/provider-config.d.ts +8 -0
  213. package/dist/providers/core/config/camoufox-launcher.d.ts +1 -0
  214. package/dist/providers/core/config/camoufox-launcher.js +40 -9
  215. package/dist/providers/core/config/camoufox-launcher.js.map +1 -1
  216. package/dist/providers/core/config/oauth-flows.js +7 -2
  217. package/dist/providers/core/config/oauth-flows.js.map +1 -1
  218. package/dist/providers/core/config/provider-debug-hooks.d.ts +0 -12
  219. package/dist/providers/core/config/provider-debug-hooks.js +16 -56
  220. package/dist/providers/core/config/provider-debug-hooks.js.map +1 -1
  221. package/dist/providers/core/config/provider-debug-output-utils.d.ts +38 -0
  222. package/dist/providers/core/config/provider-debug-output-utils.js +46 -0
  223. package/dist/providers/core/config/provider-debug-output-utils.js.map +1 -0
  224. package/dist/providers/core/config/provider-oauth-configs.js +13 -9
  225. package/dist/providers/core/config/provider-oauth-configs.js.map +1 -1
  226. package/dist/providers/core/runtime/antigravity-request-type.d.ts +2 -0
  227. package/dist/providers/core/runtime/antigravity-request-type.js +126 -0
  228. package/dist/providers/core/runtime/antigravity-request-type.js.map +1 -0
  229. package/dist/providers/core/runtime/base-provider-runtime-helpers.d.ts +27 -0
  230. package/dist/providers/core/runtime/base-provider-runtime-helpers.js +105 -0
  231. package/dist/providers/core/runtime/base-provider-runtime-helpers.js.map +1 -0
  232. package/dist/providers/core/runtime/base-provider-series-cooldown.d.ts +19 -0
  233. package/dist/providers/core/runtime/base-provider-series-cooldown.js +363 -0
  234. package/dist/providers/core/runtime/base-provider-series-cooldown.js.map +1 -0
  235. package/dist/providers/core/runtime/base-provider.d.ts +4 -35
  236. package/dist/providers/core/runtime/base-provider.js +20 -501
  237. package/dist/providers/core/runtime/base-provider.js.map +1 -1
  238. package/dist/providers/core/runtime/deepseek-http-provider-helpers.d.ts +32 -0
  239. package/dist/providers/core/runtime/deepseek-http-provider-helpers.js +301 -0
  240. package/dist/providers/core/runtime/deepseek-http-provider-helpers.js.map +1 -0
  241. package/dist/providers/core/runtime/deepseek-http-provider.d.ts +0 -3
  242. package/dist/providers/core/runtime/deepseek-http-provider.js +5 -127
  243. package/dist/providers/core/runtime/deepseek-http-provider.js.map +1 -1
  244. package/dist/providers/core/runtime/deepseek-session-pow-helpers.d.ts +21 -0
  245. package/dist/providers/core/runtime/deepseek-session-pow-helpers.js +99 -0
  246. package/dist/providers/core/runtime/deepseek-session-pow-helpers.js.map +1 -0
  247. package/dist/providers/core/runtime/deepseek-session-pow.js +13 -108
  248. package/dist/providers/core/runtime/deepseek-session-pow.js.map +1 -1
  249. package/dist/providers/core/runtime/gemini-cli-http-provider.d.ts +0 -15
  250. package/dist/providers/core/runtime/gemini-cli-http-provider.js +13 -303
  251. package/dist/providers/core/runtime/gemini-cli-http-provider.js.map +1 -1
  252. package/dist/providers/core/runtime/gemini-cli-response-postprocessor.d.ts +9 -0
  253. package/dist/providers/core/runtime/gemini-cli-response-postprocessor.js +85 -0
  254. package/dist/providers/core/runtime/gemini-cli-response-postprocessor.js.map +1 -0
  255. package/dist/providers/core/runtime/gemini-http-provider.js +2 -2
  256. package/dist/providers/core/runtime/gemini-http-provider.js.map +1 -1
  257. package/dist/providers/core/runtime/gemini-sse-normalizer.d.ts +25 -0
  258. package/dist/providers/core/runtime/gemini-sse-normalizer.js +159 -0
  259. package/dist/providers/core/runtime/gemini-sse-normalizer.js.map +1 -0
  260. package/dist/providers/core/runtime/http-request-executor.js +1 -48
  261. package/dist/providers/core/runtime/http-request-executor.js.map +1 -1
  262. package/dist/providers/core/runtime/http-transport-provider.d.ts +2 -48
  263. package/dist/providers/core/runtime/http-transport-provider.js +158 -1273
  264. package/dist/providers/core/runtime/http-transport-provider.js.map +1 -1
  265. package/dist/providers/core/runtime/provider-bootstrap-utils.d.ts +20 -0
  266. package/dist/providers/core/runtime/provider-bootstrap-utils.js +78 -0
  267. package/dist/providers/core/runtime/provider-bootstrap-utils.js.map +1 -0
  268. package/dist/providers/core/runtime/provider-factory-helpers.d.ts +19 -0
  269. package/dist/providers/core/runtime/provider-factory-helpers.js +203 -0
  270. package/dist/providers/core/runtime/provider-factory-helpers.js.map +1 -0
  271. package/dist/providers/core/runtime/provider-factory.d.ts +9 -7
  272. package/dist/providers/core/runtime/provider-factory.js +57 -214
  273. package/dist/providers/core/runtime/provider-factory.js.map +1 -1
  274. package/dist/providers/core/runtime/provider-family-profile-utils.d.ts +23 -0
  275. package/dist/providers/core/runtime/provider-family-profile-utils.js +57 -0
  276. package/dist/providers/core/runtime/provider-family-profile-utils.js.map +1 -0
  277. package/dist/providers/core/runtime/provider-http-executor-utils.d.ts +32 -0
  278. package/dist/providers/core/runtime/provider-http-executor-utils.js +92 -0
  279. package/dist/providers/core/runtime/provider-http-executor-utils.js.map +1 -0
  280. package/dist/providers/core/runtime/provider-iflow-business-error-utils.d.ts +15 -0
  281. package/dist/providers/core/runtime/provider-iflow-business-error-utils.js +49 -0
  282. package/dist/providers/core/runtime/provider-iflow-business-error-utils.js.map +1 -0
  283. package/dist/providers/core/runtime/provider-request-executor-deps-factory.d.ts +29 -0
  284. package/dist/providers/core/runtime/provider-request-executor-deps-factory.js +41 -0
  285. package/dist/providers/core/runtime/provider-request-executor-deps-factory.js.map +1 -0
  286. package/dist/providers/core/runtime/provider-request-header-orchestrator.d.ts +30 -0
  287. package/dist/providers/core/runtime/provider-request-header-orchestrator.js +91 -0
  288. package/dist/providers/core/runtime/provider-request-header-orchestrator.js.map +1 -0
  289. package/dist/providers/core/runtime/provider-request-preprocessor.d.ts +5 -0
  290. package/dist/providers/core/runtime/provider-request-preprocessor.js +39 -0
  291. package/dist/providers/core/runtime/provider-request-preprocessor.js.map +1 -0
  292. package/dist/providers/core/runtime/provider-request-shaping-utils.d.ts +37 -0
  293. package/dist/providers/core/runtime/provider-request-shaping-utils.js +65 -0
  294. package/dist/providers/core/runtime/provider-request-shaping-utils.js.map +1 -0
  295. package/dist/providers/core/runtime/provider-response-postprocessor.d.ts +7 -0
  296. package/dist/providers/core/runtime/provider-response-postprocessor.js +28 -0
  297. package/dist/providers/core/runtime/provider-response-postprocessor.js.map +1 -0
  298. package/dist/providers/core/runtime/provider-runtime-utils.d.ts +16 -0
  299. package/dist/providers/core/runtime/provider-runtime-utils.js +51 -0
  300. package/dist/providers/core/runtime/provider-runtime-utils.js.map +1 -0
  301. package/dist/providers/core/runtime/responses-provider-helpers.d.ts +37 -0
  302. package/dist/providers/core/runtime/responses-provider-helpers.js +212 -0
  303. package/dist/providers/core/runtime/responses-provider-helpers.js.map +1 -0
  304. package/dist/providers/core/runtime/responses-provider.d.ts +0 -10
  305. package/dist/providers/core/runtime/responses-provider.js +14 -224
  306. package/dist/providers/core/runtime/responses-provider.js.map +1 -1
  307. package/dist/providers/core/runtime/runtime-endpoint-resolver.d.ts +21 -0
  308. package/dist/providers/core/runtime/runtime-endpoint-resolver.js +64 -0
  309. package/dist/providers/core/runtime/runtime-endpoint-resolver.js.map +1 -0
  310. package/dist/providers/core/runtime/service-profile-resolver.d.ts +29 -0
  311. package/dist/providers/core/runtime/service-profile-resolver.js +88 -0
  312. package/dist/providers/core/runtime/service-profile-resolver.js.map +1 -0
  313. package/dist/providers/core/runtime/transport/auth-mode-utils.d.ts +13 -0
  314. package/dist/providers/core/runtime/transport/auth-mode-utils.js +43 -0
  315. package/dist/providers/core/runtime/transport/auth-mode-utils.js.map +1 -0
  316. package/dist/providers/core/runtime/transport/auth-provider-factory.d.ts +37 -0
  317. package/dist/providers/core/runtime/transport/auth-provider-factory.js +131 -0
  318. package/dist/providers/core/runtime/transport/auth-provider-factory.js.map +1 -0
  319. package/dist/providers/core/runtime/transport/header-utils.d.ts +15 -0
  320. package/dist/providers/core/runtime/transport/header-utils.js +85 -0
  321. package/dist/providers/core/runtime/transport/header-utils.js.map +1 -0
  322. package/dist/providers/core/runtime/transport/iflow-signer.d.ts +12 -0
  323. package/dist/providers/core/runtime/transport/iflow-signer.js +63 -0
  324. package/dist/providers/core/runtime/transport/iflow-signer.js.map +1 -0
  325. package/dist/providers/core/runtime/transport/index.d.ts +15 -0
  326. package/dist/providers/core/runtime/transport/index.js +16 -0
  327. package/dist/providers/core/runtime/transport/index.js.map +1 -0
  328. package/dist/providers/core/runtime/transport/oauth-header-preflight.d.ts +12 -0
  329. package/dist/providers/core/runtime/transport/oauth-header-preflight.js +56 -0
  330. package/dist/providers/core/runtime/transport/oauth-header-preflight.js.map +1 -0
  331. package/dist/providers/core/runtime/transport/oauth-recovery-handler.d.ts +34 -0
  332. package/dist/providers/core/runtime/transport/oauth-recovery-handler.js +126 -0
  333. package/dist/providers/core/runtime/transport/oauth-recovery-handler.js.map +1 -0
  334. package/dist/providers/core/runtime/transport/provider-payload-utils.d.ts +21 -0
  335. package/dist/providers/core/runtime/transport/provider-payload-utils.js +88 -0
  336. package/dist/providers/core/runtime/transport/provider-payload-utils.js.map +1 -0
  337. package/dist/providers/core/runtime/transport/request-header-builder.d.ts +24 -0
  338. package/dist/providers/core/runtime/transport/request-header-builder.js +90 -0
  339. package/dist/providers/core/runtime/transport/request-header-builder.js.map +1 -0
  340. package/dist/providers/core/runtime/transport/runtime-detector.d.ts +22 -0
  341. package/dist/providers/core/runtime/transport/runtime-detector.js +63 -0
  342. package/dist/providers/core/runtime/transport/runtime-detector.js.map +1 -0
  343. package/dist/providers/core/runtime/transport/session-header-utils.d.ts +8 -0
  344. package/dist/providers/core/runtime/transport/session-header-utils.js +72 -0
  345. package/dist/providers/core/runtime/transport/session-header-utils.js.map +1 -0
  346. package/dist/providers/core/runtime/vision-debug-utils.d.ts +2 -0
  347. package/dist/providers/core/runtime/vision-debug-utils.js +31 -0
  348. package/dist/providers/core/runtime/vision-debug-utils.js.map +1 -1
  349. package/dist/providers/core/strategies/oauth-auth-code-flow.d.ts +13 -0
  350. package/dist/providers/core/strategies/oauth-auth-code-flow.js +272 -55
  351. package/dist/providers/core/strategies/oauth-auth-code-flow.js.map +1 -1
  352. package/dist/providers/core/utils/snapshot-writer-buffer.d.ts +13 -0
  353. package/dist/providers/core/utils/snapshot-writer-buffer.js +39 -0
  354. package/dist/providers/core/utils/snapshot-writer-buffer.js.map +1 -0
  355. package/dist/providers/core/utils/snapshot-writer.js +75 -54
  356. package/dist/providers/core/utils/snapshot-writer.js.map +1 -1
  357. package/dist/providers/profile/families/antigravity-profile.js +2 -10
  358. package/dist/providers/profile/families/antigravity-profile.js.map +1 -1
  359. package/dist/providers/profile/families/deepseek-profile.d.ts +2 -0
  360. package/dist/providers/profile/families/deepseek-profile.js +110 -0
  361. package/dist/providers/profile/families/deepseek-profile.js.map +1 -0
  362. package/dist/providers/profile/families/iflow-profile.js +89 -10
  363. package/dist/providers/profile/families/iflow-profile.js.map +1 -1
  364. package/dist/providers/profile/provider-profile-loader.d.ts +5 -0
  365. package/dist/providers/profile/provider-profile-loader.js +35 -0
  366. package/dist/providers/profile/provider-profile-loader.js.map +1 -1
  367. package/dist/providers/profile/provider-profile.d.ts +16 -1
  368. package/dist/runtime/runtime-flags.js +1 -1
  369. package/dist/runtime/runtime-flags.js.map +1 -1
  370. package/dist/runtime/wasm-runtime/index.d.ts +56 -0
  371. package/dist/runtime/wasm-runtime/index.js +69 -0
  372. package/dist/runtime/wasm-runtime/index.js.map +1 -0
  373. package/dist/scripts/camoufox/launch-auth.mjs +158 -10
  374. package/dist/server/handlers/handler-response-utils.d.ts +13 -0
  375. package/dist/server/handlers/handler-response-utils.js +427 -0
  376. package/dist/server/handlers/handler-response-utils.js.map +1 -0
  377. package/dist/server/handlers/handler-utils.d.ts +2 -11
  378. package/dist/server/handlers/handler-utils.js +21 -421
  379. package/dist/server/handlers/handler-utils.js.map +1 -1
  380. package/dist/server/runtime/http-server/clock-client-reaper.d.ts +23 -0
  381. package/dist/server/runtime/http-server/clock-client-reaper.js +159 -0
  382. package/dist/server/runtime/http-server/clock-client-reaper.js.map +1 -0
  383. package/dist/server/runtime/http-server/clock-client-registry-utils.d.ts +87 -0
  384. package/dist/server/runtime/http-server/clock-client-registry-utils.js +276 -0
  385. package/dist/server/runtime/http-server/clock-client-registry-utils.js.map +1 -0
  386. package/dist/server/runtime/http-server/clock-client-registry.d.ts +5 -50
  387. package/dist/server/runtime/http-server/clock-client-registry.js +74 -320
  388. package/dist/server/runtime/http-server/clock-client-registry.js.map +1 -1
  389. package/dist/server/runtime/http-server/clock-client-route-utils.d.ts +12 -0
  390. package/dist/server/runtime/http-server/clock-client-route-utils.js +210 -0
  391. package/dist/server/runtime/http-server/clock-client-route-utils.js.map +1 -0
  392. package/dist/server/runtime/http-server/clock-client-routes.js +27 -201
  393. package/dist/server/runtime/http-server/clock-client-routes.js.map +1 -1
  394. package/dist/server/runtime/http-server/clock-daemon-log-throttle.d.ts +12 -0
  395. package/dist/server/runtime/http-server/clock-daemon-log-throttle.js +56 -0
  396. package/dist/server/runtime/http-server/clock-daemon-log-throttle.js.map +1 -0
  397. package/dist/server/runtime/http-server/daemon-admin/control-handler.js +143 -14
  398. package/dist/server/runtime/http-server/daemon-admin/control-handler.js.map +1 -1
  399. package/dist/server/runtime/http-server/daemon-admin/credentials-handler-utils.d.ts +19 -0
  400. package/dist/server/runtime/http-server/daemon-admin/credentials-handler-utils.js +107 -0
  401. package/dist/server/runtime/http-server/daemon-admin/credentials-handler-utils.js.map +1 -0
  402. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js +2 -104
  403. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js.map +1 -1
  404. package/dist/server/runtime/http-server/daemon-admin/providers-handler-routing-utils.d.ts +28 -0
  405. package/dist/server/runtime/http-server/daemon-admin/providers-handler-routing-utils.js +298 -0
  406. package/dist/server/runtime/http-server/daemon-admin/providers-handler-routing-utils.js.map +1 -0
  407. package/dist/server/runtime/http-server/daemon-admin/providers-handler-utils.d.ts +22 -0
  408. package/dist/server/runtime/http-server/daemon-admin/providers-handler-utils.js +211 -0
  409. package/dist/server/runtime/http-server/daemon-admin/providers-handler-utils.js.map +1 -0
  410. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js +25 -454
  411. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js.map +1 -1
  412. package/dist/server/runtime/http-server/daemon-admin/quota-handler.js +81 -32
  413. package/dist/server/runtime/http-server/daemon-admin/quota-handler.js.map +1 -1
  414. package/dist/server/runtime/http-server/daemon-admin/routecodex-x7e-gate.d.ts +22 -0
  415. package/dist/server/runtime/http-server/daemon-admin/routecodex-x7e-gate.js +70 -0
  416. package/dist/server/runtime/http-server/daemon-admin/routecodex-x7e-gate.js.map +1 -0
  417. package/dist/server/runtime/http-server/executor/antigravity-detector.d.ts +34 -0
  418. package/dist/server/runtime/http-server/executor/antigravity-detector.js +118 -0
  419. package/dist/server/runtime/http-server/executor/antigravity-detector.js.map +1 -0
  420. package/dist/server/runtime/http-server/executor/env-config.d.ts +13 -0
  421. package/dist/server/runtime/http-server/executor/env-config.js +20 -0
  422. package/dist/server/runtime/http-server/executor/env-config.js.map +1 -0
  423. package/dist/server/runtime/http-server/executor/index.d.ts +11 -0
  424. package/dist/server/runtime/http-server/executor/index.js +18 -0
  425. package/dist/server/runtime/http-server/executor/index.js.map +1 -0
  426. package/dist/server/runtime/http-server/executor/provider-request-context.d.ts +20 -0
  427. package/dist/server/runtime/http-server/executor/provider-request-context.js +38 -0
  428. package/dist/server/runtime/http-server/executor/provider-request-context.js.map +1 -0
  429. package/dist/server/runtime/http-server/executor/provider-response-converter.d.ts +23 -0
  430. package/dist/server/runtime/http-server/executor/provider-response-converter.js +337 -0
  431. package/dist/server/runtime/http-server/executor/provider-response-converter.js.map +1 -0
  432. package/dist/server/runtime/http-server/executor/provider-response-utils.d.ts +8 -0
  433. package/dist/server/runtime/http-server/executor/provider-response-utils.js +93 -0
  434. package/dist/server/runtime/http-server/executor/provider-response-utils.js.map +1 -0
  435. package/dist/server/runtime/http-server/executor/provider-runtime-resolver.d.ts +23 -0
  436. package/dist/server/runtime/http-server/executor/provider-runtime-resolver.js +85 -0
  437. package/dist/server/runtime/http-server/executor/provider-runtime-resolver.js.map +1 -0
  438. package/dist/server/runtime/http-server/executor/request-executor-core-utils.d.ts +7 -0
  439. package/dist/server/runtime/http-server/executor/request-executor-core-utils.js +39 -0
  440. package/dist/server/runtime/http-server/executor/request-executor-core-utils.js.map +1 -0
  441. package/dist/server/runtime/http-server/executor/request-retry-helpers.d.ts +16 -0
  442. package/dist/server/runtime/http-server/executor/request-retry-helpers.js +218 -0
  443. package/dist/server/runtime/http-server/executor/request-retry-helpers.js.map +1 -0
  444. package/dist/server/runtime/http-server/executor/retry-engine.d.ts +21 -0
  445. package/dist/server/runtime/http-server/executor/retry-engine.js +73 -0
  446. package/dist/server/runtime/http-server/executor/retry-engine.js.map +1 -0
  447. package/dist/server/runtime/http-server/executor/sse-error-handler.d.ts +14 -0
  448. package/dist/server/runtime/http-server/executor/sse-error-handler.js +127 -0
  449. package/dist/server/runtime/http-server/executor/sse-error-handler.js.map +1 -0
  450. package/dist/server/runtime/http-server/executor/usage-aggregator.d.ts +39 -0
  451. package/dist/server/runtime/http-server/executor/usage-aggregator.js +177 -0
  452. package/dist/server/runtime/http-server/executor/usage-aggregator.js.map +1 -0
  453. package/dist/server/runtime/http-server/executor/usage-logger.d.ts +7 -0
  454. package/dist/server/runtime/http-server/executor/usage-logger.js +13 -0
  455. package/dist/server/runtime/http-server/executor/usage-logger.js.map +1 -0
  456. package/dist/server/runtime/http-server/executor/utils.d.ts +21 -0
  457. package/dist/server/runtime/http-server/executor/utils.js +62 -0
  458. package/dist/server/runtime/http-server/executor/utils.js.map +1 -0
  459. package/dist/server/runtime/http-server/executor-metadata.js +83 -2
  460. package/dist/server/runtime/http-server/executor-metadata.js.map +1 -1
  461. package/dist/server/runtime/http-server/executor-response.js +17 -9
  462. package/dist/server/runtime/http-server/executor-response.js.map +1 -1
  463. package/dist/server/runtime/http-server/http-server-bootstrap.d.ts +31 -0
  464. package/dist/server/runtime/http-server/http-server-bootstrap.js +367 -0
  465. package/dist/server/runtime/http-server/http-server-bootstrap.js.map +1 -0
  466. package/dist/server/runtime/http-server/http-server-clock-daemon.d.ts +5 -0
  467. package/dist/server/runtime/http-server/http-server-clock-daemon.js +242 -0
  468. package/dist/server/runtime/http-server/http-server-clock-daemon.js.map +1 -0
  469. package/dist/server/runtime/http-server/http-server-legacy-pipeline.d.ts +2 -0
  470. package/dist/server/runtime/http-server/http-server-legacy-pipeline.js +65 -0
  471. package/dist/server/runtime/http-server/http-server-legacy-pipeline.js.map +1 -0
  472. package/dist/server/runtime/http-server/http-server-lifecycle.d.ts +27 -0
  473. package/dist/server/runtime/http-server/http-server-lifecycle.js +285 -0
  474. package/dist/server/runtime/http-server/http-server-lifecycle.js.map +1 -0
  475. package/dist/server/runtime/http-server/http-server-runtime-providers.d.ts +10 -0
  476. package/dist/server/runtime/http-server/http-server-runtime-providers.js +415 -0
  477. package/dist/server/runtime/http-server/http-server-runtime-providers.js.map +1 -0
  478. package/dist/server/runtime/http-server/http-server-runtime-setup.d.ts +2 -0
  479. package/dist/server/runtime/http-server/http-server-runtime-setup.js +93 -0
  480. package/dist/server/runtime/http-server/http-server-runtime-setup.js.map +1 -0
  481. package/dist/server/runtime/http-server/index.d.ts +2 -46
  482. package/dist/server/runtime/http-server/index.js +96 -2615
  483. package/dist/server/runtime/http-server/index.js.map +1 -1
  484. package/dist/server/runtime/http-server/request-executor.d.ts +8 -21
  485. package/dist/server/runtime/http-server/request-executor.js +94 -956
  486. package/dist/server/runtime/http-server/request-executor.js.map +1 -1
  487. package/dist/server/runtime/http-server/routes.js +2 -2
  488. package/dist/server/runtime/http-server/routes.js.map +1 -1
  489. package/dist/server/runtime/http-server/servertool-admin-state.d.ts +42 -0
  490. package/dist/server/runtime/http-server/servertool-admin-state.js +210 -0
  491. package/dist/server/runtime/http-server/servertool-admin-state.js.map +1 -0
  492. package/dist/server/runtime/http-server/stats-manager-internals.d.ts +96 -0
  493. package/dist/server/runtime/http-server/stats-manager-internals.js +311 -0
  494. package/dist/server/runtime/http-server/stats-manager-internals.js.map +1 -0
  495. package/dist/server/runtime/http-server/stats-manager-table.d.ts +6 -0
  496. package/dist/server/runtime/http-server/stats-manager-table.js +135 -0
  497. package/dist/server/runtime/http-server/stats-manager-table.js.map +1 -0
  498. package/dist/server/runtime/http-server/stats-manager.d.ts +0 -23
  499. package/dist/server/runtime/http-server/stats-manager.js +95 -483
  500. package/dist/server/runtime/http-server/stats-manager.js.map +1 -1
  501. package/dist/server/utils/client-connection-state.js +61 -0
  502. package/dist/server/utils/client-connection-state.js.map +1 -1
  503. package/dist/server/utils/request-id-manager.d.ts +6 -0
  504. package/dist/server/utils/request-id-manager.js +105 -15
  505. package/dist/server/utils/request-id-manager.js.map +1 -1
  506. package/dist/server/utils/stage-logger.js +14 -4
  507. package/dist/server/utils/stage-logger.js.map +1 -1
  508. package/dist/server-lifecycle/index.d.ts +6 -0
  509. package/dist/server-lifecycle/index.js +7 -0
  510. package/dist/server-lifecycle/index.js.map +1 -0
  511. package/dist/server-lifecycle/port-utils.d.ts +18 -0
  512. package/dist/server-lifecycle/port-utils.js +204 -0
  513. package/dist/server-lifecycle/port-utils.js.map +1 -0
  514. package/dist/sharedmodule/process-snapshot.d.ts +26 -0
  515. package/dist/sharedmodule/process-snapshot.js +141 -0
  516. package/dist/sharedmodule/process-snapshot.js.map +1 -0
  517. package/dist/token-daemon/index.js +10 -3
  518. package/dist/token-daemon/index.js.map +1 -1
  519. package/dist/token-daemon/token-daemon.js +9 -11
  520. package/dist/token-daemon/token-daemon.js.map +1 -1
  521. package/dist/token-daemon/token-utils.d.ts +1 -1
  522. package/dist/token-daemon/token-utils.js +19 -3
  523. package/dist/token-daemon/token-utils.js.map +1 -1
  524. package/dist/tools/semantic-replay-snapshot-loader.d.ts +4 -0
  525. package/dist/tools/semantic-replay-snapshot-loader.js +396 -0
  526. package/dist/tools/semantic-replay-snapshot-loader.js.map +1 -0
  527. package/dist/tools/semantic-replay.js +2 -393
  528. package/dist/tools/semantic-replay.js.map +1 -1
  529. package/dist/utils/daemon-stop-intent.d.ts +17 -0
  530. package/dist/utils/daemon-stop-intent.js +104 -0
  531. package/dist/utils/daemon-stop-intent.js.map +1 -0
  532. package/dist/utils/key-429-tracker.js +6 -5
  533. package/dist/utils/key-429-tracker.js.map +1 -1
  534. package/dist/utils/managed-server-pids.js +44 -6
  535. package/dist/utils/managed-server-pids.js.map +1 -1
  536. package/dist/utils/pipeline-health-manager.js +7 -6
  537. package/dist/utils/pipeline-health-manager.js.map +1 -1
  538. package/dist/utils/process-lifecycle-logger.js +45 -1
  539. package/dist/utils/process-lifecycle-logger.js.map +1 -1
  540. package/dist/utils/runtime-exit-forensics.d.ts +2 -2
  541. package/dist/utils/runtime-exit-forensics.js +10 -5
  542. package/dist/utils/runtime-exit-forensics.js.map +1 -1
  543. package/dist/utils/snapshot-writer.js +3 -3
  544. package/dist/utils/snapshot-writer.js.map +1 -1
  545. package/docs/QUOTA_MANAGER_V3.md +3 -0
  546. package/docs/VIRTUAL_ROUTER_PRIORITY_AND_HEALTH.md +114 -0
  547. package/docs/daemon-admin-ui.html +268 -11
  548. package/docs/file-line-limit-gate.md +30 -0
  549. package/docs/refactoring/host-164.3-responsibility-migration.md +62 -0
  550. package/docs/release-iflow-400-gate.md +58 -0
  551. package/docs/replay-evidence-iflow-400.txt +33 -0
  552. package/docs/stop-message-auto.md +4 -3
  553. package/package.json +4 -3
  554. package/scripts/auth-iflow-manual.mjs +13 -23
  555. package/scripts/camoufox/launch-auth.mjs +158 -10
  556. package/scripts/ci/check-file-line-limit.mjs +149 -0
  557. package/scripts/copy-compat-assets.mjs +26 -0
  558. package/scripts/tests/ci-jest.mjs +4 -0
  559. package/scripts/verify-codex-error-samples.mjs +27 -6
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Executor Module Exports
3
+ *
4
+ * Unified exports for all executor submodules.
5
+ */
6
+ // Utilities
7
+ export { firstNonEmptyString, firstFiniteNumber, extractStatusCodeFromError, resolveBoolFromEnv } from './utils.js';
8
+ // Retry engine
9
+ export { describeRetryReason, shouldRetryProviderError, waitBeforeRetry, RETRYABLE_SSE_ERROR_CODE_HINTS, RETRYABLE_SSE_MESSAGE_HINTS, isRetryableSseWrapperError, resolveMaxProviderAttempts, resolveAntigravityMaxProviderAttempts } from './retry-engine.js';
10
+ // SSE error handling
11
+ export { extractSseWrapperError } from './sse-error-handler.js';
12
+ // Antigravity detection
13
+ export { isAntigravityProviderKey, isGoogleAccountVerificationRequiredError, isAntigravityReauthRequired403, extractRetryErrorSignature, shouldRotateAntigravityAliasOnRetry, injectAntigravityRetrySignal } from './antigravity-detector.js';
14
+ // Usage aggregation
15
+ export { extractUsageFromResult, normalizeUsage, extractEstimatedInputTokens, reconcileUsageWithEstimate, patchUsageCandidate, mergeUsageMetrics, buildUsageLogText } from './usage-aggregator.js';
16
+ // Environment configuration
17
+ export { isUsageLoggingEnabled, isVerboseErrorLoggingEnabled } from './env-config.js';
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/server/runtime/http-server/executor/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY;AACZ,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,eAAe;AACf,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,8BAA8B,EAC9B,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,qCAAqC,EACtC,MAAM,mBAAmB,CAAC;AAE3B,qBAAqB;AACrB,OAAO,EAEL,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AAEhC,wBAAwB;AACxB,OAAO,EACL,wBAAwB,EACxB,wCAAwC,EACxC,8BAA8B,EAC9B,0BAA0B,EAC1B,mCAAmC,EACnC,4BAA4B,EAC7B,MAAM,2BAA2B,CAAC;AAEnC,oBAAoB;AACpB,OAAO,EAEL,sBAAsB,EACtB,cAAc,EACd,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAE/B,4BAA4B;AAC5B,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC7B,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { ProviderHandle, ProviderProtocol } from '../types.js';
2
+ type ProviderTargetLike = {
3
+ providerKey: string;
4
+ outboundProfile?: ProviderProtocol;
5
+ };
6
+ export declare function resolveProviderRequestContext(options: {
7
+ providerRequestId: string;
8
+ entryEndpoint: string;
9
+ target: ProviderTargetLike;
10
+ handle: ProviderHandle;
11
+ runtimeKey: string;
12
+ providerPayload: unknown;
13
+ mergedMetadata?: Record<string, unknown>;
14
+ }): {
15
+ requestId: string;
16
+ providerProtocol: ProviderProtocol;
17
+ providerModel?: string;
18
+ providerLabel?: string;
19
+ };
20
+ export {};
@@ -0,0 +1,38 @@
1
+ import { enhanceProviderRequestId } from '../../../utils/request-id-manager.js';
2
+ import { buildProviderLabel, extractProviderModel } from './provider-response-utils.js';
3
+ export function resolveProviderRequestContext(options) {
4
+ const { providerRequestId, entryEndpoint, target, handle, runtimeKey, providerPayload, mergedMetadata } = options;
5
+ const providerProtocol = target.outboundProfile || handle.providerProtocol;
6
+ const metadataModel = mergedMetadata?.target && typeof mergedMetadata.target === 'object'
7
+ ? mergedMetadata.target.clientModelId
8
+ : undefined;
9
+ const payloadRecord = providerPayload && typeof providerPayload === 'object'
10
+ ? providerPayload
11
+ : undefined;
12
+ const rawModel = extractProviderModel(payloadRecord) ||
13
+ (typeof metadataModel === 'string' ? metadataModel : undefined);
14
+ const providerAlias = typeof target.providerKey === 'string' && target.providerKey.includes('.')
15
+ ? target.providerKey.split('.').slice(0, 2).join('.')
16
+ : target.providerKey;
17
+ const providerIdToken = providerAlias || handle.providerId || runtimeKey;
18
+ if (!providerIdToken) {
19
+ throw Object.assign(new Error('Provider identifier missing for request'), {
20
+ code: 'ERR_PROVIDER_ID_MISSING',
21
+ requestId: providerRequestId
22
+ });
23
+ }
24
+ const enhancedRequestId = enhanceProviderRequestId(providerRequestId, {
25
+ entryEndpoint,
26
+ providerId: providerIdToken,
27
+ model: rawModel
28
+ });
29
+ const providerModel = rawModel;
30
+ const providerLabel = buildProviderLabel(target.providerKey, providerModel);
31
+ return {
32
+ requestId: enhancedRequestId,
33
+ providerProtocol,
34
+ providerModel,
35
+ providerLabel
36
+ };
37
+ }
38
+ //# sourceMappingURL=provider-request-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-request-context.js","sourceRoot":"","sources":["../../../../../src/server/runtime/http-server/executor/provider-request-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAOxF,MAAM,UAAU,6BAA6B,CAAC,OAQ7C;IAMC,MAAM,EACJ,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,MAAM,EACN,UAAU,EACV,eAAe,EACf,cAAc,EACf,GAAG,OAAO,CAAC;IACZ,MAAM,gBAAgB,GAAI,MAAM,CAAC,eAAoC,IAAI,MAAM,CAAC,gBAAgB,CAAC;IACjG,MAAM,aAAa,GACjB,cAAc,EAAE,MAAM,IAAI,OAAO,cAAc,CAAC,MAAM,KAAK,QAAQ;QACjE,CAAC,CAAE,cAAc,CAAC,MAAkC,CAAC,aAAa;QAClE,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,aAAa,GACjB,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ;QACpD,CAAC,CAAE,eAA2C;QAC9C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,QAAQ,GACZ,oBAAoB,CAAC,aAAa,CAAC;QACnC,CAAC,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClE,MAAM,aAAa,GACjB,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;QACxE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACrD,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;IACzB,MAAM,eAAe,GAAG,aAAa,IAAI,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC;IACzE,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yCAAyC,CAAC,EAAE;YACxE,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,iBAAiB;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,iBAAiB,EAAE;QACpE,aAAa;QACb,UAAU,EAAE,eAAe;QAC3B,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,QAAQ,CAAC;IAC/B,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAE5E,OAAO;QACL,SAAS,EAAE,iBAAiB;QAC5B,gBAAgB;QAChB,aAAa;QACb,aAAa;KACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { PipelineExecutionInput, PipelineExecutionResult } from '../../../handlers/types.js';
2
+ import type { ProviderHandle } from '../types.js';
3
+ export type ConvertProviderResponseOptions = {
4
+ entryEndpoint?: string;
5
+ providerProtocol: string;
6
+ providerType?: string;
7
+ requestId: string;
8
+ serverToolsEnabled?: boolean;
9
+ wantsStream: boolean;
10
+ originalRequest?: Record<string, unknown> | undefined;
11
+ requestSemantics?: Record<string, unknown> | undefined;
12
+ processMode?: string;
13
+ response: PipelineExecutionResult;
14
+ pipelineMetadata?: Record<string, unknown>;
15
+ };
16
+ export type ConvertProviderResponseDeps = {
17
+ runtimeManager: {
18
+ resolveRuntimeKey(providerKey?: string, fallback?: string): string | undefined;
19
+ getHandleByRuntimeKey(runtimeKey?: string): ProviderHandle | undefined;
20
+ };
21
+ executeNested(input: PipelineExecutionInput): Promise<PipelineExecutionResult>;
22
+ };
23
+ export declare function convertProviderResponseIfNeeded(options: ConvertProviderResponseOptions, deps: ConvertProviderResponseDeps): Promise<PipelineExecutionResult>;
@@ -0,0 +1,337 @@
1
+ import { asRecord } from '../provider-utils.js';
2
+ import { convertProviderResponse as bridgeConvertProviderResponse, createSnapshotRecorder as bridgeCreateSnapshotRecorder } from '../../../../modules/llmswitch/bridge.js';
3
+ import { applyClientConnectionStateToContext } from '../../../utils/client-connection-state.js';
4
+ import { injectClockClientPrompt } from '../clock-client-registry.js';
5
+ import { bindClockConversationSession } from './request-retry-helpers.js';
6
+ import { extractClientModelId, normalizeProviderResponse } from './provider-response-utils.js';
7
+ import { isVerboseErrorLoggingEnabled } from './env-config.js';
8
+ import { extractSseWrapperError } from './sse-error-handler.js';
9
+ import { isRateLimitLikeError } from './request-retry-helpers.js';
10
+ const FOLLOWUP_SESSION_HEADER_KEYS = new Set([
11
+ 'sessionid',
12
+ 'conversationid',
13
+ 'xsessionid',
14
+ 'xconversationid',
15
+ 'anthropicsessionid',
16
+ 'anthropicconversationid',
17
+ 'xroutecodexsessionid',
18
+ 'xroutecodexconversationid'
19
+ ]);
20
+ function canonicalizeHeaderName(headerName) {
21
+ return headerName.toLowerCase().replace(/[^a-z0-9]/g, '');
22
+ }
23
+ function extractFollowupSessionHeaders(headers) {
24
+ if (!headers || typeof headers !== 'object' || Array.isArray(headers)) {
25
+ return undefined;
26
+ }
27
+ const source = headers;
28
+ const preserved = {};
29
+ for (const [headerName, headerValue] of Object.entries(source)) {
30
+ if (!FOLLOWUP_SESSION_HEADER_KEYS.has(canonicalizeHeaderName(headerName))) {
31
+ continue;
32
+ }
33
+ if (typeof headerValue !== 'string') {
34
+ continue;
35
+ }
36
+ const normalizedValue = headerValue.trim();
37
+ if (!normalizedValue) {
38
+ continue;
39
+ }
40
+ preserved[headerName] = normalizedValue;
41
+ }
42
+ return Object.keys(preserved).length ? preserved : undefined;
43
+ }
44
+ function extractPreservedSessionToken(headers, field) {
45
+ if (!headers) {
46
+ return undefined;
47
+ }
48
+ for (const [headerName, headerValue] of Object.entries(headers)) {
49
+ const normalizedName = canonicalizeHeaderName(headerName);
50
+ if (field === 'session' && normalizedName.endsWith('sessionid')) {
51
+ return headerValue;
52
+ }
53
+ if (field === 'conversation' && normalizedName.endsWith('conversationid')) {
54
+ return headerValue;
55
+ }
56
+ }
57
+ return undefined;
58
+ }
59
+ export async function convertProviderResponseIfNeeded(options, deps) {
60
+ const body = options.response.body;
61
+ if (body && typeof body === 'object') {
62
+ const wrapperError = extractSseWrapperError(body);
63
+ if (wrapperError) {
64
+ const codeSuffix = wrapperError.errorCode ? ` [${wrapperError.errorCode}]` : '';
65
+ const error = new Error(`Upstream SSE error event${codeSuffix}: ${wrapperError.message}`);
66
+ error.code = 'SSE_DECODE_ERROR';
67
+ if (wrapperError.errorCode) {
68
+ error.upstreamCode = wrapperError.errorCode;
69
+ }
70
+ error.retryable = wrapperError.retryable;
71
+ if (isRateLimitLikeError(wrapperError.message, wrapperError.errorCode)) {
72
+ error.code = 'HTTP_429';
73
+ error.status = 429;
74
+ error.statusCode = 429;
75
+ error.retryable = true;
76
+ }
77
+ else if (wrapperError.retryable) {
78
+ error.status = 503;
79
+ error.statusCode = 503;
80
+ }
81
+ throw error;
82
+ }
83
+ }
84
+ if (options.processMode === 'passthrough' && !options.wantsStream) {
85
+ return options.response;
86
+ }
87
+ const entry = (options.entryEndpoint || '').toLowerCase();
88
+ const needsAnthropicConversion = entry.includes('/v1/messages');
89
+ const needsResponsesConversion = entry.includes('/v1/responses');
90
+ const needsChatConversion = entry.includes('/v1/chat/completions');
91
+ if (!needsAnthropicConversion && !needsResponsesConversion && !needsChatConversion) {
92
+ return options.response;
93
+ }
94
+ if (!body || typeof body !== 'object') {
95
+ return options.response;
96
+ }
97
+ try {
98
+ const metadataBag = asRecord(options.pipelineMetadata);
99
+ const originalModelId = extractClientModelId(metadataBag, options.originalRequest);
100
+ const assignedModelId = typeof metadataBag?.assignedModelId === 'string'
101
+ ? String(metadataBag.assignedModelId)
102
+ : metadataBag &&
103
+ typeof metadataBag === 'object' &&
104
+ metadataBag.target &&
105
+ typeof metadataBag.target === 'object' &&
106
+ typeof metadataBag.target.modelId === 'string'
107
+ ? metadataBag.target.modelId
108
+ : typeof metadataBag?.modelId === 'string'
109
+ ? String(metadataBag.modelId)
110
+ : undefined;
111
+ const baseContext = {
112
+ ...(metadataBag ?? {})
113
+ };
114
+ if (baseContext.capturedChatRequest === undefined &&
115
+ options.originalRequest &&
116
+ typeof options.originalRequest === 'object' &&
117
+ !Array.isArray(options.originalRequest)) {
118
+ baseContext.capturedChatRequest = options.originalRequest;
119
+ }
120
+ if (typeof metadataBag?.routeName === 'string') {
121
+ baseContext.routeId = metadataBag.routeName;
122
+ }
123
+ baseContext.requestId = options.requestId;
124
+ baseContext.entryEndpoint = options.entryEndpoint || entry;
125
+ baseContext.providerProtocol = options.providerProtocol;
126
+ baseContext.originalModelId = originalModelId;
127
+ if (assignedModelId && assignedModelId.trim()) {
128
+ baseContext.modelId = assignedModelId.trim();
129
+ }
130
+ applyClientConnectionStateToContext(metadataBag, baseContext);
131
+ const adapterContext = baseContext;
132
+ const hasTargetMetadata = metadataBag &&
133
+ typeof metadataBag === 'object' &&
134
+ metadataBag.target &&
135
+ typeof metadataBag.target === 'object';
136
+ const targetCompatProfile = hasTargetMetadata &&
137
+ typeof metadataBag.target.compatibilityProfile === 'string'
138
+ ? metadataBag.target.compatibilityProfile
139
+ : undefined;
140
+ const metadataCompatProfile = typeof metadataBag?.compatibilityProfile === 'string'
141
+ ? String(metadataBag.compatibilityProfile)
142
+ : undefined;
143
+ const compatProfile = hasTargetMetadata ? targetCompatProfile : metadataCompatProfile;
144
+ if (compatProfile && compatProfile.trim()) {
145
+ adapterContext.compatibilityProfile = compatProfile.trim();
146
+ }
147
+ const serverToolsEnabled = options.serverToolsEnabled !== false;
148
+ adapterContext.serverToolsEnabled = serverToolsEnabled;
149
+ if (!serverToolsEnabled) {
150
+ adapterContext.serverToolsDisabled = true;
151
+ }
152
+ const stageRecorder = await bridgeCreateSnapshotRecorder(adapterContext, typeof adapterContext.entryEndpoint === 'string'
153
+ ? adapterContext.entryEndpoint
154
+ : options.entryEndpoint || entry);
155
+ const providerInvoker = async (invokeOptions) => {
156
+ if (invokeOptions.routeHint) {
157
+ const carrier = invokeOptions.payload;
158
+ const existingMeta = carrier.metadata && typeof carrier.metadata === 'object'
159
+ ? carrier.metadata
160
+ : {};
161
+ carrier.metadata = {
162
+ ...existingMeta,
163
+ routeHint: existingMeta.routeHint ?? invokeOptions.routeHint
164
+ };
165
+ }
166
+ const runtimeKey = deps.runtimeManager.resolveRuntimeKey(invokeOptions.providerKey);
167
+ if (!runtimeKey) {
168
+ throw new Error(`Runtime for provider ${invokeOptions.providerKey} not initialized`);
169
+ }
170
+ const handle = deps.runtimeManager.getHandleByRuntimeKey(runtimeKey);
171
+ if (!handle) {
172
+ throw new Error(`Provider runtime ${runtimeKey} not found`);
173
+ }
174
+ const providerResponse = await handle.instance.processIncoming(invokeOptions.payload);
175
+ const normalized = normalizeProviderResponse(providerResponse);
176
+ const bodyPayload = normalized.body && typeof normalized.body === 'object'
177
+ ? normalized.body
178
+ : normalized;
179
+ return { providerResponse: bodyPayload };
180
+ };
181
+ const reenterPipeline = async (reenterOpts) => {
182
+ const nestedEntry = reenterOpts.entryEndpoint || options.entryEndpoint || entry;
183
+ const nestedExtra = asRecord(reenterOpts.metadata) ?? {};
184
+ const nestedMetadata = {
185
+ ...(metadataBag ?? {}),
186
+ ...nestedExtra,
187
+ entryEndpoint: nestedEntry,
188
+ direction: 'request',
189
+ stage: 'inbound'
190
+ };
191
+ try {
192
+ const baseRt = asRecord(metadataBag?.__rt) ?? {};
193
+ const extraRt = asRecord(nestedExtra?.__rt) ?? {};
194
+ if (Object.keys(baseRt).length || Object.keys(extraRt).length) {
195
+ nestedMetadata.__rt = { ...baseRt, ...extraRt };
196
+ }
197
+ }
198
+ catch {
199
+ // best-effort
200
+ }
201
+ if (asRecord(nestedMetadata.__rt)?.serverToolFollowup === true) {
202
+ const preservedClientHeaders = extractFollowupSessionHeaders(nestedMetadata.clientHeaders);
203
+ if (preservedClientHeaders) {
204
+ nestedMetadata.clientHeaders = preservedClientHeaders;
205
+ if (typeof nestedMetadata.sessionId !== 'string' || !nestedMetadata.sessionId.trim()) {
206
+ const sessionId = extractPreservedSessionToken(preservedClientHeaders, 'session');
207
+ if (sessionId) {
208
+ nestedMetadata.sessionId = sessionId;
209
+ }
210
+ }
211
+ if (typeof nestedMetadata.conversationId !== 'string' || !nestedMetadata.conversationId.trim()) {
212
+ const conversationId = extractPreservedSessionToken(preservedClientHeaders, 'conversation');
213
+ if (conversationId) {
214
+ nestedMetadata.conversationId = conversationId;
215
+ }
216
+ }
217
+ }
218
+ else {
219
+ delete nestedMetadata.clientHeaders;
220
+ }
221
+ delete nestedMetadata.clientRequestId;
222
+ }
223
+ bindClockConversationSession(nestedMetadata);
224
+ const nestedInput = {
225
+ entryEndpoint: nestedEntry,
226
+ method: 'POST',
227
+ requestId: reenterOpts.requestId,
228
+ headers: {},
229
+ query: {},
230
+ body: reenterOpts.body,
231
+ metadata: nestedMetadata
232
+ };
233
+ try {
234
+ const requestBody = reenterOpts.body;
235
+ const messages = Array.isArray(requestBody.messages) ? requestBody.messages : [];
236
+ const lastUser = [...messages]
237
+ .reverse()
238
+ .find((entry) => entry && typeof entry === 'object' && entry.role === 'user');
239
+ const text = typeof lastUser?.content === 'string' ? String(lastUser.content) : '';
240
+ if (text.includes('<**clock:{') && text.includes('}**>')) {
241
+ await injectClockClientPrompt({
242
+ tmuxSessionId: typeof nestedMetadata.tmuxSessionId === 'string' ? nestedMetadata.tmuxSessionId : undefined,
243
+ sessionId: typeof nestedMetadata.sessionId === 'string' ? nestedMetadata.sessionId : undefined,
244
+ workdir: typeof nestedMetadata.workdir === 'string' ? nestedMetadata.workdir : undefined,
245
+ text,
246
+ requestId: reenterOpts.requestId,
247
+ source: 'servertool.reenter'
248
+ });
249
+ }
250
+ }
251
+ catch {
252
+ // best-effort only
253
+ }
254
+ const nestedResult = await deps.executeNested(nestedInput);
255
+ const nestedBody = nestedResult.body && typeof nestedResult.body === 'object'
256
+ ? nestedResult.body
257
+ : undefined;
258
+ return { body: nestedBody };
259
+ };
260
+ const converted = await bridgeConvertProviderResponse({
261
+ providerProtocol: options.providerProtocol,
262
+ providerResponse: body,
263
+ context: adapterContext,
264
+ entryEndpoint: options.entryEndpoint || entry,
265
+ wantsStream: options.wantsStream,
266
+ requestSemantics: options.requestSemantics,
267
+ providerInvoker: serverToolsEnabled ? providerInvoker : undefined,
268
+ stageRecorder,
269
+ reenterPipeline: serverToolsEnabled ? reenterPipeline : undefined
270
+ });
271
+ if (converted.__sse_responses) {
272
+ return {
273
+ ...options.response,
274
+ body: { __sse_responses: converted.__sse_responses }
275
+ };
276
+ }
277
+ return {
278
+ ...options.response,
279
+ body: converted.body ?? body
280
+ };
281
+ }
282
+ catch (error) {
283
+ const err = error;
284
+ const message = err instanceof Error ? err.message : String(err ?? 'Unknown error');
285
+ const errRecord = err;
286
+ const errCode = typeof errRecord.code === 'string' ? errRecord.code : undefined;
287
+ const upstreamCode = typeof errRecord.upstreamCode === 'string' ? errRecord.upstreamCode : undefined;
288
+ const errName = typeof errRecord.name === 'string' ? errRecord.name : undefined;
289
+ const detailRecord = asRecord(errRecord.details);
290
+ const detailUpstreamCode = typeof detailRecord?.upstreamCode === 'string'
291
+ ? String(detailRecord.upstreamCode)
292
+ : undefined;
293
+ const detailReason = typeof detailRecord?.reason === 'string'
294
+ ? String(detailRecord.reason)
295
+ : undefined;
296
+ const isSseDecodeError = errCode === 'SSE_DECODE_ERROR' ||
297
+ (errName === 'ProviderProtocolError' && message.toLowerCase().includes('sse'));
298
+ const isServerToolFollowupError = errCode === 'SERVERTOOL_FOLLOWUP_FAILED' ||
299
+ errCode === 'SERVERTOOL_EMPTY_FOLLOWUP' ||
300
+ (typeof errCode === 'string' && errCode.startsWith('SERVERTOOL_'));
301
+ const normalizedUpstreamCode = (upstreamCode || detailUpstreamCode || '').trim().toLowerCase();
302
+ const normalizedMessage = message.toLowerCase();
303
+ const isContextLengthExceeded = normalizedUpstreamCode.includes('context_length_exceeded') ||
304
+ normalizedMessage.includes('context_length_exceeded') ||
305
+ normalizedMessage.includes('达到对话长度上限') ||
306
+ normalizedMessage.includes('对话长度上限') ||
307
+ (detailReason || '').toLowerCase() === 'context_length_exceeded';
308
+ if (isSseDecodeError || isServerToolFollowupError) {
309
+ if (isSseDecodeError && isContextLengthExceeded) {
310
+ errRecord.status = 400;
311
+ errRecord.statusCode = 400;
312
+ errRecord.retryable = false;
313
+ errRecord.code = 'CONTEXT_LENGTH_EXCEEDED';
314
+ if (typeof errRecord.upstreamCode !== 'string' || !String(errRecord.upstreamCode).trim()) {
315
+ errRecord.upstreamCode = upstreamCode || detailUpstreamCode || 'context_length_exceeded';
316
+ }
317
+ }
318
+ else if (isSseDecodeError && isRateLimitLikeError(message, errCode, upstreamCode || detailUpstreamCode)) {
319
+ errRecord.status = 429;
320
+ errRecord.statusCode = 429;
321
+ errRecord.retryable = true;
322
+ if (typeof errRecord.code !== 'string' || !String(errRecord.code).trim()) {
323
+ errRecord.code = 'HTTP_429';
324
+ }
325
+ }
326
+ if (isVerboseErrorLoggingEnabled()) {
327
+ console.error('[RequestExecutor] Fatal conversion error, bubbling as HTTP error', error);
328
+ }
329
+ throw error;
330
+ }
331
+ if (isVerboseErrorLoggingEnabled()) {
332
+ console.error('[RequestExecutor] Failed to convert provider response via llmswitch-core', error);
333
+ }
334
+ return options.response;
335
+ }
336
+ }
337
+ //# sourceMappingURL=provider-response-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-response-converter.js","sourceRoot":"","sources":["../../../../../src/server/runtime/http-server/executor/provider-response-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { PipelineExecutionResult } from '../../../handlers/types.js';
2
+ export declare function extractResponseStatus(response: unknown): number | undefined;
3
+ export declare function normalizeProviderResponse(response: unknown): PipelineExecutionResult;
4
+ export declare function extractClientModelId(metadata: Record<string, unknown>, originalRequest?: Record<string, unknown>): string | undefined;
5
+ export declare function cloneRequestPayload(payload: unknown): Record<string, unknown> | undefined;
6
+ export declare function extractProviderModel(payload?: Record<string, unknown>): string | undefined;
7
+ export declare function buildProviderLabel(providerKey?: string, model?: string): string | undefined;
8
+ export declare function resolveRequestSemantics(processed?: Record<string, unknown>, standardized?: Record<string, unknown>): Record<string, unknown> | undefined;
@@ -0,0 +1,93 @@
1
+ export function extractResponseStatus(response) {
2
+ if (!response || typeof response !== 'object') {
3
+ return undefined;
4
+ }
5
+ const candidate = response.status;
6
+ return typeof candidate === 'number' ? candidate : undefined;
7
+ }
8
+ export function normalizeProviderResponse(response) {
9
+ const status = extractResponseStatus(response);
10
+ const headers = normalizeProviderResponseHeaders(response && typeof response === 'object' ? response.headers : undefined);
11
+ const body = response && typeof response === 'object' && 'data' in response
12
+ ? response.data
13
+ : response;
14
+ return { status, headers, body };
15
+ }
16
+ function normalizeProviderResponseHeaders(headers) {
17
+ if (!headers || typeof headers !== 'object') {
18
+ return undefined;
19
+ }
20
+ const normalized = {};
21
+ for (const [key, value] of Object.entries(headers)) {
22
+ if (typeof value === 'string') {
23
+ normalized[key.toLowerCase()] = value;
24
+ }
25
+ }
26
+ return Object.keys(normalized).length ? normalized : undefined;
27
+ }
28
+ export function extractClientModelId(metadata, originalRequest) {
29
+ const candidates = [
30
+ metadata.clientModelId,
31
+ metadata.originalModelId,
32
+ (metadata.target && typeof metadata.target === 'object'
33
+ ? metadata.target.clientModelId
34
+ : undefined),
35
+ originalRequest && typeof originalRequest === 'object'
36
+ ? originalRequest.model
37
+ : undefined,
38
+ originalRequest && typeof originalRequest === 'object'
39
+ ? originalRequest.originalModelId
40
+ : undefined
41
+ ];
42
+ for (const candidate of candidates) {
43
+ if (typeof candidate === 'string' && candidate.trim()) {
44
+ return candidate.trim();
45
+ }
46
+ }
47
+ return undefined;
48
+ }
49
+ export function cloneRequestPayload(payload) {
50
+ if (!payload || typeof payload !== 'object') {
51
+ return undefined;
52
+ }
53
+ try {
54
+ return JSON.parse(JSON.stringify(payload));
55
+ }
56
+ catch {
57
+ return undefined;
58
+ }
59
+ }
60
+ export function extractProviderModel(payload) {
61
+ if (!payload) {
62
+ return undefined;
63
+ }
64
+ const source = payload.data && typeof payload.data === 'object'
65
+ ? payload.data
66
+ : payload;
67
+ const raw = source.model;
68
+ if (typeof raw === 'string' && raw.trim()) {
69
+ return raw.trim();
70
+ }
71
+ return undefined;
72
+ }
73
+ export function buildProviderLabel(providerKey, model) {
74
+ const key = typeof providerKey === 'string' && providerKey.trim() ? providerKey.trim() : undefined;
75
+ const modelId = typeof model === 'string' && model.trim() ? model.trim() : undefined;
76
+ if (!key && !modelId) {
77
+ return undefined;
78
+ }
79
+ if (key && modelId) {
80
+ return `${key}.${modelId}`;
81
+ }
82
+ return key || modelId;
83
+ }
84
+ export function resolveRequestSemantics(processed, standardized) {
85
+ if (processed && typeof processed.semantics === 'object' && processed.semantics) {
86
+ return processed.semantics;
87
+ }
88
+ if (standardized && typeof standardized.semantics === 'object' && standardized.semantics) {
89
+ return standardized.semantics;
90
+ }
91
+ return undefined;
92
+ }
93
+ //# sourceMappingURL=provider-response-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-response-utils.js","sourceRoot":"","sources":["../../../../../src/server/runtime/http-server/executor/provider-response-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { ProviderHandle } from '../types.js';
2
+ import type { ModuleDependencies } from '../../../../modules/pipeline/interfaces/pipeline-interfaces.js';
3
+ type RuntimeManager = {
4
+ resolveRuntimeKey(providerKey?: string, fallback?: string): string | undefined;
5
+ getHandleByRuntimeKey(runtimeKey?: string): ProviderHandle | undefined;
6
+ };
7
+ type RuntimeResolveTarget = {
8
+ providerKey: string;
9
+ outboundProfile?: string;
10
+ providerType?: string;
11
+ };
12
+ export declare function resolveProviderRuntimeOrThrow(options: {
13
+ requestId: string;
14
+ target: RuntimeResolveTarget;
15
+ routeName?: string;
16
+ runtimeKeyHint?: string;
17
+ runtimeManager: RuntimeManager;
18
+ dependencies: ModuleDependencies;
19
+ }): Promise<{
20
+ runtimeKey: string;
21
+ handle: ProviderHandle;
22
+ }>;
23
+ export {};