@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,412 +0,0 @@
1
- /**
2
- * LLMSwitch V2 类型定义
3
- *
4
- * 定义LLMSwitch V2版本的核心类型接口,支持多端点处理和Hooks集成
5
- */
6
- export type EndpointType = 'chat' | 'responses' | 'messages';
7
- export type ProtocolType = 'openai-chat' | 'openai-responses' | 'anthropic-messages';
8
- export type ProcessingMode = 'streaming' | 'non-streaming' | 'auto';
9
- export interface OpenAIChatRequest {
10
- model: string;
11
- messages: Array<{
12
- role: 'system' | 'user' | 'assistant';
13
- content: string;
14
- }>;
15
- temperature?: number;
16
- max_tokens?: number;
17
- stream?: boolean;
18
- tools?: Array<{
19
- type: 'function';
20
- function: {
21
- name: string;
22
- description?: string;
23
- parameters?: any;
24
- };
25
- }>;
26
- }
27
- export interface OpenAIChatResponse {
28
- id: string;
29
- object: 'chat.completion';
30
- created: number;
31
- model: string;
32
- choices: Array<{
33
- index: number;
34
- message: {
35
- role: 'assistant';
36
- content?: string;
37
- tool_calls?: Array<{
38
- id: string;
39
- type: 'function';
40
- function: {
41
- name: string;
42
- arguments: string;
43
- };
44
- }>;
45
- };
46
- finish_reason: 'stop' | 'length' | 'tool_calls' | 'content_filter';
47
- }>;
48
- usage?: {
49
- prompt_tokens: number;
50
- completion_tokens: number;
51
- total_tokens: number;
52
- };
53
- }
54
- export interface OpenAIResponsesRequest {
55
- model: string;
56
- input: string;
57
- instructions?: string;
58
- tools?: any[];
59
- temperature?: number;
60
- max_tokens?: number;
61
- stream?: boolean;
62
- }
63
- export interface OpenAIResponsesResponse {
64
- id: string;
65
- object: 'response';
66
- created: number;
67
- model: string;
68
- output: Array<{
69
- type: 'message';
70
- id: string;
71
- role: 'assistant';
72
- content: Array<{
73
- type: 'text';
74
- text: string;
75
- }>;
76
- }>;
77
- output_text: string;
78
- usage: {
79
- prompt_tokens: number;
80
- completion_tokens: number;
81
- total_tokens: number;
82
- };
83
- }
84
- export interface AnthropicMessagesRequest {
85
- model: string;
86
- messages: Array<{
87
- role: 'user' | 'assistant';
88
- content: string | Array<{
89
- type: 'text' | 'image';
90
- text?: string;
91
- source?: {
92
- type: 'base64';
93
- media_type: string;
94
- data: string;
95
- };
96
- }>;
97
- }>;
98
- system?: string;
99
- max_tokens: number;
100
- temperature?: number;
101
- top_p?: number;
102
- top_k?: number;
103
- stop_sequences?: string[];
104
- stream?: boolean;
105
- tools?: any[];
106
- }
107
- export interface AnthropicMessagesResponse {
108
- id: string;
109
- type: 'message';
110
- role: 'assistant';
111
- content: Array<{
112
- type: 'text' | 'tool_use' | 'tool_result';
113
- text?: string;
114
- id?: string;
115
- name?: string;
116
- input?: any;
117
- content?: any;
118
- is_error?: boolean;
119
- }>;
120
- model: string;
121
- stop_reason: 'end_turn' | 'max_tokens' | 'stop_sequence' | 'tool_use';
122
- stop_sequence?: string | null;
123
- usage: {
124
- input_tokens: number;
125
- output_tokens: number;
126
- };
127
- }
128
- export declare enum LLMSwitchHookStage {
129
- REQUEST_1_VALIDATION_PRE = "request_1_validation_pre",
130
- REQUEST_1_VALIDATION_POST = "request_1_validation_post",
131
- REQUEST_2_ROUTING_PRE = "request_2_routing_pre",
132
- REQUEST_2_ROUTING_POST = "request_2_routing_post",
133
- REQUEST_3_CONVERSION_PRE = "request_3_conversion_pre",
134
- REQUEST_3_CONVERSION_POST = "request_3_conversion_post",
135
- REQUEST_4_TOOLS_PRE = "request_4_tools_pre",
136
- REQUEST_4_TOOLS_POST = "request_4_tools_post",
137
- REQUEST_5_SSE_PRE = "request_5_sse_pre",
138
- REQUEST_5_SSE_POST = "request_5_sse_post",
139
- REQUEST_6_SNAPSHOT_PRE = "request_6_snapshot_pre",
140
- REQUEST_6_SNAPSHOT_POST = "request_6_snapshot_post",
141
- REQUEST_7_MONITORING_PRE = "request_7_monitoring_pre",
142
- REQUEST_7_MONITORING_POST = "request_7_monitoring_post",
143
- REQUEST_8_VALIDATION_PRE = "request_8_validation_pre",
144
- REQUEST_8_VALIDATION_POST = "request_8_validation_post",
145
- RESPONSE_1_RECEIVE_PRE = "response_1_receive_pre",
146
- RESPONSE_1_RECEIVE_POST = "response_1_receive_post",
147
- RESPONSE_2_CONVERSION_PRE = "response_2_conversion_pre",
148
- RESPONSE_2_CONVERSION_POST = "response_2_conversion_post",
149
- RESPONSE_3_TOOLS_PRE = "response_3_tools_pre",
150
- RESPONSE_3_TOOLS_POST = "response_3_tools_post",
151
- RESPONSE_4_SSE_PRE = "response_4_sse_pre",
152
- RESPONSE_4_SSE_POST = "response_4_sse_post",
153
- RESPONSE_5_FORMATTING_PRE = "response_5_formatting_pre",
154
- RESPONSE_5_FORMATTING_POST = "response_5_formatting_post",
155
- RESPONSE_6_SNAPSHOT_PRE = "response_6_snapshot_pre",
156
- RESPONSE_6_SNAPSHOT_POST = "response_6_snapshot_post",
157
- RESPONSE_7_QUALITY_PRE = "response_7_quality_pre",
158
- RESPONSE_7_QUALITY_POST = "response_7_quality_post",
159
- RESPONSE_8_MONITORING_PRE = "response_8_monitoring_pre",
160
- RESPONSE_8_MONITORING_POST = "response_8_monitoring_post"
161
- }
162
- export interface LLMSwitchHookContext {
163
- readonly executionId: string;
164
- readonly stage: LLMSwitchHookStage;
165
- readonly startTime: number;
166
- readonly timestamp?: number;
167
- readonly requestId?: string;
168
- readonly moduleId?: string;
169
- readonly metadata?: {
170
- processingStartTime?: number;
171
- userAgent?: string;
172
- performance?: {
173
- duration?: number;
174
- memoryUsage?: number;
175
- tokensProcessed?: number;
176
- };
177
- lastUpdated?: number;
178
- [key: string]: any;
179
- };
180
- readonly endpoint: EndpointType;
181
- readonly originalProtocol: ProtocolType;
182
- readonly targetProtocol: ProtocolType;
183
- readonly pathIdentifier: string;
184
- readonly processingMode: ProcessingMode;
185
- readonly hookSequence: number;
186
- readonly totalHooks: number;
187
- }
188
- export interface SSEEvent {
189
- id?: string;
190
- event?: string;
191
- data: string;
192
- retry?: number;
193
- timestamp?: number;
194
- }
195
- export interface SSEProcessingResult {
196
- events: SSEEvent[];
197
- isComplete: boolean;
198
- accumulationTime: number;
199
- totalEvents: number;
200
- }
201
- export interface ProtocolConversionData {
202
- sourceProtocol: ProtocolType;
203
- targetProtocol: ProtocolType;
204
- payload: any;
205
- conversionRules?: Record<string, any>;
206
- conversionTime?: number;
207
- }
208
- export interface ToolProcessingData {
209
- tools: any[];
210
- toolCalls: any[];
211
- executionMode: ProcessingMode;
212
- requestId: string;
213
- processingTime?: number;
214
- }
215
- export interface LLMSwitchProcessingResult {
216
- success: boolean;
217
- data?: any;
218
- error?: Error;
219
- executionTime: number;
220
- metadata: {
221
- endpoint: EndpointType;
222
- originalProtocol: ProtocolType;
223
- targetProtocol: ProtocolType;
224
- processingMode: ProcessingMode;
225
- stage: string;
226
- hookResults?: any[];
227
- error?: {
228
- code: string;
229
- message: string;
230
- type?: string;
231
- details?: any;
232
- };
233
- };
234
- }
235
- export interface EndpointConfig {
236
- endpoint: EndpointType;
237
- protocol: ProtocolType;
238
- enabled: boolean;
239
- sse: {
240
- enabled: boolean;
241
- accumulateMs: number;
242
- maxEvents: number;
243
- };
244
- hooks: {
245
- enabled: boolean;
246
- stages: string[];
247
- };
248
- conversion: {
249
- autoDetect: boolean;
250
- fallbackToOriginal: boolean;
251
- };
252
- }
253
- export interface LLMSwitchV2Config {
254
- version: string;
255
- enabled: boolean;
256
- defaultProtocol: ProtocolType;
257
- unifiedProtocol: ProtocolType;
258
- endpoints: Record<EndpointType, EndpointConfig>;
259
- hooks: {
260
- enabled: boolean;
261
- stages: string[];
262
- snapshot: {
263
- enabled: boolean;
264
- level?: 'verbose' | 'normal' | 'silent';
265
- basePath: string;
266
- endpointIsolation: {
267
- enabled: boolean;
268
- pathStructure: 'endpoint/date' | 'endpoint/request' | 'endpoint/timestamp';
269
- };
270
- pathGeneration: {
271
- includeRequestId: boolean;
272
- includeStage: boolean;
273
- includeTimestamp: boolean;
274
- };
275
- format: 'json' | 'structured' | 'compact';
276
- compression: 'none' | 'gzip' | 'lz4';
277
- retention: {
278
- maxFiles: number;
279
- maxAge: number;
280
- };
281
- };
282
- };
283
- requestProcessing: {
284
- validation: {
285
- enabled: boolean;
286
- strictMode: boolean;
287
- requiredFields: string[];
288
- };
289
- normalization: {
290
- enabled: boolean;
291
- toolCanonicalization: boolean;
292
- messageStructureNormalization: boolean;
293
- };
294
- routing: {
295
- enabled: boolean;
296
- routeByProtocol: boolean;
297
- routeByEndpoint: boolean;
298
- };
299
- };
300
- responseProcessing: {
301
- validation: {
302
- enabled: boolean;
303
- strictMode: boolean;
304
- validateFields: string[];
305
- };
306
- formatting: {
307
- enabled: boolean;
308
- standardizeResponse: boolean;
309
- cleanupToolResults: boolean;
310
- };
311
- qualityCheck: {
312
- enabled: boolean;
313
- checkCompleteness: boolean;
314
- checkConsistency: boolean;
315
- };
316
- };
317
- toolProcessing: {
318
- enabled: boolean;
319
- canonicalization: {
320
- enabled: boolean;
321
- harvestTextBlocks: boolean;
322
- normalizeToolCalls: boolean;
323
- removeDuplicateCalls: boolean;
324
- };
325
- systemToolGuidance: {
326
- enabled: boolean;
327
- autoInject: boolean;
328
- enhanceSchemas: boolean;
329
- };
330
- };
331
- protocolConversion: {
332
- enabled: boolean;
333
- targetProtocol: ProtocolType;
334
- autoDetect: boolean;
335
- strictValidation: boolean;
336
- };
337
- performance: {
338
- maxConcurrentRequests: number;
339
- requestTimeout: number;
340
- responseTimeout: number;
341
- processingTimeout: number;
342
- retryAttempts: number;
343
- retryDelay: number;
344
- };
345
- }
346
- export interface LLMSwitchErrorInfo {
347
- type: 'validation_error' | 'conversion_error' | 'processing_error' | 'hook_error' | 'timeout_error';
348
- message: string;
349
- endpoint?: EndpointType;
350
- protocol?: ProtocolType;
351
- stage?: string;
352
- cause?: Error;
353
- timestamp: number;
354
- context?: Record<string, any>;
355
- }
356
- export interface LLMSwitchMetrics {
357
- totalRequests: number;
358
- successfulRequests: number;
359
- failedRequests: number;
360
- averageProcessingTime: number;
361
- endpointMetrics: Record<EndpointType, {
362
- requestCount: number;
363
- averageTime: number;
364
- errorRate: number;
365
- }>;
366
- protocolMetrics: Record<ProtocolType, {
367
- conversionCount: number;
368
- successRate: number;
369
- averageTime: number;
370
- }>;
371
- hookMetrics: Record<string, {
372
- executionCount: number;
373
- averageTime: number;
374
- errorRate: number;
375
- }>;
376
- }
377
- export interface LLMSwitchHealthCheck {
378
- healthy: boolean;
379
- version: string;
380
- uptime: number;
381
- components: {
382
- endpoints: Record<EndpointType, boolean>;
383
- hooks: boolean;
384
- snapshot: boolean;
385
- protocols: Record<ProtocolType, boolean>;
386
- };
387
- issues: string[];
388
- metrics: LLMSwitchMetrics;
389
- }
390
- export interface ILLMSwitchV2 {
391
- preprocessRequest(request: any, endpoint: EndpointType, context?: Partial<LLMSwitchHookContext>): Promise<LLMSwitchProcessingResult>;
392
- postprocessResponse(response: any, originalEndpoint: EndpointType, context: LLMSwitchHookContext): Promise<LLMSwitchProcessingResult>;
393
- convertToUnifiedProtocol(request: any, sourceProtocol: ProtocolType): Promise<ProtocolConversionData>;
394
- processToolCalls(request: any, endpoint: EndpointType): Promise<ToolProcessingData>;
395
- injectSystemToolGuidance(request: any, tools: any[]): Promise<any>;
396
- preprocessStreamingRequest(request: any, endpoint: EndpointType, context?: Partial<LLMSwitchHookContext>): Promise<AsyncIterable<SSEEvent>>;
397
- postprocessStreamingResponse(events: AsyncIterable<SSEEvent>, originalEndpoint: EndpointType, context: LLMSwitchHookContext): Promise<AsyncIterable<SSEEvent>>;
398
- registerHookHandler(stage: LLMSwitchHookStage, handler: (context: LLMSwitchHookContext, data: any) => Promise<any>): void;
399
- unregisterHookHandler(stage: LLMSwitchHookStage): void;
400
- executeHooks(stage: LLMSwitchHookStage, context: LLMSwitchHookContext, data: any): Promise<any>;
401
- captureSnapshot(stage: LLMSwitchHookStage, context: LLMSwitchHookContext, data: any): Promise<void>;
402
- getSnapshotPath(stage: LLMSwitchHookStage, context: LLMSwitchHookContext): string;
403
- configure(config: LLMSwitchV2Config): Promise<void>;
404
- getConfig(): LLMSwitchV2Config;
405
- updateConfig(updates: Partial<LLMSwitchV2Config>): Promise<void>;
406
- healthCheck(): Promise<LLMSwitchHealthCheck>;
407
- getMetrics(): LLMSwitchMetrics;
408
- initialize(): Promise<void>;
409
- start(): Promise<void>;
410
- stop(): Promise<void>;
411
- shutdown(): Promise<void>;
412
- }
@@ -1,60 +0,0 @@
1
- /**
2
- * LLMSwitch V2 类型定义
3
- *
4
- * 定义LLMSwitch V2版本的核心类型接口,支持多端点处理和Hooks集成
5
- */
6
- // LLMSwitch V2 Hook阶段(基于现有2hooks系统)
7
- // 命名规则:按请求和响应流程分别从1开始排序
8
- export var LLMSwitchHookStage;
9
- (function (LLMSwitchHookStage) {
10
- // ===== 请求处理流程 (request_1_* - request_8_*) =====
11
- // 1. 请求验证和预处理
12
- LLMSwitchHookStage["REQUEST_1_VALIDATION_PRE"] = "request_1_validation_pre";
13
- LLMSwitchHookStage["REQUEST_1_VALIDATION_POST"] = "request_1_validation_post";
14
- // 2. 端点路由处理
15
- LLMSwitchHookStage["REQUEST_2_ROUTING_PRE"] = "request_2_routing_pre";
16
- LLMSwitchHookStage["REQUEST_2_ROUTING_POST"] = "request_2_routing_post";
17
- // 3. 协议转换(请求方向)
18
- LLMSwitchHookStage["REQUEST_3_CONVERSION_PRE"] = "request_3_conversion_pre";
19
- LLMSwitchHookStage["REQUEST_3_CONVERSION_POST"] = "request_3_conversion_post";
20
- // 4. 工具处理(请求方向)
21
- LLMSwitchHookStage["REQUEST_4_TOOLS_PRE"] = "request_4_tools_pre";
22
- LLMSwitchHookStage["REQUEST_4_TOOLS_POST"] = "request_4_tools_post";
23
- // 5. SSE处理(流式请求)
24
- LLMSwitchHookStage["REQUEST_5_SSE_PRE"] = "request_5_sse_pre";
25
- LLMSwitchHookStage["REQUEST_5_SSE_POST"] = "request_5_sse_post";
26
- // 6. 快照捕获(请求前)
27
- LLMSwitchHookStage["REQUEST_6_SNAPSHOT_PRE"] = "request_6_snapshot_pre";
28
- LLMSwitchHookStage["REQUEST_6_SNAPSHOT_POST"] = "request_6_snapshot_post";
29
- // 7. 监控指标收集(请求)
30
- LLMSwitchHookStage["REQUEST_7_MONITORING_PRE"] = "request_7_monitoring_pre";
31
- LLMSwitchHookStage["REQUEST_7_MONITORING_POST"] = "request_7_monitoring_post";
32
- // 8. 最终请求验证
33
- LLMSwitchHookStage["REQUEST_8_VALIDATION_PRE"] = "request_8_validation_pre";
34
- LLMSwitchHookStage["REQUEST_8_VALIDATION_POST"] = "request_8_validation_post";
35
- // ===== 响应处理流程 (response_1_* - response_8_*) =====
36
- // 1. 响应接收和初始处理
37
- LLMSwitchHookStage["RESPONSE_1_RECEIVE_PRE"] = "response_1_receive_pre";
38
- LLMSwitchHookStage["RESPONSE_1_RECEIVE_POST"] = "response_1_receive_post";
39
- // 2. 协议转换(响应方向)
40
- LLMSwitchHookStage["RESPONSE_2_CONVERSION_PRE"] = "response_2_conversion_pre";
41
- LLMSwitchHookStage["RESPONSE_2_CONVERSION_POST"] = "response_2_conversion_post";
42
- // 3. 工具结果处理
43
- LLMSwitchHookStage["RESPONSE_3_TOOLS_PRE"] = "response_3_tools_pre";
44
- LLMSwitchHookStage["RESPONSE_3_TOOLS_POST"] = "response_3_tools_post";
45
- // 4. SSE处理(流式响应)
46
- LLMSwitchHookStage["RESPONSE_4_SSE_PRE"] = "response_4_sse_pre";
47
- LLMSwitchHookStage["RESPONSE_4_SSE_POST"] = "response_4_sse_post";
48
- // 5. 响应格式化和清理
49
- LLMSwitchHookStage["RESPONSE_5_FORMATTING_PRE"] = "response_5_formatting_pre";
50
- LLMSwitchHookStage["RESPONSE_5_FORMATTING_POST"] = "response_5_formatting_post";
51
- // 6. 快照存储(响应后)
52
- LLMSwitchHookStage["RESPONSE_6_SNAPSHOT_PRE"] = "response_6_snapshot_pre";
53
- LLMSwitchHookStage["RESPONSE_6_SNAPSHOT_POST"] = "response_6_snapshot_post";
54
- // 7. 响应质量检查
55
- LLMSwitchHookStage["RESPONSE_7_QUALITY_PRE"] = "response_7_quality_pre";
56
- LLMSwitchHookStage["RESPONSE_7_QUALITY_POST"] = "response_7_quality_post";
57
- // 8. 监控报告和指标更新
58
- LLMSwitchHookStage["RESPONSE_8_MONITORING_PRE"] = "response_8_monitoring_pre";
59
- LLMSwitchHookStage["RESPONSE_8_MONITORING_POST"] = "response_8_monitoring_post";
60
- })(LLMSwitchHookStage || (LLMSwitchHookStage = {}));
@@ -1,74 +0,0 @@
1
- type JsonPrimitive = string | number | boolean | null;
2
- type JsonValue = JsonPrimitive | JsonObject | JsonValue[];
3
- export interface JsonObject {
4
- [key: string]: JsonValue;
5
- }
6
- type Direction = 'request' | 'response';
7
- type Stage = 'inbound' | 'outbound';
8
- type ProviderType = 'openai' | 'anthropic' | 'responses' | 'gemini';
9
- export interface AdapterOptions {
10
- baseDir?: string;
11
- processMode?: 'passthrough' | 'chat' | string;
12
- providerProtocol?: string;
13
- providerType?: ProviderType;
14
- entryEndpoint?: string;
15
- direction?: Direction;
16
- stage?: Stage;
17
- }
18
- export declare function processIncoming(request: JsonObject, options?: AdapterOptions): Promise<{
19
- data: JsonValue;
20
- metadata: {
21
- conversionId: string;
22
- conversionEndpoint: string;
23
- conversionStage: Stage;
24
- };
25
- }>;
26
- export declare function processOutgoing(response: JsonObject, options?: AdapterOptions): Promise<{
27
- data: JsonValue;
28
- metadata: {
29
- conversionId: string;
30
- conversionEndpoint: string;
31
- conversionStage: Stage;
32
- };
33
- }>;
34
- export declare function processInboundRequest(request: JsonObject, options?: AdapterOptions): Promise<{
35
- data: JsonValue;
36
- metadata: {
37
- conversionId: string;
38
- conversionEndpoint: string;
39
- conversionStage: Stage;
40
- };
41
- }>;
42
- export declare function processInboundResponse(response: JsonObject, options?: AdapterOptions): Promise<{
43
- data: JsonValue;
44
- metadata: {
45
- conversionId: string;
46
- conversionEndpoint: string;
47
- conversionStage: Stage;
48
- };
49
- }>;
50
- export declare function processOutboundRequest(request: JsonObject, options?: AdapterOptions): Promise<{
51
- data: JsonValue;
52
- metadata: {
53
- conversionId: string;
54
- conversionEndpoint: string;
55
- conversionStage: Stage;
56
- };
57
- }>;
58
- export declare function processOutboundResponse(response: JsonObject, options?: AdapterOptions): Promise<{
59
- data: JsonValue;
60
- metadata: {
61
- conversionId: string;
62
- conversionEndpoint: string;
63
- conversionStage: Stage;
64
- };
65
- }>;
66
- declare const _default: {
67
- processIncoming: typeof processIncoming;
68
- processOutgoing: typeof processOutgoing;
69
- processInboundRequest: typeof processInboundRequest;
70
- processInboundResponse: typeof processInboundResponse;
71
- processOutboundRequest: typeof processOutboundRequest;
72
- processOutboundResponse: typeof processOutboundResponse;
73
- };
74
- export default _default;
@@ -1,3 +0,0 @@
1
- /**
2
- * 配置模块导出
3
- */
@@ -1,5 +0,0 @@
1
- /**
2
- * 配置模块导出
3
- */
4
- // TODO: 实现具体的配置文件
5
- // export { someConfig } from './some-config.js';
@@ -1,5 +0,0 @@
1
- export interface ResolvedPaths {
2
- hostRoot: string;
3
- configDir: string;
4
- }
5
- export declare function resolveHostPaths(): ResolvedPaths;
@@ -1,26 +0,0 @@
1
- export interface ContextBudget {
2
- maxBytes: number;
3
- safetyRatio: number;
4
- allowedBytes: number;
5
- source: string;
6
- }
7
- export declare class UnifiedConfigFacade {
8
- private static _instance;
9
- static getInstance(): UnifiedConfigFacade;
10
- private watchers;
11
- private fsWatcher;
12
- getContextBudgetForModel(modelId: string): ContextBudget;
13
- validateConfig(): {
14
- ok: boolean;
15
- issues: string[];
16
- };
17
- watchConfig(cb: (ev: {
18
- file: string;
19
- event: string;
20
- }) => void): void;
21
- unwatchConfig(cb?: (ev: {
22
- file: string;
23
- event: string;
24
- }) => void): void;
25
- }
26
- export declare const UnifiedConfig: UnifiedConfigFacade;
@@ -1,10 +0,0 @@
1
- import type { ConversionCodec } from './types.js';
2
- export type CodecFactory = () => Promise<ConversionCodec> | ConversionCodec;
3
- export declare class CodecRegistry {
4
- private readonly factories;
5
- private readonly instances;
6
- constructor(_deps?: unknown);
7
- register(id: string, factory: CodecFactory): void;
8
- resolve(id: string): Promise<ConversionCodec>;
9
- }
10
- export declare function getDefaultCodecFactories(): Record<string, CodecFactory>;
@@ -1,23 +0,0 @@
1
- import type { ConversionCodec, ConversionContext, ConversionProfile } from '../types.js';
2
- export declare function mapAnthropicToolsToOpenAI(tools: any[]): any[];
3
- export declare function buildOpenAIChatFromAnthropic(payload: any): {
4
- messages: any[];
5
- };
6
- /**
7
- * ChatRequest → AnthropicRequest 编码器(请求侧)
8
- *
9
- * 用于在 v3 管线中,将 canonical Chat 请求编码为 Anthropic /v1/messages wire 形状:
10
- * - messages: Chat messages → Anthropic content blocks(仅 text,工具调用由 tools 列表承载)
11
- * - tools: Chat tools[].function → Anthropic { name, description, input_schema }
12
- * - 参数:max_tokens/temperature/top_p/stop → Anthropic 对应字段
13
- */
14
- export declare function buildAnthropicRequestFromOpenAIChat(chatReq: any): any;
15
- export declare class AnthropicOpenAIConversionCodec implements ConversionCodec {
16
- private readonly _dependencies;
17
- readonly id = "anthropic-openai";
18
- private initialized;
19
- constructor(_dependencies: any);
20
- initialize(): Promise<void>;
21
- convertRequest(payload: any, _profile: ConversionProfile, context: ConversionContext): Promise<any>;
22
- convertResponse(payload: any, _profile: ConversionProfile, context: ConversionContext): Promise<any>;
23
- }
@@ -1,16 +0,0 @@
1
- import type { ConversionCodec, ConversionContext, ConversionProfile } from '../types.js';
2
- export declare function buildOpenAIChatFromGeminiRequest(payload: any): {
3
- messages: any[];
4
- };
5
- export declare function buildOpenAIChatFromGeminiResponse(payload: any): any;
6
- export declare function buildGeminiFromOpenAIChat(chatResp: any): any;
7
- export declare class GeminiOpenAIConversionCodec implements ConversionCodec {
8
- private readonly _dependencies;
9
- readonly id = "gemini-openai";
10
- private initialized;
11
- constructor(_dependencies: any);
12
- initialize(): Promise<void>;
13
- private ensureInit;
14
- convertRequest(payload: any, _profile: ConversionProfile, _context: ConversionContext): Promise<any>;
15
- convertResponse(payload: any, _profile: ConversionProfile, _context: ConversionContext): Promise<any>;
16
- }
@@ -1,12 +0,0 @@
1
- import type { ConversionCodec, ConversionContext, ConversionProfile } from '../types.js';
2
- export declare class OpenAIOpenAIConversionCodec implements ConversionCodec {
3
- private readonly dependencies;
4
- readonly id = "openai-openai";
5
- private initialized;
6
- private ctxMap;
7
- constructor(dependencies: any);
8
- initialize(): Promise<void>;
9
- convertRequest(payload: any, profile: ConversionProfile, context: ConversionContext): Promise<any>;
10
- convertResponse(payload: any, _profile: ConversionProfile, context: ConversionContext): Promise<any>;
11
- private ensureInit;
12
- }
@@ -1,12 +0,0 @@
1
- import type { ConversionCodec, ConversionContext, ConversionProfile } from '../types.js';
2
- export declare class ResponsesOpenAIConversionCodec implements ConversionCodec {
3
- private readonly dependencies;
4
- readonly id = "responses-openai";
5
- private initialized;
6
- private ctxMap;
7
- constructor(dependencies: any);
8
- initialize(): Promise<void>;
9
- convertRequest(payload: any, profile: ConversionProfile, context: ConversionContext): Promise<any>;
10
- convertResponse(payload: any, _profile: ConversionProfile, context: ConversionContext): Promise<any>;
11
- private ensureInit;
12
- }