@jsonstudio/llms 0.4.2 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/README.md +3 -1
  2. package/dist/bridge/routecodex-adapter.js +6 -3
  3. package/dist/config-unified/enhanced-path-resolver.js +14 -6
  4. package/dist/config-unified/unified-config.js +103 -59
  5. package/dist/conversion/codec-registry.js +4 -2
  6. package/dist/conversion/hub/pipeline/hub-pipeline.js +4 -5
  7. package/dist/conversion/hub/process/chat-process.js +258 -41
  8. package/dist/conversion/hub/response/provider-response.js +8 -2
  9. package/dist/conversion/hub/tool-governance/engine.d.ts +16 -0
  10. package/dist/conversion/hub/tool-governance/engine.js +266 -0
  11. package/dist/conversion/hub/tool-governance/index.d.ts +3 -0
  12. package/dist/conversion/hub/tool-governance/index.js +2 -0
  13. package/dist/conversion/hub/tool-governance/rules.d.ts +2 -0
  14. package/dist/conversion/hub/tool-governance/rules.js +76 -0
  15. package/dist/conversion/hub/tool-governance/types.d.ts +38 -0
  16. package/dist/conversion/index.d.ts +1 -0
  17. package/dist/conversion/index.js +1 -0
  18. package/dist/conversion/responses/responses-openai-bridge.js +5 -3
  19. package/dist/conversion/shared/responses-id-utils.js +18 -5
  20. package/dist/sse/sse-to-json/builders/response-builder.js +2 -1
  21. package/dist/sse/sse-to-json/chat-sse-to-json-converter.js +37 -23
  22. package/dist/sse/sse-to-json/parsers/sse-parser.js +20 -12
  23. package/dist/sse/sse-to-json/responses-sse-to-json-converter.d.ts +1 -0
  24. package/dist/sse/sse-to-json/responses-sse-to-json-converter.js +10 -8
  25. package/dist/sse/types/chat-types.d.ts +9 -6
  26. package/dist/sse/types/conversion-context.d.ts +14 -11
  27. package/dist/sse/types/core-interfaces.d.ts +6 -2
  28. package/dist/sse/types/index.d.ts +1 -1
  29. package/dist/sse/types/responses-types.d.ts +20 -20
  30. package/dist/sse/types/sse-events.d.ts +4 -3
  31. package/dist/sse/types/stream-state.d.ts +34 -39
  32. package/dist/sse/types/utility-types.d.ts +47 -43
  33. package/dist/sse/types/utility-types.js +10 -13
  34. package/dist/tools/tool-registry.js +156 -98
  35. package/package.json +6 -6
  36. package/dist/api/index.d.ts +0 -10
  37. package/dist/api/index.js +0 -11
  38. package/dist/api/llmswitch-config.d.ts +0 -15
  39. package/dist/api/llmswitch-config.js +0 -415
  40. package/dist/api/llmswitch-types.d.ts +0 -412
  41. package/dist/api/llmswitch-types.js +0 -60
  42. package/dist/bridge/routecodex-adapter.d.ts +0 -74
  43. package/dist/config/index.d.ts +0 -3
  44. package/dist/config/index.js +0 -5
  45. package/dist/config-unified/enhanced-path-resolver.d.ts +0 -5
  46. package/dist/config-unified/unified-config.d.ts +0 -26
  47. package/dist/conversion/codec-registry.d.ts +0 -10
  48. package/dist/conversion/codecs/anthropic-openai-codec.d.ts +0 -23
  49. package/dist/conversion/codecs/gemini-openai-codec.d.ts +0 -16
  50. package/dist/conversion/codecs/openai-openai-codec.d.ts +0 -12
  51. package/dist/conversion/codecs/responses-openai-codec.d.ts +0 -12
  52. package/dist/conversion/config/config-manager.d.ts +0 -212
  53. package/dist/conversion/conversion-v3/adapters/index.d.ts +0 -2
  54. package/dist/conversion/conversion-v3/adapters/index.js +0 -1
  55. package/dist/conversion/conversion-v3/adapters/v3-to-standard-adapter.d.ts +0 -38
  56. package/dist/conversion/conversion-v3/adapters/v3-to-standard-adapter.js +0 -55
  57. package/dist/conversion/conversion-v3/compatibility/compatibility-profiles.d.ts +0 -22
  58. package/dist/conversion/conversion-v3/compatibility/compatibility-profiles.js +0 -84
  59. package/dist/conversion/conversion-v3/compatibility/compatibility-stages.d.ts +0 -4
  60. package/dist/conversion/conversion-v3/compatibility/compatibility-stages.js +0 -285
  61. package/dist/conversion/conversion-v3/compatibility/index.d.ts +0 -3
  62. package/dist/conversion/conversion-v3/compatibility/index.js +0 -2
  63. package/dist/conversion/conversion-v3/config/default-configs.d.ts +0 -48
  64. package/dist/conversion/conversion-v3/config/default-configs.js +0 -1083
  65. package/dist/conversion/conversion-v3/config/index.d.ts +0 -5
  66. package/dist/conversion/conversion-v3/config/index.js +0 -5
  67. package/dist/conversion/conversion-v3/config/pipeline-config-manager.d.ts +0 -49
  68. package/dist/conversion/conversion-v3/config/pipeline-config-manager.js +0 -65
  69. package/dist/conversion/conversion-v3/index.d.ts +0 -11
  70. package/dist/conversion/conversion-v3/index.js +0 -17
  71. package/dist/conversion/conversion-v3/nodes/index.d.ts +0 -56
  72. package/dist/conversion/conversion-v3/nodes/index.js +0 -149
  73. package/dist/conversion/conversion-v3/nodes/input/anthropic-input-node.d.ts +0 -25
  74. package/dist/conversion/conversion-v3/nodes/input/anthropic-input-node.js +0 -56
  75. package/dist/conversion/conversion-v3/nodes/input/base-input-node.d.ts +0 -75
  76. package/dist/conversion/conversion-v3/nodes/input/base-input-node.js +0 -237
  77. package/dist/conversion/conversion-v3/nodes/input/chat-input-node.d.ts +0 -25
  78. package/dist/conversion/conversion-v3/nodes/input/chat-input-node.js +0 -56
  79. package/dist/conversion/conversion-v3/nodes/input/chat-shape-helpers.d.ts +0 -4
  80. package/dist/conversion/conversion-v3/nodes/input/chat-shape-helpers.js +0 -197
  81. package/dist/conversion/conversion-v3/nodes/input/gemini-input-node.d.ts +0 -16
  82. package/dist/conversion/conversion-v3/nodes/input/gemini-input-node.js +0 -125
  83. package/dist/conversion/conversion-v3/nodes/input/index.d.ts +0 -8
  84. package/dist/conversion/conversion-v3/nodes/input/index.js +0 -8
  85. package/dist/conversion/conversion-v3/nodes/input/input-decision.d.ts +0 -46
  86. package/dist/conversion/conversion-v3/nodes/input/input-decision.js +0 -125
  87. package/dist/conversion/conversion-v3/nodes/input/responses-input-node.d.ts +0 -20
  88. package/dist/conversion/conversion-v3/nodes/input/responses-input-node.js +0 -51
  89. package/dist/conversion/conversion-v3/nodes/output/anthropic-output-node.d.ts +0 -71
  90. package/dist/conversion/conversion-v3/nodes/output/anthropic-output-node.js +0 -320
  91. package/dist/conversion/conversion-v3/nodes/output/base-output-node.d.ts +0 -116
  92. package/dist/conversion/conversion-v3/nodes/output/base-output-node.js +0 -512
  93. package/dist/conversion/conversion-v3/nodes/output/index.d.ts +0 -7
  94. package/dist/conversion/conversion-v3/nodes/output/index.js +0 -7
  95. package/dist/conversion/conversion-v3/nodes/output/openai-output-node.d.ts +0 -71
  96. package/dist/conversion/conversion-v3/nodes/output/openai-output-node.js +0 -293
  97. package/dist/conversion/conversion-v3/nodes/output/output-decision.d.ts +0 -68
  98. package/dist/conversion/conversion-v3/nodes/output/output-decision.js +0 -161
  99. package/dist/conversion/conversion-v3/nodes/output/responses-output-node.d.ts +0 -64
  100. package/dist/conversion/conversion-v3/nodes/output/responses-output-node.js +0 -323
  101. package/dist/conversion/conversion-v3/nodes/process/base-process-node.d.ts +0 -72
  102. package/dist/conversion/conversion-v3/nodes/process/base-process-node.js +0 -246
  103. package/dist/conversion/conversion-v3/nodes/process/chat-process-node.d.ts +0 -135
  104. package/dist/conversion/conversion-v3/nodes/process/chat-process-node.js +0 -854
  105. package/dist/conversion/conversion-v3/nodes/process/compatibility-process-node.d.ts +0 -29
  106. package/dist/conversion/conversion-v3/nodes/process/compatibility-process-node.js +0 -181
  107. package/dist/conversion/conversion-v3/nodes/process/index.d.ts +0 -10
  108. package/dist/conversion/conversion-v3/nodes/process/index.js +0 -10
  109. package/dist/conversion/conversion-v3/nodes/process/passthrough-process-node.d.ts +0 -59
  110. package/dist/conversion/conversion-v3/nodes/process/passthrough-process-node.js +0 -243
  111. package/dist/conversion/conversion-v3/nodes/process/response-process-node.d.ts +0 -17
  112. package/dist/conversion/conversion-v3/nodes/process/response-process-node.js +0 -213
  113. package/dist/conversion/conversion-v3/nodes/process/tool-process-node.d.ts +0 -26
  114. package/dist/conversion/conversion-v3/nodes/process/tool-process-node.js +0 -299
  115. package/dist/conversion/conversion-v3/nodes/process/virtual-router-process-node.d.ts +0 -40
  116. package/dist/conversion/conversion-v3/nodes/process/virtual-router-process-node.js +0 -430
  117. package/dist/conversion/conversion-v3/nodes/response/anthropic-response-input-node.d.ts +0 -12
  118. package/dist/conversion/conversion-v3/nodes/response/anthropic-response-input-node.js +0 -129
  119. package/dist/conversion/conversion-v3/nodes/response/chat-to-responses-response-node.d.ts +0 -15
  120. package/dist/conversion/conversion-v3/nodes/response/chat-to-responses-response-node.js +0 -57
  121. package/dist/conversion/conversion-v3/nodes/response/index.d.ts +0 -4
  122. package/dist/conversion/conversion-v3/nodes/response/index.js +0 -4
  123. package/dist/conversion/conversion-v3/nodes/response/openai-response-input-node.d.ts +0 -15
  124. package/dist/conversion/conversion-v3/nodes/response/openai-response-input-node.js +0 -87
  125. package/dist/conversion/conversion-v3/nodes/response/response-utils.d.ts +0 -1
  126. package/dist/conversion/conversion-v3/nodes/response/response-utils.js +0 -1
  127. package/dist/conversion/conversion-v3/nodes/response/responses-response-input-node.d.ts +0 -12
  128. package/dist/conversion/conversion-v3/nodes/response/responses-response-input-node.js +0 -67
  129. package/dist/conversion/conversion-v3/nodes/sse/index.d.ts +0 -3
  130. package/dist/conversion/conversion-v3/nodes/sse/index.js +0 -3
  131. package/dist/conversion/conversion-v3/nodes/sse/sse-input-node.d.ts +0 -27
  132. package/dist/conversion/conversion-v3/nodes/sse/sse-input-node.js +0 -165
  133. package/dist/conversion/conversion-v3/nodes/sse/sse-output-node.d.ts +0 -19
  134. package/dist/conversion/conversion-v3/nodes/sse/sse-output-node.js +0 -267
  135. package/dist/conversion/conversion-v3/nodes/sse/sse-passthrough-node.d.ts +0 -18
  136. package/dist/conversion/conversion-v3/nodes/sse/sse-passthrough-node.js +0 -48
  137. package/dist/conversion/conversion-v3/pipelines/index.d.ts +0 -6
  138. package/dist/conversion/conversion-v3/pipelines/index.js +0 -6
  139. package/dist/conversion/conversion-v3/pipelines/super-pipeline.d.ts +0 -112
  140. package/dist/conversion/conversion-v3/pipelines/super-pipeline.js +0 -566
  141. package/dist/conversion/conversion-v3/response/provider-response-converter.d.ts +0 -28
  142. package/dist/conversion/conversion-v3/response/provider-response-converter.js +0 -249
  143. package/dist/conversion/conversion-v3/sse/index.d.ts +0 -140
  144. package/dist/conversion/conversion-v3/sse/index.js +0 -115
  145. package/dist/conversion/conversion-v3/sse/json-to-sse/anthropic-json-to-sse-converter.d.ts +0 -11
  146. package/dist/conversion/conversion-v3/sse/json-to-sse/anthropic-json-to-sse-converter.js +0 -79
  147. package/dist/conversion/conversion-v3/sse/json-to-sse/chat-json-to-sse-converter.d.ts +0 -79
  148. package/dist/conversion/conversion-v3/sse/json-to-sse/chat-json-to-sse-converter.js +0 -296
  149. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/chat.d.ts +0 -55
  150. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/chat.js +0 -233
  151. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/responses.d.ts +0 -99
  152. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/responses.js +0 -599
  153. package/dist/conversion/conversion-v3/sse/json-to-sse/index.d.ts +0 -6
  154. package/dist/conversion/conversion-v3/sse/json-to-sse/index.js +0 -7
  155. package/dist/conversion/conversion-v3/sse/json-to-sse/responses-json-to-sse-converter.d.ts +0 -79
  156. package/dist/conversion/conversion-v3/sse/json-to-sse/responses-json-to-sse-converter.js +0 -322
  157. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/chat-sequencer.d.ts +0 -37
  158. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/chat-sequencer.js +0 -218
  159. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/responses-sequencer.d.ts +0 -40
  160. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/responses-sequencer.js +0 -263
  161. package/dist/conversion/conversion-v3/sse/registry/sse-codec-registry.d.ts +0 -32
  162. package/dist/conversion/conversion-v3/sse/registry/sse-codec-registry.js +0 -106
  163. package/dist/conversion/conversion-v3/sse/shared/chat-serializer.d.ts +0 -4
  164. package/dist/conversion/conversion-v3/sse/shared/chat-serializer.js +0 -40
  165. package/dist/conversion/conversion-v3/sse/shared/constants.d.ts +0 -272
  166. package/dist/conversion/conversion-v3/sse/shared/constants.js +0 -321
  167. package/dist/conversion/conversion-v3/sse/shared/serializers/base-serializer.d.ts +0 -158
  168. package/dist/conversion/conversion-v3/sse/shared/serializers/base-serializer.js +0 -210
  169. package/dist/conversion/conversion-v3/sse/shared/serializers/chat-event-serializer.d.ts +0 -82
  170. package/dist/conversion/conversion-v3/sse/shared/serializers/chat-event-serializer.js +0 -275
  171. package/dist/conversion/conversion-v3/sse/shared/serializers/index.d.ts +0 -39
  172. package/dist/conversion/conversion-v3/sse/shared/serializers/index.js +0 -54
  173. package/dist/conversion/conversion-v3/sse/shared/serializers/responses-event-serializer.d.ts +0 -123
  174. package/dist/conversion/conversion-v3/sse/shared/serializers/responses-event-serializer.js +0 -356
  175. package/dist/conversion/conversion-v3/sse/shared/serializers/types.d.ts +0 -51
  176. package/dist/conversion/conversion-v3/sse/shared/serializers/types.js +0 -4
  177. package/dist/conversion/conversion-v3/sse/shared/utils.d.ts +0 -254
  178. package/dist/conversion/conversion-v3/sse/shared/utils.js +0 -543
  179. package/dist/conversion/conversion-v3/sse/shared/writer.d.ts +0 -111
  180. package/dist/conversion/conversion-v3/sse/shared/writer.js +0 -268
  181. package/dist/conversion/conversion-v3/sse/sse-to-json/anthropic-sse-to-json-converter.d.ts +0 -13
  182. package/dist/conversion/conversion-v3/sse/sse-to-json/anthropic-sse-to-json-converter.js +0 -139
  183. package/dist/conversion/conversion-v3/sse/sse-to-json/builders/response-builder.d.ts +0 -165
  184. package/dist/conversion/conversion-v3/sse/sse-to-json/builders/response-builder.js +0 -776
  185. package/dist/conversion/conversion-v3/sse/sse-to-json/chat-sse-to-json-converter.d.ts +0 -106
  186. package/dist/conversion/conversion-v3/sse/sse-to-json/chat-sse-to-json-converter.js +0 -540
  187. package/dist/conversion/conversion-v3/sse/sse-to-json/index.d.ts +0 -6
  188. package/dist/conversion/conversion-v3/sse/sse-to-json/index.js +0 -7
  189. package/dist/conversion/conversion-v3/sse/sse-to-json/parsers/sse-parser.d.ts +0 -73
  190. package/dist/conversion/conversion-v3/sse/sse-to-json/parsers/sse-parser.js +0 -332
  191. package/dist/conversion/conversion-v3/sse/sse-to-json/responses-sse-to-json-converter.d.ts +0 -59
  192. package/dist/conversion/conversion-v3/sse/sse-to-json/responses-sse-to-json-converter.js +0 -270
  193. package/dist/conversion/conversion-v3/sse/types/anthropic-types.d.ts +0 -87
  194. package/dist/conversion/conversion-v3/sse/types/anthropic-types.js +0 -5
  195. package/dist/conversion/conversion-v3/sse/types/chat-types.d.ts +0 -308
  196. package/dist/conversion/conversion-v3/sse/types/chat-types.js +0 -32
  197. package/dist/conversion/conversion-v3/sse/types/conversion-context.d.ts +0 -211
  198. package/dist/conversion/conversion-v3/sse/types/conversion-context.js +0 -20
  199. package/dist/conversion/conversion-v3/sse/types/core-interfaces.d.ts +0 -90
  200. package/dist/conversion/conversion-v3/sse/types/core-interfaces.js +0 -5
  201. package/dist/conversion/conversion-v3/sse/types/index.d.ts +0 -14
  202. package/dist/conversion/conversion-v3/sse/types/index.js +0 -7
  203. package/dist/conversion/conversion-v3/sse/types/responses-types.d.ts +0 -328
  204. package/dist/conversion/conversion-v3/sse/types/responses-types.js +0 -38
  205. package/dist/conversion/conversion-v3/sse/types/sse-events.d.ts +0 -180
  206. package/dist/conversion/conversion-v3/sse/types/sse-events.js +0 -150
  207. package/dist/conversion/conversion-v3/sse/types/stream-state.d.ts +0 -204
  208. package/dist/conversion/conversion-v3/sse/types/stream-state.js +0 -44
  209. package/dist/conversion/conversion-v3/sse/types/utility-types.d.ts +0 -230
  210. package/dist/conversion/conversion-v3/sse/types/utility-types.js +0 -49
  211. package/dist/conversion/conversion-v3/standards/context-adapter.d.ts +0 -146
  212. package/dist/conversion/conversion-v3/standards/context-adapter.js +0 -438
  213. package/dist/conversion/conversion-v3/standards/errors.d.ts +0 -38
  214. package/dist/conversion/conversion-v3/standards/errors.js +0 -27
  215. package/dist/conversion/conversion-v3/standards/index.d.ts +0 -15
  216. package/dist/conversion/conversion-v3/standards/index.js +0 -11
  217. package/dist/conversion/conversion-v3/standards/node-capabilities.d.ts +0 -123
  218. package/dist/conversion/conversion-v3/standards/node-capabilities.js +0 -330
  219. package/dist/conversion/conversion-v3/standards/pipeline-context.d.ts +0 -237
  220. package/dist/conversion/conversion-v3/standards/pipeline-context.js +0 -84
  221. package/dist/conversion/conversion-v3/standards/pipeline-node.d.ts +0 -196
  222. package/dist/conversion/conversion-v3/standards/pipeline-node.js +0 -316
  223. package/dist/conversion/conversion-v3/standards/snapshot-handles.d.ts +0 -24
  224. package/dist/conversion/conversion-v3/standards/snapshot-handles.js +0 -49
  225. package/dist/conversion/conversion-v3/types/config-types.d.ts +0 -242
  226. package/dist/conversion/conversion-v3/types/config-types.js +0 -13
  227. package/dist/conversion/conversion-v3/types/index.d.ts +0 -8
  228. package/dist/conversion/conversion-v3/types/index.js +0 -11
  229. package/dist/conversion/conversion-v3/types/node-types.d.ts +0 -211
  230. package/dist/conversion/conversion-v3/types/node-types.js +0 -20
  231. package/dist/conversion/conversion-v3/types/pipeline-types.d.ts +0 -246
  232. package/dist/conversion/conversion-v3/types/pipeline-types.js +0 -26
  233. package/dist/conversion/conversion-v3/types/request-types.d.ts +0 -293
  234. package/dist/conversion/conversion-v3/types/request-types.js +0 -26
  235. package/dist/conversion/conversion-v3/utils/provider-payload-sanitizer.d.ts +0 -10
  236. package/dist/conversion/conversion-v3/utils/provider-payload-sanitizer.js +0 -103
  237. package/dist/conversion/conversion-v3/validations/index.d.ts +0 -8
  238. package/dist/conversion/conversion-v3/validations/index.js +0 -7
  239. package/dist/conversion/conversion-v3/validations/node-graph-validator.d.ts +0 -116
  240. package/dist/conversion/conversion-v3/validations/node-graph-validator.js +0 -505
  241. package/dist/conversion/conversion-v3/validations/tool-governance-enforcer.d.ts +0 -139
  242. package/dist/conversion/conversion-v3/validations/tool-governance-enforcer.js +0 -338
  243. package/dist/conversion/hub/config/types.d.ts +0 -26
  244. package/dist/conversion/hub/core/detour-registry.d.ts +0 -9
  245. package/dist/conversion/hub/core/hub-context.d.ts +0 -21
  246. package/dist/conversion/hub/core/index.d.ts +0 -3
  247. package/dist/conversion/hub/core/stage-driver.d.ts +0 -30
  248. package/dist/conversion/hub/format-adapters/anthropic-format-adapter.d.ts +0 -16
  249. package/dist/conversion/hub/format-adapters/chat-format-adapter.d.ts +0 -17
  250. package/dist/conversion/hub/format-adapters/gemini-format-adapter.d.ts +0 -16
  251. package/dist/conversion/hub/format-adapters/index.d.ts +0 -21
  252. package/dist/conversion/hub/format-adapters/responses-format-adapter.d.ts +0 -17
  253. package/dist/conversion/hub/hub-feature.d.ts +0 -1
  254. package/dist/conversion/hub/node-support.d.ts +0 -19
  255. package/dist/conversion/hub/pipeline/hub-pipeline.d.ts +0 -68
  256. package/dist/conversion/hub/pipelines/inbound.d.ts +0 -22
  257. package/dist/conversion/hub/pipelines/outbound.d.ts +0 -22
  258. package/dist/conversion/hub/process/chat-process.d.ts +0 -13
  259. package/dist/conversion/hub/registry.d.ts +0 -28
  260. package/dist/conversion/hub/response/chat-response-utils.d.ts +0 -6
  261. package/dist/conversion/hub/response/provider-response.d.ts +0 -20
  262. package/dist/conversion/hub/response/response-mappers.d.ts +0 -19
  263. package/dist/conversion/hub/response/response-runtime.d.ts +0 -3
  264. package/dist/conversion/hub/semantic-mappers/anthropic-mapper.d.ts +0 -7
  265. package/dist/conversion/hub/semantic-mappers/chat-mapper.d.ts +0 -7
  266. package/dist/conversion/hub/semantic-mappers/gemini-mapper.d.ts +0 -7
  267. package/dist/conversion/hub/semantic-mappers/index.d.ts +0 -4
  268. package/dist/conversion/hub/semantic-mappers/responses-mapper.d.ts +0 -21
  269. package/dist/conversion/hub/snapshot-recorder.d.ts +0 -12
  270. package/dist/conversion/hub/standardized-bridge.d.ts +0 -12
  271. package/dist/conversion/hub/types/chat-envelope.d.ts +0 -67
  272. package/dist/conversion/hub/types/chat-schema.d.ts +0 -112
  273. package/dist/conversion/hub/types/errors.d.ts +0 -5
  274. package/dist/conversion/hub/types/format-envelope.d.ts +0 -7
  275. package/dist/conversion/hub/types/index.d.ts +0 -6
  276. package/dist/conversion/hub/types/json.d.ts +0 -9
  277. package/dist/conversion/hub/types/node.d.ts +0 -31
  278. package/dist/conversion/hub/types/standardized.d.ts +0 -94
  279. package/dist/conversion/responses/responses-openai-bridge.d.ts +0 -95
  280. package/dist/conversion/schema-validator.d.ts +0 -7
  281. package/dist/conversion/shared/args-mapping.d.ts +0 -18
  282. package/dist/conversion/shared/chat-request-filters.d.ts +0 -9
  283. package/dist/conversion/shared/jsonish.d.ts +0 -3
  284. package/dist/conversion/shared/mcp-injection.d.ts +0 -2
  285. package/dist/conversion/shared/media.d.ts +0 -1
  286. package/dist/conversion/shared/openai-finalizer.d.ts +0 -9
  287. package/dist/conversion/shared/openai-message-normalize.d.ts +0 -1
  288. package/dist/conversion/shared/payload-budget.d.ts +0 -13
  289. package/dist/conversion/shared/reasoning-mapping.d.ts +0 -5
  290. package/dist/conversion/shared/responses-conversation-store.d.ts +0 -41
  291. package/dist/conversion/shared/responses-id-utils.d.ts +0 -7
  292. package/dist/conversion/shared/responses-instructions.d.ts +0 -1
  293. package/dist/conversion/shared/responses-metadata.d.ts +0 -1
  294. package/dist/conversion/shared/responses-request-adapter.d.ts +0 -66
  295. package/dist/conversion/shared/snapshot-hooks.d.ts +0 -12
  296. package/dist/conversion/shared/streaming-text-extractor.d.ts +0 -26
  297. package/dist/conversion/shared/text-markup-normalizer.d.ts +0 -9
  298. package/dist/conversion/shared/tool-canonicalizer.d.ts +0 -2
  299. package/dist/conversion/shared/tool-filter-pipeline.d.ts +0 -17
  300. package/dist/conversion/shared/tool-governor.d.ts +0 -27
  301. package/dist/conversion/shared/tool-harvester.d.ts +0 -31
  302. package/dist/conversion/shared/tool-mapping.d.ts +0 -10
  303. package/dist/conversion/shared/tooling.d.ts +0 -26
  304. package/dist/conversion/types.d.ts +0 -33
  305. package/dist/core/index.d.ts +0 -6
  306. package/dist/core/index.js +0 -9
  307. package/dist/core/llmswitch-engine-v2.d.ts +0 -132
  308. package/dist/core/llmswitch-engine-v2.js +0 -649
  309. package/dist/core/llmswitch-factory-v2.d.ts +0 -123
  310. package/dist/core/llmswitch-factory-v2.js +0 -521
  311. package/dist/endpoints/base-endpoint-handler.d.ts +0 -128
  312. package/dist/endpoints/base-endpoint-handler.js +0 -545
  313. package/dist/endpoints/chat-endpoint-handler.d.ts +0 -115
  314. package/dist/endpoints/chat-endpoint-handler.js +0 -218
  315. package/dist/endpoints/endpoint-router.d.ts +0 -127
  316. package/dist/endpoints/endpoint-router.js +0 -438
  317. package/dist/endpoints/index.d.ts +0 -13
  318. package/dist/endpoints/index.js +0 -11
  319. package/dist/endpoints/messages-endpoint-handler.d.ts +0 -171
  320. package/dist/endpoints/messages-endpoint-handler.js +0 -238
  321. package/dist/endpoints/responses-endpoint-handler.d.ts +0 -147
  322. package/dist/endpoints/responses-endpoint-handler.js +0 -233
  323. package/dist/filters/builtin/add-fields-filter.d.ts +0 -8
  324. package/dist/filters/builtin/blacklist-filter.d.ts +0 -8
  325. package/dist/filters/builtin/whitelist-filter.d.ts +0 -8
  326. package/dist/filters/engine.d.ts +0 -16
  327. package/dist/filters/index.d.ts +0 -19
  328. package/dist/filters/special/request-streaming-to-nonstreaming.d.ts +0 -12
  329. package/dist/filters/special/request-tool-choice-policy.d.ts +0 -11
  330. package/dist/filters/special/request-tool-list-filter.d.ts +0 -11
  331. package/dist/filters/special/request-toolcalls-stringify.d.ts +0 -10
  332. package/dist/filters/special/request-tools-normalize.d.ts +0 -12
  333. package/dist/filters/special/response-finish-invariants.d.ts +0 -11
  334. package/dist/filters/special/response-openai-to-responses-bridge.d.ts +0 -13
  335. package/dist/filters/special/response-tool-arguments-blacklist.d.ts +0 -12
  336. package/dist/filters/special/response-tool-arguments-schema-converge.d.ts +0 -13
  337. package/dist/filters/special/response-tool-arguments-stringify.d.ts +0 -9
  338. package/dist/filters/special/response-tool-arguments-toon-decode.d.ts +0 -10
  339. package/dist/filters/special/response-tool-arguments-whitelist.d.ts +0 -11
  340. package/dist/filters/special/response-tool-text-canonicalize.d.ts +0 -10
  341. package/dist/filters/special/tool-filter-hooks.d.ts +0 -19
  342. package/dist/filters/special/tool-post-constraints.d.ts +0 -31
  343. package/dist/filters/types.d.ts +0 -68
  344. package/dist/filters/utils/fieldmap-loader.d.ts +0 -2
  345. package/dist/filters/utils/snapshot-writer.d.ts +0 -10
  346. package/dist/guidance/index.d.ts +0 -3
  347. package/dist/hooks/hooks-integration.d.ts +0 -161
  348. package/dist/hooks/hooks-integration.js +0 -519
  349. package/dist/hooks/index.d.ts +0 -10
  350. package/dist/hooks/index.js +0 -13
  351. package/dist/html-to-markdown.d.ts +0 -5
  352. package/dist/html-to-markdown.js +0 -66
  353. package/dist/http/sse-response.d.ts +0 -22
  354. package/dist/router/virtual-router/bootstrap.d.ts +0 -6
  355. package/dist/router/virtual-router/classifier.d.ts +0 -10
  356. package/dist/router/virtual-router/engine.d.ts +0 -35
  357. package/dist/router/virtual-router/error-center.d.ts +0 -10
  358. package/dist/router/virtual-router/features.d.ts +0 -3
  359. package/dist/router/virtual-router/health-manager.d.ts +0 -18
  360. package/dist/router/virtual-router/load-balancer.d.ts +0 -18
  361. package/dist/router/virtual-router/provider-registry.d.ts +0 -11
  362. package/dist/router/virtual-router/types.d.ts +0 -206
  363. package/dist/sse/json-to-sse/anthropic-json-to-sse-converter.d.ts +0 -11
  364. package/dist/sse/json-to-sse/chat-json-to-sse-converter.d.ts +0 -79
  365. package/dist/sse/json-to-sse/event-generators/chat.d.ts +0 -55
  366. package/dist/sse/json-to-sse/event-generators/responses.d.ts +0 -99
  367. package/dist/sse/json-to-sse/index.d.ts +0 -6
  368. package/dist/sse/json-to-sse/responses-json-to-sse-converter.d.ts +0 -79
  369. package/dist/sse/json-to-sse/sequencers/chat-sequencer.d.ts +0 -37
  370. package/dist/sse/json-to-sse/sequencers/responses-sequencer.d.ts +0 -40
  371. package/dist/sse/registry/sse-codec-registry.d.ts +0 -32
  372. package/dist/sse/shared/chat-serializer.d.ts +0 -4
  373. package/dist/sse/shared/constants.d.ts +0 -272
  374. package/dist/sse/shared/serializers/base-serializer.d.ts +0 -158
  375. package/dist/sse/shared/serializers/chat-event-serializer.d.ts +0 -82
  376. package/dist/sse/shared/serializers/index.d.ts +0 -39
  377. package/dist/sse/shared/serializers/responses-event-serializer.d.ts +0 -123
  378. package/dist/sse/shared/serializers/types.d.ts +0 -51
  379. package/dist/sse/shared/utils.d.ts +0 -254
  380. package/dist/sse/shared/writer.d.ts +0 -111
  381. package/dist/sse/sse-to-json/anthropic-sse-to-json-converter.d.ts +0 -13
  382. package/dist/sse/sse-to-json/builders/response-builder.d.ts +0 -165
  383. package/dist/sse/sse-to-json/chat-sse-to-json-converter.d.ts +0 -106
  384. package/dist/sse/sse-to-json/index.d.ts +0 -6
  385. package/dist/sse/sse-to-json/parsers/sse-parser.d.ts +0 -73
  386. package/dist/sse/types/anthropic-types.d.ts +0 -87
  387. package/dist/tools/proxy/anthropic-tool-proxy.d.ts +0 -19
  388. package/dist/tools/proxy/anthropic-tool-proxy.js +0 -57
  389. package/dist/tools/proxy/executors/web-fetch.d.ts +0 -6
  390. package/dist/tools/proxy/executors/web-fetch.js +0 -39
  391. package/dist/tools/proxy/registry.d.ts +0 -8
  392. package/dist/tools/proxy/registry.js +0 -14
  393. package/dist/tools/proxy/types.d.ts +0 -29
  394. package/dist/tools/tool-registry.d.ts +0 -8
  395. package/dist/tools/web-fetch-html.d.ts +0 -15
  396. package/dist/tools/web-fetch-html.js +0 -83
  397. package/dist/utils/conversion-adapter.d.ts +0 -65
  398. package/dist/utils/conversion-adapter.js +0 -183
  399. package/dist/utils/error-factory.d.ts +0 -88
  400. package/dist/utils/error-factory.js +0 -138
  401. package/dist/utils/error-utils.d.ts +0 -334
  402. package/dist/utils/error-utils.js +0 -782
  403. package/dist/utils/index.d.ts +0 -8
  404. package/dist/utils/index.js +0 -13
  405. package/dist/utils/performance-utils.d.ts +0 -205
  406. package/dist/utils/performance-utils.js +0 -440
  407. package/dist/utils/profile-mapper.d.ts +0 -32
  408. package/dist/utils/profile-mapper.js +0 -269
  409. package/dist/utils/request-processor.d.ts +0 -52
  410. package/dist/utils/request-processor.js +0 -210
  411. package/dist/utils/request-utils.d.ts +0 -117
  412. package/dist/utils/request-utils.js +0 -333
  413. package/dist/utils/response-utils.d.ts +0 -127
  414. package/dist/utils/response-utils.js +0 -516
  415. package/dist/utils/token-counter.d.ts +0 -89
  416. package/dist/utils/token-counter.js +0 -541
  417. /package/dist/{tools/proxy → conversion/hub/tool-governance}/types.js +0 -0
@@ -1,246 +0,0 @@
1
- /**
2
- * 流水线相关类型定义
3
- */
4
- import type { NodeResult, NodeConfig, PipelineNode } from './node-types.js';
5
- import type { ConversionRequest, ConversionResponse } from './request-types.js';
6
- /**
7
- * 流水线执行模式
8
- */
9
- export declare enum PipelineMode {
10
- /** 标准模式:执行所有节点 */
11
- STANDARD = "standard",
12
- /** Passthrough 模式:直接传递 */
13
- PASSTHROUGH = "passthrough",
14
- /** 自定义模式:用户定义执行逻辑 */
15
- CUSTOM = "custom"
16
- }
17
- /**
18
- * 流水线状态
19
- */
20
- export declare enum PipelineStatus {
21
- IDLE = "idle",
22
- RUNNING = "running",
23
- COMPLETED = "completed",
24
- FAILED = "failed",
25
- CANCELLED = "cancelled"
26
- }
27
- /**
28
- * 流水线配置
29
- */
30
- export interface PipelineConfig {
31
- /** 流水线唯一标识 */
32
- id: string;
33
- /** 流水线名称 */
34
- name: string;
35
- /** 流水线描述 */
36
- description?: string;
37
- /** 节点配置列表 */
38
- nodes: NodeConfig[];
39
- /** 执行模式 */
40
- mode: PipelineMode;
41
- /** 自定义运行模式(如 chat/passthrough) */
42
- processMode?: string;
43
- /** 超时设置(毫秒) */
44
- timeout?: number;
45
- /** 重试配置 */
46
- retry?: RetryConfig;
47
- /** 监控配置 */
48
- monitoring?: MonitoringConfig;
49
- /** 自定义选项 */
50
- options?: Record<string, unknown>;
51
- }
52
- /**
53
- * 流水线接口
54
- */
55
- export interface ConversionPipeline {
56
- /** 流水线唯一标识 */
57
- readonly id: string;
58
- /** 流水线名称 */
59
- readonly name: string;
60
- /** 流水线节点列表 */
61
- readonly nodes: PipelineNode[];
62
- /** 流水线配置 */
63
- readonly config: PipelineConfig;
64
- /**
65
- * 执行流水线
66
- *
67
- * @param request 转换请求
68
- * @returns 转换结果
69
- */
70
- execute(request: ConversionRequest): Promise<PipelineResult>;
71
- /**
72
- * 获取流水线状态
73
- *
74
- * @returns 流水线状态
75
- */
76
- getStatus(): PipelineStatus;
77
- /**
78
- * 取消流水线执行
79
- */
80
- cancel(): void;
81
- /**
82
- * 重置流水线
83
- */
84
- reset(): void;
85
- /**
86
- * 获取执行统计信息
87
- *
88
- * @returns 统计信息
89
- */
90
- getStats(): PipelineStats;
91
- }
92
- /**
93
- * 流水线执行结果
94
- */
95
- export interface PipelineResult {
96
- /** 是否执行成功 */
97
- success: boolean;
98
- /** 最终输出数据 */
99
- data?: Record<string, unknown>;
100
- /** 转换响应 */
101
- response?: ConversionResponse;
102
- /** 执行错误 */
103
- error?: {
104
- code: string;
105
- message: string;
106
- details?: Record<string, unknown>;
107
- cause?: Error;
108
- node?: string;
109
- };
110
- /** 执行元数据 */
111
- metadata: {
112
- /** 流水线ID */
113
- pipeline: string;
114
- /** 执行模式 */
115
- mode: PipelineMode;
116
- /** 总执行时间 */
117
- executionTime: number;
118
- /** 开始时间 */
119
- startTime: number;
120
- /** 结束时间 */
121
- endTime: number;
122
- /** 执行的节点列表 */
123
- nodes: string[];
124
- /** Passthrough 信息 */
125
- passthrough?: {
126
- enabled: boolean;
127
- reason: string;
128
- originalFormat?: string;
129
- };
130
- /** 当前流水线状态(补充信息) */
131
- status?: PipelineStatus;
132
- };
133
- /** 节点执行结果 */
134
- nodeResults: NodeResult[];
135
- /** 性能指标 */
136
- performance: {
137
- /** 节点执行时间分布 */
138
- nodeExecutionTimes: Record<string, number>;
139
- /** 内存使用情况 */
140
- memoryUsage?: {
141
- peak: number;
142
- average: number;
143
- final: number;
144
- };
145
- /** 数据处理量 */
146
- dataProcessed: {
147
- messages: number;
148
- tools: number;
149
- tokens: number;
150
- /** 可选:响应字节长度或字符长度 */
151
- responseSize?: number;
152
- };
153
- };
154
- }
155
- /**
156
- * 流水线统计信息
157
- */
158
- export interface PipelineStats {
159
- /** 总执行次数 */
160
- totalExecutions: number;
161
- /** 成功次数 */
162
- successCount: number;
163
- /** 失败次数 */
164
- failureCount: number;
165
- /** 平均执行时间 */
166
- averageExecutionTime: number;
167
- /** 最大执行时间 */
168
- maxExecutionTime: number;
169
- /** 最小执行时间 */
170
- minExecutionTime: number;
171
- /** Passthrough 次数 */
172
- passthroughCount: number;
173
- /** 最后执行时间 */
174
- lastExecution?: Date;
175
- /** 各节点执行次数 */
176
- nodeExecutions: Record<string, number>;
177
- }
178
- /**
179
- * 流水线工厂接口
180
- */
181
- export interface PipelineFactory {
182
- /**
183
- * 根据请求创建流水线
184
- *
185
- * @param request 转换请求
186
- * @returns 流水线实例
187
- */
188
- createPipeline(request: ConversionRequest): ConversionPipeline;
189
- /**
190
- * 根据配置创建流水线
191
- *
192
- * @param config 流水线配置
193
- * @returns 流水线实例
194
- */
195
- createCustomPipeline(config: PipelineConfig): ConversionPipeline;
196
- /**
197
- * 注册节点类型
198
- *
199
- * @param type 节点类型
200
- * @param factory 节点工厂函数
201
- */
202
- registerNodeType(type: string, factory: () => PipelineNode): void;
203
- /**
204
- * 获取支持的端点列表
205
- *
206
- * @returns 支持的端点列表
207
- */
208
- getSupportedEndpoints(): string[];
209
- /**
210
- * 检查是否需要 Passthrough
211
- *
212
- * @param request 转换请求
213
- * @returns 是否需要 Passthrough
214
- */
215
- needsPassthrough(request: ConversionRequest): boolean;
216
- }
217
- /**
218
- * 流水线编排器接口
219
- */
220
- export interface PipelineOrchestrator {
221
- /**
222
- * 执行流水线
223
- *
224
- * @param pipeline 流水线实例
225
- * @param request 转换请求
226
- * @returns 执行结果
227
- */
228
- execute(pipeline: ConversionPipeline, request: ConversionRequest): Promise<PipelineResult>;
229
- /**
230
- * 并行执行多个流水线
231
- *
232
- * @param pipelines 流水线数组
233
- * @param requests 请求数组
234
- * @returns 结果数组
235
- */
236
- executeParallel(pipelines: ConversionPipeline[], requests: ConversionRequest[]): Promise<PipelineResult[]>;
237
- /**
238
- * 批量执行流水线
239
- *
240
- * @param pipeline 流水线实例
241
- * @param requests 请求数组
242
- * @returns 结果数组
243
- */
244
- executeBatch(pipeline: ConversionPipeline, requests: ConversionRequest[]): Promise<PipelineResult[]>;
245
- }
246
- import type { RetryConfig, MonitoringConfig } from './node-types.js';
@@ -1,26 +0,0 @@
1
- /**
2
- * 流水线相关类型定义
3
- */
4
- /**
5
- * 流水线执行模式
6
- */
7
- export var PipelineMode;
8
- (function (PipelineMode) {
9
- /** 标准模式:执行所有节点 */
10
- PipelineMode["STANDARD"] = "standard";
11
- /** Passthrough 模式:直接传递 */
12
- PipelineMode["PASSTHROUGH"] = "passthrough";
13
- /** 自定义模式:用户定义执行逻辑 */
14
- PipelineMode["CUSTOM"] = "custom";
15
- })(PipelineMode || (PipelineMode = {}));
16
- /**
17
- * 流水线状态
18
- */
19
- export var PipelineStatus;
20
- (function (PipelineStatus) {
21
- PipelineStatus["IDLE"] = "idle";
22
- PipelineStatus["RUNNING"] = "running";
23
- PipelineStatus["COMPLETED"] = "completed";
24
- PipelineStatus["FAILED"] = "failed";
25
- PipelineStatus["CANCELLED"] = "cancelled";
26
- })(PipelineStatus || (PipelineStatus = {}));
@@ -1,293 +0,0 @@
1
- /**
2
- * 请求和响应相关类型定义
3
- */
4
- /**
5
- * 转换请求
6
- */
7
- export interface ConversionRequest {
8
- /** 请求唯一标识 */
9
- id: string;
10
- /** 请求时间戳 */
11
- timestamp: number;
12
- /** 目标端点 */
13
- endpoint: string;
14
- /** 原始请求数据 */
15
- payload: Record<string, unknown>;
16
- /** 请求上下文 */
17
- context: Record<string, unknown>;
18
- /** 请求选项 */
19
- options?: {
20
- /** 上游 provider 类型(openai/anthropic/responses/...) */
21
- provider?: string;
22
- /** 规范化 provider 大类(openai/anthropic/responses/gemini) */
23
- providerType?: string;
24
- /** 首选流式传输格式 */
25
- streamingFormat?: 'sse' | 'websocket' | 'polling' | string;
26
- /** 指定运行模式(chat/passthrough 等) */
27
- processMode?: string;
28
- /** 目标阶段(inbound/outbound) */
29
- stage?: 'inbound' | 'outbound';
30
- };
31
- }
32
- /**
33
- * 转换响应
34
- */
35
- export interface ConversionResponse {
36
- /** 响应唯一标识 */
37
- id: string;
38
- /** 对应的请求ID */
39
- requestId: string;
40
- /** 响应时间戳 */
41
- timestamp: number;
42
- /** 响应数据 */
43
- data: Record<string, unknown>;
44
- /** 响应格式 */
45
- format: string;
46
- /** 响应元数据 */
47
- metadata: {
48
- /** 转换耗时 */
49
- conversionTime: number;
50
- /** 是否为 Passthrough */
51
- isPassthrough: boolean;
52
- /** 原始格式 */
53
- originalFormat?: string;
54
- /** 目标格式 */
55
- targetFormat?: string;
56
- /** 流水线信息 */
57
- pipeline?: {
58
- id: string;
59
- nodes: string[];
60
- mode: string;
61
- };
62
- /** 使用的转换版本(v2/v3 等) */
63
- version?: string;
64
- };
65
- }
66
- /**
67
- * 标准化请求格式
68
- *
69
- * 所有输入节点转换后的统一格式
70
- */
71
- export interface StandardizedRequest {
72
- /** 模型名称 */
73
- model: string;
74
- /** 标准化的 OpenAI Chat 消息列表 */
75
- messages: StandardizedMessage[];
76
- /** 标准化的工具定义 */
77
- tools?: StandardizedTool[];
78
- /** 标准化参数 */
79
- parameters: {
80
- /** 温度 (0-2) */
81
- temperature?: number;
82
- /** 最大生成token数 */
83
- max_tokens?: number;
84
- /** 采样策略 */
85
- top_p?: number;
86
- /** 频率惩罚 */
87
- frequency_penalty?: number;
88
- /** 存在惩罚 */
89
- presence_penalty?: number;
90
- /** 停止词 */
91
- stop?: string | string[];
92
- /** 是否流式输出 */
93
- stream?: boolean;
94
- /** 其他参数 */
95
- [key: string]: unknown;
96
- };
97
- /** 元数据信息 */
98
- metadata: {
99
- /** 原始端点类型 */
100
- originalEndpoint: string;
101
- /** 捕获的端点特定上下文 */
102
- capturedContext?: Record<string, unknown>;
103
- /** 请求ID */
104
- requestId?: string;
105
- /** 是否为流式请求 */
106
- stream?: boolean;
107
- /** 工具选择策略 */
108
- toolChoice?: ToolChoice;
109
- /** 虚拟路由器提供的目标 Provider Key */
110
- providerKey?: string;
111
- /** 虚拟路由器提供的 Provider 类型 */
112
- providerType?: string;
113
- /** 虚拟路由器提供的处理模式 */
114
- processMode?: 'chat' | 'passthrough';
115
- /** 客户端提供的路由提示 */
116
- routeHint?: string;
117
- /** 原始请求携带的模型(virtual router 改写前) */
118
- originalModelId?: string;
119
- /** 客户端模型标识(与 originalModelId 保持一致,用于响应恢复) */
120
- clientModelId?: string;
121
- /** 虚拟路由器指派给上游的模型 */
122
- assignedModelId?: string;
123
- };
124
- }
125
- /**
126
- * 处理后的请求格式
127
- *
128
- * 处理节点执行后的格式
129
- */
130
- export interface ProcessedRequest extends StandardizedRequest {
131
- /** 处理结果 */
132
- processed: {
133
- /** 处理时间 */
134
- timestamp: number;
135
- /** 处理逻辑应用 */
136
- appliedRules: string[];
137
- /** 处理状态 */
138
- status: 'success' | 'partial' | 'failed';
139
- };
140
- /** 处理元数据 */
141
- processingMetadata: {
142
- /** 工具调用解析结果 */
143
- toolCalls?: ToolCallResult[];
144
- /** 流式处理信息 */
145
- streaming?: {
146
- enabled: boolean;
147
- chunkCount?: number;
148
- totalTokens?: number;
149
- };
150
- /** 上下文处理结果 */
151
- context?: {
152
- systemPrompt?: string;
153
- conversationHistory?: string[];
154
- relevantContext?: Record<string, unknown>;
155
- };
156
- /** Passthrough 标记(仅在直通流程中使用) */
157
- passthrough?: boolean;
158
- };
159
- }
160
- /**
161
- * 标准化消息
162
- */
163
- export interface StandardizedMessage {
164
- /** 消息角色 */
165
- role: 'system' | 'user' | 'assistant' | 'tool';
166
- /** 消息内容 */
167
- content: string | null;
168
- /** 工具调用(仅assistant角色) */
169
- tool_calls?: ToolCall[];
170
- /** 工具调用ID(仅tool角色) */
171
- tool_call_id?: string;
172
- /** 消息名称(可选) */
173
- name?: string;
174
- /** 额外元数据 */
175
- metadata?: Record<string, unknown>;
176
- }
177
- /**
178
- * 标准化工具
179
- */
180
- export interface StandardizedTool {
181
- /** 工具类型(通常是 'function') */
182
- type: 'function';
183
- /** 工具函数定义 */
184
- function: {
185
- /** 函数名称 */
186
- name: string;
187
- /** 函数描述 */
188
- description?: string;
189
- /** 函数参数模式 */
190
- parameters: {
191
- type: 'object';
192
- properties: Record<string, any>;
193
- required?: string[];
194
- additionalProperties?: boolean;
195
- };
196
- /** 是否严格模式 */
197
- strict?: boolean;
198
- };
199
- }
200
- /**
201
- * 工具调用
202
- */
203
- export interface ToolCall {
204
- /** 调用ID */
205
- id: string;
206
- /** 工具类型 */
207
- type: 'function';
208
- /** 函数调用 */
209
- function: {
210
- /** 函数名称 */
211
- name: string;
212
- /** 函数参数(JSON字符串) */
213
- arguments: string;
214
- };
215
- }
216
- /**
217
- * 工具调用结果
218
- */
219
- export interface ToolCallResult {
220
- /** 工具调用ID */
221
- tool_call_id: string;
222
- /** 执行状态 */
223
- status: 'success' | 'error' | 'timeout' | 'pending';
224
- /** 执行结果 */
225
- result?: any;
226
- /** 错误信息 */
227
- error?: string;
228
- /** 执行时间 */
229
- executionTime?: number;
230
- }
231
- /**
232
- * 工具选择策略
233
- */
234
- export type ToolChoice = 'none' | 'auto' | 'required' | {
235
- type: 'function';
236
- function: {
237
- name: string;
238
- };
239
- } | Record<string, unknown>;
240
- /**
241
- * 端点信息
242
- */
243
- export interface EndpointInfo {
244
- /** 端点路径 */
245
- path: string;
246
- /** 端点类型 */
247
- type: 'chat' | 'completions' | 'embeddings' | 'responses' | 'messages';
248
- /** 支持的输入格式 */
249
- inputFormats: string[];
250
- /** 支持的输出格式 */
251
- outputFormats: string[];
252
- /** 是否支持流式 */
253
- supportsStreaming: boolean;
254
- /** 是否支持工具调用 */
255
- supportsTools: boolean;
256
- /** 默认流水线配置 */
257
- defaultPipeline?: string;
258
- }
259
- /**
260
- * 格式信息
261
- */
262
- export interface FormatInfo {
263
- /** 格式名称 */
264
- name: string;
265
- /** 格式版本 */
266
- version: string;
267
- /** 格式描述 */
268
- description?: string;
269
- /** 支持的功能 */
270
- features: string[];
271
- /** 数据模式 */
272
- schema?: any;
273
- }
274
- /**
275
- * 转换错误类型
276
- *
277
- * 用于在各个节点之间传递结构化错误信息。
278
- */
279
- export declare class ConversionError extends Error {
280
- /** 出错的节点ID */
281
- readonly nodeId?: string;
282
- /** 错误阶段(例如 validation / processing 等) */
283
- readonly stage?: string;
284
- /** 底层错误原因 */
285
- readonly cause?: Error;
286
- constructor(message: string,
287
- /** 出错的节点ID */
288
- nodeId?: string,
289
- /** 错误阶段(例如 validation / processing 等) */
290
- stage?: string,
291
- /** 底层错误原因 */
292
- cause?: Error);
293
- }
@@ -1,26 +0,0 @@
1
- /**
2
- * 请求和响应相关类型定义
3
- */
4
- /**
5
- * 转换错误类型
6
- *
7
- * 用于在各个节点之间传递结构化错误信息。
8
- */
9
- export class ConversionError extends Error {
10
- nodeId;
11
- stage;
12
- cause;
13
- constructor(message,
14
- /** 出错的节点ID */
15
- nodeId,
16
- /** 错误阶段(例如 validation / processing 等) */
17
- stage,
18
- /** 底层错误原因 */
19
- cause) {
20
- super(message);
21
- this.nodeId = nodeId;
22
- this.stage = stage;
23
- this.cause = cause;
24
- this.name = 'ConversionError';
25
- }
26
- }
@@ -1,10 +0,0 @@
1
- import type { ProviderType } from '../nodes/output/output-decision.js';
2
- export interface SanitizeProviderPayloadOptions {
3
- direction?: 'request' | 'response';
4
- }
5
- /**
6
- * 确保存放到 provider 客户端的 payload 只包含协议字段,避免将内部元数据泄露到上游。
7
- * - 默认仅在 request 方向执行净化;response 方向返回结构化拷贝。
8
- * - 通过白名单 + 前缀检测删除 `providerType`、`routeHint` 等内部字段。
9
- */
10
- export declare function sanitizeProviderPayload(providerType: ProviderType | undefined, payload: Record<string, unknown> | undefined, options?: SanitizeProviderPayloadOptions): Record<string, unknown> | undefined;
@@ -1,103 +0,0 @@
1
- const INTERNAL_FIELD_NAMES = new Set([
2
- 'providertype',
3
- 'provider_type',
4
- 'metadata',
5
- 'provider',
6
- 'providerid',
7
- 'provider_id',
8
- 'providerkey',
9
- 'provider_key',
10
- 'providerprotocol',
11
- 'provider_protocol',
12
- 'providerprofile',
13
- 'provider_profile',
14
- 'providerfamily',
15
- 'routehint',
16
- 'entryendpoint',
17
- 'entry_endpoint',
18
- 'target',
19
- 'compatibilityprofile',
20
- 'compatibility_profile',
21
- 'compatprofile',
22
- 'contextmetadata',
23
- 'metadata_context',
24
- 'clientheaders',
25
- 'client_headers',
26
- 'serverheaders',
27
- 'server_headers',
28
- 'noderesults',
29
- 'node_results',
30
- 'processmode',
31
- 'stage',
32
- 'direction',
33
- 'passthrough',
34
- '__raw_request_body',
35
- '__raw_response_body',
36
- '__routecodex_internal',
37
- '__codex_internal'
38
- ]);
39
- const INTERNAL_FIELD_PREFIXES = ['__rcc', '__routecodex', '__codex', '__internal', '_internal'];
40
- /**
41
- * 确保存放到 provider 客户端的 payload 只包含协议字段,避免将内部元数据泄露到上游。
42
- * - 默认仅在 request 方向执行净化;response 方向返回结构化拷贝。
43
- * - 通过白名单 + 前缀检测删除 `providerType`、`routeHint` 等内部字段。
44
- */
45
- export function sanitizeProviderPayload(providerType, payload, options = {}) {
46
- if (!payload || typeof payload !== 'object') {
47
- return payload;
48
- }
49
- const direction = options.direction ?? 'request';
50
- if (direction !== 'request') {
51
- return clonePayload(payload);
52
- }
53
- const source = payload;
54
- return sanitizeObject(source);
55
- }
56
- function sanitizeObject(source) {
57
- const result = {};
58
- for (const [key, value] of Object.entries(source)) {
59
- if (isInternalKey(key)) {
60
- continue;
61
- }
62
- result[key] = sanitizeValue(value);
63
- }
64
- return result;
65
- }
66
- function sanitizeValue(value) {
67
- if (Array.isArray(value)) {
68
- return value.map(item => typeof item === 'object' && item !== null
69
- ? sanitizeObject(item)
70
- : item);
71
- }
72
- if (value && typeof value === 'object') {
73
- return sanitizeObject(value);
74
- }
75
- return value;
76
- }
77
- function clonePayload(payload) {
78
- return cloneValue(payload);
79
- }
80
- function cloneValue(value) {
81
- if (Array.isArray(value)) {
82
- return value.map(item => typeof item === 'object' && item !== null ? cloneValue(item) : item);
83
- }
84
- if (value && typeof value === 'object') {
85
- const result = {};
86
- for (const [key, entry] of Object.entries(value)) {
87
- result[key] = cloneValue(entry);
88
- }
89
- return result;
90
- }
91
- return value;
92
- }
93
- function isInternalKey(key) {
94
- if (!key)
95
- return false;
96
- const normalized = key.trim().toLowerCase();
97
- if (!normalized)
98
- return false;
99
- if (INTERNAL_FIELD_NAMES.has(normalized)) {
100
- return true;
101
- }
102
- return INTERNAL_FIELD_PREFIXES.some(prefix => normalized.startsWith(prefix));
103
- }