@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,5 +0,0 @@
1
- /**
2
- * 配置统一导出
3
- */
4
- export * from './default-configs.js';
5
- export * from './pipeline-config-manager.js';
@@ -1,5 +0,0 @@
1
- /**
2
- * 配置统一导出
3
- */
4
- export * from './default-configs.js';
5
- export * from './pipeline-config-manager.js';
@@ -1,49 +0,0 @@
1
- export type PipelineStreamingMode = 'auto' | 'always' | 'never';
2
- export interface PipelineNodeSnapshotConfig {
3
- enabled?: boolean;
4
- channel?: string;
5
- label?: string;
6
- metadata?: Record<string, unknown>;
7
- }
8
- export interface PipelineNodeConfig {
9
- id: string;
10
- kind: 'sse-input' | 'sse-output' | 'sse-passthrough' | 'input' | 'process' | 'output';
11
- implementation: string;
12
- inputFormat?: string;
13
- outputFormat?: string;
14
- timeout?: number;
15
- options?: Record<string, unknown>;
16
- snapshot?: PipelineNodeSnapshotConfig;
17
- }
18
- export interface PipelineRouteConfig {
19
- id: string;
20
- mode?: 'standard' | 'passthrough' | 'custom';
21
- processMode?: string;
22
- name: string;
23
- stage?: 'inbound' | 'outbound';
24
- description?: string;
25
- entryEndpoints: string[];
26
- providerProtocols?: string[];
27
- streaming?: PipelineStreamingMode;
28
- passthrough?: {
29
- enabled?: boolean;
30
- mode?: 'auto' | 'forced' | 'disabled';
31
- reasons?: string[];
32
- };
33
- nodes: PipelineNodeConfig[];
34
- }
35
- export interface PipelineConfigDocument {
36
- pipelineConfigVersion?: string;
37
- generatedAt?: string;
38
- pipelines: PipelineRouteConfig[];
39
- }
40
- export declare class PipelineConfigManager {
41
- private static instance;
42
- private config;
43
- private constructor();
44
- static getInstance(): PipelineConfigManager;
45
- static setConfig(config: PipelineConfigDocument): void;
46
- static getConfig(): PipelineConfigDocument;
47
- static hasConfig(): boolean;
48
- static resolvePipeline(endpoint: string, providerProtocol?: string, processMode?: string, stage?: 'inbound' | 'outbound'): PipelineRouteConfig | undefined;
49
- }
@@ -1,65 +0,0 @@
1
- import Ajv from 'ajv';
2
- import { readFileSync } from 'node:fs';
3
- import { dirname, join } from 'node:path';
4
- import { fileURLToPath } from 'node:url';
5
- const schema = JSON.parse(readFileSync(join(dirname(fileURLToPath(import.meta.url)), 'pipeline-config.schema.json'), 'utf-8'));
6
- const ajv = new Ajv({ allErrors: true, strict: false });
7
- const validate = ajv.compile(schema);
8
- export class PipelineConfigManager {
9
- static instance;
10
- config = null;
11
- constructor() { }
12
- static getInstance() {
13
- if (!PipelineConfigManager.instance) {
14
- PipelineConfigManager.instance = new PipelineConfigManager();
15
- }
16
- return PipelineConfigManager.instance;
17
- }
18
- static setConfig(config) {
19
- if (!validate(config)) {
20
- const message = ajv.errorsText(validate.errors);
21
- throw new Error(`Invalid pipeline config: ${message}`);
22
- }
23
- const manager = PipelineConfigManager.getInstance();
24
- manager.config = config;
25
- }
26
- static getConfig() {
27
- const manager = PipelineConfigManager.getInstance();
28
- if (!manager.config) {
29
- throw new Error('Pipeline config has not been initialized');
30
- }
31
- return manager.config;
32
- }
33
- static hasConfig() {
34
- return PipelineConfigManager.getInstance().config !== null;
35
- }
36
- static resolvePipeline(endpoint, providerProtocol, processMode, stage) {
37
- const config = PipelineConfigManager.getConfig();
38
- const normalizedEndpoint = (endpoint || '').toLowerCase();
39
- const candidates = config.pipelines.filter(pipeline => {
40
- if (stage && pipeline.stage && pipeline.stage !== stage)
41
- return false;
42
- return pipeline.entryEndpoints.some(route => route.toLowerCase() === normalizedEndpoint);
43
- });
44
- if (!candidates.length)
45
- return undefined;
46
- const normalizedProvider = (providerProtocol || '').toLowerCase();
47
- const providerCandidates = normalizedProvider
48
- ? candidates.filter(pipeline => Array.isArray(pipeline.providerProtocols) &&
49
- pipeline.providerProtocols.some(proto => proto.toLowerCase() === normalizedProvider))
50
- : [];
51
- const candidatePool = providerCandidates.length ? providerCandidates : candidates;
52
- if (processMode) {
53
- const normalizedMode = processMode.toLowerCase();
54
- const modeMatch = candidatePool.find(pipeline => typeof pipeline.processMode === 'string' &&
55
- pipeline.processMode.toLowerCase() === normalizedMode);
56
- if (modeMatch)
57
- return modeMatch;
58
- }
59
- if (providerCandidates.length) {
60
- return providerCandidates[0];
61
- }
62
- const defaultRoute = candidatePool.find(pipeline => !pipeline.providerProtocols || pipeline.providerProtocols.length === 0);
63
- return defaultRoute ?? candidatePool[0];
64
- }
65
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * Conversion V3 - 节点流水线架构主入口
3
- *
4
- * 提供统一的转换接口和便捷方法
5
- */
6
- export * from './types/index.js';
7
- export * as Standards from './standards/index.js';
8
- export * from './nodes/index.js';
9
- export * from './config/index.js';
10
- export * from './compatibility/index.js';
11
- export * from './adapters/index.js';
@@ -1,17 +0,0 @@
1
- /**
2
- * Conversion V3 - 节点流水线架构主入口
3
- *
4
- * 提供统一的转换接口和便捷方法
5
- */
6
- // 导出所有类型
7
- export * from './types/index.js';
8
- // 导出标准接口(命名空间形式,避免与 legacy 类型冲突)
9
- export * as Standards from './standards/index.js';
10
- // 导出所有节点
11
- export * from './nodes/index.js';
12
- // 导出配置
13
- export * from './config/index.js';
14
- // 导出兼容层能力
15
- export * from './compatibility/index.js';
16
- // 导出适配器
17
- export * from './adapters/index.js';
@@ -1,56 +0,0 @@
1
- /**
2
- * 节点统一导出
3
- */
4
- export { BaseInputNode } from './input/base-input-node.js';
5
- export { ChatInputNode } from './input/chat-input-node.js';
6
- export { AnthropicInputNode } from './input/anthropic-input-node.js';
7
- export { ResponsesInputNode } from './input/responses-input-node.js';
8
- export { BaseProcessNode } from './process/base-process-node.js';
9
- export { ChatProcessNode } from './process/chat-process-node.js';
10
- export { PassthroughProcessNode } from './process/passthrough-process-node.js';
11
- export { BaseOutputNode } from './output/base-output-node.js';
12
- export { OpenAIOutputNode } from './output/openai-output-node.js';
13
- export { AnthropicOutputNode } from './output/anthropic-output-node.js';
14
- export { ResponsesOutputNode } from './output/responses-output-node.js';
15
- export { SSEInputNode, SSEOutputNode, SSEPassthroughNode } from './sse/index.js';
16
- export { OpenAIResponseInputNode, AnthropicResponseInputNode, ResponsesResponseInputNode } from './response/index.js';
17
- import { BaseInputNode } from './input/index.js';
18
- import { BaseOutputNode } from './output/index.js';
19
- import type { NodeConfig, NodeType, PipelineNode } from '../types/index.js';
20
- /**
21
- * 节点工厂
22
- */
23
- export declare class NodeFactory {
24
- /**
25
- * 创建输入节点
26
- */
27
- static createInputNode(nodeType: string, config: NodeConfig): BaseInputNode;
28
- /**
29
- * 创建处理节点
30
- */
31
- static createProcessNode(nodeType: string, config: NodeConfig): PipelineNode;
32
- /**
33
- * 创建输出节点
34
- */
35
- static createOutputNode(nodeType: string, config: NodeConfig): BaseOutputNode;
36
- /**
37
- * 根据类型创建节点
38
- */
39
- static createNode(nodeType: NodeType, nodeId: string, config: NodeConfig): any;
40
- /**
41
- * 获取所有支持的输入节点类型
42
- */
43
- static getSupportedInputNodeTypes(): string[];
44
- /**
45
- * 获取所有支持的处理节点类型
46
- */
47
- static getSupportedProcessNodeTypes(): string[];
48
- /**
49
- * 获取所有支持的输出节点类型
50
- */
51
- static getSupportedOutputNodeTypes(): string[];
52
- /**
53
- * 获取所有支持的节点类型
54
- */
55
- static getAllSupportedNodeTypes(): Record<NodeType, string[]>;
56
- }
@@ -1,149 +0,0 @@
1
- /**
2
- * 节点统一导出
3
- */
4
- // 输入节点
5
- export { BaseInputNode } from './input/base-input-node.js';
6
- export { ChatInputNode } from './input/chat-input-node.js';
7
- export { AnthropicInputNode } from './input/anthropic-input-node.js';
8
- export { ResponsesInputNode } from './input/responses-input-node.js';
9
- // 处理节点
10
- export { BaseProcessNode } from './process/base-process-node.js';
11
- export { ChatProcessNode } from './process/chat-process-node.js';
12
- export { PassthroughProcessNode } from './process/passthrough-process-node.js';
13
- // 输出节点
14
- export { BaseOutputNode } from './output/base-output-node.js';
15
- export { OpenAIOutputNode } from './output/openai-output-node.js';
16
- export { AnthropicOutputNode } from './output/anthropic-output-node.js';
17
- export { ResponsesOutputNode } from './output/responses-output-node.js';
18
- export { SSEInputNode, SSEOutputNode, SSEPassthroughNode } from './sse/index.js';
19
- export { OpenAIResponseInputNode, AnthropicResponseInputNode, ResponsesResponseInputNode } from './response/index.js';
20
- // 节点工厂函数
21
- import { ChatInputNode, AnthropicInputNode, ResponsesInputNode, GeminiInputNode } from './input/index.js';
22
- import { ChatProcessNode, PassthroughProcessNode, ResponseProcessNode, CompatibilityProcessNode, VirtualRouterProcessNode } from './process/index.js';
23
- import { OpenAIOutputNode, AnthropicOutputNode, ResponsesOutputNode } from './output/index.js';
24
- import { SSEInputNode, SSEOutputNode, SSEPassthroughNode } from './sse/index.js';
25
- import { OpenAIResponseInputNode, AnthropicResponseInputNode, ResponsesResponseInputNode, ChatToResponsesResponseNode } from './response/index.js';
26
- /**
27
- * 节点工厂
28
- */
29
- export class NodeFactory {
30
- /**
31
- * 创建输入节点
32
- */
33
- static createInputNode(nodeType, config) {
34
- const impl = config.__implementation || nodeType;
35
- switch (impl) {
36
- case 'sse-input':
37
- return new SSEInputNode(nodeType, config);
38
- case 'chat-input':
39
- return new ChatInputNode(config);
40
- case 'anthropic-input':
41
- return new AnthropicInputNode(config);
42
- case 'responses-input':
43
- return new ResponsesInputNode(config);
44
- case 'gemini-input':
45
- return new GeminiInputNode(config);
46
- case 'openai-response-input':
47
- return new OpenAIResponseInputNode(nodeType, config);
48
- case 'anthropic-response-input':
49
- return new AnthropicResponseInputNode(nodeType, config);
50
- case 'responses-response-input':
51
- return new ResponsesResponseInputNode(nodeType, config);
52
- case 'chat-to-responses-response-input':
53
- return new ChatToResponsesResponseNode(nodeType, config);
54
- default:
55
- throw new Error(`Unknown input node type: ${nodeType}`);
56
- }
57
- }
58
- /**
59
- * 创建处理节点
60
- */
61
- static createProcessNode(nodeType, config) {
62
- const impl = config.__implementation || nodeType;
63
- switch (impl) {
64
- case 'sse-passthrough':
65
- return new SSEPassthroughNode(nodeType, config);
66
- case 'chat-process':
67
- return new ChatProcessNode(config);
68
- case 'passthrough-process':
69
- return new PassthroughProcessNode(config);
70
- case 'response-process':
71
- return new ResponseProcessNode(nodeType, config);
72
- case 'compatibility-process':
73
- return new CompatibilityProcessNode(nodeType, config);
74
- case 'virtual-router-process':
75
- return new VirtualRouterProcessNode(nodeType, config);
76
- default:
77
- throw new Error(`Unknown process node type: ${nodeType}`);
78
- }
79
- }
80
- /**
81
- * 创建输出节点
82
- */
83
- static createOutputNode(nodeType, config) {
84
- const impl = config.__implementation || nodeType;
85
- switch (impl) {
86
- case 'sse-output':
87
- return new SSEOutputNode(nodeType, config);
88
- case 'openai-output':
89
- return new OpenAIOutputNode(config);
90
- case 'anthropic-output':
91
- return new AnthropicOutputNode(config);
92
- case 'responses-output':
93
- return new ResponsesOutputNode(config);
94
- default:
95
- throw new Error(`Unknown output node type: ${nodeType}`);
96
- }
97
- }
98
- /**
99
- * 根据类型创建节点
100
- */
101
- static createNode(nodeType, nodeId, config) {
102
- switch (nodeType) {
103
- case 'input':
104
- return this.createInputNode(nodeId, config);
105
- case 'process':
106
- return this.createProcessNode(nodeId, config);
107
- case 'output':
108
- return this.createOutputNode(nodeId, config);
109
- default:
110
- throw new Error(`Unknown node type: ${nodeType}`);
111
- }
112
- }
113
- /**
114
- * 获取所有支持的输入节点类型
115
- */
116
- static getSupportedInputNodeTypes() {
117
- return [
118
- 'chat-input',
119
- 'anthropic-input',
120
- 'responses-input',
121
- 'openai-response-input',
122
- 'anthropic-response-input',
123
- 'responses-response-input',
124
- 'sse-input'
125
- ];
126
- }
127
- /**
128
- * 获取所有支持的处理节点类型
129
- */
130
- static getSupportedProcessNodeTypes() {
131
- return ['chat-process', 'passthrough-process', 'response-process', 'compatibility-process', 'virtual-router-process'];
132
- }
133
- /**
134
- * 获取所有支持的输出节点类型
135
- */
136
- static getSupportedOutputNodeTypes() {
137
- return ['openai-output', 'anthropic-output', 'responses-output'];
138
- }
139
- /**
140
- * 获取所有支持的节点类型
141
- */
142
- static getAllSupportedNodeTypes() {
143
- return {
144
- input: this.getSupportedInputNodeTypes(),
145
- process: this.getSupportedProcessNodeTypes(),
146
- output: this.getSupportedOutputNodeTypes()
147
- };
148
- }
149
- }
@@ -1,25 +0,0 @@
1
- /**
2
- * Anthropic 输入节点
3
- *
4
- * 基于 anthropic-converter.ts 适配为节点架构
5
- */
6
- import { BaseInputNode } from './base-input-node.js';
7
- import type { NodeContext, NodeConfig, NodeResult, StandardizedMessage, StandardizedTool } from '../../types/index.js';
8
- /**
9
- * Anthropic 输入节点实现
10
- *
11
- * 负责将 Anthropic 格式转换为标准化格式
12
- */
13
- export declare class AnthropicInputNode extends BaseInputNode {
14
- constructor(config: NodeConfig);
15
- protected isHubEnabled(): boolean;
16
- protected runHubConversion(context: NodeContext, startTime: number): Promise<NodeResult>;
17
- private legacyRemoved;
18
- protected preprocessInput(_payload: Record<string, unknown>, _context: NodeContext): Promise<Record<string, unknown>>;
19
- protected convertMessages(_payload: Record<string, unknown>, _context: NodeContext): Promise<StandardizedMessage[]>;
20
- protected convertTools(_payload: Record<string, unknown>, _context: NodeContext): Promise<StandardizedTool[]>;
21
- protected extractParameters(_payload: Record<string, unknown>, _context: NodeContext): Promise<Record<string, unknown>>;
22
- protected captureContext(_payload: Record<string, unknown>, _context: NodeContext): Promise<Record<string, unknown>>;
23
- protected postprocessMessages(_messages: unknown[], _context: NodeContext): Promise<StandardizedMessage[]>;
24
- protected postprocessTools(_tools: unknown[], _context: NodeContext): Promise<StandardizedTool[]>;
25
- }
@@ -1,56 +0,0 @@
1
- /**
2
- * Anthropic 输入节点
3
- *
4
- * 基于 anthropic-converter.ts 适配为节点架构
5
- */
6
- import { BaseInputNode } from './base-input-node.js';
7
- import { NodeType, ConversionError } from '../../types/index.js';
8
- import { runHubInboundConversion, shouldUseHub } from '../../../hub/node-support.js';
9
- /**
10
- * Anthropic 输入节点实现
11
- *
12
- * 负责将 Anthropic 格式转换为标准化格式
13
- */
14
- export class AnthropicInputNode extends BaseInputNode {
15
- constructor(config) {
16
- super('anthropic-input', NodeType.INPUT, 'Anthropic Input Node', config);
17
- }
18
- isHubEnabled() {
19
- return shouldUseHub('anthropic-messages');
20
- }
21
- async runHubConversion(context, startTime) {
22
- return runHubInboundConversion({
23
- protocol: 'anthropic-messages',
24
- rawRequest: context.data,
25
- nodeContext: context,
26
- nodeId: this.id,
27
- inputFormat: this.config.inputFormat,
28
- outputFormat: this.config.outputFormat,
29
- startTime
30
- });
31
- }
32
- legacyRemoved(stage) {
33
- throw new ConversionError(`AnthropicInputNode legacy stage '${stage}' removed (hub-only mode)`, this.id);
34
- }
35
- async preprocessInput(_payload, _context) {
36
- return this.legacyRemoved('preprocessInput');
37
- }
38
- async convertMessages(_payload, _context) {
39
- return this.legacyRemoved('convertMessages');
40
- }
41
- async convertTools(_payload, _context) {
42
- return this.legacyRemoved('convertTools');
43
- }
44
- async extractParameters(_payload, _context) {
45
- return this.legacyRemoved('extractParameters');
46
- }
47
- async captureContext(_payload, _context) {
48
- return this.legacyRemoved('captureContext');
49
- }
50
- async postprocessMessages(_messages, _context) {
51
- return this.legacyRemoved('postprocessMessages');
52
- }
53
- async postprocessTools(_tools, _context) {
54
- return this.legacyRemoved('postprocessTools');
55
- }
56
- }
@@ -1,75 +0,0 @@
1
- /**
2
- * 输入节点基类
3
- *
4
- * 基于现有 converter-base.ts 适配为节点架构
5
- */
6
- import { PipelineNode, NodeContext, NodeResult, NodeConfig, NodeStatus, ValidationResult, NodeType } from '../../types/index.js';
7
- import type { StandardizedMessage, StandardizedTool } from '../../types/index.js';
8
- /**
9
- * 输入节点抽象基类
10
- *
11
- * 提供统一的输入转换流程和接口
12
- */
13
- export declare abstract class BaseInputNode implements PipelineNode {
14
- readonly id: string;
15
- readonly type: NodeType.INPUT;
16
- readonly name: string;
17
- config: NodeConfig;
18
- status: NodeStatus;
19
- constructor(id: string, type: NodeType.INPUT, name: string, config: NodeConfig);
20
- /**
21
- * 主执行方法 - 实现统一的转换流水线
22
- */
23
- execute(context: NodeContext): Promise<NodeResult>;
24
- protected isHubEnabled(_context: NodeContext): boolean;
25
- protected runHubConversion(_context: NodeContext, _startTime: number): Promise<NodeResult>;
26
- private executeWithHub;
27
- /**
28
- * 验证输入数据
29
- */
30
- validate(data: Record<string, unknown>): ValidationResult;
31
- /**
32
- * 前置验证 - 确保必要字段存在
33
- */
34
- private validatePayload;
35
- /**
36
- * 输入标准化预处理
37
- */
38
- protected abstract preprocessInput(payload: Record<string, unknown>, context: NodeContext): Promise<Record<string, unknown>>;
39
- /**
40
- * 转换消息列表
41
- */
42
- protected abstract convertMessages(payload: Record<string, unknown>, context: NodeContext): Promise<StandardizedMessage[]>;
43
- /**
44
- * 转换工具列表
45
- */
46
- protected abstract convertTools(payload: Record<string, unknown>, context: NodeContext): Promise<StandardizedTool[]>;
47
- /**
48
- * 提取参数
49
- */
50
- protected abstract extractParameters(payload: Record<string, unknown>, context: NodeContext): Promise<Record<string, unknown>>;
51
- /**
52
- * 捕获上下文
53
- */
54
- protected abstract captureContext(payload: Record<string, unknown>, context: NodeContext): Promise<Record<string, unknown>>;
55
- /**
56
- * 后置处理消息
57
- */
58
- protected abstract postprocessMessages(messages: unknown[], context: NodeContext): Promise<any[]>;
59
- /**
60
- * 后置处理工具
61
- */
62
- protected abstract postprocessTools(tools: unknown[], context: NodeContext): Promise<any[]>;
63
- /**
64
- * 后置验证
65
- */
66
- private validateResult;
67
- /**
68
- * 工具方法:提取必需的字符串字段
69
- */
70
- protected extractRequiredString(obj: Record<string, unknown>, field: string): string;
71
- /**
72
- * 工具方法:安全类型转换
73
- */
74
- protected safeCast<T>(value: unknown, expectedType: 'string' | 'number' | 'boolean'): T | undefined;
75
- }