@jsonstudio/llms 0.4.3 → 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 (416) 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/sse/sse-to-json/builders/response-builder.js +2 -1
  20. package/dist/sse/sse-to-json/chat-sse-to-json-converter.js +37 -23
  21. package/dist/sse/sse-to-json/parsers/sse-parser.js +20 -12
  22. package/dist/sse/sse-to-json/responses-sse-to-json-converter.d.ts +1 -0
  23. package/dist/sse/sse-to-json/responses-sse-to-json-converter.js +10 -8
  24. package/dist/sse/types/chat-types.d.ts +9 -6
  25. package/dist/sse/types/conversion-context.d.ts +14 -11
  26. package/dist/sse/types/core-interfaces.d.ts +6 -2
  27. package/dist/sse/types/index.d.ts +1 -1
  28. package/dist/sse/types/responses-types.d.ts +20 -20
  29. package/dist/sse/types/sse-events.d.ts +4 -3
  30. package/dist/sse/types/stream-state.d.ts +34 -39
  31. package/dist/sse/types/utility-types.d.ts +47 -43
  32. package/dist/sse/types/utility-types.js +10 -13
  33. package/dist/tools/tool-registry.js +156 -98
  34. package/package.json +7 -7
  35. package/dist/api/index.d.ts +0 -10
  36. package/dist/api/index.js +0 -11
  37. package/dist/api/llmswitch-config.d.ts +0 -15
  38. package/dist/api/llmswitch-config.js +0 -415
  39. package/dist/api/llmswitch-types.d.ts +0 -412
  40. package/dist/api/llmswitch-types.js +0 -60
  41. package/dist/bridge/routecodex-adapter.d.ts +0 -74
  42. package/dist/config/index.d.ts +0 -3
  43. package/dist/config/index.js +0 -5
  44. package/dist/config-unified/enhanced-path-resolver.d.ts +0 -5
  45. package/dist/config-unified/unified-config.d.ts +0 -26
  46. package/dist/conversion/codec-registry.d.ts +0 -10
  47. package/dist/conversion/codecs/anthropic-openai-codec.d.ts +0 -23
  48. package/dist/conversion/codecs/gemini-openai-codec.d.ts +0 -16
  49. package/dist/conversion/codecs/openai-openai-codec.d.ts +0 -12
  50. package/dist/conversion/codecs/responses-openai-codec.d.ts +0 -12
  51. package/dist/conversion/config/config-manager.d.ts +0 -212
  52. package/dist/conversion/conversion-v3/adapters/index.d.ts +0 -2
  53. package/dist/conversion/conversion-v3/adapters/index.js +0 -1
  54. package/dist/conversion/conversion-v3/adapters/v3-to-standard-adapter.d.ts +0 -38
  55. package/dist/conversion/conversion-v3/adapters/v3-to-standard-adapter.js +0 -55
  56. package/dist/conversion/conversion-v3/compatibility/compatibility-profiles.d.ts +0 -22
  57. package/dist/conversion/conversion-v3/compatibility/compatibility-profiles.js +0 -84
  58. package/dist/conversion/conversion-v3/compatibility/compatibility-stages.d.ts +0 -4
  59. package/dist/conversion/conversion-v3/compatibility/compatibility-stages.js +0 -285
  60. package/dist/conversion/conversion-v3/compatibility/index.d.ts +0 -3
  61. package/dist/conversion/conversion-v3/compatibility/index.js +0 -2
  62. package/dist/conversion/conversion-v3/config/default-configs.d.ts +0 -48
  63. package/dist/conversion/conversion-v3/config/default-configs.js +0 -1007
  64. package/dist/conversion/conversion-v3/config/index.d.ts +0 -5
  65. package/dist/conversion/conversion-v3/config/index.js +0 -5
  66. package/dist/conversion/conversion-v3/config/pipeline-config-manager.d.ts +0 -49
  67. package/dist/conversion/conversion-v3/config/pipeline-config-manager.js +0 -65
  68. package/dist/conversion/conversion-v3/index.d.ts +0 -11
  69. package/dist/conversion/conversion-v3/index.js +0 -17
  70. package/dist/conversion/conversion-v3/nodes/index.d.ts +0 -56
  71. package/dist/conversion/conversion-v3/nodes/index.js +0 -149
  72. package/dist/conversion/conversion-v3/nodes/input/anthropic-input-node.d.ts +0 -25
  73. package/dist/conversion/conversion-v3/nodes/input/anthropic-input-node.js +0 -56
  74. package/dist/conversion/conversion-v3/nodes/input/base-input-node.d.ts +0 -75
  75. package/dist/conversion/conversion-v3/nodes/input/base-input-node.js +0 -237
  76. package/dist/conversion/conversion-v3/nodes/input/chat-input-node.d.ts +0 -25
  77. package/dist/conversion/conversion-v3/nodes/input/chat-input-node.js +0 -56
  78. package/dist/conversion/conversion-v3/nodes/input/chat-shape-helpers.d.ts +0 -4
  79. package/dist/conversion/conversion-v3/nodes/input/chat-shape-helpers.js +0 -197
  80. package/dist/conversion/conversion-v3/nodes/input/gemini-input-node.d.ts +0 -16
  81. package/dist/conversion/conversion-v3/nodes/input/gemini-input-node.js +0 -125
  82. package/dist/conversion/conversion-v3/nodes/input/index.d.ts +0 -8
  83. package/dist/conversion/conversion-v3/nodes/input/index.js +0 -8
  84. package/dist/conversion/conversion-v3/nodes/input/input-decision.d.ts +0 -46
  85. package/dist/conversion/conversion-v3/nodes/input/input-decision.js +0 -125
  86. package/dist/conversion/conversion-v3/nodes/input/responses-input-node.d.ts +0 -20
  87. package/dist/conversion/conversion-v3/nodes/input/responses-input-node.js +0 -51
  88. package/dist/conversion/conversion-v3/nodes/output/anthropic-output-node.d.ts +0 -71
  89. package/dist/conversion/conversion-v3/nodes/output/anthropic-output-node.js +0 -320
  90. package/dist/conversion/conversion-v3/nodes/output/base-output-node.d.ts +0 -116
  91. package/dist/conversion/conversion-v3/nodes/output/base-output-node.js +0 -512
  92. package/dist/conversion/conversion-v3/nodes/output/index.d.ts +0 -7
  93. package/dist/conversion/conversion-v3/nodes/output/index.js +0 -7
  94. package/dist/conversion/conversion-v3/nodes/output/openai-output-node.d.ts +0 -71
  95. package/dist/conversion/conversion-v3/nodes/output/openai-output-node.js +0 -293
  96. package/dist/conversion/conversion-v3/nodes/output/output-decision.d.ts +0 -68
  97. package/dist/conversion/conversion-v3/nodes/output/output-decision.js +0 -161
  98. package/dist/conversion/conversion-v3/nodes/output/responses-output-node.d.ts +0 -64
  99. package/dist/conversion/conversion-v3/nodes/output/responses-output-node.js +0 -323
  100. package/dist/conversion/conversion-v3/nodes/process/base-process-node.d.ts +0 -72
  101. package/dist/conversion/conversion-v3/nodes/process/base-process-node.js +0 -246
  102. package/dist/conversion/conversion-v3/nodes/process/chat-process-node.d.ts +0 -135
  103. package/dist/conversion/conversion-v3/nodes/process/chat-process-node.js +0 -854
  104. package/dist/conversion/conversion-v3/nodes/process/compatibility-process-node.d.ts +0 -29
  105. package/dist/conversion/conversion-v3/nodes/process/compatibility-process-node.js +0 -181
  106. package/dist/conversion/conversion-v3/nodes/process/index.d.ts +0 -10
  107. package/dist/conversion/conversion-v3/nodes/process/index.js +0 -10
  108. package/dist/conversion/conversion-v3/nodes/process/passthrough-process-node.d.ts +0 -59
  109. package/dist/conversion/conversion-v3/nodes/process/passthrough-process-node.js +0 -243
  110. package/dist/conversion/conversion-v3/nodes/process/response-process-node.d.ts +0 -17
  111. package/dist/conversion/conversion-v3/nodes/process/response-process-node.js +0 -213
  112. package/dist/conversion/conversion-v3/nodes/process/tool-process-node.d.ts +0 -30
  113. package/dist/conversion/conversion-v3/nodes/process/tool-process-node.js +0 -360
  114. package/dist/conversion/conversion-v3/nodes/process/virtual-router-process-node.d.ts +0 -40
  115. package/dist/conversion/conversion-v3/nodes/process/virtual-router-process-node.js +0 -430
  116. package/dist/conversion/conversion-v3/nodes/response/anthropic-response-input-node.d.ts +0 -12
  117. package/dist/conversion/conversion-v3/nodes/response/anthropic-response-input-node.js +0 -129
  118. package/dist/conversion/conversion-v3/nodes/response/chat-to-responses-response-node.d.ts +0 -15
  119. package/dist/conversion/conversion-v3/nodes/response/chat-to-responses-response-node.js +0 -57
  120. package/dist/conversion/conversion-v3/nodes/response/index.d.ts +0 -4
  121. package/dist/conversion/conversion-v3/nodes/response/index.js +0 -4
  122. package/dist/conversion/conversion-v3/nodes/response/openai-response-input-node.d.ts +0 -15
  123. package/dist/conversion/conversion-v3/nodes/response/openai-response-input-node.js +0 -87
  124. package/dist/conversion/conversion-v3/nodes/response/response-utils.d.ts +0 -1
  125. package/dist/conversion/conversion-v3/nodes/response/response-utils.js +0 -1
  126. package/dist/conversion/conversion-v3/nodes/response/responses-response-input-node.d.ts +0 -12
  127. package/dist/conversion/conversion-v3/nodes/response/responses-response-input-node.js +0 -67
  128. package/dist/conversion/conversion-v3/nodes/sse/index.d.ts +0 -3
  129. package/dist/conversion/conversion-v3/nodes/sse/index.js +0 -3
  130. package/dist/conversion/conversion-v3/nodes/sse/sse-input-node.d.ts +0 -27
  131. package/dist/conversion/conversion-v3/nodes/sse/sse-input-node.js +0 -165
  132. package/dist/conversion/conversion-v3/nodes/sse/sse-output-node.d.ts +0 -19
  133. package/dist/conversion/conversion-v3/nodes/sse/sse-output-node.js +0 -267
  134. package/dist/conversion/conversion-v3/nodes/sse/sse-passthrough-node.d.ts +0 -18
  135. package/dist/conversion/conversion-v3/nodes/sse/sse-passthrough-node.js +0 -48
  136. package/dist/conversion/conversion-v3/pipelines/index.d.ts +0 -6
  137. package/dist/conversion/conversion-v3/pipelines/index.js +0 -6
  138. package/dist/conversion/conversion-v3/pipelines/super-pipeline.d.ts +0 -112
  139. package/dist/conversion/conversion-v3/pipelines/super-pipeline.js +0 -566
  140. package/dist/conversion/conversion-v3/response/provider-response-converter.d.ts +0 -28
  141. package/dist/conversion/conversion-v3/response/provider-response-converter.js +0 -249
  142. package/dist/conversion/conversion-v3/sse/index.d.ts +0 -140
  143. package/dist/conversion/conversion-v3/sse/index.js +0 -115
  144. package/dist/conversion/conversion-v3/sse/json-to-sse/anthropic-json-to-sse-converter.d.ts +0 -11
  145. package/dist/conversion/conversion-v3/sse/json-to-sse/anthropic-json-to-sse-converter.js +0 -79
  146. package/dist/conversion/conversion-v3/sse/json-to-sse/chat-json-to-sse-converter.d.ts +0 -79
  147. package/dist/conversion/conversion-v3/sse/json-to-sse/chat-json-to-sse-converter.js +0 -296
  148. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/chat.d.ts +0 -55
  149. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/chat.js +0 -233
  150. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/responses.d.ts +0 -99
  151. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/responses.js +0 -599
  152. package/dist/conversion/conversion-v3/sse/json-to-sse/index.d.ts +0 -6
  153. package/dist/conversion/conversion-v3/sse/json-to-sse/index.js +0 -7
  154. package/dist/conversion/conversion-v3/sse/json-to-sse/responses-json-to-sse-converter.d.ts +0 -79
  155. package/dist/conversion/conversion-v3/sse/json-to-sse/responses-json-to-sse-converter.js +0 -322
  156. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/chat-sequencer.d.ts +0 -37
  157. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/chat-sequencer.js +0 -218
  158. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/responses-sequencer.d.ts +0 -40
  159. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/responses-sequencer.js +0 -263
  160. package/dist/conversion/conversion-v3/sse/registry/sse-codec-registry.d.ts +0 -32
  161. package/dist/conversion/conversion-v3/sse/registry/sse-codec-registry.js +0 -106
  162. package/dist/conversion/conversion-v3/sse/shared/chat-serializer.d.ts +0 -4
  163. package/dist/conversion/conversion-v3/sse/shared/chat-serializer.js +0 -40
  164. package/dist/conversion/conversion-v3/sse/shared/constants.d.ts +0 -272
  165. package/dist/conversion/conversion-v3/sse/shared/constants.js +0 -321
  166. package/dist/conversion/conversion-v3/sse/shared/serializers/base-serializer.d.ts +0 -158
  167. package/dist/conversion/conversion-v3/sse/shared/serializers/base-serializer.js +0 -210
  168. package/dist/conversion/conversion-v3/sse/shared/serializers/chat-event-serializer.d.ts +0 -82
  169. package/dist/conversion/conversion-v3/sse/shared/serializers/chat-event-serializer.js +0 -275
  170. package/dist/conversion/conversion-v3/sse/shared/serializers/index.d.ts +0 -39
  171. package/dist/conversion/conversion-v3/sse/shared/serializers/index.js +0 -54
  172. package/dist/conversion/conversion-v3/sse/shared/serializers/responses-event-serializer.d.ts +0 -123
  173. package/dist/conversion/conversion-v3/sse/shared/serializers/responses-event-serializer.js +0 -356
  174. package/dist/conversion/conversion-v3/sse/shared/serializers/types.d.ts +0 -51
  175. package/dist/conversion/conversion-v3/sse/shared/serializers/types.js +0 -4
  176. package/dist/conversion/conversion-v3/sse/shared/utils.d.ts +0 -254
  177. package/dist/conversion/conversion-v3/sse/shared/utils.js +0 -543
  178. package/dist/conversion/conversion-v3/sse/shared/writer.d.ts +0 -111
  179. package/dist/conversion/conversion-v3/sse/shared/writer.js +0 -268
  180. package/dist/conversion/conversion-v3/sse/sse-to-json/anthropic-sse-to-json-converter.d.ts +0 -13
  181. package/dist/conversion/conversion-v3/sse/sse-to-json/anthropic-sse-to-json-converter.js +0 -139
  182. package/dist/conversion/conversion-v3/sse/sse-to-json/builders/response-builder.d.ts +0 -165
  183. package/dist/conversion/conversion-v3/sse/sse-to-json/builders/response-builder.js +0 -776
  184. package/dist/conversion/conversion-v3/sse/sse-to-json/chat-sse-to-json-converter.d.ts +0 -106
  185. package/dist/conversion/conversion-v3/sse/sse-to-json/chat-sse-to-json-converter.js +0 -540
  186. package/dist/conversion/conversion-v3/sse/sse-to-json/index.d.ts +0 -6
  187. package/dist/conversion/conversion-v3/sse/sse-to-json/index.js +0 -7
  188. package/dist/conversion/conversion-v3/sse/sse-to-json/parsers/sse-parser.d.ts +0 -73
  189. package/dist/conversion/conversion-v3/sse/sse-to-json/parsers/sse-parser.js +0 -332
  190. package/dist/conversion/conversion-v3/sse/sse-to-json/responses-sse-to-json-converter.d.ts +0 -59
  191. package/dist/conversion/conversion-v3/sse/sse-to-json/responses-sse-to-json-converter.js +0 -270
  192. package/dist/conversion/conversion-v3/sse/types/anthropic-types.d.ts +0 -87
  193. package/dist/conversion/conversion-v3/sse/types/anthropic-types.js +0 -5
  194. package/dist/conversion/conversion-v3/sse/types/chat-types.d.ts +0 -308
  195. package/dist/conversion/conversion-v3/sse/types/chat-types.js +0 -32
  196. package/dist/conversion/conversion-v3/sse/types/conversion-context.d.ts +0 -211
  197. package/dist/conversion/conversion-v3/sse/types/conversion-context.js +0 -20
  198. package/dist/conversion/conversion-v3/sse/types/core-interfaces.d.ts +0 -90
  199. package/dist/conversion/conversion-v3/sse/types/core-interfaces.js +0 -5
  200. package/dist/conversion/conversion-v3/sse/types/index.d.ts +0 -14
  201. package/dist/conversion/conversion-v3/sse/types/index.js +0 -7
  202. package/dist/conversion/conversion-v3/sse/types/responses-types.d.ts +0 -328
  203. package/dist/conversion/conversion-v3/sse/types/responses-types.js +0 -38
  204. package/dist/conversion/conversion-v3/sse/types/sse-events.d.ts +0 -180
  205. package/dist/conversion/conversion-v3/sse/types/sse-events.js +0 -150
  206. package/dist/conversion/conversion-v3/sse/types/stream-state.d.ts +0 -204
  207. package/dist/conversion/conversion-v3/sse/types/stream-state.js +0 -44
  208. package/dist/conversion/conversion-v3/sse/types/utility-types.d.ts +0 -230
  209. package/dist/conversion/conversion-v3/sse/types/utility-types.js +0 -49
  210. package/dist/conversion/conversion-v3/standards/context-adapter.d.ts +0 -146
  211. package/dist/conversion/conversion-v3/standards/context-adapter.js +0 -438
  212. package/dist/conversion/conversion-v3/standards/errors.d.ts +0 -38
  213. package/dist/conversion/conversion-v3/standards/errors.js +0 -27
  214. package/dist/conversion/conversion-v3/standards/index.d.ts +0 -15
  215. package/dist/conversion/conversion-v3/standards/index.js +0 -11
  216. package/dist/conversion/conversion-v3/standards/node-capabilities.d.ts +0 -123
  217. package/dist/conversion/conversion-v3/standards/node-capabilities.js +0 -330
  218. package/dist/conversion/conversion-v3/standards/pipeline-context.d.ts +0 -237
  219. package/dist/conversion/conversion-v3/standards/pipeline-context.js +0 -84
  220. package/dist/conversion/conversion-v3/standards/pipeline-node.d.ts +0 -196
  221. package/dist/conversion/conversion-v3/standards/pipeline-node.js +0 -316
  222. package/dist/conversion/conversion-v3/standards/snapshot-handles.d.ts +0 -24
  223. package/dist/conversion/conversion-v3/standards/snapshot-handles.js +0 -49
  224. package/dist/conversion/conversion-v3/types/config-types.d.ts +0 -242
  225. package/dist/conversion/conversion-v3/types/config-types.js +0 -13
  226. package/dist/conversion/conversion-v3/types/index.d.ts +0 -8
  227. package/dist/conversion/conversion-v3/types/index.js +0 -11
  228. package/dist/conversion/conversion-v3/types/node-types.d.ts +0 -211
  229. package/dist/conversion/conversion-v3/types/node-types.js +0 -20
  230. package/dist/conversion/conversion-v3/types/pipeline-types.d.ts +0 -246
  231. package/dist/conversion/conversion-v3/types/pipeline-types.js +0 -26
  232. package/dist/conversion/conversion-v3/types/request-types.d.ts +0 -293
  233. package/dist/conversion/conversion-v3/types/request-types.js +0 -26
  234. package/dist/conversion/conversion-v3/utils/provider-payload-sanitizer.d.ts +0 -10
  235. package/dist/conversion/conversion-v3/utils/provider-payload-sanitizer.js +0 -103
  236. package/dist/conversion/conversion-v3/validations/index.d.ts +0 -8
  237. package/dist/conversion/conversion-v3/validations/index.js +0 -7
  238. package/dist/conversion/conversion-v3/validations/node-graph-validator.d.ts +0 -116
  239. package/dist/conversion/conversion-v3/validations/node-graph-validator.js +0 -505
  240. package/dist/conversion/conversion-v3/validations/tool-governance-enforcer.d.ts +0 -139
  241. package/dist/conversion/conversion-v3/validations/tool-governance-enforcer.js +0 -338
  242. package/dist/conversion/hub/config/types.d.ts +0 -26
  243. package/dist/conversion/hub/core/detour-registry.d.ts +0 -9
  244. package/dist/conversion/hub/core/hub-context.d.ts +0 -21
  245. package/dist/conversion/hub/core/index.d.ts +0 -3
  246. package/dist/conversion/hub/core/stage-driver.d.ts +0 -30
  247. package/dist/conversion/hub/format-adapters/anthropic-format-adapter.d.ts +0 -16
  248. package/dist/conversion/hub/format-adapters/chat-format-adapter.d.ts +0 -17
  249. package/dist/conversion/hub/format-adapters/gemini-format-adapter.d.ts +0 -16
  250. package/dist/conversion/hub/format-adapters/index.d.ts +0 -21
  251. package/dist/conversion/hub/format-adapters/responses-format-adapter.d.ts +0 -17
  252. package/dist/conversion/hub/hub-feature.d.ts +0 -1
  253. package/dist/conversion/hub/node-support.d.ts +0 -19
  254. package/dist/conversion/hub/pipeline/hub-pipeline.d.ts +0 -68
  255. package/dist/conversion/hub/pipelines/inbound.d.ts +0 -22
  256. package/dist/conversion/hub/pipelines/outbound.d.ts +0 -22
  257. package/dist/conversion/hub/process/chat-process.d.ts +0 -13
  258. package/dist/conversion/hub/registry.d.ts +0 -28
  259. package/dist/conversion/hub/response/chat-response-utils.d.ts +0 -6
  260. package/dist/conversion/hub/response/provider-response.d.ts +0 -20
  261. package/dist/conversion/hub/response/response-mappers.d.ts +0 -19
  262. package/dist/conversion/hub/response/response-runtime.d.ts +0 -3
  263. package/dist/conversion/hub/semantic-mappers/anthropic-mapper.d.ts +0 -7
  264. package/dist/conversion/hub/semantic-mappers/chat-mapper.d.ts +0 -7
  265. package/dist/conversion/hub/semantic-mappers/gemini-mapper.d.ts +0 -7
  266. package/dist/conversion/hub/semantic-mappers/index.d.ts +0 -4
  267. package/dist/conversion/hub/semantic-mappers/responses-mapper.d.ts +0 -21
  268. package/dist/conversion/hub/snapshot-recorder.d.ts +0 -12
  269. package/dist/conversion/hub/standardized-bridge.d.ts +0 -12
  270. package/dist/conversion/hub/types/chat-envelope.d.ts +0 -67
  271. package/dist/conversion/hub/types/chat-schema.d.ts +0 -112
  272. package/dist/conversion/hub/types/errors.d.ts +0 -5
  273. package/dist/conversion/hub/types/format-envelope.d.ts +0 -7
  274. package/dist/conversion/hub/types/index.d.ts +0 -6
  275. package/dist/conversion/hub/types/json.d.ts +0 -9
  276. package/dist/conversion/hub/types/node.d.ts +0 -31
  277. package/dist/conversion/hub/types/standardized.d.ts +0 -94
  278. package/dist/conversion/responses/responses-openai-bridge.d.ts +0 -95
  279. package/dist/conversion/schema-validator.d.ts +0 -7
  280. package/dist/conversion/shared/args-mapping.d.ts +0 -18
  281. package/dist/conversion/shared/chat-request-filters.d.ts +0 -9
  282. package/dist/conversion/shared/jsonish.d.ts +0 -3
  283. package/dist/conversion/shared/mcp-injection.d.ts +0 -2
  284. package/dist/conversion/shared/media.d.ts +0 -1
  285. package/dist/conversion/shared/openai-finalizer.d.ts +0 -9
  286. package/dist/conversion/shared/openai-message-normalize.d.ts +0 -1
  287. package/dist/conversion/shared/payload-budget.d.ts +0 -13
  288. package/dist/conversion/shared/reasoning-mapping.d.ts +0 -5
  289. package/dist/conversion/shared/responses-conversation-store.d.ts +0 -41
  290. package/dist/conversion/shared/responses-id-utils.d.ts +0 -7
  291. package/dist/conversion/shared/responses-instructions.d.ts +0 -1
  292. package/dist/conversion/shared/responses-metadata.d.ts +0 -1
  293. package/dist/conversion/shared/responses-request-adapter.d.ts +0 -66
  294. package/dist/conversion/shared/snapshot-hooks.d.ts +0 -12
  295. package/dist/conversion/shared/streaming-text-extractor.d.ts +0 -26
  296. package/dist/conversion/shared/text-markup-normalizer.d.ts +0 -9
  297. package/dist/conversion/shared/tool-canonicalizer.d.ts +0 -2
  298. package/dist/conversion/shared/tool-filter-pipeline.d.ts +0 -17
  299. package/dist/conversion/shared/tool-governor.d.ts +0 -27
  300. package/dist/conversion/shared/tool-harvester.d.ts +0 -31
  301. package/dist/conversion/shared/tool-mapping.d.ts +0 -10
  302. package/dist/conversion/shared/tooling.d.ts +0 -26
  303. package/dist/conversion/types.d.ts +0 -33
  304. package/dist/core/index.d.ts +0 -6
  305. package/dist/core/index.js +0 -9
  306. package/dist/core/llmswitch-engine-v2.d.ts +0 -132
  307. package/dist/core/llmswitch-engine-v2.js +0 -649
  308. package/dist/core/llmswitch-factory-v2.d.ts +0 -123
  309. package/dist/core/llmswitch-factory-v2.js +0 -521
  310. package/dist/endpoints/base-endpoint-handler.d.ts +0 -128
  311. package/dist/endpoints/base-endpoint-handler.js +0 -545
  312. package/dist/endpoints/chat-endpoint-handler.d.ts +0 -115
  313. package/dist/endpoints/chat-endpoint-handler.js +0 -218
  314. package/dist/endpoints/endpoint-router.d.ts +0 -127
  315. package/dist/endpoints/endpoint-router.js +0 -438
  316. package/dist/endpoints/index.d.ts +0 -13
  317. package/dist/endpoints/index.js +0 -11
  318. package/dist/endpoints/messages-endpoint-handler.d.ts +0 -171
  319. package/dist/endpoints/messages-endpoint-handler.js +0 -238
  320. package/dist/endpoints/responses-endpoint-handler.d.ts +0 -147
  321. package/dist/endpoints/responses-endpoint-handler.js +0 -233
  322. package/dist/filters/builtin/add-fields-filter.d.ts +0 -8
  323. package/dist/filters/builtin/blacklist-filter.d.ts +0 -8
  324. package/dist/filters/builtin/whitelist-filter.d.ts +0 -8
  325. package/dist/filters/engine.d.ts +0 -16
  326. package/dist/filters/index.d.ts +0 -19
  327. package/dist/filters/special/request-streaming-to-nonstreaming.d.ts +0 -12
  328. package/dist/filters/special/request-tool-choice-policy.d.ts +0 -11
  329. package/dist/filters/special/request-tool-list-filter.d.ts +0 -11
  330. package/dist/filters/special/request-toolcalls-stringify.d.ts +0 -10
  331. package/dist/filters/special/request-tools-normalize.d.ts +0 -12
  332. package/dist/filters/special/response-finish-invariants.d.ts +0 -11
  333. package/dist/filters/special/response-openai-to-responses-bridge.d.ts +0 -13
  334. package/dist/filters/special/response-tool-arguments-blacklist.d.ts +0 -12
  335. package/dist/filters/special/response-tool-arguments-schema-converge.d.ts +0 -13
  336. package/dist/filters/special/response-tool-arguments-stringify.d.ts +0 -9
  337. package/dist/filters/special/response-tool-arguments-toon-decode.d.ts +0 -10
  338. package/dist/filters/special/response-tool-arguments-whitelist.d.ts +0 -11
  339. package/dist/filters/special/response-tool-text-canonicalize.d.ts +0 -10
  340. package/dist/filters/special/tool-filter-hooks.d.ts +0 -19
  341. package/dist/filters/special/tool-post-constraints.d.ts +0 -31
  342. package/dist/filters/types.d.ts +0 -68
  343. package/dist/filters/utils/fieldmap-loader.d.ts +0 -2
  344. package/dist/filters/utils/snapshot-writer.d.ts +0 -10
  345. package/dist/guidance/index.d.ts +0 -3
  346. package/dist/hooks/hooks-integration.d.ts +0 -161
  347. package/dist/hooks/hooks-integration.js +0 -519
  348. package/dist/hooks/index.d.ts +0 -10
  349. package/dist/hooks/index.js +0 -13
  350. package/dist/html-to-markdown.d.ts +0 -5
  351. package/dist/html-to-markdown.js +0 -66
  352. package/dist/http/sse-response.d.ts +0 -22
  353. package/dist/router/virtual-router/bootstrap.d.ts +0 -6
  354. package/dist/router/virtual-router/classifier.d.ts +0 -10
  355. package/dist/router/virtual-router/engine.d.ts +0 -35
  356. package/dist/router/virtual-router/error-center.d.ts +0 -10
  357. package/dist/router/virtual-router/features.d.ts +0 -3
  358. package/dist/router/virtual-router/health-manager.d.ts +0 -18
  359. package/dist/router/virtual-router/load-balancer.d.ts +0 -18
  360. package/dist/router/virtual-router/provider-registry.d.ts +0 -11
  361. package/dist/router/virtual-router/types.d.ts +0 -206
  362. package/dist/sse/json-to-sse/anthropic-json-to-sse-converter.d.ts +0 -11
  363. package/dist/sse/json-to-sse/chat-json-to-sse-converter.d.ts +0 -79
  364. package/dist/sse/json-to-sse/event-generators/chat.d.ts +0 -55
  365. package/dist/sse/json-to-sse/event-generators/responses.d.ts +0 -99
  366. package/dist/sse/json-to-sse/index.d.ts +0 -6
  367. package/dist/sse/json-to-sse/responses-json-to-sse-converter.d.ts +0 -79
  368. package/dist/sse/json-to-sse/sequencers/chat-sequencer.d.ts +0 -37
  369. package/dist/sse/json-to-sse/sequencers/responses-sequencer.d.ts +0 -40
  370. package/dist/sse/registry/sse-codec-registry.d.ts +0 -32
  371. package/dist/sse/shared/chat-serializer.d.ts +0 -4
  372. package/dist/sse/shared/constants.d.ts +0 -272
  373. package/dist/sse/shared/serializers/base-serializer.d.ts +0 -158
  374. package/dist/sse/shared/serializers/chat-event-serializer.d.ts +0 -82
  375. package/dist/sse/shared/serializers/index.d.ts +0 -39
  376. package/dist/sse/shared/serializers/responses-event-serializer.d.ts +0 -123
  377. package/dist/sse/shared/serializers/types.d.ts +0 -51
  378. package/dist/sse/shared/utils.d.ts +0 -254
  379. package/dist/sse/shared/writer.d.ts +0 -111
  380. package/dist/sse/sse-to-json/anthropic-sse-to-json-converter.d.ts +0 -13
  381. package/dist/sse/sse-to-json/builders/response-builder.d.ts +0 -165
  382. package/dist/sse/sse-to-json/chat-sse-to-json-converter.d.ts +0 -106
  383. package/dist/sse/sse-to-json/index.d.ts +0 -6
  384. package/dist/sse/sse-to-json/parsers/sse-parser.d.ts +0 -73
  385. package/dist/sse/types/anthropic-types.d.ts +0 -87
  386. package/dist/tools/proxy/anthropic-tool-proxy.d.ts +0 -19
  387. package/dist/tools/proxy/anthropic-tool-proxy.js +0 -57
  388. package/dist/tools/proxy/executors/web-fetch.d.ts +0 -6
  389. package/dist/tools/proxy/executors/web-fetch.js +0 -39
  390. package/dist/tools/proxy/registry.d.ts +0 -8
  391. package/dist/tools/proxy/registry.js +0 -14
  392. package/dist/tools/proxy/types.d.ts +0 -29
  393. package/dist/tools/tool-registry.d.ts +0 -8
  394. package/dist/tools/web-fetch-html.d.ts +0 -15
  395. package/dist/tools/web-fetch-html.js +0 -83
  396. package/dist/utils/conversion-adapter.d.ts +0 -65
  397. package/dist/utils/conversion-adapter.js +0 -183
  398. package/dist/utils/error-factory.d.ts +0 -88
  399. package/dist/utils/error-factory.js +0 -138
  400. package/dist/utils/error-utils.d.ts +0 -334
  401. package/dist/utils/error-utils.js +0 -782
  402. package/dist/utils/index.d.ts +0 -8
  403. package/dist/utils/index.js +0 -13
  404. package/dist/utils/performance-utils.d.ts +0 -205
  405. package/dist/utils/performance-utils.js +0 -440
  406. package/dist/utils/profile-mapper.d.ts +0 -32
  407. package/dist/utils/profile-mapper.js +0 -269
  408. package/dist/utils/request-processor.d.ts +0 -52
  409. package/dist/utils/request-processor.js +0 -210
  410. package/dist/utils/request-utils.d.ts +0 -117
  411. package/dist/utils/request-utils.js +0 -333
  412. package/dist/utils/response-utils.d.ts +0 -127
  413. package/dist/utils/response-utils.js +0 -516
  414. package/dist/utils/token-counter.d.ts +0 -89
  415. package/dist/utils/token-counter.js +0 -541
  416. /package/dist/{tools/proxy → conversion/hub/tool-governance}/types.js +0 -0
@@ -76,16 +76,18 @@ function parseSseLine(line) {
76
76
  * 将原始SSE行组装为事件
77
77
  */
78
78
  export function assembleSseEvent(lines) {
79
- if (lines.length === 0)
79
+ if (lines.length === 0) {
80
80
  return null;
81
+ }
81
82
  const event = {
82
83
  event: 'message', // 默认事件类型
83
84
  data: ''
84
85
  };
85
86
  for (const line of lines) {
86
87
  const { field, value } = parseSseLine(line);
87
- if (!field)
88
+ if (!field) {
88
89
  continue;
90
+ }
89
91
  switch (field) {
90
92
  case 'id':
91
93
  event.id = value;
@@ -94,7 +96,7 @@ export function assembleSseEvent(lines) {
94
96
  event.event = value;
95
97
  break;
96
98
  case 'data':
97
- event.data = event.data ? event.data + '\n' + value : value;
99
+ event.data = event.data ? `${event.data}\n${value}` : value;
98
100
  break;
99
101
  case 'retry':
100
102
  event.retry = value;
@@ -119,7 +121,8 @@ function safeJsonParse(data) {
119
121
  return JSON.parse(data);
120
122
  }
121
123
  catch (error) {
122
- throw new Error(`Invalid JSON data: ${error.message}`);
124
+ const message = error instanceof Error ? error.message : String(error);
125
+ throw new Error(`Invalid JSON data: ${message}`);
123
126
  }
124
127
  }
125
128
  /**
@@ -134,19 +137,23 @@ function validateEventType(eventType, config) {
134
137
  /**
135
138
  * 创建基础事件对象
136
139
  */
137
- function createBaseEvent(rawEvent, config, rawData) {
140
+ function createBaseEvent(rawEvent, config, _rawData) {
138
141
  const baseEvent = {
139
142
  type: rawEvent.event,
140
- timestamp: rawEvent.timestamp || Date.now(),
143
+ timestamp: rawEvent.timestamp ?? Date.now(),
141
144
  data: null,
142
145
  sequenceNumber: typeof rawEvent.id === 'string' ? Number(rawEvent.id) : 0
143
146
  };
144
147
  // 解析数据字段
145
148
  try {
146
149
  if (rawEvent.data) {
147
- baseEvent.data = safeJsonParse(rawEvent.data);
148
- if (baseEvent.data && typeof baseEvent.data.sequence_number === 'number') {
149
- baseEvent.sequenceNumber = baseEvent.data.sequence_number;
150
+ const parsedData = safeJsonParse(rawEvent.data);
151
+ baseEvent.data = parsedData;
152
+ if (parsedData &&
153
+ typeof parsedData === 'object' &&
154
+ 'sequence_number' in parsedData &&
155
+ typeof parsedData.sequence_number === 'number') {
156
+ baseEvent.sequenceNumber = parsedData.sequence_number;
150
157
  }
151
158
  }
152
159
  }
@@ -156,7 +163,7 @@ function createBaseEvent(rawEvent, config, rawData) {
156
163
  baseEvent.type = 'error';
157
164
  }
158
165
  else {
159
- throw error;
166
+ throw error instanceof Error ? error : new Error(String(error));
160
167
  }
161
168
  }
162
169
  return baseEvent;
@@ -249,7 +256,7 @@ export function parseSseEvent(sseText, config = DEFAULT_SSE_PARSER_CONFIG) {
249
256
  result.success = true;
250
257
  }
251
258
  catch (error) {
252
- result.error = error.message;
259
+ result.error = error instanceof Error ? error.message : String(error);
253
260
  }
254
261
  return result;
255
262
  }
@@ -276,8 +283,9 @@ export async function* parseSseStreamAsync(asyncSseData, config = DEFAULT_SSE_PA
276
283
  // 查找完整的事件边界
277
284
  while (true) {
278
285
  const eventEnd = buffer.indexOf('\n\n');
279
- if (eventEnd === -1)
286
+ if (eventEnd === -1) {
280
287
  break;
288
+ }
281
289
  const eventData = buffer.substring(0, eventEnd);
282
290
  buffer = buffer.substring(eventEnd + 2);
283
291
  const result = parseSseEvent(eventData, config);
@@ -27,6 +27,7 @@ export declare class ResponsesSseToJsonConverterRefactored {
27
27
  * 将事件对象序列化为SSE格式(简单实现)
28
28
  */
29
29
  private serializeEventToSSE;
30
+ private chunkStrings;
30
31
  /**
31
32
  * 验证序列号
32
33
  */
@@ -48,14 +48,10 @@ export class ResponsesSseToJsonConverterRefactored {
48
48
  const readableStream = this.createReadableStream(sseStream);
49
49
  // 5. 流式处理SSE数据(按增量缓冲解析,避免跨 chunk 的事件被截断)
50
50
  // 注意:不要对每个 chunk 独立 parse;必须使用一个持续的 async 解析器维持缓冲区。
51
- async function* chunkStrings(stream) {
52
- for await (const chunk of stream) {
53
- yield typeof chunk === 'string' ? chunk : chunk.toString();
54
- }
55
- }
56
- for await (const parseResult of parser.parseStreamAsync(chunkStrings(readableStream))) {
57
- if (context.isCompleted)
51
+ for await (const parseResult of parser.parseStreamAsync(this.chunkStrings(readableStream))) {
52
+ if (context.isCompleted) {
58
53
  break;
54
+ }
59
55
  if (parseResult.success && parseResult.event) {
60
56
  const event = parseResult.event;
61
57
  // 验证序列号
@@ -150,8 +146,14 @@ export class ResponsesSseToJsonConverterRefactored {
150
146
  * 将事件对象序列化为SSE格式(简单实现)
151
147
  */
152
148
  serializeEventToSSE(event) {
149
+ const type = typeof event.type === 'string' ? event.type : 'data';
153
150
  const data = event.data ? JSON.stringify(event.data) : '';
154
- return `event: ${event.type}\ndata: ${data}\n\n`;
151
+ return `event: ${type}\ndata: ${data}\n\n`;
152
+ }
153
+ async *chunkStrings(stream) {
154
+ for await (const chunk of stream) {
155
+ yield typeof chunk === 'string' ? chunk : chunk.toString();
156
+ }
155
157
  }
156
158
  /**
157
159
  * 验证序列号
@@ -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
  }
@@ -121,7 +123,7 @@ export interface ChatMessage {
121
123
  export interface ChatFunction {
122
124
  name: string;
123
125
  description?: string;
124
- parameters?: Record<string, any>;
126
+ parameters?: Record<string, unknown>;
125
127
  }
126
128
  export interface ChatTool {
127
129
  type: 'function';
@@ -160,8 +162,8 @@ export interface ChatJsonToSseContext {
160
162
  currentChunk: Partial<ChatCompletionChunk>;
161
163
  eventStats: ChatEventStats;
162
164
  contentIndexCounter?: Map<string, number>;
163
- currentRequest?: any;
164
- currentResponse?: any;
165
+ currentRequest?: ChatCompletionRequest;
166
+ currentResponse?: ChatCompletionResponse;
165
167
  chatResponse?: ChatCompletionResponse;
166
168
  }
167
169
  export interface SseToChatJsonContext {
@@ -257,7 +259,7 @@ export interface ChatConversionError extends Error {
257
259
  chunkId?: string;
258
260
  choiceIndex?: number;
259
261
  toolCallIndex?: number;
260
- context?: any;
262
+ context?: JsonObject;
261
263
  }
262
264
  export declare const CHAT_CONVERSION_ERROR_CODES: {
263
265
  readonly TIMEOUT: "CHAT_TIMEOUT";
@@ -273,8 +275,8 @@ export interface ChatEventValidationRule {
273
275
  requiredFields: string[];
274
276
  optionalFields: string[];
275
277
  dataValidation?: {
276
- schema?: any;
277
- customValidator?: (data: any) => boolean;
278
+ schema?: JsonObject;
279
+ customValidator?: (data: JsonObject) => boolean;
278
280
  };
279
281
  }
280
282
  export interface ChatConversionConfig {
@@ -306,3 +308,4 @@ export interface ChatSseEventStream extends AsyncIterable<ChatSseEvent> {
306
308
  on(event: 'chunk', handler: (chunk: ChatCompletionChunk) => void): this;
307
309
  on(event: 'stats', handler: (stats: ChatEventStats) => void): this;
308
310
  }
311
+ export {};
@@ -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
  /** 协议标识 */
@@ -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
  }
@@ -3,7 +3,7 @@
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 } 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';
@@ -2,7 +2,7 @@
2
2
  * Responses协议相关类型定义
3
3
  * 支持OpenAI Responses API的JSON↔SSE双向转换
4
4
  */
5
- import { BaseSseEvent, StreamDirection } from './core-interfaces.js';
5
+ import { BaseSseEvent, StreamDirection, type JsonObject, type JsonValue } from './core-interfaces.js';
6
6
  export * from './sse-events.js';
7
7
  export type ResponsesSseEventType = 'response.created' | 'response.in_progress' | 'response.completed' | 'response.required_action' | 'response.done' | 'response.output_item.added' | 'response.output_item.done' | 'response.content_part.added' | 'response.content_part.done' | 'response.output_text.delta' | 'response.output_text.done' | 'response.reasoning_text.delta' | 'response.reasoning_text.done' | 'response.reasoning_signature.delta' | 'response.reasoning_image.delta' | 'response.reasoning_summary_part.added' | 'response.reasoning_summary_part.done' | 'response.reasoning_summary_text.delta' | 'response.reasoning_summary_text.done' | 'response.function_call_arguments.delta' | 'response.function_call_arguments.done' | 'response.error' | 'response.cancelled' | 'response.start' | 'content_part.delta' | 'reasoning.delta' | 'function_call.start' | 'function_call.delta' | 'function_call.done' | 'output_item.start' | 'content_part.start' | 'content_part.done' | 'output_item.done' | 'reasoning.start' | 'reasoning.done' | 'required_action' | 'error';
8
8
  export interface ResponsesSseEvent extends BaseSseEvent {
@@ -37,7 +37,7 @@ export interface SseToResponsesJsonContext {
37
37
  startTime: number;
38
38
  endTime?: number;
39
39
  duration?: number;
40
- aggregatedEvents: any[];
40
+ aggregatedEvents: ResponsesSseEvent[];
41
41
  currentResponse: Partial<ResponsesResponse>;
42
42
  outputItemBuilders: Map<string, OutputItemBuilder>;
43
43
  eventStats: ResponsesEventStats;
@@ -53,7 +53,7 @@ export interface ResponsesRequest {
53
53
  temperature?: number;
54
54
  top_p?: number;
55
55
  max_output_tokens?: number;
56
- metadata?: Record<string, any>;
56
+ metadata?: JsonObject;
57
57
  store?: boolean;
58
58
  truncation?: 'auto' | 'disabled';
59
59
  user?: string;
@@ -80,27 +80,27 @@ export type ResponsesContent = {
80
80
  detail?: 'auto' | 'low' | 'high';
81
81
  } | {
82
82
  type: 'file_search';
83
- file_search: any;
83
+ file_search: JsonObject;
84
84
  } | {
85
85
  type: 'computer_use';
86
- computer_use: any;
86
+ computer_use: JsonObject;
87
87
  } | {
88
88
  type: 'function_call';
89
89
  name: string;
90
90
  arguments: string;
91
91
  } | {
92
92
  type: 'function_result';
93
- result: any;
93
+ result: JsonValue;
94
94
  tool_call_id: string;
95
95
  } | {
96
96
  type: 'conversation';
97
- conversation: any[];
97
+ conversation: JsonValue[];
98
98
  };
99
99
  export interface ResponsesTool {
100
100
  type: 'function';
101
101
  name: string;
102
102
  description?: string;
103
- parameters?: any;
103
+ parameters?: JsonObject;
104
104
  strict?: boolean;
105
105
  }
106
106
  export interface ResponsesReasoningConfig {
@@ -113,7 +113,7 @@ export interface ResponsesResponse {
113
113
  object: 'response';
114
114
  created_at: number;
115
115
  status: 'in_progress' | 'requires_action' | 'completed' | 'failed' | 'incomplete';
116
- error?: any;
116
+ error?: JsonValue;
117
117
  model: string;
118
118
  output: ResponsesOutputItem[];
119
119
  previous_response_id?: string;
@@ -121,7 +121,7 @@ export interface ResponsesResponse {
121
121
  temperature?: number;
122
122
  top_p?: number;
123
123
  max_output_tokens?: number;
124
- metadata?: Record<string, any>;
124
+ metadata?: JsonObject;
125
125
  user?: string;
126
126
  store?: boolean;
127
127
  truncation?: 'auto' | 'disabled';
@@ -147,7 +147,7 @@ export type ResponsesReasoningContent = {
147
147
  text: string;
148
148
  } | {
149
149
  type: 'reasoning_signature';
150
- signature: any;
150
+ signature: JsonObject;
151
151
  } | {
152
152
  type: 'reasoning_image';
153
153
  image_url: string;
@@ -164,14 +164,14 @@ export interface ResponsesFunctionCallOutputItem {
164
164
  id: string;
165
165
  type: 'function_call_output';
166
166
  call_id: string;
167
- output: any;
167
+ output: JsonValue;
168
168
  tool_call_id?: string;
169
169
  }
170
170
  export interface ResponsesSystemItem {
171
171
  id: string;
172
172
  type: 'system';
173
173
  name: string;
174
- data: any;
174
+ data: JsonValue;
175
175
  }
176
176
  export interface ResponsesUsage {
177
177
  input_tokens: number;
@@ -217,7 +217,7 @@ export interface ResponsesJsonToSseOptions {
217
217
  includeSequenceNumbers?: boolean;
218
218
  includeMetadata?: boolean;
219
219
  validationMode?: 'none' | 'basic' | 'strict';
220
- onEvent?: (event: any) => void;
220
+ onEvent?: (event: ResponsesSseEvent) => void;
221
221
  onError?: (error: Error) => void;
222
222
  onComplete?: () => void;
223
223
  resumeToolOutputs?: ResponsesFunctionCallOutputItem[];
@@ -230,7 +230,7 @@ export interface SseToResponsesJsonOptions {
230
230
  enableSequenceValidation?: boolean;
231
231
  accumulateOutputItems?: boolean;
232
232
  onPartialResult?: (partial: Partial<ResponsesResponse>) => void;
233
- onEvent?: (event: any) => void;
233
+ onEvent?: (event: ResponsesSseEvent) => void;
234
234
  onCompletion?: (final: ResponsesResponse) => void;
235
235
  onError?: (error: Error) => void;
236
236
  onTimeout?: () => void;
@@ -256,7 +256,7 @@ export interface OutputItemProcessingState {
256
256
  status: 'in_progress' | 'completed';
257
257
  contentIndex: number;
258
258
  isContentPartAdded: boolean;
259
- accumulatedContent: any[];
259
+ accumulatedContent: ResponsesContent[];
260
260
  deltaBuffer: string;
261
261
  isTextStarted: boolean;
262
262
  isTextCompleted: boolean;
@@ -265,9 +265,9 @@ export interface OutputItemBuilder {
265
265
  id: string;
266
266
  type: string;
267
267
  status: 'in_progress' | 'completed';
268
- contentParts: any[];
268
+ contentParts: ResponsesContent[];
269
269
  currentContentIndex: number;
270
- accumulatedContent: any[];
270
+ accumulatedContent: ResponsesContent[];
271
271
  hasContentPartAdded: boolean;
272
272
  isTextInProgress: boolean;
273
273
  callId?: string;
@@ -281,7 +281,7 @@ export interface ResponsesConversionError extends Error {
281
281
  eventId?: string;
282
282
  outputItemId?: string;
283
283
  sequenceNumber?: number;
284
- context?: any;
284
+ context?: JsonObject;
285
285
  }
286
286
  export declare const RESPONSES_CONVERSION_ERROR_CODES: {
287
287
  readonly TIMEOUT: "RESPONSES_TIMEOUT";
@@ -323,6 +323,6 @@ export interface ResponsesSseEventStream extends AsyncIterable<ResponsesSseEvent
323
323
  on(event: 'complete', handler: () => void): this;
324
324
  on(event: 'timeout', handler: () => void): this;
325
325
  on(event: 'output_item', handler: (item: ResponsesOutputItem) => void): this;
326
- on(event: 'content_part', handler: (part: any) => void): this;
326
+ on(event: 'content_part', handler: (part: ResponsesContent) => void): this;
327
327
  on(event: 'stats', handler: (stats: ResponsesEventStats) => void): this;
328
328
  }
@@ -2,6 +2,7 @@
2
2
  * SSE事件类型定义
3
3
  * 基于OpenAI Responses协议的事件规范
4
4
  */
5
+ import type { JsonValue } from './core-interfaces.js';
5
6
  export type SseEventType = 'response.created' | 'response.in_progress' | 'response.completed' | 'response.required_action' | 'response.done' | 'response.output_item.added' | 'response.output_item.done' | 'response.content_part.added' | 'response.content_part.done' | 'response.output_text.delta' | 'response.output_text.done' | 'response.reasoning_text.delta' | 'response.reasoning_text.done' | 'response.function_call_arguments.delta' | 'response.function_call_arguments.done';
6
7
  export interface BaseSseEvent {
7
8
  type: SseEventType;
@@ -66,7 +67,7 @@ export interface OutputTextDeltaEvent extends BaseSseEvent {
66
67
  output_index: number;
67
68
  content_index: number;
68
69
  delta: string;
69
- logprobs?: any[];
70
+ logprobs?: JsonValue[];
70
71
  }
71
72
  export interface OutputTextDoneEvent extends BaseSseEvent {
72
73
  type: 'response.output_text.done';
@@ -118,7 +119,7 @@ export interface OutputItem {
118
119
  type: 'reasoning' | 'message' | 'function_call' | 'system_message';
119
120
  status?: 'in_progress' | 'completed';
120
121
  content?: ContentPart[];
121
- summary?: any[];
122
+ summary?: JsonValue[];
122
123
  role?: string;
123
124
  arguments?: string;
124
125
  call_id?: string;
@@ -173,7 +174,7 @@ export interface EventValidationRule {
173
174
  optionalFields: string[];
174
175
  dependencies: Array<{
175
176
  field: string;
176
- condition: (event: any) => boolean;
177
+ condition: (event: Record<string, unknown>) => boolean;
177
178
  requiredFields: string[];
178
179
  }>;
179
180
  }
@@ -2,6 +2,7 @@
2
2
  * 流状态管理类型定义
3
3
  * 管理JSON↔SSE双向转换过程中的流状态
4
4
  */
5
+ import type { JsonToSseOptions, ResponsesJson, ResponsesPartialJson, SseToJsonOptions } from './conversion-context.js';
5
6
  import { SseEvent, SseEventType } from './sse-events.js';
6
7
  export declare enum StreamState {
7
8
  IDLE = "idle",
@@ -33,8 +34,8 @@ export interface BaseStreamState {
33
34
  }
34
35
  export interface JsonToSseStreamState extends BaseStreamState {
35
36
  direction: StreamDirection.JSON_TO_SSE;
36
- inputJson: any;
37
- options: any;
37
+ inputJson: ResponsesJson;
38
+ options: JsonToSseOptions;
38
39
  currentOutputIndex: number;
39
40
  currentSequenceNumber: number;
40
41
  outputItemsGenerated: number;
@@ -47,7 +48,7 @@ export interface JsonToSseStreamState extends BaseStreamState {
47
48
  }
48
49
  export interface SseToJsonStreamState extends BaseStreamState {
49
50
  direction: StreamDirection.SSE_TO_JSON;
50
- options: any;
51
+ options: SseToJsonOptions;
51
52
  expectedEventTypes: Set<SseEventType>;
52
53
  receivedEventTypes: Set<SseEventType>;
53
54
  lastSequenceNumber: number;
@@ -57,7 +58,7 @@ export interface SseToJsonStreamState extends BaseStreamState {
57
58
  isResponseCompleted: boolean;
58
59
  isRequiredActionReceived: boolean;
59
60
  aggregatedEvents: SseEvent[];
60
- partialJson: any;
61
+ partialJson: ResponsesPartialJson;
61
62
  }
62
63
  export interface StreamStatistics {
63
64
  duration: number;
@@ -120,56 +121,50 @@ export interface StreamConfig {
120
121
  gcThreshold: number;
121
122
  }
122
123
  export declare const DEFAULT_STREAM_CONFIG: StreamConfig;
123
- export interface StreamEvent {
124
+ export interface StreamEvent<TPayload = unknown> {
124
125
  type: 'state_change' | 'error' | 'timeout' | 'metrics' | 'heartbeat' | 'completion';
125
126
  timestamp: number;
126
127
  requestId: string;
127
- data: any;
128
+ data: TPayload;
128
129
  }
129
- export interface StateChangeEvent extends StreamEvent {
130
+ export interface StateChangeEvent extends StreamEvent<{
131
+ oldState: StreamState;
132
+ newState: StreamState;
133
+ reason?: string;
134
+ }> {
130
135
  type: 'state_change';
131
- data: {
132
- oldState: StreamState;
133
- newState: StreamState;
134
- reason?: string;
135
- };
136
136
  }
137
- export interface StreamErrorEvent extends StreamEvent {
137
+ export interface StreamErrorEvent extends StreamEvent<{
138
+ error: Error;
139
+ eventType?: SseEventType;
140
+ sequenceNumber?: number;
141
+ recoverable: boolean;
142
+ }> {
138
143
  type: 'error';
139
- data: {
140
- error: Error;
141
- eventType?: SseEventType;
142
- sequenceNumber?: number;
143
- recoverable: boolean;
144
- };
145
144
  }
146
- export interface StreamTimeoutEvent extends StreamEvent {
145
+ export interface StreamTimeoutEvent extends StreamEvent<{
146
+ timeoutType: 'idle' | 'total' | 'heartbeat' | 'event_processing';
147
+ timeoutDuration: number;
148
+ lastActivityTime: number;
149
+ }> {
147
150
  type: 'timeout';
148
- data: {
149
- timeoutType: 'idle' | 'total' | 'heartbeat' | 'event_processing';
150
- timeoutDuration: number;
151
- lastActivityTime: number;
152
- };
153
151
  }
154
- export interface StreamMetricsEvent extends StreamEvent {
152
+ export interface StreamMetricsEvent extends StreamEvent<StreamStatistics> {
155
153
  type: 'metrics';
156
- data: StreamStatistics;
157
154
  }
158
- export interface StreamHeartbeatEvent extends StreamEvent {
155
+ export interface StreamHeartbeatEvent extends StreamEvent<{
156
+ interval: number;
157
+ eventsSinceLastHeartbeat: number;
158
+ }> {
159
159
  type: 'heartbeat';
160
- data: {
161
- interval: number;
162
- eventsSinceLastHeartbeat: number;
163
- };
164
160
  }
165
- export interface StreamCompletionEvent extends StreamEvent {
161
+ export interface StreamCompletionEvent extends StreamEvent<{
162
+ finalState: StreamState;
163
+ totalEvents: number;
164
+ totalDuration: number;
165
+ success: boolean;
166
+ }> {
166
167
  type: 'completion';
167
- data: {
168
- finalState: StreamState;
169
- totalEvents: number;
170
- totalDuration: number;
171
- success: boolean;
172
- };
173
168
  }
174
169
  export type StreamEventData = StateChangeEvent | StreamErrorEvent | StreamTimeoutEvent | StreamMetricsEvent | StreamHeartbeatEvent | StreamCompletionEvent;
175
170
  export interface StreamStateListener {