@jsonstudio/llms 0.4.3 → 0.4.4

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