@jsonstudio/llms 0.4.3 → 0.4.5

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 (542) 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 +15 -3
  6. package/dist/conversion/codecs/anthropic-openai-codec.d.ts +3 -13
  7. package/dist/conversion/codecs/anthropic-openai-codec.js +18 -473
  8. package/dist/conversion/codecs/gemini-openai-codec.js +91 -48
  9. package/dist/conversion/codecs/responses-openai-codec.js +9 -2
  10. package/dist/conversion/hub/format-adapters/anthropic-format-adapter.js +3 -0
  11. package/dist/conversion/hub/format-adapters/chat-format-adapter.js +3 -0
  12. package/dist/conversion/hub/format-adapters/gemini-format-adapter.js +3 -0
  13. package/dist/conversion/hub/format-adapters/responses-format-adapter.d.ts +2 -0
  14. package/dist/conversion/hub/format-adapters/responses-format-adapter.js +9 -0
  15. package/dist/conversion/hub/node-support.js +3 -1
  16. package/dist/conversion/hub/pipeline/hub-pipeline.js +41 -37
  17. package/dist/conversion/hub/process/chat-process.js +258 -41
  18. package/dist/conversion/hub/response/provider-response.js +9 -3
  19. package/dist/conversion/hub/response/response-mappers.js +1 -1
  20. package/dist/conversion/hub/response/response-runtime.js +109 -10
  21. package/dist/conversion/hub/semantic-mappers/anthropic-mapper.js +70 -156
  22. package/dist/conversion/hub/semantic-mappers/chat-mapper.js +63 -52
  23. package/dist/conversion/hub/semantic-mappers/gemini-mapper.js +76 -143
  24. package/dist/conversion/hub/semantic-mappers/responses-mapper.js +40 -160
  25. package/dist/conversion/hub/standardized-bridge.js +3 -0
  26. package/dist/conversion/hub/tool-governance/engine.d.ts +16 -0
  27. package/dist/conversion/hub/tool-governance/engine.js +266 -0
  28. package/dist/conversion/hub/tool-governance/index.d.ts +3 -0
  29. package/dist/conversion/hub/tool-governance/index.js +2 -0
  30. package/dist/conversion/hub/tool-governance/rules.d.ts +2 -0
  31. package/dist/conversion/hub/tool-governance/rules.js +76 -0
  32. package/dist/conversion/hub/tool-governance/types.d.ts +38 -0
  33. package/dist/conversion/index.d.ts +6 -0
  34. package/dist/conversion/index.js +6 -0
  35. package/dist/conversion/pipeline/codecs/v2/anthropic-openai-pipeline.d.ts +12 -0
  36. package/dist/conversion/pipeline/codecs/v2/anthropic-openai-pipeline.js +100 -0
  37. package/dist/conversion/pipeline/codecs/v2/openai-openai-pipeline.d.ts +15 -0
  38. package/dist/conversion/pipeline/codecs/v2/openai-openai-pipeline.js +174 -0
  39. package/dist/conversion/pipeline/codecs/v2/responses-openai-pipeline.d.ts +14 -0
  40. package/dist/conversion/pipeline/codecs/v2/responses-openai-pipeline.js +166 -0
  41. package/dist/conversion/pipeline/codecs/v2/shared/openai-chat-helpers.d.ts +13 -0
  42. package/dist/conversion/pipeline/codecs/v2/shared/openai-chat-helpers.js +66 -0
  43. package/dist/conversion/pipeline/hooks/adapter-context.d.ts +7 -0
  44. package/dist/conversion/pipeline/hooks/adapter-context.js +18 -0
  45. package/dist/conversion/pipeline/hooks/protocol-hooks.d.ts +67 -0
  46. package/dist/conversion/pipeline/hooks/protocol-hooks.js +1 -0
  47. package/dist/conversion/pipeline/index.d.ts +35 -0
  48. package/dist/conversion/pipeline/index.js +103 -0
  49. package/dist/conversion/pipeline/meta/meta-bag.d.ts +20 -0
  50. package/dist/conversion/pipeline/meta/meta-bag.js +81 -0
  51. package/dist/conversion/pipeline/schema/canonical-chat.d.ts +18 -0
  52. package/dist/conversion/pipeline/schema/canonical-chat.js +1 -0
  53. package/dist/conversion/pipeline/schema/index.d.ts +1 -0
  54. package/dist/conversion/pipeline/schema/index.js +1 -0
  55. package/dist/conversion/responses/responses-openai-bridge.d.ts +11 -58
  56. package/dist/conversion/responses/responses-openai-bridge.js +157 -1144
  57. package/dist/conversion/shared/anthropic-message-utils.d.ts +12 -0
  58. package/dist/conversion/shared/anthropic-message-utils.js +587 -0
  59. package/dist/conversion/shared/bridge-actions.d.ts +39 -0
  60. package/dist/conversion/shared/bridge-actions.js +709 -0
  61. package/dist/conversion/shared/{responses-conversation-store.d.ts → bridge-conversation-store.d.ts} +7 -7
  62. package/dist/conversion/shared/bridge-conversation-store.js +279 -0
  63. package/dist/conversion/shared/bridge-id-utils.js +42 -0
  64. package/dist/conversion/shared/bridge-instructions.d.ts +1 -0
  65. package/dist/conversion/shared/bridge-instructions.js +113 -0
  66. package/dist/conversion/shared/bridge-message-types.d.ts +39 -0
  67. package/dist/conversion/shared/bridge-message-types.js +1 -0
  68. package/dist/conversion/shared/bridge-message-utils.d.ts +22 -0
  69. package/dist/conversion/shared/bridge-message-utils.js +473 -0
  70. package/dist/conversion/shared/bridge-metadata.d.ts +1 -0
  71. package/dist/conversion/shared/bridge-metadata.js +1 -0
  72. package/dist/conversion/shared/bridge-policies.d.ts +18 -0
  73. package/dist/conversion/shared/bridge-policies.js +276 -0
  74. package/dist/conversion/shared/bridge-request-adapter.d.ts +28 -0
  75. package/dist/conversion/shared/bridge-request-adapter.js +430 -0
  76. package/dist/conversion/shared/chat-output-normalizer.d.ts +4 -0
  77. package/dist/conversion/shared/chat-output-normalizer.js +56 -0
  78. package/dist/conversion/shared/chat-request-filters.js +24 -1
  79. package/dist/conversion/shared/gemini-tool-utils.d.ts +5 -0
  80. package/dist/conversion/shared/gemini-tool-utils.js +130 -0
  81. package/dist/conversion/shared/metadata-passthrough.d.ts +11 -0
  82. package/dist/conversion/shared/metadata-passthrough.js +57 -0
  83. package/dist/conversion/shared/output-content-normalizer.d.ts +12 -0
  84. package/dist/conversion/shared/output-content-normalizer.js +119 -0
  85. package/dist/conversion/shared/reasoning-normalizer.d.ts +21 -0
  86. package/dist/conversion/shared/reasoning-normalizer.js +368 -0
  87. package/dist/conversion/shared/reasoning-tool-normalizer.d.ts +12 -0
  88. package/dist/conversion/shared/reasoning-tool-normalizer.js +132 -0
  89. package/dist/conversion/shared/reasoning-tool-parser.d.ts +10 -0
  90. package/dist/conversion/shared/reasoning-tool-parser.js +95 -0
  91. package/dist/conversion/shared/reasoning-utils.d.ts +2 -0
  92. package/dist/conversion/shared/reasoning-utils.js +42 -0
  93. package/dist/conversion/shared/responses-conversation-store.js +5 -11
  94. package/dist/conversion/shared/responses-message-utils.d.ts +15 -0
  95. package/dist/conversion/shared/responses-message-utils.js +206 -0
  96. package/dist/conversion/shared/responses-output-builder.d.ts +15 -0
  97. package/dist/conversion/shared/responses-output-builder.js +179 -0
  98. package/dist/conversion/shared/responses-output-utils.d.ts +7 -0
  99. package/dist/conversion/shared/responses-output-utils.js +108 -0
  100. package/dist/conversion/shared/responses-request-adapter.d.ts +3 -41
  101. package/dist/conversion/shared/responses-request-adapter.js +9 -40
  102. package/dist/conversion/shared/responses-response-utils.d.ts +3 -0
  103. package/dist/conversion/shared/responses-response-utils.js +209 -0
  104. package/dist/conversion/shared/responses-tool-utils.d.ts +12 -0
  105. package/dist/conversion/shared/responses-tool-utils.js +90 -0
  106. package/dist/conversion/shared/responses-types.d.ts +33 -0
  107. package/dist/conversion/shared/responses-types.js +1 -0
  108. package/dist/conversion/shared/tool-call-utils.d.ts +11 -0
  109. package/dist/conversion/shared/tool-call-utils.js +56 -0
  110. package/dist/conversion/shared/tool-mapping.d.ts +9 -0
  111. package/dist/conversion/shared/tool-mapping.js +124 -0
  112. package/dist/conversion/shared/tool-normalizers.d.ts +4 -0
  113. package/dist/conversion/shared/tool-normalizers.js +84 -0
  114. package/dist/router/virtual-router/bootstrap.js +18 -3
  115. package/dist/router/virtual-router/provider-registry.js +4 -2
  116. package/dist/router/virtual-router/types.d.ts +6 -0
  117. package/dist/sse/index.d.ts +38 -2
  118. package/dist/sse/index.js +27 -0
  119. package/dist/sse/json-to-sse/anthropic-json-to-sse-converter.d.ts +12 -9
  120. package/dist/sse/json-to-sse/anthropic-json-to-sse-converter.js +106 -73
  121. package/dist/sse/json-to-sse/chat-json-to-sse-converter.js +6 -2
  122. package/dist/sse/json-to-sse/gemini-json-to-sse-converter.d.ts +14 -0
  123. package/dist/sse/json-to-sse/gemini-json-to-sse-converter.js +99 -0
  124. package/dist/sse/json-to-sse/index.d.ts +2 -1
  125. package/dist/sse/json-to-sse/index.js +2 -0
  126. package/dist/sse/json-to-sse/sequencers/anthropic-sequencer.d.ts +13 -0
  127. package/dist/sse/json-to-sse/sequencers/anthropic-sequencer.js +150 -0
  128. package/dist/sse/json-to-sse/sequencers/chat-sequencer.d.ts +3 -1
  129. package/dist/sse/json-to-sse/sequencers/chat-sequencer.js +49 -3
  130. package/dist/sse/json-to-sse/sequencers/gemini-sequencer.d.ts +10 -0
  131. package/dist/sse/json-to-sse/sequencers/gemini-sequencer.js +95 -0
  132. package/dist/sse/json-to-sse/sequencers/responses-sequencer.js +31 -5
  133. package/dist/sse/registry/sse-codec-registry.d.ts +1 -1
  134. package/dist/sse/registry/sse-codec-registry.js +30 -1
  135. package/dist/sse/shared/reasoning-dispatcher.d.ts +10 -0
  136. package/dist/sse/shared/reasoning-dispatcher.js +25 -0
  137. package/dist/sse/shared/responses-output-normalizer.d.ts +12 -0
  138. package/dist/sse/shared/responses-output-normalizer.js +45 -0
  139. package/dist/sse/shared/serializers/anthropic-event-serializer.d.ts +2 -0
  140. package/dist/sse/shared/serializers/anthropic-event-serializer.js +9 -0
  141. package/dist/sse/shared/serializers/gemini-event-serializer.d.ts +2 -0
  142. package/dist/sse/shared/serializers/gemini-event-serializer.js +5 -0
  143. package/dist/sse/shared/serializers/index.d.ts +2 -0
  144. package/dist/sse/shared/serializers/index.js +2 -0
  145. package/dist/sse/shared/writer.d.ts +17 -1
  146. package/dist/sse/shared/writer.js +37 -1
  147. package/dist/sse/sse-to-json/anthropic-sse-to-json-converter.d.ts +9 -11
  148. package/dist/sse/sse-to-json/anthropic-sse-to-json-converter.js +92 -127
  149. package/dist/sse/sse-to-json/builders/anthropic-response-builder.d.ts +16 -0
  150. package/dist/sse/sse-to-json/builders/anthropic-response-builder.js +151 -0
  151. package/dist/sse/sse-to-json/builders/response-builder.d.ts +1 -1
  152. package/dist/sse/sse-to-json/builders/response-builder.js +29 -7
  153. package/dist/sse/sse-to-json/chat-sse-to-json-converter.d.ts +8 -0
  154. package/dist/sse/sse-to-json/chat-sse-to-json-converter.js +116 -26
  155. package/dist/sse/sse-to-json/gemini-sse-to-json-converter.d.ts +13 -0
  156. package/dist/sse/sse-to-json/gemini-sse-to-json-converter.js +160 -0
  157. package/dist/sse/sse-to-json/index.d.ts +2 -1
  158. package/dist/sse/sse-to-json/index.js +2 -0
  159. package/dist/sse/sse-to-json/parsers/sse-parser.js +73 -13
  160. package/dist/sse/sse-to-json/responses-sse-to-json-converter.d.ts +1 -0
  161. package/dist/sse/sse-to-json/responses-sse-to-json-converter.js +10 -8
  162. package/dist/sse/types/anthropic-types.d.ts +119 -36
  163. package/dist/sse/types/anthropic-types.js +8 -5
  164. package/dist/sse/types/chat-types.d.ts +19 -6
  165. package/dist/sse/types/chat-types.js +2 -1
  166. package/dist/sse/types/conversion-context.d.ts +14 -11
  167. package/dist/sse/types/core-interfaces.d.ts +7 -3
  168. package/dist/sse/types/gemini-types.d.ts +116 -0
  169. package/dist/sse/types/gemini-types.js +5 -0
  170. package/dist/sse/types/index.d.ts +5 -2
  171. package/dist/sse/types/index.js +2 -0
  172. package/dist/sse/types/responses-types.d.ts +20 -20
  173. package/dist/sse/types/sse-events.d.ts +4 -3
  174. package/dist/sse/types/stream-state.d.ts +34 -39
  175. package/dist/sse/types/utility-types.d.ts +47 -43
  176. package/dist/sse/types/utility-types.js +10 -13
  177. package/dist/tools/tool-registry.js +156 -98
  178. package/package.json +7 -7
  179. package/dist/api/index.d.ts +0 -10
  180. package/dist/api/index.js +0 -11
  181. package/dist/api/llmswitch-config.d.ts +0 -15
  182. package/dist/api/llmswitch-config.js +0 -415
  183. package/dist/api/llmswitch-types.d.ts +0 -412
  184. package/dist/api/llmswitch-types.js +0 -60
  185. package/dist/bridge/routecodex-adapter.d.ts +0 -74
  186. package/dist/config/index.d.ts +0 -3
  187. package/dist/config/index.js +0 -5
  188. package/dist/config-unified/enhanced-path-resolver.d.ts +0 -5
  189. package/dist/config-unified/unified-config.d.ts +0 -26
  190. package/dist/conversion/codec-registry.d.ts +0 -10
  191. package/dist/conversion/codecs/gemini-openai-codec.d.ts +0 -16
  192. package/dist/conversion/codecs/openai-openai-codec.d.ts +0 -12
  193. package/dist/conversion/codecs/responses-openai-codec.d.ts +0 -12
  194. package/dist/conversion/config/config-manager.d.ts +0 -212
  195. package/dist/conversion/conversion-v3/adapters/index.d.ts +0 -2
  196. package/dist/conversion/conversion-v3/adapters/index.js +0 -1
  197. package/dist/conversion/conversion-v3/adapters/v3-to-standard-adapter.d.ts +0 -38
  198. package/dist/conversion/conversion-v3/adapters/v3-to-standard-adapter.js +0 -55
  199. package/dist/conversion/conversion-v3/compatibility/compatibility-profiles.d.ts +0 -22
  200. package/dist/conversion/conversion-v3/compatibility/compatibility-profiles.js +0 -84
  201. package/dist/conversion/conversion-v3/compatibility/compatibility-stages.d.ts +0 -4
  202. package/dist/conversion/conversion-v3/compatibility/compatibility-stages.js +0 -285
  203. package/dist/conversion/conversion-v3/compatibility/index.d.ts +0 -3
  204. package/dist/conversion/conversion-v3/compatibility/index.js +0 -2
  205. package/dist/conversion/conversion-v3/config/default-configs.d.ts +0 -48
  206. package/dist/conversion/conversion-v3/config/default-configs.js +0 -1007
  207. package/dist/conversion/conversion-v3/config/index.d.ts +0 -5
  208. package/dist/conversion/conversion-v3/config/index.js +0 -5
  209. package/dist/conversion/conversion-v3/config/pipeline-config-manager.d.ts +0 -49
  210. package/dist/conversion/conversion-v3/config/pipeline-config-manager.js +0 -65
  211. package/dist/conversion/conversion-v3/index.d.ts +0 -11
  212. package/dist/conversion/conversion-v3/index.js +0 -17
  213. package/dist/conversion/conversion-v3/nodes/index.d.ts +0 -56
  214. package/dist/conversion/conversion-v3/nodes/index.js +0 -149
  215. package/dist/conversion/conversion-v3/nodes/input/anthropic-input-node.d.ts +0 -25
  216. package/dist/conversion/conversion-v3/nodes/input/anthropic-input-node.js +0 -56
  217. package/dist/conversion/conversion-v3/nodes/input/base-input-node.d.ts +0 -75
  218. package/dist/conversion/conversion-v3/nodes/input/base-input-node.js +0 -237
  219. package/dist/conversion/conversion-v3/nodes/input/chat-input-node.d.ts +0 -25
  220. package/dist/conversion/conversion-v3/nodes/input/chat-input-node.js +0 -56
  221. package/dist/conversion/conversion-v3/nodes/input/chat-shape-helpers.d.ts +0 -4
  222. package/dist/conversion/conversion-v3/nodes/input/chat-shape-helpers.js +0 -197
  223. package/dist/conversion/conversion-v3/nodes/input/gemini-input-node.d.ts +0 -16
  224. package/dist/conversion/conversion-v3/nodes/input/gemini-input-node.js +0 -125
  225. package/dist/conversion/conversion-v3/nodes/input/index.d.ts +0 -8
  226. package/dist/conversion/conversion-v3/nodes/input/index.js +0 -8
  227. package/dist/conversion/conversion-v3/nodes/input/input-decision.d.ts +0 -46
  228. package/dist/conversion/conversion-v3/nodes/input/input-decision.js +0 -125
  229. package/dist/conversion/conversion-v3/nodes/input/responses-input-node.d.ts +0 -20
  230. package/dist/conversion/conversion-v3/nodes/input/responses-input-node.js +0 -51
  231. package/dist/conversion/conversion-v3/nodes/output/anthropic-output-node.d.ts +0 -71
  232. package/dist/conversion/conversion-v3/nodes/output/anthropic-output-node.js +0 -320
  233. package/dist/conversion/conversion-v3/nodes/output/base-output-node.d.ts +0 -116
  234. package/dist/conversion/conversion-v3/nodes/output/base-output-node.js +0 -512
  235. package/dist/conversion/conversion-v3/nodes/output/index.d.ts +0 -7
  236. package/dist/conversion/conversion-v3/nodes/output/index.js +0 -7
  237. package/dist/conversion/conversion-v3/nodes/output/openai-output-node.d.ts +0 -71
  238. package/dist/conversion/conversion-v3/nodes/output/openai-output-node.js +0 -293
  239. package/dist/conversion/conversion-v3/nodes/output/output-decision.d.ts +0 -68
  240. package/dist/conversion/conversion-v3/nodes/output/output-decision.js +0 -161
  241. package/dist/conversion/conversion-v3/nodes/output/responses-output-node.d.ts +0 -64
  242. package/dist/conversion/conversion-v3/nodes/output/responses-output-node.js +0 -323
  243. package/dist/conversion/conversion-v3/nodes/process/base-process-node.d.ts +0 -72
  244. package/dist/conversion/conversion-v3/nodes/process/base-process-node.js +0 -246
  245. package/dist/conversion/conversion-v3/nodes/process/chat-process-node.d.ts +0 -135
  246. package/dist/conversion/conversion-v3/nodes/process/chat-process-node.js +0 -854
  247. package/dist/conversion/conversion-v3/nodes/process/compatibility-process-node.d.ts +0 -29
  248. package/dist/conversion/conversion-v3/nodes/process/compatibility-process-node.js +0 -181
  249. package/dist/conversion/conversion-v3/nodes/process/index.d.ts +0 -10
  250. package/dist/conversion/conversion-v3/nodes/process/index.js +0 -10
  251. package/dist/conversion/conversion-v3/nodes/process/passthrough-process-node.d.ts +0 -59
  252. package/dist/conversion/conversion-v3/nodes/process/passthrough-process-node.js +0 -243
  253. package/dist/conversion/conversion-v3/nodes/process/response-process-node.d.ts +0 -17
  254. package/dist/conversion/conversion-v3/nodes/process/response-process-node.js +0 -213
  255. package/dist/conversion/conversion-v3/nodes/process/tool-process-node.d.ts +0 -30
  256. package/dist/conversion/conversion-v3/nodes/process/tool-process-node.js +0 -360
  257. package/dist/conversion/conversion-v3/nodes/process/virtual-router-process-node.d.ts +0 -40
  258. package/dist/conversion/conversion-v3/nodes/process/virtual-router-process-node.js +0 -430
  259. package/dist/conversion/conversion-v3/nodes/response/anthropic-response-input-node.d.ts +0 -12
  260. package/dist/conversion/conversion-v3/nodes/response/anthropic-response-input-node.js +0 -129
  261. package/dist/conversion/conversion-v3/nodes/response/chat-to-responses-response-node.d.ts +0 -15
  262. package/dist/conversion/conversion-v3/nodes/response/chat-to-responses-response-node.js +0 -57
  263. package/dist/conversion/conversion-v3/nodes/response/index.d.ts +0 -4
  264. package/dist/conversion/conversion-v3/nodes/response/index.js +0 -4
  265. package/dist/conversion/conversion-v3/nodes/response/openai-response-input-node.d.ts +0 -15
  266. package/dist/conversion/conversion-v3/nodes/response/openai-response-input-node.js +0 -87
  267. package/dist/conversion/conversion-v3/nodes/response/response-utils.d.ts +0 -1
  268. package/dist/conversion/conversion-v3/nodes/response/response-utils.js +0 -1
  269. package/dist/conversion/conversion-v3/nodes/response/responses-response-input-node.d.ts +0 -12
  270. package/dist/conversion/conversion-v3/nodes/response/responses-response-input-node.js +0 -67
  271. package/dist/conversion/conversion-v3/nodes/sse/index.d.ts +0 -3
  272. package/dist/conversion/conversion-v3/nodes/sse/index.js +0 -3
  273. package/dist/conversion/conversion-v3/nodes/sse/sse-input-node.d.ts +0 -27
  274. package/dist/conversion/conversion-v3/nodes/sse/sse-input-node.js +0 -165
  275. package/dist/conversion/conversion-v3/nodes/sse/sse-output-node.d.ts +0 -19
  276. package/dist/conversion/conversion-v3/nodes/sse/sse-output-node.js +0 -267
  277. package/dist/conversion/conversion-v3/nodes/sse/sse-passthrough-node.d.ts +0 -18
  278. package/dist/conversion/conversion-v3/nodes/sse/sse-passthrough-node.js +0 -48
  279. package/dist/conversion/conversion-v3/pipelines/index.d.ts +0 -6
  280. package/dist/conversion/conversion-v3/pipelines/index.js +0 -6
  281. package/dist/conversion/conversion-v3/pipelines/super-pipeline.d.ts +0 -112
  282. package/dist/conversion/conversion-v3/pipelines/super-pipeline.js +0 -566
  283. package/dist/conversion/conversion-v3/response/provider-response-converter.d.ts +0 -28
  284. package/dist/conversion/conversion-v3/response/provider-response-converter.js +0 -249
  285. package/dist/conversion/conversion-v3/sse/index.d.ts +0 -140
  286. package/dist/conversion/conversion-v3/sse/index.js +0 -115
  287. package/dist/conversion/conversion-v3/sse/json-to-sse/anthropic-json-to-sse-converter.d.ts +0 -11
  288. package/dist/conversion/conversion-v3/sse/json-to-sse/anthropic-json-to-sse-converter.js +0 -79
  289. package/dist/conversion/conversion-v3/sse/json-to-sse/chat-json-to-sse-converter.d.ts +0 -79
  290. package/dist/conversion/conversion-v3/sse/json-to-sse/chat-json-to-sse-converter.js +0 -296
  291. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/chat.d.ts +0 -55
  292. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/chat.js +0 -233
  293. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/responses.d.ts +0 -99
  294. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/responses.js +0 -599
  295. package/dist/conversion/conversion-v3/sse/json-to-sse/index.d.ts +0 -6
  296. package/dist/conversion/conversion-v3/sse/json-to-sse/index.js +0 -7
  297. package/dist/conversion/conversion-v3/sse/json-to-sse/responses-json-to-sse-converter.d.ts +0 -79
  298. package/dist/conversion/conversion-v3/sse/json-to-sse/responses-json-to-sse-converter.js +0 -322
  299. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/chat-sequencer.d.ts +0 -37
  300. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/chat-sequencer.js +0 -218
  301. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/responses-sequencer.d.ts +0 -40
  302. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/responses-sequencer.js +0 -263
  303. package/dist/conversion/conversion-v3/sse/registry/sse-codec-registry.d.ts +0 -32
  304. package/dist/conversion/conversion-v3/sse/registry/sse-codec-registry.js +0 -106
  305. package/dist/conversion/conversion-v3/sse/shared/chat-serializer.d.ts +0 -4
  306. package/dist/conversion/conversion-v3/sse/shared/chat-serializer.js +0 -40
  307. package/dist/conversion/conversion-v3/sse/shared/constants.d.ts +0 -272
  308. package/dist/conversion/conversion-v3/sse/shared/constants.js +0 -321
  309. package/dist/conversion/conversion-v3/sse/shared/serializers/base-serializer.d.ts +0 -158
  310. package/dist/conversion/conversion-v3/sse/shared/serializers/base-serializer.js +0 -210
  311. package/dist/conversion/conversion-v3/sse/shared/serializers/chat-event-serializer.d.ts +0 -82
  312. package/dist/conversion/conversion-v3/sse/shared/serializers/chat-event-serializer.js +0 -275
  313. package/dist/conversion/conversion-v3/sse/shared/serializers/index.d.ts +0 -39
  314. package/dist/conversion/conversion-v3/sse/shared/serializers/index.js +0 -54
  315. package/dist/conversion/conversion-v3/sse/shared/serializers/responses-event-serializer.d.ts +0 -123
  316. package/dist/conversion/conversion-v3/sse/shared/serializers/responses-event-serializer.js +0 -356
  317. package/dist/conversion/conversion-v3/sse/shared/serializers/types.d.ts +0 -51
  318. package/dist/conversion/conversion-v3/sse/shared/serializers/types.js +0 -4
  319. package/dist/conversion/conversion-v3/sse/shared/utils.d.ts +0 -254
  320. package/dist/conversion/conversion-v3/sse/shared/utils.js +0 -543
  321. package/dist/conversion/conversion-v3/sse/shared/writer.d.ts +0 -111
  322. package/dist/conversion/conversion-v3/sse/shared/writer.js +0 -268
  323. package/dist/conversion/conversion-v3/sse/sse-to-json/anthropic-sse-to-json-converter.d.ts +0 -13
  324. package/dist/conversion/conversion-v3/sse/sse-to-json/anthropic-sse-to-json-converter.js +0 -139
  325. package/dist/conversion/conversion-v3/sse/sse-to-json/builders/response-builder.d.ts +0 -165
  326. package/dist/conversion/conversion-v3/sse/sse-to-json/builders/response-builder.js +0 -776
  327. package/dist/conversion/conversion-v3/sse/sse-to-json/chat-sse-to-json-converter.d.ts +0 -106
  328. package/dist/conversion/conversion-v3/sse/sse-to-json/chat-sse-to-json-converter.js +0 -540
  329. package/dist/conversion/conversion-v3/sse/sse-to-json/index.d.ts +0 -6
  330. package/dist/conversion/conversion-v3/sse/sse-to-json/index.js +0 -7
  331. package/dist/conversion/conversion-v3/sse/sse-to-json/parsers/sse-parser.d.ts +0 -73
  332. package/dist/conversion/conversion-v3/sse/sse-to-json/parsers/sse-parser.js +0 -332
  333. package/dist/conversion/conversion-v3/sse/sse-to-json/responses-sse-to-json-converter.d.ts +0 -59
  334. package/dist/conversion/conversion-v3/sse/sse-to-json/responses-sse-to-json-converter.js +0 -270
  335. package/dist/conversion/conversion-v3/sse/types/anthropic-types.d.ts +0 -87
  336. package/dist/conversion/conversion-v3/sse/types/anthropic-types.js +0 -5
  337. package/dist/conversion/conversion-v3/sse/types/chat-types.d.ts +0 -308
  338. package/dist/conversion/conversion-v3/sse/types/chat-types.js +0 -32
  339. package/dist/conversion/conversion-v3/sse/types/conversion-context.d.ts +0 -211
  340. package/dist/conversion/conversion-v3/sse/types/conversion-context.js +0 -20
  341. package/dist/conversion/conversion-v3/sse/types/core-interfaces.d.ts +0 -90
  342. package/dist/conversion/conversion-v3/sse/types/core-interfaces.js +0 -5
  343. package/dist/conversion/conversion-v3/sse/types/index.d.ts +0 -14
  344. package/dist/conversion/conversion-v3/sse/types/index.js +0 -7
  345. package/dist/conversion/conversion-v3/sse/types/responses-types.d.ts +0 -328
  346. package/dist/conversion/conversion-v3/sse/types/responses-types.js +0 -38
  347. package/dist/conversion/conversion-v3/sse/types/sse-events.d.ts +0 -180
  348. package/dist/conversion/conversion-v3/sse/types/sse-events.js +0 -150
  349. package/dist/conversion/conversion-v3/sse/types/stream-state.d.ts +0 -204
  350. package/dist/conversion/conversion-v3/sse/types/stream-state.js +0 -44
  351. package/dist/conversion/conversion-v3/sse/types/utility-types.d.ts +0 -230
  352. package/dist/conversion/conversion-v3/sse/types/utility-types.js +0 -49
  353. package/dist/conversion/conversion-v3/standards/context-adapter.d.ts +0 -146
  354. package/dist/conversion/conversion-v3/standards/context-adapter.js +0 -438
  355. package/dist/conversion/conversion-v3/standards/errors.d.ts +0 -38
  356. package/dist/conversion/conversion-v3/standards/errors.js +0 -27
  357. package/dist/conversion/conversion-v3/standards/index.d.ts +0 -15
  358. package/dist/conversion/conversion-v3/standards/index.js +0 -11
  359. package/dist/conversion/conversion-v3/standards/node-capabilities.d.ts +0 -123
  360. package/dist/conversion/conversion-v3/standards/node-capabilities.js +0 -330
  361. package/dist/conversion/conversion-v3/standards/pipeline-context.d.ts +0 -237
  362. package/dist/conversion/conversion-v3/standards/pipeline-context.js +0 -84
  363. package/dist/conversion/conversion-v3/standards/pipeline-node.d.ts +0 -196
  364. package/dist/conversion/conversion-v3/standards/pipeline-node.js +0 -316
  365. package/dist/conversion/conversion-v3/standards/snapshot-handles.d.ts +0 -24
  366. package/dist/conversion/conversion-v3/standards/snapshot-handles.js +0 -49
  367. package/dist/conversion/conversion-v3/types/config-types.d.ts +0 -242
  368. package/dist/conversion/conversion-v3/types/config-types.js +0 -13
  369. package/dist/conversion/conversion-v3/types/index.d.ts +0 -8
  370. package/dist/conversion/conversion-v3/types/index.js +0 -11
  371. package/dist/conversion/conversion-v3/types/node-types.d.ts +0 -211
  372. package/dist/conversion/conversion-v3/types/node-types.js +0 -20
  373. package/dist/conversion/conversion-v3/types/pipeline-types.d.ts +0 -246
  374. package/dist/conversion/conversion-v3/types/pipeline-types.js +0 -26
  375. package/dist/conversion/conversion-v3/types/request-types.d.ts +0 -293
  376. package/dist/conversion/conversion-v3/types/request-types.js +0 -26
  377. package/dist/conversion/conversion-v3/utils/provider-payload-sanitizer.d.ts +0 -10
  378. package/dist/conversion/conversion-v3/utils/provider-payload-sanitizer.js +0 -103
  379. package/dist/conversion/conversion-v3/validations/index.d.ts +0 -8
  380. package/dist/conversion/conversion-v3/validations/index.js +0 -7
  381. package/dist/conversion/conversion-v3/validations/node-graph-validator.d.ts +0 -116
  382. package/dist/conversion/conversion-v3/validations/node-graph-validator.js +0 -505
  383. package/dist/conversion/conversion-v3/validations/tool-governance-enforcer.d.ts +0 -139
  384. package/dist/conversion/conversion-v3/validations/tool-governance-enforcer.js +0 -338
  385. package/dist/conversion/hub/config/types.d.ts +0 -26
  386. package/dist/conversion/hub/core/detour-registry.d.ts +0 -9
  387. package/dist/conversion/hub/core/hub-context.d.ts +0 -21
  388. package/dist/conversion/hub/core/index.d.ts +0 -3
  389. package/dist/conversion/hub/core/stage-driver.d.ts +0 -30
  390. package/dist/conversion/hub/format-adapters/anthropic-format-adapter.d.ts +0 -16
  391. package/dist/conversion/hub/format-adapters/chat-format-adapter.d.ts +0 -17
  392. package/dist/conversion/hub/format-adapters/gemini-format-adapter.d.ts +0 -16
  393. package/dist/conversion/hub/format-adapters/index.d.ts +0 -21
  394. package/dist/conversion/hub/hub-feature.d.ts +0 -1
  395. package/dist/conversion/hub/node-support.d.ts +0 -19
  396. package/dist/conversion/hub/pipeline/hub-pipeline.d.ts +0 -68
  397. package/dist/conversion/hub/pipelines/inbound.d.ts +0 -22
  398. package/dist/conversion/hub/pipelines/outbound.d.ts +0 -22
  399. package/dist/conversion/hub/process/chat-process.d.ts +0 -13
  400. package/dist/conversion/hub/registry.d.ts +0 -28
  401. package/dist/conversion/hub/response/chat-response-utils.d.ts +0 -6
  402. package/dist/conversion/hub/response/provider-response.d.ts +0 -20
  403. package/dist/conversion/hub/response/response-mappers.d.ts +0 -19
  404. package/dist/conversion/hub/response/response-runtime.d.ts +0 -3
  405. package/dist/conversion/hub/semantic-mappers/anthropic-mapper.d.ts +0 -7
  406. package/dist/conversion/hub/semantic-mappers/chat-mapper.d.ts +0 -7
  407. package/dist/conversion/hub/semantic-mappers/gemini-mapper.d.ts +0 -7
  408. package/dist/conversion/hub/semantic-mappers/index.d.ts +0 -4
  409. package/dist/conversion/hub/semantic-mappers/responses-mapper.d.ts +0 -21
  410. package/dist/conversion/hub/snapshot-recorder.d.ts +0 -12
  411. package/dist/conversion/hub/standardized-bridge.d.ts +0 -12
  412. package/dist/conversion/hub/types/chat-envelope.d.ts +0 -67
  413. package/dist/conversion/hub/types/chat-schema.d.ts +0 -112
  414. package/dist/conversion/hub/types/errors.d.ts +0 -5
  415. package/dist/conversion/hub/types/format-envelope.d.ts +0 -7
  416. package/dist/conversion/hub/types/index.d.ts +0 -6
  417. package/dist/conversion/hub/types/json.d.ts +0 -9
  418. package/dist/conversion/hub/types/node.d.ts +0 -31
  419. package/dist/conversion/hub/types/standardized.d.ts +0 -94
  420. package/dist/conversion/schema-validator.d.ts +0 -7
  421. package/dist/conversion/shared/args-mapping.d.ts +0 -18
  422. package/dist/conversion/shared/chat-request-filters.d.ts +0 -9
  423. package/dist/conversion/shared/jsonish.d.ts +0 -3
  424. package/dist/conversion/shared/mcp-injection.d.ts +0 -2
  425. package/dist/conversion/shared/media.d.ts +0 -1
  426. package/dist/conversion/shared/openai-finalizer.d.ts +0 -9
  427. package/dist/conversion/shared/openai-message-normalize.d.ts +0 -1
  428. package/dist/conversion/shared/payload-budget.d.ts +0 -13
  429. package/dist/conversion/shared/reasoning-mapping.d.ts +0 -5
  430. package/dist/conversion/shared/responses-instructions.d.ts +0 -1
  431. package/dist/conversion/shared/responses-metadata.d.ts +0 -1
  432. package/dist/conversion/shared/snapshot-hooks.d.ts +0 -12
  433. package/dist/conversion/shared/streaming-text-extractor.d.ts +0 -26
  434. package/dist/conversion/shared/text-markup-normalizer.d.ts +0 -9
  435. package/dist/conversion/shared/tool-canonicalizer.d.ts +0 -2
  436. package/dist/conversion/shared/tool-filter-pipeline.d.ts +0 -17
  437. package/dist/conversion/shared/tool-governor.d.ts +0 -27
  438. package/dist/conversion/shared/tool-harvester.d.ts +0 -31
  439. package/dist/conversion/shared/tooling.d.ts +0 -26
  440. package/dist/conversion/types.d.ts +0 -33
  441. package/dist/core/index.d.ts +0 -6
  442. package/dist/core/index.js +0 -9
  443. package/dist/core/llmswitch-engine-v2.d.ts +0 -132
  444. package/dist/core/llmswitch-engine-v2.js +0 -649
  445. package/dist/core/llmswitch-factory-v2.d.ts +0 -123
  446. package/dist/core/llmswitch-factory-v2.js +0 -521
  447. package/dist/endpoints/base-endpoint-handler.d.ts +0 -128
  448. package/dist/endpoints/base-endpoint-handler.js +0 -545
  449. package/dist/endpoints/chat-endpoint-handler.d.ts +0 -115
  450. package/dist/endpoints/chat-endpoint-handler.js +0 -218
  451. package/dist/endpoints/endpoint-router.d.ts +0 -127
  452. package/dist/endpoints/endpoint-router.js +0 -438
  453. package/dist/endpoints/index.d.ts +0 -13
  454. package/dist/endpoints/index.js +0 -11
  455. package/dist/endpoints/messages-endpoint-handler.d.ts +0 -171
  456. package/dist/endpoints/messages-endpoint-handler.js +0 -238
  457. package/dist/endpoints/responses-endpoint-handler.d.ts +0 -147
  458. package/dist/endpoints/responses-endpoint-handler.js +0 -233
  459. package/dist/filters/builtin/add-fields-filter.d.ts +0 -8
  460. package/dist/filters/builtin/blacklist-filter.d.ts +0 -8
  461. package/dist/filters/builtin/whitelist-filter.d.ts +0 -8
  462. package/dist/filters/engine.d.ts +0 -16
  463. package/dist/filters/index.d.ts +0 -19
  464. package/dist/filters/special/request-streaming-to-nonstreaming.d.ts +0 -12
  465. package/dist/filters/special/request-tool-choice-policy.d.ts +0 -11
  466. package/dist/filters/special/request-tool-list-filter.d.ts +0 -11
  467. package/dist/filters/special/request-toolcalls-stringify.d.ts +0 -10
  468. package/dist/filters/special/request-tools-normalize.d.ts +0 -12
  469. package/dist/filters/special/response-finish-invariants.d.ts +0 -11
  470. package/dist/filters/special/response-openai-to-responses-bridge.d.ts +0 -13
  471. package/dist/filters/special/response-tool-arguments-blacklist.d.ts +0 -12
  472. package/dist/filters/special/response-tool-arguments-schema-converge.d.ts +0 -13
  473. package/dist/filters/special/response-tool-arguments-stringify.d.ts +0 -9
  474. package/dist/filters/special/response-tool-arguments-toon-decode.d.ts +0 -10
  475. package/dist/filters/special/response-tool-arguments-whitelist.d.ts +0 -11
  476. package/dist/filters/special/response-tool-text-canonicalize.d.ts +0 -10
  477. package/dist/filters/special/tool-filter-hooks.d.ts +0 -19
  478. package/dist/filters/special/tool-post-constraints.d.ts +0 -31
  479. package/dist/filters/types.d.ts +0 -68
  480. package/dist/filters/utils/fieldmap-loader.d.ts +0 -2
  481. package/dist/filters/utils/snapshot-writer.d.ts +0 -10
  482. package/dist/guidance/index.d.ts +0 -3
  483. package/dist/hooks/hooks-integration.d.ts +0 -161
  484. package/dist/hooks/hooks-integration.js +0 -519
  485. package/dist/hooks/index.d.ts +0 -10
  486. package/dist/hooks/index.js +0 -13
  487. package/dist/html-to-markdown.d.ts +0 -5
  488. package/dist/html-to-markdown.js +0 -66
  489. package/dist/http/sse-response.d.ts +0 -22
  490. package/dist/router/virtual-router/bootstrap.d.ts +0 -6
  491. package/dist/router/virtual-router/classifier.d.ts +0 -10
  492. package/dist/router/virtual-router/engine.d.ts +0 -35
  493. package/dist/router/virtual-router/error-center.d.ts +0 -10
  494. package/dist/router/virtual-router/features.d.ts +0 -3
  495. package/dist/router/virtual-router/health-manager.d.ts +0 -18
  496. package/dist/router/virtual-router/load-balancer.d.ts +0 -18
  497. package/dist/router/virtual-router/provider-registry.d.ts +0 -11
  498. package/dist/sse/json-to-sse/chat-json-to-sse-converter.d.ts +0 -79
  499. package/dist/sse/json-to-sse/event-generators/chat.d.ts +0 -55
  500. package/dist/sse/json-to-sse/event-generators/responses.d.ts +0 -99
  501. package/dist/sse/json-to-sse/responses-json-to-sse-converter.d.ts +0 -79
  502. package/dist/sse/json-to-sse/sequencers/responses-sequencer.d.ts +0 -40
  503. package/dist/sse/shared/chat-serializer.d.ts +0 -4
  504. package/dist/sse/shared/constants.d.ts +0 -272
  505. package/dist/sse/shared/serializers/base-serializer.d.ts +0 -158
  506. package/dist/sse/shared/serializers/chat-event-serializer.d.ts +0 -82
  507. package/dist/sse/shared/serializers/responses-event-serializer.d.ts +0 -123
  508. package/dist/sse/shared/serializers/types.d.ts +0 -51
  509. package/dist/sse/shared/utils.d.ts +0 -254
  510. package/dist/sse/sse-to-json/parsers/sse-parser.d.ts +0 -73
  511. package/dist/tools/proxy/anthropic-tool-proxy.d.ts +0 -19
  512. package/dist/tools/proxy/anthropic-tool-proxy.js +0 -57
  513. package/dist/tools/proxy/executors/web-fetch.d.ts +0 -6
  514. package/dist/tools/proxy/executors/web-fetch.js +0 -39
  515. package/dist/tools/proxy/registry.d.ts +0 -8
  516. package/dist/tools/proxy/registry.js +0 -14
  517. package/dist/tools/proxy/types.d.ts +0 -29
  518. package/dist/tools/tool-registry.d.ts +0 -8
  519. package/dist/tools/web-fetch-html.d.ts +0 -15
  520. package/dist/tools/web-fetch-html.js +0 -83
  521. package/dist/utils/conversion-adapter.d.ts +0 -65
  522. package/dist/utils/conversion-adapter.js +0 -183
  523. package/dist/utils/error-factory.d.ts +0 -88
  524. package/dist/utils/error-factory.js +0 -138
  525. package/dist/utils/error-utils.d.ts +0 -334
  526. package/dist/utils/error-utils.js +0 -782
  527. package/dist/utils/index.d.ts +0 -8
  528. package/dist/utils/index.js +0 -13
  529. package/dist/utils/performance-utils.d.ts +0 -205
  530. package/dist/utils/performance-utils.js +0 -440
  531. package/dist/utils/profile-mapper.d.ts +0 -32
  532. package/dist/utils/profile-mapper.js +0 -269
  533. package/dist/utils/request-processor.d.ts +0 -52
  534. package/dist/utils/request-processor.js +0 -210
  535. package/dist/utils/request-utils.d.ts +0 -117
  536. package/dist/utils/request-utils.js +0 -333
  537. package/dist/utils/response-utils.d.ts +0 -127
  538. package/dist/utils/response-utils.js +0 -516
  539. package/dist/utils/token-counter.d.ts +0 -89
  540. package/dist/utils/token-counter.js +0 -541
  541. /package/dist/{tools/proxy → conversion/hub/tool-governance}/types.js +0 -0
  542. /package/dist/conversion/shared/{responses-id-utils.d.ts → bridge-id-utils.d.ts} +0 -0
@@ -1,11 +1,16 @@
1
+ import type { BaseSseEvent, StreamDirection } from './core-interfaces.js';
2
+ import type { ChatReasoningMode } from './chat-types.js';
1
3
  /**
2
- * Minimal Anthropic SSE/JSON types for v3 SSE converters
3
- * Only covers text and basic tool_use blocks needed for roundtrip.
4
+ * Anthropic JSON/SSE 类型定义与转换上下文
4
5
  */
5
6
  export interface AnthropicContentTextBlock {
6
7
  type: 'text';
7
8
  text: string;
8
9
  }
10
+ export interface AnthropicContentThinkingBlock {
11
+ type: 'thinking';
12
+ text: string;
13
+ }
9
14
  export interface AnthropicContentToolUseBlock {
10
15
  type: 'tool_use';
11
16
  id: string;
@@ -18,7 +23,7 @@ export interface AnthropicContentToolResultBlock {
18
23
  content: unknown;
19
24
  is_error?: boolean;
20
25
  }
21
- export type AnthropicContentBlock = AnthropicContentTextBlock | AnthropicContentToolUseBlock | AnthropicContentToolResultBlock;
26
+ export type AnthropicContentBlock = AnthropicContentTextBlock | AnthropicContentThinkingBlock | AnthropicContentToolUseBlock | AnthropicContentToolResultBlock;
22
27
  export interface AnthropicMessageResponse {
23
28
  id: string;
24
29
  type: 'message';
@@ -31,57 +36,135 @@ export interface AnthropicMessageResponse {
31
36
  };
32
37
  stop_reason?: 'end_turn' | 'max_tokens' | 'stop_sequence' | 'tool_use';
33
38
  }
39
+ export interface AnthropicEventStats {
40
+ totalEvents: number;
41
+ contentBlocks: number;
42
+ toolUseBlocks: number;
43
+ thinkingBlocks: number;
44
+ textBlocks: number;
45
+ errors: number;
46
+ startTime: number;
47
+ endTime?: number;
48
+ }
49
+ export interface AnthropicJsonToSseContext {
50
+ requestId: string;
51
+ model: string;
52
+ response: AnthropicMessageResponse;
53
+ options: AnthropicJsonToSseOptions;
54
+ startTime: number;
55
+ eventStats: AnthropicEventStats;
56
+ }
57
+ export interface SseToAnthropicJsonContext {
58
+ requestId: string;
59
+ model?: string;
60
+ startTime: number;
61
+ eventStats: AnthropicEventStats;
62
+ isCompleted: boolean;
63
+ startTimestamp?: number;
64
+ endTimestamp?: number;
65
+ }
66
+ export interface AnthropicJsonToSseOptions {
67
+ requestId: string;
68
+ model: string;
69
+ chunkSize?: number;
70
+ chunkDelayMs?: number;
71
+ reasoningMode?: ChatReasoningMode;
72
+ reasoningTextPrefix?: string;
73
+ }
74
+ export interface SseToAnthropicJsonOptions {
75
+ requestId: string;
76
+ model?: string;
77
+ reasoningMode?: ChatReasoningMode;
78
+ reasoningTextPrefix?: string;
79
+ }
80
+ export declare const DEFAULT_ANTHROPIC_CONVERSION_CONFIG: {
81
+ defaultChunkSize: number;
82
+ defaultDelayMs: number;
83
+ enableEventValidation: boolean;
84
+ strictMode: boolean;
85
+ reasoningMode: ChatReasoningMode;
86
+ reasoningTextPrefix: string | undefined;
87
+ };
34
88
  export type AnthropicSseEventType = 'message_start' | 'content_block_start' | 'content_block_delta' | 'content_block_stop' | 'message_delta' | 'message_stop';
35
- export interface AnthropicSseEventBase<T extends AnthropicSseEventType = AnthropicSseEventType> {
89
+ export interface AnthropicSseEventBase<T extends AnthropicSseEventType = AnthropicSseEventType> extends BaseSseEvent {
36
90
  type: T;
91
+ event?: T;
92
+ protocol: 'anthropic-messages';
93
+ direction: StreamDirection;
94
+ data: unknown;
37
95
  }
38
96
  export interface AnthropicSseEventMessageStart extends AnthropicSseEventBase<'message_start'> {
39
- message: {
40
- id: string;
41
- type: 'message';
42
- role: 'assistant';
43
- model: string;
97
+ data: {
98
+ type: 'message_start';
99
+ message: {
100
+ id: string;
101
+ type: 'message';
102
+ role: 'assistant';
103
+ model: string;
104
+ };
44
105
  };
45
106
  }
46
107
  export interface AnthropicSseEventContentBlockStart extends AnthropicSseEventBase<'content_block_start'> {
47
- index: number;
48
- content_block: {
49
- type: 'text';
50
- text?: string;
51
- } | {
52
- type: 'tool_use';
53
- id: string;
54
- name: string;
55
- input?: Record<string, unknown>;
108
+ data: {
109
+ type: 'content_block_start';
110
+ index: number;
111
+ content_block: {
112
+ type: 'text';
113
+ text?: string;
114
+ } | {
115
+ type: 'thinking';
116
+ text?: string;
117
+ } | {
118
+ type: 'tool_use';
119
+ id: string;
120
+ name: string;
121
+ input?: Record<string, unknown>;
122
+ } | {
123
+ type: 'tool_result';
124
+ tool_use_id: string;
125
+ content?: unknown;
126
+ is_error?: boolean;
127
+ };
56
128
  };
57
129
  }
58
130
  export interface AnthropicSseEventContentBlockDelta extends AnthropicSseEventBase<'content_block_delta'> {
59
- index: number;
60
- delta: {
61
- type: 'text_delta';
62
- text: string;
63
- } | {
64
- type: 'input_json_delta';
65
- partial_json: string;
131
+ data: {
132
+ type: 'content_block_delta';
133
+ index: number;
134
+ delta: {
135
+ type: 'text_delta';
136
+ text: string;
137
+ } | {
138
+ type: 'thinking_delta';
139
+ text: string;
140
+ } | {
141
+ type: 'input_json_delta';
142
+ partial_json: string;
143
+ } | {
144
+ type: 'output_json_delta';
145
+ partial_json: string;
146
+ };
66
147
  };
67
148
  }
68
149
  export interface AnthropicSseEventContentBlockStop extends AnthropicSseEventBase<'content_block_stop'> {
69
- index: number;
150
+ data: {
151
+ type: 'content_block_stop';
152
+ index: number;
153
+ };
70
154
  }
71
155
  export interface AnthropicSseEventMessageDelta extends AnthropicSseEventBase<'message_delta'> {
72
- delta?: {
73
- stop_reason?: AnthropicMessageResponse['stop_reason'];
156
+ data: {
157
+ type: 'message_delta';
158
+ delta?: {
159
+ stop_reason?: AnthropicMessageResponse['stop_reason'];
160
+ usage?: AnthropicMessageResponse['usage'];
161
+ };
74
162
  };
75
163
  }
76
164
  export interface AnthropicSseEventMessageStop extends AnthropicSseEventBase<'message_stop'> {
165
+ data: {
166
+ type: 'message_stop';
167
+ };
77
168
  }
78
169
  export type AnthropicSseEvent = AnthropicSseEventMessageStart | AnthropicSseEventContentBlockStart | AnthropicSseEventContentBlockDelta | AnthropicSseEventContentBlockStop | AnthropicSseEventMessageDelta | AnthropicSseEventMessageStop;
79
170
  export type AnthropicSseEventStream = AsyncIterable<string> | AsyncIterable<Buffer>;
80
- export interface AnthropicJsonToSseOptions {
81
- requestId: string;
82
- model: string;
83
- chunkSize?: number;
84
- }
85
- export interface SseToAnthropicJsonOptions {
86
- requestId: string;
87
- }
@@ -1,5 +1,8 @@
1
- /**
2
- * Minimal Anthropic SSE/JSON types for v3 SSE converters
3
- * Only covers text and basic tool_use blocks needed for roundtrip.
4
- */
5
- export {};
1
+ export const DEFAULT_ANTHROPIC_CONVERSION_CONFIG = {
2
+ defaultChunkSize: 1024,
3
+ defaultDelayMs: 0,
4
+ enableEventValidation: true,
5
+ strictMode: false,
6
+ reasoningMode: 'channel',
7
+ reasoningTextPrefix: undefined
8
+ };
@@ -3,6 +3,7 @@
3
3
  * 支持OpenAI Chat Completions的JSON↔SSE双向转换
4
4
  */
5
5
  import { BaseSseEvent, StreamDirection } from './core-interfaces.js';
6
+ type JsonObject = Record<string, unknown>;
6
7
  export type ChatSseEventType = 'chat_chunk' | 'chat.done' | 'error' | 'ping';
7
8
  export interface ChatSseEvent extends BaseSseEvent {
8
9
  /** 事件类型(SSE标准wire格式) */
@@ -46,6 +47,7 @@ export interface ChatChoiceChunk {
46
47
  export interface ChatDelta {
47
48
  role?: 'system' | 'user' | 'assistant' | 'tool';
48
49
  content?: string | null;
50
+ reasoning?: string;
49
51
  function_call?: ChatFunctionCall;
50
52
  tool_calls?: ChatToolCallChunk[];
51
53
  }
@@ -114,6 +116,8 @@ export interface ChatMessage {
114
116
  role: 'system' | 'user' | 'assistant' | 'tool';
115
117
  content?: string | null;
116
118
  name?: string;
119
+ reasoning_content?: string;
120
+ reasoning?: string;
117
121
  function_call?: ChatFunctionCall;
118
122
  tool_calls?: ChatToolCall[];
119
123
  tool_call_id?: string;
@@ -121,7 +125,7 @@ export interface ChatMessage {
121
125
  export interface ChatFunction {
122
126
  name: string;
123
127
  description?: string;
124
- parameters?: Record<string, any>;
128
+ parameters?: Record<string, unknown>;
125
129
  }
126
130
  export interface ChatTool {
127
131
  type: 'function';
@@ -160,8 +164,8 @@ export interface ChatJsonToSseContext {
160
164
  currentChunk: Partial<ChatCompletionChunk>;
161
165
  eventStats: ChatEventStats;
162
166
  contentIndexCounter?: Map<string, number>;
163
- currentRequest?: any;
164
- currentResponse?: any;
167
+ currentRequest?: ChatCompletionRequest;
168
+ currentResponse?: ChatCompletionResponse;
165
169
  chatResponse?: ChatCompletionResponse;
166
170
  }
167
171
  export interface SseToChatJsonContext {
@@ -189,6 +193,7 @@ export interface ChatChoiceBuilder {
189
193
  export interface ChatMessageBuilder {
190
194
  role?: 'system' | 'user' | 'assistant' | 'tool';
191
195
  content?: string;
196
+ reasoningContent?: string;
192
197
  name?: string;
193
198
  functionCall?: ChatFunctionCall;
194
199
  toolCalls?: ChatToolCall[];
@@ -206,6 +211,7 @@ export interface ChatToolCallBuilder {
206
211
  isCompleted: boolean;
207
212
  accumulatedArguments: string;
208
213
  }
214
+ export type ChatReasoningMode = 'channel' | 'text' | 'drop';
209
215
  export interface ChatJsonToSseOptions {
210
216
  requestId: string;
211
217
  model: string;
@@ -217,6 +223,8 @@ export interface ChatJsonToSseOptions {
217
223
  includeLogprobs?: boolean;
218
224
  maxTokensPerChunk?: number;
219
225
  validationMode?: 'none' | 'basic' | 'strict';
226
+ reasoningMode?: ChatReasoningMode;
227
+ reasoningTextPrefix?: string;
220
228
  onChunk?: (chunk: ChatCompletionChunk) => void;
221
229
  onError?: (error: Error) => void;
222
230
  onComplete?: () => void;
@@ -228,6 +236,8 @@ export interface SseToChatJsonOptions {
228
236
  validateChunks?: boolean;
229
237
  enableSequenceValidation?: boolean;
230
238
  accumulateToolCalls?: boolean;
239
+ reasoningMode?: ChatReasoningMode;
240
+ reasoningTextPrefix?: string;
231
241
  onPartialResponse?: (partial: Partial<ChatCompletionResponse>) => void;
232
242
  onEvent?: (event: ChatSseEvent) => void;
233
243
  onChunk?: (chunk: ChatCompletionChunk) => void;
@@ -257,7 +267,7 @@ export interface ChatConversionError extends Error {
257
267
  chunkId?: string;
258
268
  choiceIndex?: number;
259
269
  toolCallIndex?: number;
260
- context?: any;
270
+ context?: JsonObject;
261
271
  }
262
272
  export declare const CHAT_CONVERSION_ERROR_CODES: {
263
273
  readonly TIMEOUT: "CHAT_TIMEOUT";
@@ -273,8 +283,8 @@ export interface ChatEventValidationRule {
273
283
  requiredFields: string[];
274
284
  optionalFields: string[];
275
285
  dataValidation?: {
276
- schema?: any;
277
- customValidator?: (data: any) => boolean;
286
+ schema?: JsonObject;
287
+ customValidator?: (data: JsonObject) => boolean;
278
288
  };
279
289
  }
280
290
  export interface ChatConversionConfig {
@@ -293,6 +303,8 @@ export interface ChatConversionConfig {
293
303
  debugMode: boolean;
294
304
  logLevel: 'debug' | 'info' | 'warn' | 'error';
295
305
  enableMetrics: boolean;
306
+ reasoningMode: ChatReasoningMode;
307
+ reasoningTextPrefix?: string;
296
308
  }
297
309
  export declare const DEFAULT_CHAT_CONVERSION_CONFIG: ChatConversionConfig;
298
310
  export interface ChatSseEventStream extends AsyncIterable<ChatSseEvent> {
@@ -306,3 +318,4 @@ export interface ChatSseEventStream extends AsyncIterable<ChatSseEvent> {
306
318
  on(event: 'chunk', handler: (chunk: ChatCompletionChunk) => void): this;
307
319
  on(event: 'stats', handler: (stats: ChatEventStats) => void): this;
308
320
  }
321
+ export {};
@@ -28,5 +28,6 @@ export const DEFAULT_CHAT_CONVERSION_CONFIG = {
28
28
  eventBufferSize: 1000,
29
29
  debugMode: false,
30
30
  logLevel: 'info',
31
- enableMetrics: true
31
+ enableMetrics: true,
32
+ reasoningMode: 'channel'
32
33
  };
@@ -2,6 +2,7 @@
2
2
  * 转换上下文类型定义
3
3
  * 定义JSON<>SSE双向转换过程中的上下文信息
4
4
  */
5
+ import type { JsonObject, JsonValue } from './core-interfaces.js';
5
6
  import type { SseEvent, SseEventStats, SseEventType } from './sse-events.js';
6
7
  export interface BaseConversionContext {
7
8
  requestId: string;
@@ -36,6 +37,7 @@ export interface SseToJsonContext extends BaseConversionContext {
36
37
  isResponseCreated: boolean;
37
38
  isInProgress: boolean;
38
39
  }
40
+ type ConversionContextUnion = JsonToSseContext | SseToJsonContext;
39
41
  export interface JsonToSseOptions {
40
42
  requestId: string;
41
43
  model: string;
@@ -104,12 +106,13 @@ export interface OutputItemBuilder {
104
106
  hasContentPartAdded: boolean;
105
107
  isTextInProgress: boolean;
106
108
  }
109
+ type LoggerMetadata = Record<string, unknown>;
107
110
  export interface ConversionLogger {
108
- debug(message: string, meta?: any): void;
109
- info(message: string, meta?: any): void;
110
- warn(message: string, meta?: any): void;
111
- error(message: string, error?: Error, meta?: any): void;
112
- event(eventType: string, data?: any): void;
111
+ debug(message: string, meta?: LoggerMetadata): void;
112
+ info(message: string, meta?: LoggerMetadata): void;
113
+ warn(message: string, meta?: LoggerMetadata): void;
114
+ error(message: string, error?: Error, meta?: LoggerMetadata): void;
115
+ event(eventType: string, data?: LoggerMetadata): void;
113
116
  metric(name: string, value: number, tags?: Record<string, string>): void;
114
117
  }
115
118
  export interface ConversionError extends Error {
@@ -117,7 +120,7 @@ export interface ConversionError extends Error {
117
120
  requestId: string;
118
121
  eventType?: string;
119
122
  sequenceNumber?: number;
120
- context?: any;
123
+ context?: JsonObject;
121
124
  }
122
125
  export interface StreamState {
123
126
  isStarted: boolean;
@@ -156,20 +159,20 @@ export interface ConversionConfig {
156
159
  export declare const DEFAULT_CONVERSION_CONFIG: ConversionConfig;
157
160
  export interface EventHandler {
158
161
  canHandle(eventType: SseEventType): boolean;
159
- handle(event: SseEvent, context: any): Promise<void>;
162
+ handle(event: SseEvent, context: ConversionContextUnion): Promise<void>;
160
163
  }
161
164
  export interface ConversionMiddleware {
162
165
  name: string;
163
- beforeConversion?: (context: any) => Promise<void>;
164
- afterConversion?: (context: any, result: any) => Promise<void>;
165
- onError?: (context: any, error: Error) => Promise<void>;
166
+ beforeConversion?: (context: ConversionContextUnion) => Promise<void>;
167
+ afterConversion?: (context: ConversionContextUnion, result: unknown) => Promise<void>;
168
+ onError?: (context: ConversionContextUnion, error: Error) => Promise<void>;
166
169
  }
167
170
  interface OutputItem {
168
171
  id: string;
169
172
  type: 'reasoning' | 'message' | 'function_call' | 'system_message';
170
173
  status?: 'in_progress' | 'completed';
171
174
  content?: ContentPart[];
172
- summary?: any[];
175
+ summary?: JsonValue[];
173
176
  role?: string;
174
177
  arguments?: string;
175
178
  call_id?: string;
@@ -2,13 +2,17 @@
2
2
  * 核心接口定义
3
3
  * 统一的SSE事件最小接口,供writer.ts等共享模块使用
4
4
  */
5
+ export interface JsonObject {
6
+ [key: string]: JsonValue;
7
+ }
8
+ export type JsonValue = string | number | boolean | null | JsonObject | JsonValue[];
5
9
  export interface BaseSseEvent {
6
10
  /** 事件类型 */
7
11
  type: string;
8
12
  /** 事件时间戳 */
9
13
  timestamp: number;
10
14
  /** 事件数据 */
11
- data: any;
15
+ data: unknown;
12
16
  /** 序列号(可选) */
13
17
  sequenceNumber?: number;
14
18
  /** 协议标识 */
@@ -16,7 +20,7 @@ export interface BaseSseEvent {
16
20
  /** 方向标识 */
17
21
  direction?: StreamDirection;
18
22
  }
19
- export type StreamProtocol = 'chat' | 'responses';
23
+ export type StreamProtocol = 'chat' | 'responses' | 'anthropic-messages' | 'gemini-chat';
20
24
  export type StreamDirection = 'json_to_sse' | 'sse_to_json';
21
25
  export type SseProtocol = StreamProtocol;
22
26
  export type SseDirection = StreamDirection;
@@ -56,7 +60,7 @@ export interface BaseConversionContext {
56
60
  /** 模型名称 */
57
61
  model: string;
58
62
  /** 转换选项 */
59
- options: any;
63
+ options: JsonObject;
60
64
  /** 开始时间 */
61
65
  startTime: number;
62
66
  }
@@ -0,0 +1,116 @@
1
+ import type { BaseSseEvent, StreamDirection } from './core-interfaces.js';
2
+ import type { ChatReasoningMode } from './chat-types.js';
3
+ export interface GeminiContentTextPart {
4
+ text: string;
5
+ }
6
+ export interface GeminiContentFunctionCallPart {
7
+ functionCall: {
8
+ name: string;
9
+ args?: Record<string, unknown>;
10
+ [key: string]: unknown;
11
+ };
12
+ }
13
+ export interface GeminiContentFunctionResponsePart {
14
+ functionResponse: {
15
+ name?: string;
16
+ response?: unknown;
17
+ [key: string]: unknown;
18
+ };
19
+ }
20
+ export interface GeminiContentInlineDataPart {
21
+ inlineData: {
22
+ mimeType: string;
23
+ data: string;
24
+ };
25
+ }
26
+ export type GeminiContentPart = GeminiContentTextPart | GeminiContentFunctionCallPart | GeminiContentFunctionResponsePart | GeminiContentInlineDataPart | Record<string, unknown>;
27
+ export interface GeminiCandidate {
28
+ content?: {
29
+ role?: string;
30
+ parts?: GeminiContentPart[];
31
+ };
32
+ finishReason?: string;
33
+ safetyRatings?: unknown[];
34
+ }
35
+ export interface GeminiUsageMetadata {
36
+ promptTokenCount?: number;
37
+ candidatesTokenCount?: number;
38
+ totalTokenCount?: number;
39
+ }
40
+ export interface GeminiResponse {
41
+ candidates?: GeminiCandidate[];
42
+ promptFeedback?: Record<string, unknown>;
43
+ usageMetadata?: GeminiUsageMetadata;
44
+ modelVersion?: string;
45
+ }
46
+ export interface GeminiEventStats {
47
+ totalEvents: number;
48
+ chunkEvents: number;
49
+ doneEvents: number;
50
+ errors: number;
51
+ startTime: number;
52
+ endTime?: number;
53
+ }
54
+ export interface GeminiJsonToSseOptions {
55
+ requestId: string;
56
+ model?: string;
57
+ chunkDelayMs?: number;
58
+ reasoningMode?: ChatReasoningMode;
59
+ reasoningTextPrefix?: string;
60
+ }
61
+ export interface GeminiJsonToSseContext {
62
+ requestId: string;
63
+ model?: string;
64
+ response: GeminiResponse;
65
+ options: GeminiJsonToSseOptions;
66
+ startTime: number;
67
+ eventStats: GeminiEventStats;
68
+ }
69
+ export interface SseToGeminiJsonOptions {
70
+ requestId: string;
71
+ model?: string;
72
+ reasoningMode?: ChatReasoningMode;
73
+ reasoningTextPrefix?: string;
74
+ }
75
+ export interface SseToGeminiJsonContext {
76
+ requestId: string;
77
+ model?: string;
78
+ options: {
79
+ reasoningMode?: ChatReasoningMode;
80
+ reasoningTextPrefix?: string;
81
+ };
82
+ startTime: number;
83
+ eventStats: GeminiEventStats;
84
+ isCompleted: boolean;
85
+ }
86
+ export type GeminiSseEventType = 'gemini.data' | 'gemini.done' | 'gemini.error';
87
+ export interface GeminiSseEvent extends BaseSseEvent {
88
+ type: GeminiSseEventType;
89
+ event?: GeminiSseEventType;
90
+ protocol: 'gemini-chat';
91
+ direction: StreamDirection;
92
+ data: unknown;
93
+ }
94
+ export interface GeminiChunkEventData {
95
+ kind: 'part';
96
+ candidateIndex: number;
97
+ partIndex: number;
98
+ role: string;
99
+ part: GeminiContentPart;
100
+ }
101
+ export interface GeminiDoneEventData {
102
+ kind: 'done';
103
+ usageMetadata?: GeminiUsageMetadata;
104
+ promptFeedback?: Record<string, unknown>;
105
+ modelVersion?: string;
106
+ candidates?: Array<{
107
+ index: number;
108
+ finishReason?: string;
109
+ safetyRatings?: unknown[];
110
+ }>;
111
+ }
112
+ export declare const DEFAULT_GEMINI_CONVERSION_CONFIG: {
113
+ chunkDelayMs: number;
114
+ reasoningMode: ChatReasoningMode;
115
+ reasoningTextPrefix: string | undefined;
116
+ };
@@ -0,0 +1,5 @@
1
+ export const DEFAULT_GEMINI_CONVERSION_CONFIG = {
2
+ chunkDelayMs: 0,
3
+ reasoningMode: 'channel',
4
+ reasoningTextPrefix: undefined
5
+ };
@@ -3,11 +3,14 @@
3
3
  * 支持Responses和Chat协议的JSON↔SSE双向转换
4
4
  */
5
5
  export type { BaseSseEvent, BaseSseEventStream, StreamProtocol, StreamDirection, SseProtocol, SseDirection } from './core-interfaces.js';
6
- export type { ChatSseEvent, ChatSseEventType, ChatSseEventStream, ChatEventStats, ChatJsonToSseContext, SseToChatJsonContext, ChatCompletionRequest, ChatCompletionResponse, ChatCompletionChunk, ChatJsonToSseOptions, SseToChatJsonOptions, ChatConversionError, ChatToolCall, ChatChoiceBuilder, ChatMessageBuilder, ChatToolCallBuilder } from './chat-types.js';
6
+ export type { ChatSseEvent, ChatSseEventType, ChatSseEventStream, ChatEventStats, ChatJsonToSseContext, SseToChatJsonContext, ChatCompletionRequest, ChatCompletionResponse, ChatCompletionChunk, ChatMessage, ChatJsonToSseOptions, SseToChatJsonOptions, ChatConversionError, ChatToolCall, ChatToolCallChunk, ChatChoiceBuilder, ChatMessageBuilder, ChatToolCallBuilder, ChatReasoningMode } from './chat-types.js';
7
7
  export type { ChatJsonToSseConverter } from '../json-to-sse/chat-json-to-sse-converter.js';
8
8
  export type { ResponsesJsonToSseConverter } from '../json-to-sse/responses-json-to-sse-converter.js';
9
9
  export type { ResponsesSseEvent, ResponsesSseEventType, ResponsesSseEventStream, ResponsesEventStats, ResponsesJsonToSseContext, SseToResponsesJsonContext, ResponsesJsonToSseOptions, SseToResponsesJsonOptions, ResponsesResponse, ResponsesRequest, ResponsesOutputItem, ResponsesMessageItem, ResponsesFunctionCallItem, ResponsesFunctionCallOutputItem, ResponsesReasoningItem, ResponsesContent, ResponsesTool, ResponsesToolCall, ResponsesUsage, OutputItemBuilder, OutputItemProcessingState } from './responses-types.js';
10
- export type { AnthropicMessageResponse } from './anthropic-types.js';
10
+ export type { AnthropicMessageResponse, AnthropicContentBlock, AnthropicJsonToSseContext, AnthropicJsonToSseOptions, AnthropicEventStats, SseToAnthropicJsonContext, SseToAnthropicJsonOptions, AnthropicSseEvent, AnthropicSseEventStream } from './anthropic-types.js';
11
+ export { DEFAULT_ANTHROPIC_CONVERSION_CONFIG } from './anthropic-types.js';
12
+ export type { GeminiResponse, GeminiCandidate, GeminiContentPart, GeminiUsageMetadata, GeminiJsonToSseOptions, GeminiJsonToSseContext, SseToGeminiJsonOptions, SseToGeminiJsonContext, GeminiEventStats, GeminiSseEvent, GeminiChunkEventData, GeminiDoneEventData } from './gemini-types.js';
13
+ export { DEFAULT_GEMINI_CONVERSION_CONFIG } from './gemini-types.js';
11
14
  export type { ChatSseToJsonConverter } from '../sse-to-json/chat-sse-to-json-converter.js';
12
15
  export type { ResponsesSseToJsonConverterRefactored as ResponsesSseToJsonConverter } from '../sse-to-json/responses-sse-to-json-converter.js';
13
16
  export { DEFAULT_CHAT_CONVERSION_CONFIG, CHAT_CONVERSION_ERROR_CODES } from './chat-types.js';
@@ -2,6 +2,8 @@
2
2
  * SSE双向转换模块类型定义统一导出
3
3
  * 支持Responses和Chat协议的JSON↔SSE双向转换
4
4
  */
5
+ export { DEFAULT_ANTHROPIC_CONVERSION_CONFIG } from './anthropic-types.js';
6
+ export { DEFAULT_GEMINI_CONVERSION_CONFIG } from './gemini-types.js';
5
7
  // 常量
6
8
  export { DEFAULT_CHAT_CONVERSION_CONFIG, CHAT_CONVERSION_ERROR_CODES } from './chat-types.js';
7
9
  export { DEFAULT_RESPONSES_CONVERSION_CONFIG, RESPONSES_CONVERSION_ERROR_CODES } from './responses-types.js';