@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,165 +0,0 @@
1
- /**
2
- * Responses响应构建器
3
- * 负责状态机和事件聚合,从SSE事件构建完整的Responses响应对象
4
- */
5
- import { ResponsesSseEvent, ResponsesResponse } from '../../types/index.js';
6
- export type ResponseBuilderState = 'initial' | 'building' | 'completed' | 'error';
7
- export interface ResponseBuilderConfig {
8
- enableStrictValidation: boolean;
9
- enableEventRecovery: boolean;
10
- maxOutputItems: number;
11
- maxContentParts: number;
12
- maxSequenceGaps: number;
13
- }
14
- export interface OutputItemState {
15
- id: string;
16
- type: string;
17
- status: 'in_progress' | 'completed';
18
- contentParts: any[];
19
- currentContentIndex: number;
20
- accumulatedContent: any[];
21
- hasContentPartAdded: boolean;
22
- isTextInProgress: boolean;
23
- callId?: string;
24
- name?: string;
25
- arguments?: string;
26
- role?: string;
27
- startTime: number;
28
- lastEventTime: number;
29
- }
30
- export declare const DEFAULT_RESPONSE_BUILDER_CONFIG: ResponseBuilderConfig;
31
- /**
32
- * Responses响应构建器
33
- */
34
- export declare class ResponsesResponseBuilder {
35
- private state;
36
- private response;
37
- private outputItemBuilders;
38
- private lastSequenceNumber;
39
- private config;
40
- private error?;
41
- constructor(config?: Partial<ResponseBuilderConfig>);
42
- /**
43
- * 处理SSE事件
44
- */
45
- processEvent(event: ResponsesSseEvent): boolean;
46
- /**
47
- * 验证序列号
48
- */
49
- private validateSequenceNumber;
50
- /**
51
- * 处理response.start事件
52
- */
53
- private handleResponseStart;
54
- private handleResponseCreated;
55
- private handleResponseInProgress;
56
- /**
57
- * 处理output_item.start事件
58
- */
59
- private handleOutputItemStart;
60
- private mapOutputItemAdded;
61
- /**
62
- * 处理content_part.start事件
63
- */
64
- private handleContentPartStart;
65
- private mapContentPartAdded;
66
- /**
67
- * 处理content_part.delta事件
68
- */
69
- private handleContentPartDelta;
70
- private mapOutputTextDelta;
71
- /**
72
- * 处理content_part.done事件
73
- */
74
- private handleContentPartDone;
75
- private mapContentPartDone;
76
- /**
77
- * 处理function_call.start事件
78
- */
79
- private handleFunctionCallStart;
80
- /**
81
- * 处理function_call.delta事件
82
- */
83
- private handleFunctionCallDelta;
84
- private mapFunctionCallDelta;
85
- /**
86
- * 处理function_call.done事件
87
- */
88
- private handleFunctionCallDone;
89
- private mapFunctionCallDone;
90
- /**
91
- * 处理reasoning.start事件
92
- */
93
- private handleReasoningStart;
94
- /**
95
- * 处理reasoning.delta事件
96
- */
97
- private handleReasoningDelta;
98
- private mapReasoningDelta;
99
- private mapReasoningDone;
100
- /**
101
- * 处理reasoning.done事件
102
- */
103
- private handleReasoningDone;
104
- /**
105
- * 处理output_item.done事件
106
- */
107
- private handleOutputItemDone;
108
- /**
109
- * 处理required_action事件
110
- */
111
- private handleRequiredAction;
112
- /**
113
- * 处理response.done事件
114
- */
115
- private handleResponseDone;
116
- /**
117
- * 处理错误事件
118
- */
119
- private handleError;
120
- private handleResponseCompleted;
121
- /**
122
- * 构建输出项列表
123
- */
124
- private buildOutputItems;
125
- /**
126
- * 构建消息项
127
- */
128
- private buildMessageItem;
129
- /**
130
- * 构建函数调用项
131
- */
132
- private buildFunctionCallItem;
133
- /**
134
- * 构建推理项
135
- */
136
- private buildReasoningItem;
137
- /**
138
- * 获取构建结果
139
- */
140
- getResult(): {
141
- success: boolean;
142
- response?: ResponsesResponse;
143
- error?: Error;
144
- };
145
- /**
146
- * 获取当前状态
147
- */
148
- getState(): ResponseBuilderState;
149
- /**
150
- * 重置构建器
151
- */
152
- reset(): void;
153
- /**
154
- * 获取输出项构建器
155
- */
156
- getOutputItemBuilders(): Map<string, OutputItemState>;
157
- /**
158
- * 获取最后序列号
159
- */
160
- getLastSequenceNumber(): number;
161
- }
162
- /**
163
- * 创建响应构建器工厂
164
- */
165
- export declare function createResponseBuilder(config?: Partial<ResponseBuilderConfig>): ResponsesResponseBuilder;
@@ -1,106 +0,0 @@
1
- /**
2
- * Chat SSE → JSON转换器
3
- * 将SSE事件流聚合为ChatCompletion响应
4
- */
5
- import { ChatCompletionResponse, ChatSseEvent, SseToChatJsonOptions, ChatEventStats, DEFAULT_CHAT_CONVERSION_CONFIG } from '../types/index.js';
6
- /**
7
- * Chat SSE到JSON转换器
8
- */
9
- export declare class ChatSseToJsonConverter {
10
- private config;
11
- private contexts;
12
- constructor(config?: Partial<typeof DEFAULT_CHAT_CONVERSION_CONFIG>);
13
- /**
14
- * 将SSE流转换为Chat Completion响应
15
- */
16
- convertSseToJson(sseStream: AsyncIterable<ChatSseEvent> | AsyncIterable<string | Buffer>, options: SseToChatJsonOptions): Promise<ChatCompletionResponse>;
17
- /**
18
- * 将SSE流转换为流式响应
19
- */
20
- aggregateSseStream(sseStream: AsyncIterable<ChatSseEvent> | AsyncIterable<string | Buffer>, options: SseToChatJsonOptions): AsyncGenerator<ChatCompletionResponse>;
21
- /**
22
- * 确保输入流转换为 ChatSseEvent 流
23
- */
24
- private ensureEventStream;
25
- /**
26
- * 将SSE文本块解析为Chat事件
27
- */
28
- private parseSseChunk;
29
- /**
30
- * 创建转换上下文
31
- */
32
- private createContext;
33
- /**
34
- * 处理SSE事件
35
- */
36
- private processSseEvent;
37
- /**
38
- * 处理chat_chunk事件
39
- */
40
- private processChatChunk;
41
- /**
42
- * 处理choice
43
- */
44
- private processChoice;
45
- /**
46
- * 创建choice构建器
47
- */
48
- private createChoiceBuilder;
49
- /**
50
- * 处理delta
51
- */
52
- private processDelta;
53
- /**
54
- * 处理tool_call delta
55
- */
56
- private processToolCallDelta;
57
- /**
58
- * 更新响应中的choice
59
- */
60
- private updateResponseChoice;
61
- /**
62
- * 处理done事件
63
- */
64
- private processDoneEvent;
65
- /**
66
- * 处理error事件
67
- */
68
- private processErrorEvent;
69
- /**
70
- * 构建部分响应
71
- */
72
- private buildPartialResponse;
73
- /**
74
- * 完成响应构建
75
- */
76
- private finalizeResponse;
77
- /**
78
- * 构建使用量信息
79
- */
80
- private buildUsageInfo;
81
- /**
82
- * 验证SSE事件
83
- */
84
- private validateSseEvent;
85
- /**
86
- * 验证Chat chunk
87
- */
88
- private validateChatChunk;
89
- /**
90
- * 更新统计信息
91
- */
92
- private updateStats;
93
- /**
94
- * 获取转换统计
95
- */
96
- getStats(requestId: string): ChatEventStats | undefined;
97
- /**
98
- * 清理上下文
99
- */
100
- cleanup(requestId: string): void;
101
- /**
102
- * 清理所有上下文
103
- */
104
- cleanupAll(): void;
105
- }
106
- export declare const defaultChatSseToJsonConverter: ChatSseToJsonConverter;
@@ -1,6 +0,0 @@
1
- /**
2
- * SSE→JSON转换模块导出
3
- */
4
- export { ChatSseToJsonConverter, defaultChatSseToJsonConverter } from './chat-sse-to-json-converter.js';
5
- export { ResponsesSseToJsonConverterRefactored as ResponsesSseToJsonConverter } from './responses-sse-to-json-converter.js';
6
- export type { SseToChatJsonOptions, SseToChatJsonContext, ChatEventStats, SseToResponsesJsonOptions, SseToResponsesJsonContext, ResponsesEventStats } from '../types/index.js';
@@ -1,73 +0,0 @@
1
- /**
2
- * SSE事件解析器
3
- * 负责将SSE文本帧解析为标准化的SSE事件对象
4
- */
5
- import { BaseSseEvent } from '../../types/index.js';
6
- export interface SseParserConfig {
7
- enableStrictValidation: boolean;
8
- enableEventRecovery: boolean;
9
- maxEventSize: number;
10
- allowedEventTypes: Set<string>;
11
- }
12
- export interface SseParseResult {
13
- success: boolean;
14
- event?: BaseSseEvent;
15
- error?: string;
16
- rawData: string;
17
- }
18
- export declare const DEFAULT_SSE_PARSER_CONFIG: SseParserConfig;
19
- /**
20
- * SSE原始事件数据
21
- */
22
- export interface RawSseEvent {
23
- id?: string;
24
- event: string;
25
- data: string;
26
- retry?: string;
27
- timestamp?: number;
28
- }
29
- /**
30
- * 将原始SSE行组装为事件
31
- */
32
- export declare function assembleSseEvent(lines: string[]): RawSseEvent | null;
33
- /**
34
- * 解析SSE事件文本为标准化事件对象
35
- */
36
- export declare function parseSseEvent(sseText: string, config?: SseParserConfig): SseParseResult;
37
- /**
38
- * 解析SSE流(处理多事件数据)
39
- */
40
- export declare function parseSseStream(sseData: string, config?: SseParserConfig): Generator<SseParseResult>;
41
- /**
42
- * 流式解析SSE数据
43
- */
44
- export declare function parseSseStreamAsync(asyncSseData: AsyncIterable<string>, config?: SseParserConfig): AsyncGenerator<SseParseResult>;
45
- /**
46
- * 创建SSE解析器工厂
47
- */
48
- export declare function createSseParser(config?: Partial<SseParserConfig>): {
49
- /**
50
- * 解析单个事件
51
- */
52
- parseEvent(sseText: string): SseParseResult;
53
- /**
54
- * 解析多事件流
55
- */
56
- parseStream(sseData: string): Generator<SseParseResult>;
57
- /**
58
- * 异步解析流
59
- */
60
- parseStreamAsync(asyncSseData: AsyncIterable<string>): AsyncGenerator<SseParseResult>;
61
- /**
62
- * 获取当前配置
63
- */
64
- getConfig(): SseParserConfig;
65
- /**
66
- * 添加允许的事件类型
67
- */
68
- addEventType(eventType: string): void;
69
- /**
70
- * 移除允许的事件类型
71
- */
72
- removeEventType(eventType: string): void;
73
- };
@@ -1,87 +0,0 @@
1
- /**
2
- * Minimal Anthropic SSE/JSON types for v3 SSE converters
3
- * Only covers text and basic tool_use blocks needed for roundtrip.
4
- */
5
- export interface AnthropicContentTextBlock {
6
- type: 'text';
7
- text: string;
8
- }
9
- export interface AnthropicContentToolUseBlock {
10
- type: 'tool_use';
11
- id: string;
12
- name: string;
13
- input: Record<string, unknown>;
14
- }
15
- export interface AnthropicContentToolResultBlock {
16
- type: 'tool_result';
17
- tool_use_id: string;
18
- content: unknown;
19
- is_error?: boolean;
20
- }
21
- export type AnthropicContentBlock = AnthropicContentTextBlock | AnthropicContentToolUseBlock | AnthropicContentToolResultBlock;
22
- export interface AnthropicMessageResponse {
23
- id: string;
24
- type: 'message';
25
- role: 'assistant' | 'user';
26
- model: string;
27
- content: AnthropicContentBlock[];
28
- usage?: {
29
- input_tokens?: number;
30
- output_tokens?: number;
31
- };
32
- stop_reason?: 'end_turn' | 'max_tokens' | 'stop_sequence' | 'tool_use';
33
- }
34
- export type AnthropicSseEventType = 'message_start' | 'content_block_start' | 'content_block_delta' | 'content_block_stop' | 'message_delta' | 'message_stop';
35
- export interface AnthropicSseEventBase<T extends AnthropicSseEventType = AnthropicSseEventType> {
36
- type: T;
37
- }
38
- export interface AnthropicSseEventMessageStart extends AnthropicSseEventBase<'message_start'> {
39
- message: {
40
- id: string;
41
- type: 'message';
42
- role: 'assistant';
43
- model: string;
44
- };
45
- }
46
- export interface AnthropicSseEventContentBlockStart extends AnthropicSseEventBase<'content_block_start'> {
47
- index: number;
48
- content_block: {
49
- type: 'text';
50
- text?: string;
51
- } | {
52
- type: 'tool_use';
53
- id: string;
54
- name: string;
55
- input?: Record<string, unknown>;
56
- };
57
- }
58
- export interface AnthropicSseEventContentBlockDelta extends AnthropicSseEventBase<'content_block_delta'> {
59
- index: number;
60
- delta: {
61
- type: 'text_delta';
62
- text: string;
63
- } | {
64
- type: 'input_json_delta';
65
- partial_json: string;
66
- };
67
- }
68
- export interface AnthropicSseEventContentBlockStop extends AnthropicSseEventBase<'content_block_stop'> {
69
- index: number;
70
- }
71
- export interface AnthropicSseEventMessageDelta extends AnthropicSseEventBase<'message_delta'> {
72
- delta?: {
73
- stop_reason?: AnthropicMessageResponse['stop_reason'];
74
- };
75
- }
76
- export interface AnthropicSseEventMessageStop extends AnthropicSseEventBase<'message_stop'> {
77
- }
78
- export type AnthropicSseEvent = AnthropicSseEventMessageStart | AnthropicSseEventContentBlockStart | AnthropicSseEventContentBlockDelta | AnthropicSseEventContentBlockStop | AnthropicSseEventMessageDelta | AnthropicSseEventMessageStop;
79
- export type AnthropicSseEventStream = AsyncIterable<string> | AsyncIterable<Buffer>;
80
- export interface AnthropicJsonToSseOptions {
81
- requestId: string;
82
- model: string;
83
- chunkSize?: number;
84
- }
85
- export interface SseToAnthropicJsonOptions {
86
- requestId: string;
87
- }
@@ -1,19 +0,0 @@
1
- import type { ProxyPlan } from './types.js';
2
- export declare class AnthropicToolProxy {
3
- constructor();
4
- /**
5
- * Inspect an Anthropic message (round-1) content blocks, execute supported
6
- * tool_use blocks server-side, and return a plan of tool_result blocks.
7
- */
8
- buildProxyPlan(firstRoundAnthropicMessage: any): Promise<ProxyPlan>;
9
- /**
10
- * Build a second Anthropic Messages request payload by appending:
11
- * - assistant (original tool_use blocks)
12
- * - user (tool_result[] built from proxy plan)
13
- */
14
- buildSecondRoundPayload(originalAnthropicRequest: any, plan: ProxyPlan): any;
15
- }
16
- declare const _default: {
17
- AnthropicToolProxy: typeof AnthropicToolProxy;
18
- };
19
- export default _default;
@@ -1,57 +0,0 @@
1
- import { GlobalToolRegistry } from './registry.js';
2
- import { WebFetchExecutor } from './executors/web-fetch.js';
3
- function registerDefaults() {
4
- try {
5
- GlobalToolRegistry.register(new WebFetchExecutor());
6
- }
7
- catch { }
8
- }
9
- export class AnthropicToolProxy {
10
- constructor() { registerDefaults(); }
11
- /**
12
- * Inspect an Anthropic message (round-1) content blocks, execute supported
13
- * tool_use blocks server-side, and return a plan of tool_result blocks.
14
- */
15
- async buildProxyPlan(firstRoundAnthropicMessage) {
16
- const assistantBlocks = (firstRoundAnthropicMessage && typeof firstRoundAnthropicMessage === 'object' && Array.isArray(firstRoundAnthropicMessage.content))
17
- ? firstRoundAnthropicMessage.content : [];
18
- const out = [];
19
- for (const b of assistantBlocks) {
20
- try {
21
- const t = String(b?.type || '').toLowerCase();
22
- if (t !== 'tool_use')
23
- continue;
24
- const name = String(b?.name || '');
25
- const ex = GlobalToolRegistry.resolve(name);
26
- if (!ex)
27
- continue;
28
- const input = (b && typeof b === 'object') ? (b.input ?? {}) : {};
29
- const result = await ex.execute(input);
30
- const id = String(b?.id || '');
31
- if (id)
32
- out.push({ tool_use_id: id, content: result.content });
33
- }
34
- catch { }
35
- }
36
- return { assistantBlocks, results: out };
37
- }
38
- /**
39
- * Build a second Anthropic Messages request payload by appending:
40
- * - assistant (original tool_use blocks)
41
- * - user (tool_result[] built from proxy plan)
42
- */
43
- buildSecondRoundPayload(originalAnthropicRequest, plan) {
44
- const messagesOrig = Array.isArray(originalAnthropicRequest?.messages) ? originalAnthropicRequest.messages : [];
45
- const assistantMsg = { role: 'assistant', content: plan.assistantBlocks };
46
- const userMsg = { role: 'user', content: plan.results.map(r => ({ type: 'tool_result', tool_use_id: r.tool_use_id, content: r.content })) };
47
- return {
48
- model: String(originalAnthropicRequest?.model || 'unknown'),
49
- system: originalAnthropicRequest?.system,
50
- tools: Array.isArray(originalAnthropicRequest?.tools) ? originalAnthropicRequest.tools : undefined,
51
- messages: [...messagesOrig, assistantMsg, userMsg],
52
- stream: true,
53
- metadata: { ...(originalAnthropicRequest?.metadata || {}), entryEndpoint: '/v1/messages', stream: true }
54
- };
55
- }
56
- }
57
- export default { AnthropicToolProxy };
@@ -1,6 +0,0 @@
1
- import type { ToolExecutor, ToolExecutionResult } from '../types.js';
2
- export declare class WebFetchExecutor implements ToolExecutor {
3
- readonly id = "web-fetch-executor";
4
- readonly names: string[];
5
- execute(input: unknown): Promise<ToolExecutionResult>;
6
- }
@@ -1,39 +0,0 @@
1
- import { fetchRawHtml } from '../../web-fetch-html.js';
2
- import { htmlToMarkdown } from '../../../html-to-markdown.js';
3
- export class WebFetchExecutor {
4
- id = 'web-fetch-executor';
5
- // 仅接受唯一名称
6
- names = ['web_fetch'];
7
- async execute(input) {
8
- try {
9
- const obj = (input && typeof input === 'object') ? input : {};
10
- const url = String(obj.url || obj.href || '');
11
- // 输出格式:默认 html;当 format==='markdown' 或 clean===true 时输出 markdown
12
- const fmt = String(obj.format || '').toLowerCase();
13
- const wantsMarkdown = fmt === 'markdown' || obj.clean === true;
14
- if (!url) {
15
- return { ok: false, content: 'invalid_url', error: 'invalid_url' };
16
- }
17
- const r = await fetchRawHtml(url, {});
18
- const ok = !!r && r.ok === true;
19
- const html = ok ? (r.html || '') : (r.error || 'fetch_failed');
20
- let content;
21
- if (wantsMarkdown && ok) {
22
- try {
23
- content = htmlToMarkdown(String(html));
24
- }
25
- catch {
26
- content = String(html);
27
- }
28
- }
29
- else {
30
- content = String(html);
31
- }
32
- const limited = content.slice(0, 200000);
33
- return { ok, content: limited };
34
- }
35
- catch (e) {
36
- return { ok: false, content: String(e?.message || 'error'), error: String(e?.message || 'error') };
37
- }
38
- }
39
- }
@@ -1,8 +0,0 @@
1
- import type { ToolExecutor } from './types.js';
2
- export declare class ToolRegistry {
3
- private executors;
4
- register(executor: ToolExecutor): void;
5
- resolve(name: string): ToolExecutor | null;
6
- has(name: string): boolean;
7
- }
8
- export declare const GlobalToolRegistry: ToolRegistry;
@@ -1,14 +0,0 @@
1
- export class ToolRegistry {
2
- executors = new Map();
3
- register(executor) {
4
- for (const n of executor.names) {
5
- this.executors.set(n, executor);
6
- }
7
- }
8
- resolve(name) {
9
- const ex = this.executors.get(name);
10
- return ex || null;
11
- }
12
- has(name) { return this.executors.has(name); }
13
- }
14
- export const GlobalToolRegistry = new ToolRegistry();
@@ -1,29 +0,0 @@
1
- export type ToolUseBlock = {
2
- type: string;
3
- id?: string;
4
- name?: string;
5
- input?: unknown;
6
- };
7
- export type ToolResultBlock = {
8
- type: 'tool_result';
9
- tool_use_id: string;
10
- content: string;
11
- };
12
- export interface ToolExecutionResult {
13
- ok: boolean;
14
- content: string;
15
- error?: string;
16
- meta?: Record<string, unknown>;
17
- }
18
- export interface ToolExecutor {
19
- readonly id: string;
20
- readonly names: string[];
21
- execute(input: unknown): Promise<ToolExecutionResult>;
22
- }
23
- export interface ProxyPlan {
24
- assistantBlocks: any[];
25
- results: Array<{
26
- tool_use_id: string;
27
- content: string;
28
- }>;
29
- }
@@ -1,8 +0,0 @@
1
- export interface ToolValidationResult {
2
- ok: boolean;
3
- reason?: string;
4
- warnings?: Array<Record<string, unknown>>;
5
- normalizedArgs?: string;
6
- }
7
- export declare function getAllowedToolNames(): string[];
8
- export declare function validateToolCall(name: string, argsString: string): ToolValidationResult;
@@ -1,15 +0,0 @@
1
- export interface WebFetchHtmlOptions {
2
- timeoutMs?: number;
3
- followRedirects?: boolean;
4
- maxBytes?: number;
5
- headers?: Record<string, string>;
6
- }
7
- export interface WebFetchHtmlResult {
8
- ok: boolean;
9
- html?: string;
10
- error?: string;
11
- status?: number;
12
- contentType?: string | null;
13
- url?: string;
14
- }
15
- export declare function fetchRawHtml(url: string, opts?: WebFetchHtmlOptions): Promise<WebFetchHtmlResult>;