@jsonstudio/llms 0.4.3 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/README.md +3 -1
  2. package/dist/bridge/routecodex-adapter.js +6 -3
  3. package/dist/config-unified/enhanced-path-resolver.js +14 -6
  4. package/dist/config-unified/unified-config.js +103 -59
  5. package/dist/conversion/codec-registry.js +4 -2
  6. package/dist/conversion/hub/pipeline/hub-pipeline.js +4 -5
  7. package/dist/conversion/hub/process/chat-process.js +258 -41
  8. package/dist/conversion/hub/response/provider-response.js +8 -2
  9. package/dist/conversion/hub/tool-governance/engine.d.ts +16 -0
  10. package/dist/conversion/hub/tool-governance/engine.js +266 -0
  11. package/dist/conversion/hub/tool-governance/index.d.ts +3 -0
  12. package/dist/conversion/hub/tool-governance/index.js +2 -0
  13. package/dist/conversion/hub/tool-governance/rules.d.ts +2 -0
  14. package/dist/conversion/hub/tool-governance/rules.js +76 -0
  15. package/dist/conversion/hub/tool-governance/types.d.ts +38 -0
  16. package/dist/conversion/index.d.ts +1 -0
  17. package/dist/conversion/index.js +1 -0
  18. package/dist/conversion/responses/responses-openai-bridge.js +5 -3
  19. package/dist/sse/sse-to-json/builders/response-builder.js +2 -1
  20. package/dist/sse/sse-to-json/chat-sse-to-json-converter.js +37 -23
  21. package/dist/sse/sse-to-json/parsers/sse-parser.js +20 -12
  22. package/dist/sse/sse-to-json/responses-sse-to-json-converter.d.ts +1 -0
  23. package/dist/sse/sse-to-json/responses-sse-to-json-converter.js +10 -8
  24. package/dist/sse/types/chat-types.d.ts +9 -6
  25. package/dist/sse/types/conversion-context.d.ts +14 -11
  26. package/dist/sse/types/core-interfaces.d.ts +6 -2
  27. package/dist/sse/types/index.d.ts +1 -1
  28. package/dist/sse/types/responses-types.d.ts +20 -20
  29. package/dist/sse/types/sse-events.d.ts +4 -3
  30. package/dist/sse/types/stream-state.d.ts +34 -39
  31. package/dist/sse/types/utility-types.d.ts +47 -43
  32. package/dist/sse/types/utility-types.js +10 -13
  33. package/dist/tools/tool-registry.js +156 -98
  34. package/package.json +7 -7
  35. package/dist/api/index.d.ts +0 -10
  36. package/dist/api/index.js +0 -11
  37. package/dist/api/llmswitch-config.d.ts +0 -15
  38. package/dist/api/llmswitch-config.js +0 -415
  39. package/dist/api/llmswitch-types.d.ts +0 -412
  40. package/dist/api/llmswitch-types.js +0 -60
  41. package/dist/bridge/routecodex-adapter.d.ts +0 -74
  42. package/dist/config/index.d.ts +0 -3
  43. package/dist/config/index.js +0 -5
  44. package/dist/config-unified/enhanced-path-resolver.d.ts +0 -5
  45. package/dist/config-unified/unified-config.d.ts +0 -26
  46. package/dist/conversion/codec-registry.d.ts +0 -10
  47. package/dist/conversion/codecs/anthropic-openai-codec.d.ts +0 -23
  48. package/dist/conversion/codecs/gemini-openai-codec.d.ts +0 -16
  49. package/dist/conversion/codecs/openai-openai-codec.d.ts +0 -12
  50. package/dist/conversion/codecs/responses-openai-codec.d.ts +0 -12
  51. package/dist/conversion/config/config-manager.d.ts +0 -212
  52. package/dist/conversion/conversion-v3/adapters/index.d.ts +0 -2
  53. package/dist/conversion/conversion-v3/adapters/index.js +0 -1
  54. package/dist/conversion/conversion-v3/adapters/v3-to-standard-adapter.d.ts +0 -38
  55. package/dist/conversion/conversion-v3/adapters/v3-to-standard-adapter.js +0 -55
  56. package/dist/conversion/conversion-v3/compatibility/compatibility-profiles.d.ts +0 -22
  57. package/dist/conversion/conversion-v3/compatibility/compatibility-profiles.js +0 -84
  58. package/dist/conversion/conversion-v3/compatibility/compatibility-stages.d.ts +0 -4
  59. package/dist/conversion/conversion-v3/compatibility/compatibility-stages.js +0 -285
  60. package/dist/conversion/conversion-v3/compatibility/index.d.ts +0 -3
  61. package/dist/conversion/conversion-v3/compatibility/index.js +0 -2
  62. package/dist/conversion/conversion-v3/config/default-configs.d.ts +0 -48
  63. package/dist/conversion/conversion-v3/config/default-configs.js +0 -1007
  64. package/dist/conversion/conversion-v3/config/index.d.ts +0 -5
  65. package/dist/conversion/conversion-v3/config/index.js +0 -5
  66. package/dist/conversion/conversion-v3/config/pipeline-config-manager.d.ts +0 -49
  67. package/dist/conversion/conversion-v3/config/pipeline-config-manager.js +0 -65
  68. package/dist/conversion/conversion-v3/index.d.ts +0 -11
  69. package/dist/conversion/conversion-v3/index.js +0 -17
  70. package/dist/conversion/conversion-v3/nodes/index.d.ts +0 -56
  71. package/dist/conversion/conversion-v3/nodes/index.js +0 -149
  72. package/dist/conversion/conversion-v3/nodes/input/anthropic-input-node.d.ts +0 -25
  73. package/dist/conversion/conversion-v3/nodes/input/anthropic-input-node.js +0 -56
  74. package/dist/conversion/conversion-v3/nodes/input/base-input-node.d.ts +0 -75
  75. package/dist/conversion/conversion-v3/nodes/input/base-input-node.js +0 -237
  76. package/dist/conversion/conversion-v3/nodes/input/chat-input-node.d.ts +0 -25
  77. package/dist/conversion/conversion-v3/nodes/input/chat-input-node.js +0 -56
  78. package/dist/conversion/conversion-v3/nodes/input/chat-shape-helpers.d.ts +0 -4
  79. package/dist/conversion/conversion-v3/nodes/input/chat-shape-helpers.js +0 -197
  80. package/dist/conversion/conversion-v3/nodes/input/gemini-input-node.d.ts +0 -16
  81. package/dist/conversion/conversion-v3/nodes/input/gemini-input-node.js +0 -125
  82. package/dist/conversion/conversion-v3/nodes/input/index.d.ts +0 -8
  83. package/dist/conversion/conversion-v3/nodes/input/index.js +0 -8
  84. package/dist/conversion/conversion-v3/nodes/input/input-decision.d.ts +0 -46
  85. package/dist/conversion/conversion-v3/nodes/input/input-decision.js +0 -125
  86. package/dist/conversion/conversion-v3/nodes/input/responses-input-node.d.ts +0 -20
  87. package/dist/conversion/conversion-v3/nodes/input/responses-input-node.js +0 -51
  88. package/dist/conversion/conversion-v3/nodes/output/anthropic-output-node.d.ts +0 -71
  89. package/dist/conversion/conversion-v3/nodes/output/anthropic-output-node.js +0 -320
  90. package/dist/conversion/conversion-v3/nodes/output/base-output-node.d.ts +0 -116
  91. package/dist/conversion/conversion-v3/nodes/output/base-output-node.js +0 -512
  92. package/dist/conversion/conversion-v3/nodes/output/index.d.ts +0 -7
  93. package/dist/conversion/conversion-v3/nodes/output/index.js +0 -7
  94. package/dist/conversion/conversion-v3/nodes/output/openai-output-node.d.ts +0 -71
  95. package/dist/conversion/conversion-v3/nodes/output/openai-output-node.js +0 -293
  96. package/dist/conversion/conversion-v3/nodes/output/output-decision.d.ts +0 -68
  97. package/dist/conversion/conversion-v3/nodes/output/output-decision.js +0 -161
  98. package/dist/conversion/conversion-v3/nodes/output/responses-output-node.d.ts +0 -64
  99. package/dist/conversion/conversion-v3/nodes/output/responses-output-node.js +0 -323
  100. package/dist/conversion/conversion-v3/nodes/process/base-process-node.d.ts +0 -72
  101. package/dist/conversion/conversion-v3/nodes/process/base-process-node.js +0 -246
  102. package/dist/conversion/conversion-v3/nodes/process/chat-process-node.d.ts +0 -135
  103. package/dist/conversion/conversion-v3/nodes/process/chat-process-node.js +0 -854
  104. package/dist/conversion/conversion-v3/nodes/process/compatibility-process-node.d.ts +0 -29
  105. package/dist/conversion/conversion-v3/nodes/process/compatibility-process-node.js +0 -181
  106. package/dist/conversion/conversion-v3/nodes/process/index.d.ts +0 -10
  107. package/dist/conversion/conversion-v3/nodes/process/index.js +0 -10
  108. package/dist/conversion/conversion-v3/nodes/process/passthrough-process-node.d.ts +0 -59
  109. package/dist/conversion/conversion-v3/nodes/process/passthrough-process-node.js +0 -243
  110. package/dist/conversion/conversion-v3/nodes/process/response-process-node.d.ts +0 -17
  111. package/dist/conversion/conversion-v3/nodes/process/response-process-node.js +0 -213
  112. package/dist/conversion/conversion-v3/nodes/process/tool-process-node.d.ts +0 -30
  113. package/dist/conversion/conversion-v3/nodes/process/tool-process-node.js +0 -360
  114. package/dist/conversion/conversion-v3/nodes/process/virtual-router-process-node.d.ts +0 -40
  115. package/dist/conversion/conversion-v3/nodes/process/virtual-router-process-node.js +0 -430
  116. package/dist/conversion/conversion-v3/nodes/response/anthropic-response-input-node.d.ts +0 -12
  117. package/dist/conversion/conversion-v3/nodes/response/anthropic-response-input-node.js +0 -129
  118. package/dist/conversion/conversion-v3/nodes/response/chat-to-responses-response-node.d.ts +0 -15
  119. package/dist/conversion/conversion-v3/nodes/response/chat-to-responses-response-node.js +0 -57
  120. package/dist/conversion/conversion-v3/nodes/response/index.d.ts +0 -4
  121. package/dist/conversion/conversion-v3/nodes/response/index.js +0 -4
  122. package/dist/conversion/conversion-v3/nodes/response/openai-response-input-node.d.ts +0 -15
  123. package/dist/conversion/conversion-v3/nodes/response/openai-response-input-node.js +0 -87
  124. package/dist/conversion/conversion-v3/nodes/response/response-utils.d.ts +0 -1
  125. package/dist/conversion/conversion-v3/nodes/response/response-utils.js +0 -1
  126. package/dist/conversion/conversion-v3/nodes/response/responses-response-input-node.d.ts +0 -12
  127. package/dist/conversion/conversion-v3/nodes/response/responses-response-input-node.js +0 -67
  128. package/dist/conversion/conversion-v3/nodes/sse/index.d.ts +0 -3
  129. package/dist/conversion/conversion-v3/nodes/sse/index.js +0 -3
  130. package/dist/conversion/conversion-v3/nodes/sse/sse-input-node.d.ts +0 -27
  131. package/dist/conversion/conversion-v3/nodes/sse/sse-input-node.js +0 -165
  132. package/dist/conversion/conversion-v3/nodes/sse/sse-output-node.d.ts +0 -19
  133. package/dist/conversion/conversion-v3/nodes/sse/sse-output-node.js +0 -267
  134. package/dist/conversion/conversion-v3/nodes/sse/sse-passthrough-node.d.ts +0 -18
  135. package/dist/conversion/conversion-v3/nodes/sse/sse-passthrough-node.js +0 -48
  136. package/dist/conversion/conversion-v3/pipelines/index.d.ts +0 -6
  137. package/dist/conversion/conversion-v3/pipelines/index.js +0 -6
  138. package/dist/conversion/conversion-v3/pipelines/super-pipeline.d.ts +0 -112
  139. package/dist/conversion/conversion-v3/pipelines/super-pipeline.js +0 -566
  140. package/dist/conversion/conversion-v3/response/provider-response-converter.d.ts +0 -28
  141. package/dist/conversion/conversion-v3/response/provider-response-converter.js +0 -249
  142. package/dist/conversion/conversion-v3/sse/index.d.ts +0 -140
  143. package/dist/conversion/conversion-v3/sse/index.js +0 -115
  144. package/dist/conversion/conversion-v3/sse/json-to-sse/anthropic-json-to-sse-converter.d.ts +0 -11
  145. package/dist/conversion/conversion-v3/sse/json-to-sse/anthropic-json-to-sse-converter.js +0 -79
  146. package/dist/conversion/conversion-v3/sse/json-to-sse/chat-json-to-sse-converter.d.ts +0 -79
  147. package/dist/conversion/conversion-v3/sse/json-to-sse/chat-json-to-sse-converter.js +0 -296
  148. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/chat.d.ts +0 -55
  149. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/chat.js +0 -233
  150. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/responses.d.ts +0 -99
  151. package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/responses.js +0 -599
  152. package/dist/conversion/conversion-v3/sse/json-to-sse/index.d.ts +0 -6
  153. package/dist/conversion/conversion-v3/sse/json-to-sse/index.js +0 -7
  154. package/dist/conversion/conversion-v3/sse/json-to-sse/responses-json-to-sse-converter.d.ts +0 -79
  155. package/dist/conversion/conversion-v3/sse/json-to-sse/responses-json-to-sse-converter.js +0 -322
  156. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/chat-sequencer.d.ts +0 -37
  157. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/chat-sequencer.js +0 -218
  158. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/responses-sequencer.d.ts +0 -40
  159. package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/responses-sequencer.js +0 -263
  160. package/dist/conversion/conversion-v3/sse/registry/sse-codec-registry.d.ts +0 -32
  161. package/dist/conversion/conversion-v3/sse/registry/sse-codec-registry.js +0 -106
  162. package/dist/conversion/conversion-v3/sse/shared/chat-serializer.d.ts +0 -4
  163. package/dist/conversion/conversion-v3/sse/shared/chat-serializer.js +0 -40
  164. package/dist/conversion/conversion-v3/sse/shared/constants.d.ts +0 -272
  165. package/dist/conversion/conversion-v3/sse/shared/constants.js +0 -321
  166. package/dist/conversion/conversion-v3/sse/shared/serializers/base-serializer.d.ts +0 -158
  167. package/dist/conversion/conversion-v3/sse/shared/serializers/base-serializer.js +0 -210
  168. package/dist/conversion/conversion-v3/sse/shared/serializers/chat-event-serializer.d.ts +0 -82
  169. package/dist/conversion/conversion-v3/sse/shared/serializers/chat-event-serializer.js +0 -275
  170. package/dist/conversion/conversion-v3/sse/shared/serializers/index.d.ts +0 -39
  171. package/dist/conversion/conversion-v3/sse/shared/serializers/index.js +0 -54
  172. package/dist/conversion/conversion-v3/sse/shared/serializers/responses-event-serializer.d.ts +0 -123
  173. package/dist/conversion/conversion-v3/sse/shared/serializers/responses-event-serializer.js +0 -356
  174. package/dist/conversion/conversion-v3/sse/shared/serializers/types.d.ts +0 -51
  175. package/dist/conversion/conversion-v3/sse/shared/serializers/types.js +0 -4
  176. package/dist/conversion/conversion-v3/sse/shared/utils.d.ts +0 -254
  177. package/dist/conversion/conversion-v3/sse/shared/utils.js +0 -543
  178. package/dist/conversion/conversion-v3/sse/shared/writer.d.ts +0 -111
  179. package/dist/conversion/conversion-v3/sse/shared/writer.js +0 -268
  180. package/dist/conversion/conversion-v3/sse/sse-to-json/anthropic-sse-to-json-converter.d.ts +0 -13
  181. package/dist/conversion/conversion-v3/sse/sse-to-json/anthropic-sse-to-json-converter.js +0 -139
  182. package/dist/conversion/conversion-v3/sse/sse-to-json/builders/response-builder.d.ts +0 -165
  183. package/dist/conversion/conversion-v3/sse/sse-to-json/builders/response-builder.js +0 -776
  184. package/dist/conversion/conversion-v3/sse/sse-to-json/chat-sse-to-json-converter.d.ts +0 -106
  185. package/dist/conversion/conversion-v3/sse/sse-to-json/chat-sse-to-json-converter.js +0 -540
  186. package/dist/conversion/conversion-v3/sse/sse-to-json/index.d.ts +0 -6
  187. package/dist/conversion/conversion-v3/sse/sse-to-json/index.js +0 -7
  188. package/dist/conversion/conversion-v3/sse/sse-to-json/parsers/sse-parser.d.ts +0 -73
  189. package/dist/conversion/conversion-v3/sse/sse-to-json/parsers/sse-parser.js +0 -332
  190. package/dist/conversion/conversion-v3/sse/sse-to-json/responses-sse-to-json-converter.d.ts +0 -59
  191. package/dist/conversion/conversion-v3/sse/sse-to-json/responses-sse-to-json-converter.js +0 -270
  192. package/dist/conversion/conversion-v3/sse/types/anthropic-types.d.ts +0 -87
  193. package/dist/conversion/conversion-v3/sse/types/anthropic-types.js +0 -5
  194. package/dist/conversion/conversion-v3/sse/types/chat-types.d.ts +0 -308
  195. package/dist/conversion/conversion-v3/sse/types/chat-types.js +0 -32
  196. package/dist/conversion/conversion-v3/sse/types/conversion-context.d.ts +0 -211
  197. package/dist/conversion/conversion-v3/sse/types/conversion-context.js +0 -20
  198. package/dist/conversion/conversion-v3/sse/types/core-interfaces.d.ts +0 -90
  199. package/dist/conversion/conversion-v3/sse/types/core-interfaces.js +0 -5
  200. package/dist/conversion/conversion-v3/sse/types/index.d.ts +0 -14
  201. package/dist/conversion/conversion-v3/sse/types/index.js +0 -7
  202. package/dist/conversion/conversion-v3/sse/types/responses-types.d.ts +0 -328
  203. package/dist/conversion/conversion-v3/sse/types/responses-types.js +0 -38
  204. package/dist/conversion/conversion-v3/sse/types/sse-events.d.ts +0 -180
  205. package/dist/conversion/conversion-v3/sse/types/sse-events.js +0 -150
  206. package/dist/conversion/conversion-v3/sse/types/stream-state.d.ts +0 -204
  207. package/dist/conversion/conversion-v3/sse/types/stream-state.js +0 -44
  208. package/dist/conversion/conversion-v3/sse/types/utility-types.d.ts +0 -230
  209. package/dist/conversion/conversion-v3/sse/types/utility-types.js +0 -49
  210. package/dist/conversion/conversion-v3/standards/context-adapter.d.ts +0 -146
  211. package/dist/conversion/conversion-v3/standards/context-adapter.js +0 -438
  212. package/dist/conversion/conversion-v3/standards/errors.d.ts +0 -38
  213. package/dist/conversion/conversion-v3/standards/errors.js +0 -27
  214. package/dist/conversion/conversion-v3/standards/index.d.ts +0 -15
  215. package/dist/conversion/conversion-v3/standards/index.js +0 -11
  216. package/dist/conversion/conversion-v3/standards/node-capabilities.d.ts +0 -123
  217. package/dist/conversion/conversion-v3/standards/node-capabilities.js +0 -330
  218. package/dist/conversion/conversion-v3/standards/pipeline-context.d.ts +0 -237
  219. package/dist/conversion/conversion-v3/standards/pipeline-context.js +0 -84
  220. package/dist/conversion/conversion-v3/standards/pipeline-node.d.ts +0 -196
  221. package/dist/conversion/conversion-v3/standards/pipeline-node.js +0 -316
  222. package/dist/conversion/conversion-v3/standards/snapshot-handles.d.ts +0 -24
  223. package/dist/conversion/conversion-v3/standards/snapshot-handles.js +0 -49
  224. package/dist/conversion/conversion-v3/types/config-types.d.ts +0 -242
  225. package/dist/conversion/conversion-v3/types/config-types.js +0 -13
  226. package/dist/conversion/conversion-v3/types/index.d.ts +0 -8
  227. package/dist/conversion/conversion-v3/types/index.js +0 -11
  228. package/dist/conversion/conversion-v3/types/node-types.d.ts +0 -211
  229. package/dist/conversion/conversion-v3/types/node-types.js +0 -20
  230. package/dist/conversion/conversion-v3/types/pipeline-types.d.ts +0 -246
  231. package/dist/conversion/conversion-v3/types/pipeline-types.js +0 -26
  232. package/dist/conversion/conversion-v3/types/request-types.d.ts +0 -293
  233. package/dist/conversion/conversion-v3/types/request-types.js +0 -26
  234. package/dist/conversion/conversion-v3/utils/provider-payload-sanitizer.d.ts +0 -10
  235. package/dist/conversion/conversion-v3/utils/provider-payload-sanitizer.js +0 -103
  236. package/dist/conversion/conversion-v3/validations/index.d.ts +0 -8
  237. package/dist/conversion/conversion-v3/validations/index.js +0 -7
  238. package/dist/conversion/conversion-v3/validations/node-graph-validator.d.ts +0 -116
  239. package/dist/conversion/conversion-v3/validations/node-graph-validator.js +0 -505
  240. package/dist/conversion/conversion-v3/validations/tool-governance-enforcer.d.ts +0 -139
  241. package/dist/conversion/conversion-v3/validations/tool-governance-enforcer.js +0 -338
  242. package/dist/conversion/hub/config/types.d.ts +0 -26
  243. package/dist/conversion/hub/core/detour-registry.d.ts +0 -9
  244. package/dist/conversion/hub/core/hub-context.d.ts +0 -21
  245. package/dist/conversion/hub/core/index.d.ts +0 -3
  246. package/dist/conversion/hub/core/stage-driver.d.ts +0 -30
  247. package/dist/conversion/hub/format-adapters/anthropic-format-adapter.d.ts +0 -16
  248. package/dist/conversion/hub/format-adapters/chat-format-adapter.d.ts +0 -17
  249. package/dist/conversion/hub/format-adapters/gemini-format-adapter.d.ts +0 -16
  250. package/dist/conversion/hub/format-adapters/index.d.ts +0 -21
  251. package/dist/conversion/hub/format-adapters/responses-format-adapter.d.ts +0 -17
  252. package/dist/conversion/hub/hub-feature.d.ts +0 -1
  253. package/dist/conversion/hub/node-support.d.ts +0 -19
  254. package/dist/conversion/hub/pipeline/hub-pipeline.d.ts +0 -68
  255. package/dist/conversion/hub/pipelines/inbound.d.ts +0 -22
  256. package/dist/conversion/hub/pipelines/outbound.d.ts +0 -22
  257. package/dist/conversion/hub/process/chat-process.d.ts +0 -13
  258. package/dist/conversion/hub/registry.d.ts +0 -28
  259. package/dist/conversion/hub/response/chat-response-utils.d.ts +0 -6
  260. package/dist/conversion/hub/response/provider-response.d.ts +0 -20
  261. package/dist/conversion/hub/response/response-mappers.d.ts +0 -19
  262. package/dist/conversion/hub/response/response-runtime.d.ts +0 -3
  263. package/dist/conversion/hub/semantic-mappers/anthropic-mapper.d.ts +0 -7
  264. package/dist/conversion/hub/semantic-mappers/chat-mapper.d.ts +0 -7
  265. package/dist/conversion/hub/semantic-mappers/gemini-mapper.d.ts +0 -7
  266. package/dist/conversion/hub/semantic-mappers/index.d.ts +0 -4
  267. package/dist/conversion/hub/semantic-mappers/responses-mapper.d.ts +0 -21
  268. package/dist/conversion/hub/snapshot-recorder.d.ts +0 -12
  269. package/dist/conversion/hub/standardized-bridge.d.ts +0 -12
  270. package/dist/conversion/hub/types/chat-envelope.d.ts +0 -67
  271. package/dist/conversion/hub/types/chat-schema.d.ts +0 -112
  272. package/dist/conversion/hub/types/errors.d.ts +0 -5
  273. package/dist/conversion/hub/types/format-envelope.d.ts +0 -7
  274. package/dist/conversion/hub/types/index.d.ts +0 -6
  275. package/dist/conversion/hub/types/json.d.ts +0 -9
  276. package/dist/conversion/hub/types/node.d.ts +0 -31
  277. package/dist/conversion/hub/types/standardized.d.ts +0 -94
  278. package/dist/conversion/responses/responses-openai-bridge.d.ts +0 -95
  279. package/dist/conversion/schema-validator.d.ts +0 -7
  280. package/dist/conversion/shared/args-mapping.d.ts +0 -18
  281. package/dist/conversion/shared/chat-request-filters.d.ts +0 -9
  282. package/dist/conversion/shared/jsonish.d.ts +0 -3
  283. package/dist/conversion/shared/mcp-injection.d.ts +0 -2
  284. package/dist/conversion/shared/media.d.ts +0 -1
  285. package/dist/conversion/shared/openai-finalizer.d.ts +0 -9
  286. package/dist/conversion/shared/openai-message-normalize.d.ts +0 -1
  287. package/dist/conversion/shared/payload-budget.d.ts +0 -13
  288. package/dist/conversion/shared/reasoning-mapping.d.ts +0 -5
  289. package/dist/conversion/shared/responses-conversation-store.d.ts +0 -41
  290. package/dist/conversion/shared/responses-id-utils.d.ts +0 -7
  291. package/dist/conversion/shared/responses-instructions.d.ts +0 -1
  292. package/dist/conversion/shared/responses-metadata.d.ts +0 -1
  293. package/dist/conversion/shared/responses-request-adapter.d.ts +0 -66
  294. package/dist/conversion/shared/snapshot-hooks.d.ts +0 -12
  295. package/dist/conversion/shared/streaming-text-extractor.d.ts +0 -26
  296. package/dist/conversion/shared/text-markup-normalizer.d.ts +0 -9
  297. package/dist/conversion/shared/tool-canonicalizer.d.ts +0 -2
  298. package/dist/conversion/shared/tool-filter-pipeline.d.ts +0 -17
  299. package/dist/conversion/shared/tool-governor.d.ts +0 -27
  300. package/dist/conversion/shared/tool-harvester.d.ts +0 -31
  301. package/dist/conversion/shared/tool-mapping.d.ts +0 -10
  302. package/dist/conversion/shared/tooling.d.ts +0 -26
  303. package/dist/conversion/types.d.ts +0 -33
  304. package/dist/core/index.d.ts +0 -6
  305. package/dist/core/index.js +0 -9
  306. package/dist/core/llmswitch-engine-v2.d.ts +0 -132
  307. package/dist/core/llmswitch-engine-v2.js +0 -649
  308. package/dist/core/llmswitch-factory-v2.d.ts +0 -123
  309. package/dist/core/llmswitch-factory-v2.js +0 -521
  310. package/dist/endpoints/base-endpoint-handler.d.ts +0 -128
  311. package/dist/endpoints/base-endpoint-handler.js +0 -545
  312. package/dist/endpoints/chat-endpoint-handler.d.ts +0 -115
  313. package/dist/endpoints/chat-endpoint-handler.js +0 -218
  314. package/dist/endpoints/endpoint-router.d.ts +0 -127
  315. package/dist/endpoints/endpoint-router.js +0 -438
  316. package/dist/endpoints/index.d.ts +0 -13
  317. package/dist/endpoints/index.js +0 -11
  318. package/dist/endpoints/messages-endpoint-handler.d.ts +0 -171
  319. package/dist/endpoints/messages-endpoint-handler.js +0 -238
  320. package/dist/endpoints/responses-endpoint-handler.d.ts +0 -147
  321. package/dist/endpoints/responses-endpoint-handler.js +0 -233
  322. package/dist/filters/builtin/add-fields-filter.d.ts +0 -8
  323. package/dist/filters/builtin/blacklist-filter.d.ts +0 -8
  324. package/dist/filters/builtin/whitelist-filter.d.ts +0 -8
  325. package/dist/filters/engine.d.ts +0 -16
  326. package/dist/filters/index.d.ts +0 -19
  327. package/dist/filters/special/request-streaming-to-nonstreaming.d.ts +0 -12
  328. package/dist/filters/special/request-tool-choice-policy.d.ts +0 -11
  329. package/dist/filters/special/request-tool-list-filter.d.ts +0 -11
  330. package/dist/filters/special/request-toolcalls-stringify.d.ts +0 -10
  331. package/dist/filters/special/request-tools-normalize.d.ts +0 -12
  332. package/dist/filters/special/response-finish-invariants.d.ts +0 -11
  333. package/dist/filters/special/response-openai-to-responses-bridge.d.ts +0 -13
  334. package/dist/filters/special/response-tool-arguments-blacklist.d.ts +0 -12
  335. package/dist/filters/special/response-tool-arguments-schema-converge.d.ts +0 -13
  336. package/dist/filters/special/response-tool-arguments-stringify.d.ts +0 -9
  337. package/dist/filters/special/response-tool-arguments-toon-decode.d.ts +0 -10
  338. package/dist/filters/special/response-tool-arguments-whitelist.d.ts +0 -11
  339. package/dist/filters/special/response-tool-text-canonicalize.d.ts +0 -10
  340. package/dist/filters/special/tool-filter-hooks.d.ts +0 -19
  341. package/dist/filters/special/tool-post-constraints.d.ts +0 -31
  342. package/dist/filters/types.d.ts +0 -68
  343. package/dist/filters/utils/fieldmap-loader.d.ts +0 -2
  344. package/dist/filters/utils/snapshot-writer.d.ts +0 -10
  345. package/dist/guidance/index.d.ts +0 -3
  346. package/dist/hooks/hooks-integration.d.ts +0 -161
  347. package/dist/hooks/hooks-integration.js +0 -519
  348. package/dist/hooks/index.d.ts +0 -10
  349. package/dist/hooks/index.js +0 -13
  350. package/dist/html-to-markdown.d.ts +0 -5
  351. package/dist/html-to-markdown.js +0 -66
  352. package/dist/http/sse-response.d.ts +0 -22
  353. package/dist/router/virtual-router/bootstrap.d.ts +0 -6
  354. package/dist/router/virtual-router/classifier.d.ts +0 -10
  355. package/dist/router/virtual-router/engine.d.ts +0 -35
  356. package/dist/router/virtual-router/error-center.d.ts +0 -10
  357. package/dist/router/virtual-router/features.d.ts +0 -3
  358. package/dist/router/virtual-router/health-manager.d.ts +0 -18
  359. package/dist/router/virtual-router/load-balancer.d.ts +0 -18
  360. package/dist/router/virtual-router/provider-registry.d.ts +0 -11
  361. package/dist/router/virtual-router/types.d.ts +0 -206
  362. package/dist/sse/json-to-sse/anthropic-json-to-sse-converter.d.ts +0 -11
  363. package/dist/sse/json-to-sse/chat-json-to-sse-converter.d.ts +0 -79
  364. package/dist/sse/json-to-sse/event-generators/chat.d.ts +0 -55
  365. package/dist/sse/json-to-sse/event-generators/responses.d.ts +0 -99
  366. package/dist/sse/json-to-sse/index.d.ts +0 -6
  367. package/dist/sse/json-to-sse/responses-json-to-sse-converter.d.ts +0 -79
  368. package/dist/sse/json-to-sse/sequencers/chat-sequencer.d.ts +0 -37
  369. package/dist/sse/json-to-sse/sequencers/responses-sequencer.d.ts +0 -40
  370. package/dist/sse/registry/sse-codec-registry.d.ts +0 -32
  371. package/dist/sse/shared/chat-serializer.d.ts +0 -4
  372. package/dist/sse/shared/constants.d.ts +0 -272
  373. package/dist/sse/shared/serializers/base-serializer.d.ts +0 -158
  374. package/dist/sse/shared/serializers/chat-event-serializer.d.ts +0 -82
  375. package/dist/sse/shared/serializers/index.d.ts +0 -39
  376. package/dist/sse/shared/serializers/responses-event-serializer.d.ts +0 -123
  377. package/dist/sse/shared/serializers/types.d.ts +0 -51
  378. package/dist/sse/shared/utils.d.ts +0 -254
  379. package/dist/sse/shared/writer.d.ts +0 -111
  380. package/dist/sse/sse-to-json/anthropic-sse-to-json-converter.d.ts +0 -13
  381. package/dist/sse/sse-to-json/builders/response-builder.d.ts +0 -165
  382. package/dist/sse/sse-to-json/chat-sse-to-json-converter.d.ts +0 -106
  383. package/dist/sse/sse-to-json/index.d.ts +0 -6
  384. package/dist/sse/sse-to-json/parsers/sse-parser.d.ts +0 -73
  385. package/dist/sse/types/anthropic-types.d.ts +0 -87
  386. package/dist/tools/proxy/anthropic-tool-proxy.d.ts +0 -19
  387. package/dist/tools/proxy/anthropic-tool-proxy.js +0 -57
  388. package/dist/tools/proxy/executors/web-fetch.d.ts +0 -6
  389. package/dist/tools/proxy/executors/web-fetch.js +0 -39
  390. package/dist/tools/proxy/registry.d.ts +0 -8
  391. package/dist/tools/proxy/registry.js +0 -14
  392. package/dist/tools/proxy/types.d.ts +0 -29
  393. package/dist/tools/tool-registry.d.ts +0 -8
  394. package/dist/tools/web-fetch-html.d.ts +0 -15
  395. package/dist/tools/web-fetch-html.js +0 -83
  396. package/dist/utils/conversion-adapter.d.ts +0 -65
  397. package/dist/utils/conversion-adapter.js +0 -183
  398. package/dist/utils/error-factory.d.ts +0 -88
  399. package/dist/utils/error-factory.js +0 -138
  400. package/dist/utils/error-utils.d.ts +0 -334
  401. package/dist/utils/error-utils.js +0 -782
  402. package/dist/utils/index.d.ts +0 -8
  403. package/dist/utils/index.js +0 -13
  404. package/dist/utils/performance-utils.d.ts +0 -205
  405. package/dist/utils/performance-utils.js +0 -440
  406. package/dist/utils/profile-mapper.d.ts +0 -32
  407. package/dist/utils/profile-mapper.js +0 -269
  408. package/dist/utils/request-processor.d.ts +0 -52
  409. package/dist/utils/request-processor.js +0 -210
  410. package/dist/utils/request-utils.d.ts +0 -117
  411. package/dist/utils/request-utils.js +0 -333
  412. package/dist/utils/response-utils.d.ts +0 -127
  413. package/dist/utils/response-utils.js +0 -516
  414. package/dist/utils/token-counter.d.ts +0 -89
  415. package/dist/utils/token-counter.js +0 -541
  416. /package/dist/{tools/proxy → conversion/hub/tool-governance}/types.js +0 -0
@@ -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
- }