@jsonstudio/llms 0.4.2 → 0.4.4

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 (417) hide show
  1. package/README.md +3 -1
  2. package/dist/bridge/routecodex-adapter.js +6 -3
  3. package/dist/config-unified/enhanced-path-resolver.js +14 -6
  4. package/dist/config-unified/unified-config.js +103 -59
  5. package/dist/conversion/codec-registry.js +4 -2
  6. package/dist/conversion/hub/pipeline/hub-pipeline.js +4 -5
  7. package/dist/conversion/hub/process/chat-process.js +258 -41
  8. package/dist/conversion/hub/response/provider-response.js +8 -2
  9. package/dist/conversion/hub/tool-governance/engine.d.ts +16 -0
  10. package/dist/conversion/hub/tool-governance/engine.js +266 -0
  11. package/dist/conversion/hub/tool-governance/index.d.ts +3 -0
  12. package/dist/conversion/hub/tool-governance/index.js +2 -0
  13. package/dist/conversion/hub/tool-governance/rules.d.ts +2 -0
  14. package/dist/conversion/hub/tool-governance/rules.js +76 -0
  15. package/dist/conversion/hub/tool-governance/types.d.ts +38 -0
  16. package/dist/conversion/index.d.ts +1 -0
  17. package/dist/conversion/index.js +1 -0
  18. package/dist/conversion/responses/responses-openai-bridge.js +5 -3
  19. package/dist/conversion/shared/responses-id-utils.js +18 -5
  20. package/dist/sse/sse-to-json/builders/response-builder.js +2 -1
  21. package/dist/sse/sse-to-json/chat-sse-to-json-converter.js +37 -23
  22. package/dist/sse/sse-to-json/parsers/sse-parser.js +20 -12
  23. package/dist/sse/sse-to-json/responses-sse-to-json-converter.d.ts +1 -0
  24. package/dist/sse/sse-to-json/responses-sse-to-json-converter.js +10 -8
  25. package/dist/sse/types/chat-types.d.ts +9 -6
  26. package/dist/sse/types/conversion-context.d.ts +14 -11
  27. package/dist/sse/types/core-interfaces.d.ts +6 -2
  28. package/dist/sse/types/index.d.ts +1 -1
  29. package/dist/sse/types/responses-types.d.ts +20 -20
  30. package/dist/sse/types/sse-events.d.ts +4 -3
  31. package/dist/sse/types/stream-state.d.ts +34 -39
  32. package/dist/sse/types/utility-types.d.ts +47 -43
  33. package/dist/sse/types/utility-types.js +10 -13
  34. package/dist/tools/tool-registry.js +156 -98
  35. package/package.json +6 -6
  36. package/dist/api/index.d.ts +0 -10
  37. package/dist/api/index.js +0 -11
  38. package/dist/api/llmswitch-config.d.ts +0 -15
  39. package/dist/api/llmswitch-config.js +0 -415
  40. package/dist/api/llmswitch-types.d.ts +0 -412
  41. package/dist/api/llmswitch-types.js +0 -60
  42. package/dist/bridge/routecodex-adapter.d.ts +0 -74
  43. package/dist/config/index.d.ts +0 -3
  44. package/dist/config/index.js +0 -5
  45. package/dist/config-unified/enhanced-path-resolver.d.ts +0 -5
  46. package/dist/config-unified/unified-config.d.ts +0 -26
  47. package/dist/conversion/codec-registry.d.ts +0 -10
  48. package/dist/conversion/codecs/anthropic-openai-codec.d.ts +0 -23
  49. package/dist/conversion/codecs/gemini-openai-codec.d.ts +0 -16
  50. package/dist/conversion/codecs/openai-openai-codec.d.ts +0 -12
  51. package/dist/conversion/codecs/responses-openai-codec.d.ts +0 -12
  52. package/dist/conversion/config/config-manager.d.ts +0 -212
  53. package/dist/conversion/conversion-v3/adapters/index.d.ts +0 -2
  54. package/dist/conversion/conversion-v3/adapters/index.js +0 -1
  55. package/dist/conversion/conversion-v3/adapters/v3-to-standard-adapter.d.ts +0 -38
  56. package/dist/conversion/conversion-v3/adapters/v3-to-standard-adapter.js +0 -55
  57. package/dist/conversion/conversion-v3/compatibility/compatibility-profiles.d.ts +0 -22
  58. package/dist/conversion/conversion-v3/compatibility/compatibility-profiles.js +0 -84
  59. package/dist/conversion/conversion-v3/compatibility/compatibility-stages.d.ts +0 -4
  60. package/dist/conversion/conversion-v3/compatibility/compatibility-stages.js +0 -285
  61. package/dist/conversion/conversion-v3/compatibility/index.d.ts +0 -3
  62. package/dist/conversion/conversion-v3/compatibility/index.js +0 -2
  63. package/dist/conversion/conversion-v3/config/default-configs.d.ts +0 -48
  64. package/dist/conversion/conversion-v3/config/default-configs.js +0 -1083
  65. package/dist/conversion/conversion-v3/config/index.d.ts +0 -5
  66. package/dist/conversion/conversion-v3/config/index.js +0 -5
  67. package/dist/conversion/conversion-v3/config/pipeline-config-manager.d.ts +0 -49
  68. package/dist/conversion/conversion-v3/config/pipeline-config-manager.js +0 -65
  69. package/dist/conversion/conversion-v3/index.d.ts +0 -11
  70. package/dist/conversion/conversion-v3/index.js +0 -17
  71. package/dist/conversion/conversion-v3/nodes/index.d.ts +0 -56
  72. package/dist/conversion/conversion-v3/nodes/index.js +0 -149
  73. package/dist/conversion/conversion-v3/nodes/input/anthropic-input-node.d.ts +0 -25
  74. package/dist/conversion/conversion-v3/nodes/input/anthropic-input-node.js +0 -56
  75. package/dist/conversion/conversion-v3/nodes/input/base-input-node.d.ts +0 -75
  76. package/dist/conversion/conversion-v3/nodes/input/base-input-node.js +0 -237
  77. package/dist/conversion/conversion-v3/nodes/input/chat-input-node.d.ts +0 -25
  78. package/dist/conversion/conversion-v3/nodes/input/chat-input-node.js +0 -56
  79. package/dist/conversion/conversion-v3/nodes/input/chat-shape-helpers.d.ts +0 -4
  80. package/dist/conversion/conversion-v3/nodes/input/chat-shape-helpers.js +0 -197
  81. package/dist/conversion/conversion-v3/nodes/input/gemini-input-node.d.ts +0 -16
  82. package/dist/conversion/conversion-v3/nodes/input/gemini-input-node.js +0 -125
  83. package/dist/conversion/conversion-v3/nodes/input/index.d.ts +0 -8
  84. package/dist/conversion/conversion-v3/nodes/input/index.js +0 -8
  85. package/dist/conversion/conversion-v3/nodes/input/input-decision.d.ts +0 -46
  86. package/dist/conversion/conversion-v3/nodes/input/input-decision.js +0 -125
  87. package/dist/conversion/conversion-v3/nodes/input/responses-input-node.d.ts +0 -20
  88. package/dist/conversion/conversion-v3/nodes/input/responses-input-node.js +0 -51
  89. package/dist/conversion/conversion-v3/nodes/output/anthropic-output-node.d.ts +0 -71
  90. package/dist/conversion/conversion-v3/nodes/output/anthropic-output-node.js +0 -320
  91. package/dist/conversion/conversion-v3/nodes/output/base-output-node.d.ts +0 -116
  92. package/dist/conversion/conversion-v3/nodes/output/base-output-node.js +0 -512
  93. package/dist/conversion/conversion-v3/nodes/output/index.d.ts +0 -7
  94. package/dist/conversion/conversion-v3/nodes/output/index.js +0 -7
  95. package/dist/conversion/conversion-v3/nodes/output/openai-output-node.d.ts +0 -71
  96. package/dist/conversion/conversion-v3/nodes/output/openai-output-node.js +0 -293
  97. package/dist/conversion/conversion-v3/nodes/output/output-decision.d.ts +0 -68
  98. package/dist/conversion/conversion-v3/nodes/output/output-decision.js +0 -161
  99. package/dist/conversion/conversion-v3/nodes/output/responses-output-node.d.ts +0 -64
  100. package/dist/conversion/conversion-v3/nodes/output/responses-output-node.js +0 -323
  101. package/dist/conversion/conversion-v3/nodes/process/base-process-node.d.ts +0 -72
  102. package/dist/conversion/conversion-v3/nodes/process/base-process-node.js +0 -246
  103. package/dist/conversion/conversion-v3/nodes/process/chat-process-node.d.ts +0 -135
  104. package/dist/conversion/conversion-v3/nodes/process/chat-process-node.js +0 -854
  105. package/dist/conversion/conversion-v3/nodes/process/compatibility-process-node.d.ts +0 -29
  106. package/dist/conversion/conversion-v3/nodes/process/compatibility-process-node.js +0 -181
  107. package/dist/conversion/conversion-v3/nodes/process/index.d.ts +0 -10
  108. package/dist/conversion/conversion-v3/nodes/process/index.js +0 -10
  109. package/dist/conversion/conversion-v3/nodes/process/passthrough-process-node.d.ts +0 -59
  110. package/dist/conversion/conversion-v3/nodes/process/passthrough-process-node.js +0 -243
  111. package/dist/conversion/conversion-v3/nodes/process/response-process-node.d.ts +0 -17
  112. package/dist/conversion/conversion-v3/nodes/process/response-process-node.js +0 -213
  113. package/dist/conversion/conversion-v3/nodes/process/tool-process-node.d.ts +0 -26
  114. package/dist/conversion/conversion-v3/nodes/process/tool-process-node.js +0 -299
  115. package/dist/conversion/conversion-v3/nodes/process/virtual-router-process-node.d.ts +0 -40
  116. package/dist/conversion/conversion-v3/nodes/process/virtual-router-process-node.js +0 -430
  117. package/dist/conversion/conversion-v3/nodes/response/anthropic-response-input-node.d.ts +0 -12
  118. package/dist/conversion/conversion-v3/nodes/response/anthropic-response-input-node.js +0 -129
  119. package/dist/conversion/conversion-v3/nodes/response/chat-to-responses-response-node.d.ts +0 -15
  120. package/dist/conversion/conversion-v3/nodes/response/chat-to-responses-response-node.js +0 -57
  121. package/dist/conversion/conversion-v3/nodes/response/index.d.ts +0 -4
  122. package/dist/conversion/conversion-v3/nodes/response/index.js +0 -4
  123. package/dist/conversion/conversion-v3/nodes/response/openai-response-input-node.d.ts +0 -15
  124. package/dist/conversion/conversion-v3/nodes/response/openai-response-input-node.js +0 -87
  125. package/dist/conversion/conversion-v3/nodes/response/response-utils.d.ts +0 -1
  126. package/dist/conversion/conversion-v3/nodes/response/response-utils.js +0 -1
  127. package/dist/conversion/conversion-v3/nodes/response/responses-response-input-node.d.ts +0 -12
  128. package/dist/conversion/conversion-v3/nodes/response/responses-response-input-node.js +0 -67
  129. package/dist/conversion/conversion-v3/nodes/sse/index.d.ts +0 -3
  130. package/dist/conversion/conversion-v3/nodes/sse/index.js +0 -3
  131. package/dist/conversion/conversion-v3/nodes/sse/sse-input-node.d.ts +0 -27
  132. package/dist/conversion/conversion-v3/nodes/sse/sse-input-node.js +0 -165
  133. package/dist/conversion/conversion-v3/nodes/sse/sse-output-node.d.ts +0 -19
  134. package/dist/conversion/conversion-v3/nodes/sse/sse-output-node.js +0 -267
  135. package/dist/conversion/conversion-v3/nodes/sse/sse-passthrough-node.d.ts +0 -18
  136. package/dist/conversion/conversion-v3/nodes/sse/sse-passthrough-node.js +0 -48
  137. package/dist/conversion/conversion-v3/pipelines/index.d.ts +0 -6
  138. package/dist/conversion/conversion-v3/pipelines/index.js +0 -6
  139. package/dist/conversion/conversion-v3/pipelines/super-pipeline.d.ts +0 -112
  140. package/dist/conversion/conversion-v3/pipelines/super-pipeline.js +0 -566
  141. package/dist/conversion/conversion-v3/response/provider-response-converter.d.ts +0 -28
  142. package/dist/conversion/conversion-v3/response/provider-response-converter.js +0 -249
  143. package/dist/conversion/conversion-v3/sse/index.d.ts +0 -140
  144. package/dist/conversion/conversion-v3/sse/index.js +0 -115
  145. package/dist/conversion/conversion-v3/sse/json-to-sse/anthropic-json-to-sse-converter.d.ts +0 -11
  146. package/dist/conversion/conversion-v3/sse/json-to-sse/anthropic-json-to-sse-converter.js +0 -79
  147. package/dist/conversion/conversion-v3/sse/json-to-sse/chat-json-to-sse-converter.d.ts +0 -79
  148. package/dist/conversion/conversion-v3/sse/json-to-sse/chat-json-to-sse-converter.js +0 -296
  149. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/chat.d.ts +0 -55
  150. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/chat.js +0 -233
  151. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/responses.d.ts +0 -99
  152. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/responses.js +0 -599
  153. package/dist/conversion/conversion-v3/sse/json-to-sse/index.d.ts +0 -6
  154. package/dist/conversion/conversion-v3/sse/json-to-sse/index.js +0 -7
  155. package/dist/conversion/conversion-v3/sse/json-to-sse/responses-json-to-sse-converter.d.ts +0 -79
  156. package/dist/conversion/conversion-v3/sse/json-to-sse/responses-json-to-sse-converter.js +0 -322
  157. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/chat-sequencer.d.ts +0 -37
  158. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/chat-sequencer.js +0 -218
  159. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/responses-sequencer.d.ts +0 -40
  160. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/responses-sequencer.js +0 -263
  161. package/dist/conversion/conversion-v3/sse/registry/sse-codec-registry.d.ts +0 -32
  162. package/dist/conversion/conversion-v3/sse/registry/sse-codec-registry.js +0 -106
  163. package/dist/conversion/conversion-v3/sse/shared/chat-serializer.d.ts +0 -4
  164. package/dist/conversion/conversion-v3/sse/shared/chat-serializer.js +0 -40
  165. package/dist/conversion/conversion-v3/sse/shared/constants.d.ts +0 -272
  166. package/dist/conversion/conversion-v3/sse/shared/constants.js +0 -321
  167. package/dist/conversion/conversion-v3/sse/shared/serializers/base-serializer.d.ts +0 -158
  168. package/dist/conversion/conversion-v3/sse/shared/serializers/base-serializer.js +0 -210
  169. package/dist/conversion/conversion-v3/sse/shared/serializers/chat-event-serializer.d.ts +0 -82
  170. package/dist/conversion/conversion-v3/sse/shared/serializers/chat-event-serializer.js +0 -275
  171. package/dist/conversion/conversion-v3/sse/shared/serializers/index.d.ts +0 -39
  172. package/dist/conversion/conversion-v3/sse/shared/serializers/index.js +0 -54
  173. package/dist/conversion/conversion-v3/sse/shared/serializers/responses-event-serializer.d.ts +0 -123
  174. package/dist/conversion/conversion-v3/sse/shared/serializers/responses-event-serializer.js +0 -356
  175. package/dist/conversion/conversion-v3/sse/shared/serializers/types.d.ts +0 -51
  176. package/dist/conversion/conversion-v3/sse/shared/serializers/types.js +0 -4
  177. package/dist/conversion/conversion-v3/sse/shared/utils.d.ts +0 -254
  178. package/dist/conversion/conversion-v3/sse/shared/utils.js +0 -543
  179. package/dist/conversion/conversion-v3/sse/shared/writer.d.ts +0 -111
  180. package/dist/conversion/conversion-v3/sse/shared/writer.js +0 -268
  181. package/dist/conversion/conversion-v3/sse/sse-to-json/anthropic-sse-to-json-converter.d.ts +0 -13
  182. package/dist/conversion/conversion-v3/sse/sse-to-json/anthropic-sse-to-json-converter.js +0 -139
  183. package/dist/conversion/conversion-v3/sse/sse-to-json/builders/response-builder.d.ts +0 -165
  184. package/dist/conversion/conversion-v3/sse/sse-to-json/builders/response-builder.js +0 -776
  185. package/dist/conversion/conversion-v3/sse/sse-to-json/chat-sse-to-json-converter.d.ts +0 -106
  186. package/dist/conversion/conversion-v3/sse/sse-to-json/chat-sse-to-json-converter.js +0 -540
  187. package/dist/conversion/conversion-v3/sse/sse-to-json/index.d.ts +0 -6
  188. package/dist/conversion/conversion-v3/sse/sse-to-json/index.js +0 -7
  189. package/dist/conversion/conversion-v3/sse/sse-to-json/parsers/sse-parser.d.ts +0 -73
  190. package/dist/conversion/conversion-v3/sse/sse-to-json/parsers/sse-parser.js +0 -332
  191. package/dist/conversion/conversion-v3/sse/sse-to-json/responses-sse-to-json-converter.d.ts +0 -59
  192. package/dist/conversion/conversion-v3/sse/sse-to-json/responses-sse-to-json-converter.js +0 -270
  193. package/dist/conversion/conversion-v3/sse/types/anthropic-types.d.ts +0 -87
  194. package/dist/conversion/conversion-v3/sse/types/anthropic-types.js +0 -5
  195. package/dist/conversion/conversion-v3/sse/types/chat-types.d.ts +0 -308
  196. package/dist/conversion/conversion-v3/sse/types/chat-types.js +0 -32
  197. package/dist/conversion/conversion-v3/sse/types/conversion-context.d.ts +0 -211
  198. package/dist/conversion/conversion-v3/sse/types/conversion-context.js +0 -20
  199. package/dist/conversion/conversion-v3/sse/types/core-interfaces.d.ts +0 -90
  200. package/dist/conversion/conversion-v3/sse/types/core-interfaces.js +0 -5
  201. package/dist/conversion/conversion-v3/sse/types/index.d.ts +0 -14
  202. package/dist/conversion/conversion-v3/sse/types/index.js +0 -7
  203. package/dist/conversion/conversion-v3/sse/types/responses-types.d.ts +0 -328
  204. package/dist/conversion/conversion-v3/sse/types/responses-types.js +0 -38
  205. package/dist/conversion/conversion-v3/sse/types/sse-events.d.ts +0 -180
  206. package/dist/conversion/conversion-v3/sse/types/sse-events.js +0 -150
  207. package/dist/conversion/conversion-v3/sse/types/stream-state.d.ts +0 -204
  208. package/dist/conversion/conversion-v3/sse/types/stream-state.js +0 -44
  209. package/dist/conversion/conversion-v3/sse/types/utility-types.d.ts +0 -230
  210. package/dist/conversion/conversion-v3/sse/types/utility-types.js +0 -49
  211. package/dist/conversion/conversion-v3/standards/context-adapter.d.ts +0 -146
  212. package/dist/conversion/conversion-v3/standards/context-adapter.js +0 -438
  213. package/dist/conversion/conversion-v3/standards/errors.d.ts +0 -38
  214. package/dist/conversion/conversion-v3/standards/errors.js +0 -27
  215. package/dist/conversion/conversion-v3/standards/index.d.ts +0 -15
  216. package/dist/conversion/conversion-v3/standards/index.js +0 -11
  217. package/dist/conversion/conversion-v3/standards/node-capabilities.d.ts +0 -123
  218. package/dist/conversion/conversion-v3/standards/node-capabilities.js +0 -330
  219. package/dist/conversion/conversion-v3/standards/pipeline-context.d.ts +0 -237
  220. package/dist/conversion/conversion-v3/standards/pipeline-context.js +0 -84
  221. package/dist/conversion/conversion-v3/standards/pipeline-node.d.ts +0 -196
  222. package/dist/conversion/conversion-v3/standards/pipeline-node.js +0 -316
  223. package/dist/conversion/conversion-v3/standards/snapshot-handles.d.ts +0 -24
  224. package/dist/conversion/conversion-v3/standards/snapshot-handles.js +0 -49
  225. package/dist/conversion/conversion-v3/types/config-types.d.ts +0 -242
  226. package/dist/conversion/conversion-v3/types/config-types.js +0 -13
  227. package/dist/conversion/conversion-v3/types/index.d.ts +0 -8
  228. package/dist/conversion/conversion-v3/types/index.js +0 -11
  229. package/dist/conversion/conversion-v3/types/node-types.d.ts +0 -211
  230. package/dist/conversion/conversion-v3/types/node-types.js +0 -20
  231. package/dist/conversion/conversion-v3/types/pipeline-types.d.ts +0 -246
  232. package/dist/conversion/conversion-v3/types/pipeline-types.js +0 -26
  233. package/dist/conversion/conversion-v3/types/request-types.d.ts +0 -293
  234. package/dist/conversion/conversion-v3/types/request-types.js +0 -26
  235. package/dist/conversion/conversion-v3/utils/provider-payload-sanitizer.d.ts +0 -10
  236. package/dist/conversion/conversion-v3/utils/provider-payload-sanitizer.js +0 -103
  237. package/dist/conversion/conversion-v3/validations/index.d.ts +0 -8
  238. package/dist/conversion/conversion-v3/validations/index.js +0 -7
  239. package/dist/conversion/conversion-v3/validations/node-graph-validator.d.ts +0 -116
  240. package/dist/conversion/conversion-v3/validations/node-graph-validator.js +0 -505
  241. package/dist/conversion/conversion-v3/validations/tool-governance-enforcer.d.ts +0 -139
  242. package/dist/conversion/conversion-v3/validations/tool-governance-enforcer.js +0 -338
  243. package/dist/conversion/hub/config/types.d.ts +0 -26
  244. package/dist/conversion/hub/core/detour-registry.d.ts +0 -9
  245. package/dist/conversion/hub/core/hub-context.d.ts +0 -21
  246. package/dist/conversion/hub/core/index.d.ts +0 -3
  247. package/dist/conversion/hub/core/stage-driver.d.ts +0 -30
  248. package/dist/conversion/hub/format-adapters/anthropic-format-adapter.d.ts +0 -16
  249. package/dist/conversion/hub/format-adapters/chat-format-adapter.d.ts +0 -17
  250. package/dist/conversion/hub/format-adapters/gemini-format-adapter.d.ts +0 -16
  251. package/dist/conversion/hub/format-adapters/index.d.ts +0 -21
  252. package/dist/conversion/hub/format-adapters/responses-format-adapter.d.ts +0 -17
  253. package/dist/conversion/hub/hub-feature.d.ts +0 -1
  254. package/dist/conversion/hub/node-support.d.ts +0 -19
  255. package/dist/conversion/hub/pipeline/hub-pipeline.d.ts +0 -68
  256. package/dist/conversion/hub/pipelines/inbound.d.ts +0 -22
  257. package/dist/conversion/hub/pipelines/outbound.d.ts +0 -22
  258. package/dist/conversion/hub/process/chat-process.d.ts +0 -13
  259. package/dist/conversion/hub/registry.d.ts +0 -28
  260. package/dist/conversion/hub/response/chat-response-utils.d.ts +0 -6
  261. package/dist/conversion/hub/response/provider-response.d.ts +0 -20
  262. package/dist/conversion/hub/response/response-mappers.d.ts +0 -19
  263. package/dist/conversion/hub/response/response-runtime.d.ts +0 -3
  264. package/dist/conversion/hub/semantic-mappers/anthropic-mapper.d.ts +0 -7
  265. package/dist/conversion/hub/semantic-mappers/chat-mapper.d.ts +0 -7
  266. package/dist/conversion/hub/semantic-mappers/gemini-mapper.d.ts +0 -7
  267. package/dist/conversion/hub/semantic-mappers/index.d.ts +0 -4
  268. package/dist/conversion/hub/semantic-mappers/responses-mapper.d.ts +0 -21
  269. package/dist/conversion/hub/snapshot-recorder.d.ts +0 -12
  270. package/dist/conversion/hub/standardized-bridge.d.ts +0 -12
  271. package/dist/conversion/hub/types/chat-envelope.d.ts +0 -67
  272. package/dist/conversion/hub/types/chat-schema.d.ts +0 -112
  273. package/dist/conversion/hub/types/errors.d.ts +0 -5
  274. package/dist/conversion/hub/types/format-envelope.d.ts +0 -7
  275. package/dist/conversion/hub/types/index.d.ts +0 -6
  276. package/dist/conversion/hub/types/json.d.ts +0 -9
  277. package/dist/conversion/hub/types/node.d.ts +0 -31
  278. package/dist/conversion/hub/types/standardized.d.ts +0 -94
  279. package/dist/conversion/responses/responses-openai-bridge.d.ts +0 -95
  280. package/dist/conversion/schema-validator.d.ts +0 -7
  281. package/dist/conversion/shared/args-mapping.d.ts +0 -18
  282. package/dist/conversion/shared/chat-request-filters.d.ts +0 -9
  283. package/dist/conversion/shared/jsonish.d.ts +0 -3
  284. package/dist/conversion/shared/mcp-injection.d.ts +0 -2
  285. package/dist/conversion/shared/media.d.ts +0 -1
  286. package/dist/conversion/shared/openai-finalizer.d.ts +0 -9
  287. package/dist/conversion/shared/openai-message-normalize.d.ts +0 -1
  288. package/dist/conversion/shared/payload-budget.d.ts +0 -13
  289. package/dist/conversion/shared/reasoning-mapping.d.ts +0 -5
  290. package/dist/conversion/shared/responses-conversation-store.d.ts +0 -41
  291. package/dist/conversion/shared/responses-id-utils.d.ts +0 -7
  292. package/dist/conversion/shared/responses-instructions.d.ts +0 -1
  293. package/dist/conversion/shared/responses-metadata.d.ts +0 -1
  294. package/dist/conversion/shared/responses-request-adapter.d.ts +0 -66
  295. package/dist/conversion/shared/snapshot-hooks.d.ts +0 -12
  296. package/dist/conversion/shared/streaming-text-extractor.d.ts +0 -26
  297. package/dist/conversion/shared/text-markup-normalizer.d.ts +0 -9
  298. package/dist/conversion/shared/tool-canonicalizer.d.ts +0 -2
  299. package/dist/conversion/shared/tool-filter-pipeline.d.ts +0 -17
  300. package/dist/conversion/shared/tool-governor.d.ts +0 -27
  301. package/dist/conversion/shared/tool-harvester.d.ts +0 -31
  302. package/dist/conversion/shared/tool-mapping.d.ts +0 -10
  303. package/dist/conversion/shared/tooling.d.ts +0 -26
  304. package/dist/conversion/types.d.ts +0 -33
  305. package/dist/core/index.d.ts +0 -6
  306. package/dist/core/index.js +0 -9
  307. package/dist/core/llmswitch-engine-v2.d.ts +0 -132
  308. package/dist/core/llmswitch-engine-v2.js +0 -649
  309. package/dist/core/llmswitch-factory-v2.d.ts +0 -123
  310. package/dist/core/llmswitch-factory-v2.js +0 -521
  311. package/dist/endpoints/base-endpoint-handler.d.ts +0 -128
  312. package/dist/endpoints/base-endpoint-handler.js +0 -545
  313. package/dist/endpoints/chat-endpoint-handler.d.ts +0 -115
  314. package/dist/endpoints/chat-endpoint-handler.js +0 -218
  315. package/dist/endpoints/endpoint-router.d.ts +0 -127
  316. package/dist/endpoints/endpoint-router.js +0 -438
  317. package/dist/endpoints/index.d.ts +0 -13
  318. package/dist/endpoints/index.js +0 -11
  319. package/dist/endpoints/messages-endpoint-handler.d.ts +0 -171
  320. package/dist/endpoints/messages-endpoint-handler.js +0 -238
  321. package/dist/endpoints/responses-endpoint-handler.d.ts +0 -147
  322. package/dist/endpoints/responses-endpoint-handler.js +0 -233
  323. package/dist/filters/builtin/add-fields-filter.d.ts +0 -8
  324. package/dist/filters/builtin/blacklist-filter.d.ts +0 -8
  325. package/dist/filters/builtin/whitelist-filter.d.ts +0 -8
  326. package/dist/filters/engine.d.ts +0 -16
  327. package/dist/filters/index.d.ts +0 -19
  328. package/dist/filters/special/request-streaming-to-nonstreaming.d.ts +0 -12
  329. package/dist/filters/special/request-tool-choice-policy.d.ts +0 -11
  330. package/dist/filters/special/request-tool-list-filter.d.ts +0 -11
  331. package/dist/filters/special/request-toolcalls-stringify.d.ts +0 -10
  332. package/dist/filters/special/request-tools-normalize.d.ts +0 -12
  333. package/dist/filters/special/response-finish-invariants.d.ts +0 -11
  334. package/dist/filters/special/response-openai-to-responses-bridge.d.ts +0 -13
  335. package/dist/filters/special/response-tool-arguments-blacklist.d.ts +0 -12
  336. package/dist/filters/special/response-tool-arguments-schema-converge.d.ts +0 -13
  337. package/dist/filters/special/response-tool-arguments-stringify.d.ts +0 -9
  338. package/dist/filters/special/response-tool-arguments-toon-decode.d.ts +0 -10
  339. package/dist/filters/special/response-tool-arguments-whitelist.d.ts +0 -11
  340. package/dist/filters/special/response-tool-text-canonicalize.d.ts +0 -10
  341. package/dist/filters/special/tool-filter-hooks.d.ts +0 -19
  342. package/dist/filters/special/tool-post-constraints.d.ts +0 -31
  343. package/dist/filters/types.d.ts +0 -68
  344. package/dist/filters/utils/fieldmap-loader.d.ts +0 -2
  345. package/dist/filters/utils/snapshot-writer.d.ts +0 -10
  346. package/dist/guidance/index.d.ts +0 -3
  347. package/dist/hooks/hooks-integration.d.ts +0 -161
  348. package/dist/hooks/hooks-integration.js +0 -519
  349. package/dist/hooks/index.d.ts +0 -10
  350. package/dist/hooks/index.js +0 -13
  351. package/dist/html-to-markdown.d.ts +0 -5
  352. package/dist/html-to-markdown.js +0 -66
  353. package/dist/http/sse-response.d.ts +0 -22
  354. package/dist/router/virtual-router/bootstrap.d.ts +0 -6
  355. package/dist/router/virtual-router/classifier.d.ts +0 -10
  356. package/dist/router/virtual-router/engine.d.ts +0 -35
  357. package/dist/router/virtual-router/error-center.d.ts +0 -10
  358. package/dist/router/virtual-router/features.d.ts +0 -3
  359. package/dist/router/virtual-router/health-manager.d.ts +0 -18
  360. package/dist/router/virtual-router/load-balancer.d.ts +0 -18
  361. package/dist/router/virtual-router/provider-registry.d.ts +0 -11
  362. package/dist/router/virtual-router/types.d.ts +0 -206
  363. package/dist/sse/json-to-sse/anthropic-json-to-sse-converter.d.ts +0 -11
  364. package/dist/sse/json-to-sse/chat-json-to-sse-converter.d.ts +0 -79
  365. package/dist/sse/json-to-sse/event-generators/chat.d.ts +0 -55
  366. package/dist/sse/json-to-sse/event-generators/responses.d.ts +0 -99
  367. package/dist/sse/json-to-sse/index.d.ts +0 -6
  368. package/dist/sse/json-to-sse/responses-json-to-sse-converter.d.ts +0 -79
  369. package/dist/sse/json-to-sse/sequencers/chat-sequencer.d.ts +0 -37
  370. package/dist/sse/json-to-sse/sequencers/responses-sequencer.d.ts +0 -40
  371. package/dist/sse/registry/sse-codec-registry.d.ts +0 -32
  372. package/dist/sse/shared/chat-serializer.d.ts +0 -4
  373. package/dist/sse/shared/constants.d.ts +0 -272
  374. package/dist/sse/shared/serializers/base-serializer.d.ts +0 -158
  375. package/dist/sse/shared/serializers/chat-event-serializer.d.ts +0 -82
  376. package/dist/sse/shared/serializers/index.d.ts +0 -39
  377. package/dist/sse/shared/serializers/responses-event-serializer.d.ts +0 -123
  378. package/dist/sse/shared/serializers/types.d.ts +0 -51
  379. package/dist/sse/shared/utils.d.ts +0 -254
  380. package/dist/sse/shared/writer.d.ts +0 -111
  381. package/dist/sse/sse-to-json/anthropic-sse-to-json-converter.d.ts +0 -13
  382. package/dist/sse/sse-to-json/builders/response-builder.d.ts +0 -165
  383. package/dist/sse/sse-to-json/chat-sse-to-json-converter.d.ts +0 -106
  384. package/dist/sse/sse-to-json/index.d.ts +0 -6
  385. package/dist/sse/sse-to-json/parsers/sse-parser.d.ts +0 -73
  386. package/dist/sse/types/anthropic-types.d.ts +0 -87
  387. package/dist/tools/proxy/anthropic-tool-proxy.d.ts +0 -19
  388. package/dist/tools/proxy/anthropic-tool-proxy.js +0 -57
  389. package/dist/tools/proxy/executors/web-fetch.d.ts +0 -6
  390. package/dist/tools/proxy/executors/web-fetch.js +0 -39
  391. package/dist/tools/proxy/registry.d.ts +0 -8
  392. package/dist/tools/proxy/registry.js +0 -14
  393. package/dist/tools/proxy/types.d.ts +0 -29
  394. package/dist/tools/tool-registry.d.ts +0 -8
  395. package/dist/tools/web-fetch-html.d.ts +0 -15
  396. package/dist/tools/web-fetch-html.js +0 -83
  397. package/dist/utils/conversion-adapter.d.ts +0 -65
  398. package/dist/utils/conversion-adapter.js +0 -183
  399. package/dist/utils/error-factory.d.ts +0 -88
  400. package/dist/utils/error-factory.js +0 -138
  401. package/dist/utils/error-utils.d.ts +0 -334
  402. package/dist/utils/error-utils.js +0 -782
  403. package/dist/utils/index.d.ts +0 -8
  404. package/dist/utils/index.js +0 -13
  405. package/dist/utils/performance-utils.d.ts +0 -205
  406. package/dist/utils/performance-utils.js +0 -440
  407. package/dist/utils/profile-mapper.d.ts +0 -32
  408. package/dist/utils/profile-mapper.js +0 -269
  409. package/dist/utils/request-processor.d.ts +0 -52
  410. package/dist/utils/request-processor.js +0 -210
  411. package/dist/utils/request-utils.d.ts +0 -117
  412. package/dist/utils/request-utils.js +0 -333
  413. package/dist/utils/response-utils.d.ts +0 -127
  414. package/dist/utils/response-utils.js +0 -516
  415. package/dist/utils/token-counter.d.ts +0 -89
  416. package/dist/utils/token-counter.js +0 -541
  417. /package/dist/{tools/proxy → conversion/hub/tool-governance}/types.js +0 -0
@@ -1,10 +0,0 @@
1
- import type { ProviderErrorEvent } from './types.js';
2
- type ProviderErrorListener = (event: ProviderErrorEvent) => void;
3
- export declare class ProviderErrorCenter {
4
- private readonly listeners;
5
- subscribe(listener: ProviderErrorListener): () => void;
6
- emit(event: ProviderErrorEvent): ProviderErrorEvent;
7
- private normalize;
8
- }
9
- export declare const providerErrorCenter: ProviderErrorCenter;
10
- export {};
@@ -1,3 +0,0 @@
1
- import type { ProcessedRequest, StandardizedRequest } from '../../conversion/hub/types/standardized.js';
2
- import type { RouterMetadataInput, RoutingFeatures } from './types.js';
3
- export declare function buildRoutingFeatures(request: StandardizedRequest | ProcessedRequest, metadata: RouterMetadataInput): RoutingFeatures;
@@ -1,18 +0,0 @@
1
- import type { ProviderHealthConfig, ProviderHealthState } from './types.js';
2
- interface ProviderInternalState extends ProviderHealthState {
3
- lastFailureAt?: number;
4
- }
5
- export declare class ProviderHealthManager {
6
- private readonly states;
7
- private config;
8
- configure(config?: ProviderHealthConfig): void;
9
- registerProviders(providerKeys: string[]): void;
10
- recordFailure(providerKey: string, reason?: string): ProviderInternalState;
11
- recordSuccess(providerKey: string): ProviderInternalState;
12
- tripProvider(providerKey: string, reason?: string, cooldownOverrideMs?: number): ProviderInternalState;
13
- isAvailable(providerKey: string): boolean;
14
- getSnapshot(): ProviderHealthState[];
15
- getConfig(): Required<ProviderHealthConfig>;
16
- private getState;
17
- }
18
- export {};
@@ -1,18 +0,0 @@
1
- import type { LoadBalancingPolicy } from './types.js';
2
- export interface LoadBalancingOptions {
3
- routeName: string;
4
- candidates: string[];
5
- stickyKey?: string;
6
- availabilityCheck: (providerKey: string) => boolean;
7
- }
8
- export declare class RouteLoadBalancer {
9
- private policy;
10
- private readonly states;
11
- constructor(policy?: LoadBalancingPolicy);
12
- updatePolicy(policy?: LoadBalancingPolicy): void;
13
- select(options: LoadBalancingOptions): string | null;
14
- private selectRoundRobin;
15
- private selectWeighted;
16
- private selectSticky;
17
- private getState;
18
- }
@@ -1,11 +0,0 @@
1
- import type { ProviderProfile, TargetMetadata } from './types.js';
2
- export declare class ProviderRegistry {
3
- private readonly providers;
4
- constructor(profiles?: Record<string, ProviderProfile>);
5
- load(profiles: Record<string, ProviderProfile>): void;
6
- get(providerKey: string): ProviderProfile;
7
- has(providerKey: string): boolean;
8
- listKeys(): string[];
9
- buildTarget(providerKey: string): TargetMetadata;
10
- private static normalizeProfile;
11
- }
@@ -1,206 +0,0 @@
1
- /**
2
- * Virtual Router 类型定义
3
- */
4
- import type { StandardizedRequest } from '../../conversion/hub/types/standardized.js';
5
- export declare const DEFAULT_ROUTE = "default";
6
- export declare const ROUTE_PRIORITY: string[];
7
- export type RoutingPools = Record<string, string[]>;
8
- export interface ProviderAuthConfig {
9
- type: 'apiKey' | 'oauth';
10
- secretRef?: string;
11
- value?: string;
12
- tokenFile?: string;
13
- tokenUrl?: string;
14
- deviceCodeUrl?: string;
15
- clientId?: string;
16
- clientSecret?: string;
17
- scopes?: string[];
18
- authorizationUrl?: string;
19
- userInfoUrl?: string;
20
- refreshUrl?: string;
21
- oauthProviderId?: string;
22
- rawType?: string;
23
- }
24
- export interface ProviderProfile {
25
- providerKey: string;
26
- providerType: string;
27
- endpoint: string;
28
- auth: ProviderAuthConfig;
29
- outboundProfile: string;
30
- compatibilityProfile?: string;
31
- runtimeKey?: string;
32
- modelId?: string;
33
- processMode?: 'chat' | 'passthrough';
34
- }
35
- export interface ProviderRuntimeProfile {
36
- runtimeKey: string;
37
- providerId: string;
38
- keyAlias: string;
39
- providerType: string;
40
- endpoint: string;
41
- headers?: Record<string, string>;
42
- auth: ProviderAuthConfig;
43
- outboundProfile: string;
44
- compatibilityProfile?: string;
45
- modelId?: string;
46
- processMode?: 'chat' | 'passthrough';
47
- }
48
- export interface VirtualRouterClassifierConfig {
49
- longContextThresholdTokens?: number;
50
- thinkingKeywords?: string[];
51
- codingKeywords?: string[];
52
- backgroundKeywords?: string[];
53
- visionKeywords?: string[];
54
- }
55
- export interface LoadBalancingPolicy {
56
- strategy: 'round-robin' | 'weighted' | 'sticky';
57
- weights?: Record<string, number>;
58
- }
59
- export interface ProviderHealthConfig {
60
- failureThreshold: number;
61
- cooldownMs: number;
62
- fatalCooldownMs?: number;
63
- }
64
- export interface VirtualRouterConfig {
65
- routing: RoutingPools;
66
- providers: Record<string, ProviderProfile>;
67
- classifier: VirtualRouterClassifierConfig;
68
- loadBalancing?: LoadBalancingPolicy;
69
- health?: ProviderHealthConfig;
70
- }
71
- export type VirtualRouterProviderDefinition = Record<string, unknown>;
72
- export interface VirtualRouterBootstrapInput extends Record<string, unknown> {
73
- virtualrouter?: Record<string, unknown>;
74
- providers?: Record<string, VirtualRouterProviderDefinition>;
75
- routing?: Record<string, unknown>;
76
- classifier?: VirtualRouterClassifierConfig;
77
- loadBalancing?: LoadBalancingPolicy;
78
- health?: ProviderHealthConfig;
79
- }
80
- export type ProviderRuntimeMap = Record<string, ProviderRuntimeProfile>;
81
- export interface VirtualRouterBootstrapResult {
82
- config: VirtualRouterConfig;
83
- runtime: ProviderRuntimeMap;
84
- targetRuntime: Record<string, ProviderRuntimeProfile>;
85
- providers: Record<string, ProviderProfile>;
86
- routing: RoutingPools;
87
- }
88
- export interface RouterMetadataInput {
89
- requestId: string;
90
- entryEndpoint: string;
91
- processMode: 'chat' | 'passthrough';
92
- stream: boolean;
93
- direction: 'request' | 'response';
94
- providerProtocol?: string;
95
- stage?: 'inbound' | 'outbound' | 'response';
96
- routeHint?: string;
97
- }
98
- export interface RoutingFeatures {
99
- requestId: string;
100
- model: string;
101
- totalMessages: number;
102
- userTextSample: string;
103
- toolCount: number;
104
- hasTools: boolean;
105
- hasToolCallResponses: boolean;
106
- hasVisionTool: boolean;
107
- hasImageAttachment: boolean;
108
- hasWebTool: boolean;
109
- hasCodingTool: boolean;
110
- hasThinkingKeyword: boolean;
111
- estimatedTokens: number;
112
- metadata: RouterMetadataInput;
113
- }
114
- export interface ClassificationResult {
115
- routeName: string;
116
- confidence: number;
117
- reasoning: string;
118
- fallback: boolean;
119
- candidates?: string[];
120
- }
121
- export interface RoutingDecision {
122
- routeName: string;
123
- providerKey: string;
124
- confidence: number;
125
- reasoning: string;
126
- fallback: boolean;
127
- pool: string[];
128
- }
129
- export interface TargetMetadata {
130
- providerKey: string;
131
- providerType: string;
132
- outboundProfile: string;
133
- compatibilityProfile?: string;
134
- runtimeKey?: string;
135
- modelId: string;
136
- processMode?: 'chat' | 'passthrough';
137
- }
138
- export declare enum VirtualRouterErrorCode {
139
- NO_STANDARDIZED_REQUEST = "NO_STANDARDIZED_REQUEST",
140
- ROUTE_NOT_FOUND = "ROUTE_NOT_FOUND",
141
- PROVIDER_NOT_AVAILABLE = "PROVIDER_NOT_AVAILABLE",
142
- CONFIG_ERROR = "CONFIG_ERROR"
143
- }
144
- export declare class VirtualRouterError extends Error {
145
- readonly code: VirtualRouterErrorCode;
146
- readonly details?: Record<string, unknown>;
147
- constructor(message: string, code: VirtualRouterErrorCode, details?: Record<string, unknown>);
148
- }
149
- export interface RoutingDiagnostics {
150
- routeName: string;
151
- providerKey: string;
152
- reasoning: string;
153
- fallback: boolean;
154
- pool: string[];
155
- confidence: number;
156
- }
157
- export interface RoutingStatusSnapshot {
158
- routes: Record<string, {
159
- providers: string[];
160
- hits: number;
161
- lastUsedProvider?: string;
162
- }>;
163
- health: ProviderHealthState[];
164
- }
165
- export interface ProviderHealthState {
166
- providerKey: string;
167
- state: 'healthy' | 'tripped';
168
- failureCount: number;
169
- cooldownExpiresAt?: number;
170
- reason?: string;
171
- }
172
- export interface ProviderFailureEvent {
173
- providerKey: string;
174
- routeName?: string;
175
- reason?: string;
176
- fatal?: boolean;
177
- statusCode?: number;
178
- errorCode?: string;
179
- retryable?: boolean;
180
- affectsHealth?: boolean;
181
- cooldownOverrideMs?: number;
182
- metadata?: Record<string, unknown>;
183
- }
184
- export interface ProviderErrorRuntimeMetadata {
185
- requestId: string;
186
- routeName?: string;
187
- providerKey?: string;
188
- providerId?: string;
189
- providerType?: string;
190
- providerProtocol?: string;
191
- pipelineId?: string;
192
- target?: TargetMetadata | Record<string, unknown>;
193
- }
194
- export interface ProviderErrorEvent {
195
- code: string;
196
- message: string;
197
- stage: string;
198
- status?: number;
199
- recoverable?: boolean;
200
- runtime: ProviderErrorRuntimeMetadata;
201
- timestamp: number;
202
- details?: Record<string, unknown>;
203
- }
204
- export interface FeatureBuilder {
205
- build(request: StandardizedRequest, metadata: RouterMetadataInput): RoutingFeatures;
206
- }
@@ -1,11 +0,0 @@
1
- import type { AnthropicMessageResponse, AnthropicJsonToSseOptions } from '../types/anthropic-types.js';
2
- /**
3
- * Minimal Anthropic JSON → SSE converter (v3)
4
- * - Emits a compact but spec-aligned event sequence for text content.
5
- * - Tool use blocks: emits content_block_start (tool_use), input_json_delta (whole), content_block_stop.
6
- *
7
- * NOTE: This converter purposely avoids any tool governance. It only maps shapes/fields.
8
- */
9
- export declare class AnthropicJsonToSseConverter {
10
- convertResponseToJsonToSse(payload: AnthropicMessageResponse, options: AnthropicJsonToSseOptions): Promise<import('node:stream').Readable>;
11
- }
@@ -1,79 +0,0 @@
1
- /**
2
- * Chat JSON → SSE转换器(重构版本)
3
- * 使用函数化架构:事件生成 + 序列化 + 写入分离
4
- */
5
- import { ChatCompletionRequest, ChatCompletionResponse, ChatJsonToSseContext, ChatJsonToSseOptions, ChatSseEventStream, DEFAULT_CHAT_CONVERSION_CONFIG } from '../types/index.js';
6
- /**
7
- * 重构后的Chat JSON到SSE转换器
8
- * 采用函数化架构,专注于编排而非具体业务逻辑
9
- */
10
- export declare class ChatJsonToSseConverterRefactored {
11
- private config;
12
- private contexts;
13
- constructor(config?: Partial<typeof DEFAULT_CHAT_CONVERSION_CONFIG>);
14
- /**
15
- * 将Chat Completion请求转换为SSE流
16
- */
17
- convertRequestToJsonToSse(request: ChatCompletionRequest, options: ChatJsonToSseOptions): Promise<ChatSseEventStream>;
18
- /**
19
- * 将Chat Completion响应转换为SSE流
20
- */
21
- convertResponseToJsonToSse(response: ChatCompletionResponse, options: ChatJsonToSseOptions): Promise<ChatSseEventStream>;
22
- /**
23
- * 使用函数化架构处理请求转换
24
- */
25
- private processRequestToSseWithFunctions;
26
- /**
27
- * 使用函数化架构处理响应转换
28
- */
29
- private processResponseToSseWithFunctions;
30
- /**
31
- * 验证请求格式
32
- */
33
- private validateRequest;
34
- /**
35
- * 验证响应格式
36
- */
37
- private validateResponse;
38
- /**
39
- * 更新统计信息
40
- */
41
- private updateStats;
42
- /**
43
- * 包装错误
44
- */
45
- private wrapError;
46
- /**
47
- * 处理流错误
48
- */
49
- private handleStreamError;
50
- /**
51
- * 完成流
52
- */
53
- private completeStream;
54
- /**
55
- * 中止流
56
- */
57
- private abortStream;
58
- /**
59
- * 创建请求上下文
60
- */
61
- private createRequestContext;
62
- /**
63
- * 创建响应上下文
64
- */
65
- private createResponseContext;
66
- /**
67
- * 获取上下文
68
- */
69
- getContext(requestId: string): ChatJsonToSseContext | undefined;
70
- /**
71
- * 清理上下文
72
- */
73
- clearContext(requestId: string): void;
74
- /**
75
- * 获取所有活跃的上下文
76
- */
77
- getActiveContexts(): Map<string, ChatJsonToSseContext>;
78
- }
79
- export declare const ChatJsonToSseConverter: typeof ChatJsonToSseConverterRefactored;
@@ -1,55 +0,0 @@
1
- /**
2
- * Chat协议事件生成器
3
- * 提供纯函数,将Chat响应数据转换为SSE事件对象,不处理流写入
4
- */
5
- import { ChatSseEvent, ChatToolCall } from '../../types/index.js';
6
- export interface ChatEventGeneratorConfig {
7
- chunkSize: number;
8
- chunkDelayMs: number;
9
- enableIdGeneration: boolean;
10
- enableTimestampGeneration: boolean;
11
- }
12
- export interface ChatEventGeneratorContext {
13
- model: string;
14
- requestId: string;
15
- choiceIndex: number;
16
- toolCallIndexCounter: number;
17
- contentIndexCounter: Map<string, number>;
18
- }
19
- export declare const DEFAULT_CHAT_EVENT_GENERATOR_CONFIG: ChatEventGeneratorConfig;
20
- /**
21
- * 创建默认上下文
22
- */
23
- export declare function createDefaultContext(model: string, requestId: string): ChatEventGeneratorContext;
24
- /**
25
- * 构建role delta事件
26
- */
27
- export declare function buildRoleDelta(role: string, context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): ChatSseEvent[];
28
- /**
29
- * 构建reasoning delta事件
30
- */
31
- export declare function buildReasoningDeltas(reasoning: string, context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): Generator<ChatSseEvent>;
32
- /**
33
- * 构建content delta事件
34
- */
35
- export declare function buildContentDeltas(content: string, context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): Generator<ChatSseEvent>;
36
- /**
37
- * 构建tool_call开始事件
38
- */
39
- export declare function buildToolCallStart(toolCall: ChatToolCall, toolCallIndex: number, context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): ChatSseEvent;
40
- /**
41
- * 构建tool_call arguments delta事件
42
- */
43
- export declare function buildToolCallArgsDeltas(args: string, toolCallIndex: number, context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): Generator<ChatSseEvent>;
44
- /**
45
- * 构建finish_reason事件
46
- */
47
- export declare function buildFinishEvent(finishReason: 'stop' | 'length' | 'tool_calls' | 'content_filter' | 'function_call', context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): ChatSseEvent;
48
- /**
49
- * 构建done事件
50
- */
51
- export declare function buildDoneEvent(context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): ChatSseEvent;
52
- /**
53
- * 构建error事件
54
- */
55
- export declare function buildErrorEvent(error: Error, context: ChatEventGeneratorContext, config?: ChatEventGeneratorConfig): ChatSseEvent;
@@ -1,99 +0,0 @@
1
- /**
2
- * Responses协议事件生成器
3
- * 提供纯函数,将Responses响应数据转换为SSE事件对象,不处理流写入
4
- */
5
- import { ResponsesSseEvent, ResponsesResponse, ResponsesOutputItem, ResponsesFunctionCallItem, ResponsesReasoningItem, ResponsesContent } from '../../types/index.js';
6
- export interface ResponsesEventGeneratorConfig {
7
- chunkSize: number;
8
- chunkDelayMs: number;
9
- enableIdGeneration: boolean;
10
- enableTimestampGeneration: boolean;
11
- enableSequenceNumbers: boolean;
12
- enableDelay: boolean;
13
- }
14
- export interface ResponsesEventGeneratorContext {
15
- requestId: string;
16
- model: string;
17
- outputIndexCounter: number;
18
- contentIndexCounter: Map<string, number>;
19
- sequenceCounter: number;
20
- }
21
- export declare const DEFAULT_RESPONSES_EVENT_GENERATOR_CONFIG: ResponsesEventGeneratorConfig;
22
- /**
23
- * 创建默认上下文
24
- */
25
- export declare function createDefaultResponsesContext(requestId: string, model: string): ResponsesEventGeneratorContext;
26
- /**
27
- * 构建response.created + response.in_progress事件
28
- * 映射:response.start → response.created + response.in_progress
29
- */
30
- export declare function buildResponseStartEvents(response: ResponsesResponse, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): Generator<ResponsesSseEvent>;
31
- /**
32
- * 构建response.output_item.added事件
33
- * 映射:output_item.start → response.output_item.added
34
- */
35
- export declare function buildOutputItemStartEvent(outputItem: ResponsesOutputItem, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): ResponsesSseEvent;
36
- /**
37
- * 构建response.content_part.added事件
38
- * 映射:content_part.start → response.content_part.added
39
- */
40
- export declare function buildContentPartStartEvent(outputItemId: string, contentIndex: number, content: ResponsesContent, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): ResponsesSseEvent;
41
- /**
42
- * 构建response.output_text.delta事件流
43
- * 映射:content_part.delta (input_text/output_text/…) → response.output_text.delta
44
- * 对于 reasoning 使用 response.reasoning_text.delta
45
- */
46
- export declare function buildContentPartDeltas(outputItemId: string, contentIndex: number, text: string, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): Generator<ResponsesSseEvent>;
47
- /**
48
- * 构建content_part.done事件
49
- */
50
- export declare function buildContentPartDoneEvent(outputItemId: string, contentIndex: number, content: ResponsesContent | undefined, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): ResponsesSseEvent;
51
- export declare function buildOutputTextDoneEvent(outputItemId: string, contentIndex: number, fullText: string, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): ResponsesSseEvent;
52
- /**
53
- * 构建response.function_call_arguments.delta/done的start部分
54
- * 映射:function_call.start → 隐含在第一个 delta 中
55
- */
56
- /**
57
- * 构建response.function_call_arguments.delta事件流
58
- * 映射:function_call.delta → response.function_call_arguments.delta
59
- */
60
- export declare function buildFunctionCallArgsDeltas(functionCall: ResponsesFunctionCallItem, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): Generator<ResponsesSseEvent>;
61
- /**
62
- * 构建response.function_call_arguments.done事件
63
- * 映射:function_call.done → response.function_call_arguments.done
64
- */
65
- export declare function buildFunctionCallDoneEvent(functionCall: ResponsesFunctionCallItem, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): ResponsesSseEvent;
66
- /**
67
- * 构建reasoning.start事件
68
- */
69
- export declare function buildReasoningStartEvent(reasoning: ResponsesReasoningItem, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): ResponsesSseEvent;
70
- /**
71
- * 构建response.reasoning_text.delta事件流
72
- * 映射:reasoning.delta → response.reasoning_text.delta
73
- */
74
- export declare function buildReasoningDeltas(reasoning: ResponsesReasoningItem, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): Generator<ResponsesSseEvent>;
75
- /**
76
- * 构建reasoning.done事件
77
- */
78
- export declare function buildReasoningDoneEvent(reasoning: ResponsesReasoningItem, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): ResponsesSseEvent;
79
- /**
80
- * 构建output_item.done事件
81
- */
82
- export declare function buildOutputItemDoneEvent(outputItem: ResponsesOutputItem, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): ResponsesSseEvent;
83
- /**
84
- * 构建required_action事件
85
- */
86
- export declare function buildRequiredActionEvent(response: ResponsesResponse, requiredAction: any, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): ResponsesSseEvent;
87
- /**
88
- * 构建response.completed事件
89
- * 新增:在 done 之前增加 response.completed
90
- */
91
- export declare function buildResponseCompletedEvent(response: ResponsesResponse, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): ResponsesSseEvent;
92
- /**
93
- * 构建response.done事件
94
- */
95
- export declare function buildResponseDoneEvent(response: ResponsesResponse, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): ResponsesSseEvent;
96
- /**
97
- * 构建error事件
98
- */
99
- export declare function buildErrorEvent(error: Error, context: ResponsesEventGeneratorContext, config?: ResponsesEventGeneratorConfig): ResponsesSseEvent;
@@ -1,6 +0,0 @@
1
- /**
2
- * JSON→SSE转换模块导出
3
- */
4
- export { ChatJsonToSseConverter } from './chat-json-to-sse-converter.js';
5
- export { ResponsesJsonToSseConverter } from './responses-json-to-sse-converter.js';
6
- export type { ChatJsonToSseOptions, ChatJsonToSseContext, ChatEventStats, ResponsesJsonToSseOptions, ResponsesJsonToSseContext, ResponsesEventStats } from '../types/index.js';
@@ -1,79 +0,0 @@
1
- /**
2
- * Responses JSON → SSE转换器(重构版本)
3
- * 使用函数化架构:事件生成 + 序列化 + 写入分离
4
- */
5
- import { ResponsesRequest, ResponsesResponse, ResponsesJsonToSseContext, ResponsesJsonToSseOptions, ResponsesSseEventStream, DEFAULT_RESPONSES_CONVERSION_CONFIG } from '../types/index.js';
6
- /**
7
- * 重构后的Responses JSON到SSE转换器
8
- * 采用函数化架构,专注于编排而非具体业务逻辑
9
- */
10
- export declare class ResponsesJsonToSseConverterRefactored {
11
- private config;
12
- private contexts;
13
- constructor(config?: Partial<typeof DEFAULT_RESPONSES_CONVERSION_CONFIG>);
14
- /**
15
- * 将Responses请求转换为SSE流
16
- */
17
- convertRequestToJsonToSse(request: ResponsesRequest, options: ResponsesJsonToSseOptions): Promise<ResponsesSseEventStream>;
18
- /**
19
- * 将Responses响应转换为SSE流
20
- */
21
- convertResponseToJsonToSse(response: ResponsesResponse, options: ResponsesJsonToSseOptions): Promise<ResponsesSseEventStream>;
22
- /**
23
- * 使用函数化架构处理请求转换
24
- */
25
- private processRequestToSseWithFunctions;
26
- /**
27
- * 使用函数化架构处理响应转换
28
- */
29
- private processResponseToSseWithFunctions;
30
- /**
31
- * 验证请求格式
32
- */
33
- private validateRequest;
34
- /**
35
- * 验证响应格式
36
- */
37
- private validateResponse;
38
- /**
39
- * 更新统计信息
40
- */
41
- private updateStats;
42
- /**
43
- * 包装错误
44
- */
45
- private wrapError;
46
- /**
47
- * 处理流错误
48
- */
49
- private handleStreamError;
50
- /**
51
- * 完成流
52
- */
53
- private completeStream;
54
- /**
55
- * 中止流
56
- */
57
- private abortStream;
58
- /**
59
- * 创建请求上下文
60
- */
61
- private createRequestContext;
62
- /**
63
- * 创建响应上下文
64
- */
65
- private createResponseContext;
66
- /**
67
- * 获取上下文
68
- */
69
- getContext(requestId: string): ResponsesJsonToSseContext | undefined;
70
- /**
71
- * 清理上下文
72
- */
73
- clearContext(requestId: string): void;
74
- /**
75
- * 获取所有活跃的上下文
76
- */
77
- getActiveContexts(): Map<string, ResponsesJsonToSseContext>;
78
- }
79
- export declare const ResponsesJsonToSseConverter: typeof ResponsesJsonToSseConverterRefactored;
@@ -1,37 +0,0 @@
1
- /**
2
- * Chat协议事件编排器
3
- * 负责严格的事件时序组合:role → content OR tool_calls(name → args.delta*) → finish_reason → done
4
- */
5
- import { ChatCompletionResponse, ChatSseEvent } from '../../types/index.js';
6
- import { ChatEventGeneratorContext, ChatEventGeneratorConfig } from '../event-generators/chat.js';
7
- export interface ChatSequencerConfig extends ChatEventGeneratorConfig {
8
- includeSequenceNumbers: boolean;
9
- enableDelay: boolean;
10
- validateOrder: boolean;
11
- }
12
- export declare const DEFAULT_CHAT_SEQUENCER_CONFIG: ChatSequencerConfig;
13
- /**
14
- * 主编排器:将Chat响应转换为有序的SSE事件流
15
- */
16
- export declare function sequenceChatResponse(response: ChatCompletionResponse, context: ChatEventGeneratorContext, config?: ChatSequencerConfig): AsyncGenerator<ChatSseEvent>;
17
- /**
18
- * 序列化Chat请求(用于请求→SSE转换)
19
- */
20
- export declare function sequenceChatRequest(request: any, context: ChatEventGeneratorContext, config?: ChatSequencerConfig): AsyncGenerator<ChatSseEvent>;
21
- /**
22
- * 创建Chat事件序列化器工厂
23
- */
24
- export declare function createChatSequencer(config?: Partial<ChatSequencerConfig>): {
25
- /**
26
- * 序列化响应
27
- */
28
- sequenceResponse(response: ChatCompletionResponse, model: string, requestId: string): AsyncGenerator<ChatSseEvent, void, any>;
29
- /**
30
- * 序列化请求
31
- */
32
- sequenceRequest(request: any, model: string, requestId: string): AsyncGenerator<ChatSseEvent, void, any>;
33
- /**
34
- * 获取当前配置
35
- */
36
- getConfig(): ChatSequencerConfig;
37
- };