@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.
- package/README.md +3 -1
- package/dist/bridge/routecodex-adapter.js +6 -3
- package/dist/config-unified/enhanced-path-resolver.js +14 -6
- package/dist/config-unified/unified-config.js +103 -59
- package/dist/conversion/codec-registry.js +4 -2
- package/dist/conversion/hub/pipeline/hub-pipeline.js +4 -5
- package/dist/conversion/hub/process/chat-process.js +258 -41
- package/dist/conversion/hub/response/provider-response.js +8 -2
- package/dist/conversion/hub/tool-governance/engine.d.ts +16 -0
- package/dist/conversion/hub/tool-governance/engine.js +266 -0
- package/dist/conversion/hub/tool-governance/index.d.ts +3 -0
- package/dist/conversion/hub/tool-governance/index.js +2 -0
- package/dist/conversion/hub/tool-governance/rules.d.ts +2 -0
- package/dist/conversion/hub/tool-governance/rules.js +76 -0
- package/dist/conversion/hub/tool-governance/types.d.ts +38 -0
- package/dist/conversion/index.d.ts +1 -0
- package/dist/conversion/index.js +1 -0
- package/dist/conversion/responses/responses-openai-bridge.js +5 -3
- package/dist/sse/sse-to-json/builders/response-builder.js +2 -1
- package/dist/sse/sse-to-json/chat-sse-to-json-converter.js +37 -23
- package/dist/sse/sse-to-json/parsers/sse-parser.js +20 -12
- package/dist/sse/sse-to-json/responses-sse-to-json-converter.d.ts +1 -0
- package/dist/sse/sse-to-json/responses-sse-to-json-converter.js +10 -8
- package/dist/sse/types/chat-types.d.ts +9 -6
- package/dist/sse/types/conversion-context.d.ts +14 -11
- package/dist/sse/types/core-interfaces.d.ts +6 -2
- package/dist/sse/types/index.d.ts +1 -1
- package/dist/sse/types/responses-types.d.ts +20 -20
- package/dist/sse/types/sse-events.d.ts +4 -3
- package/dist/sse/types/stream-state.d.ts +34 -39
- package/dist/sse/types/utility-types.d.ts +47 -43
- package/dist/sse/types/utility-types.js +10 -13
- package/dist/tools/tool-registry.js +156 -98
- package/package.json +7 -7
- package/dist/api/index.d.ts +0 -10
- package/dist/api/index.js +0 -11
- package/dist/api/llmswitch-config.d.ts +0 -15
- package/dist/api/llmswitch-config.js +0 -415
- package/dist/api/llmswitch-types.d.ts +0 -412
- package/dist/api/llmswitch-types.js +0 -60
- package/dist/bridge/routecodex-adapter.d.ts +0 -74
- package/dist/config/index.d.ts +0 -3
- package/dist/config/index.js +0 -5
- package/dist/config-unified/enhanced-path-resolver.d.ts +0 -5
- package/dist/config-unified/unified-config.d.ts +0 -26
- package/dist/conversion/codec-registry.d.ts +0 -10
- package/dist/conversion/codecs/anthropic-openai-codec.d.ts +0 -23
- package/dist/conversion/codecs/gemini-openai-codec.d.ts +0 -16
- package/dist/conversion/codecs/openai-openai-codec.d.ts +0 -12
- package/dist/conversion/codecs/responses-openai-codec.d.ts +0 -12
- package/dist/conversion/config/config-manager.d.ts +0 -212
- package/dist/conversion/conversion-v3/adapters/index.d.ts +0 -2
- package/dist/conversion/conversion-v3/adapters/index.js +0 -1
- package/dist/conversion/conversion-v3/adapters/v3-to-standard-adapter.d.ts +0 -38
- package/dist/conversion/conversion-v3/adapters/v3-to-standard-adapter.js +0 -55
- package/dist/conversion/conversion-v3/compatibility/compatibility-profiles.d.ts +0 -22
- package/dist/conversion/conversion-v3/compatibility/compatibility-profiles.js +0 -84
- package/dist/conversion/conversion-v3/compatibility/compatibility-stages.d.ts +0 -4
- package/dist/conversion/conversion-v3/compatibility/compatibility-stages.js +0 -285
- package/dist/conversion/conversion-v3/compatibility/index.d.ts +0 -3
- package/dist/conversion/conversion-v3/compatibility/index.js +0 -2
- package/dist/conversion/conversion-v3/config/default-configs.d.ts +0 -48
- package/dist/conversion/conversion-v3/config/default-configs.js +0 -1007
- package/dist/conversion/conversion-v3/config/index.d.ts +0 -5
- package/dist/conversion/conversion-v3/config/index.js +0 -5
- package/dist/conversion/conversion-v3/config/pipeline-config-manager.d.ts +0 -49
- package/dist/conversion/conversion-v3/config/pipeline-config-manager.js +0 -65
- package/dist/conversion/conversion-v3/index.d.ts +0 -11
- package/dist/conversion/conversion-v3/index.js +0 -17
- package/dist/conversion/conversion-v3/nodes/index.d.ts +0 -56
- package/dist/conversion/conversion-v3/nodes/index.js +0 -149
- package/dist/conversion/conversion-v3/nodes/input/anthropic-input-node.d.ts +0 -25
- package/dist/conversion/conversion-v3/nodes/input/anthropic-input-node.js +0 -56
- package/dist/conversion/conversion-v3/nodes/input/base-input-node.d.ts +0 -75
- package/dist/conversion/conversion-v3/nodes/input/base-input-node.js +0 -237
- package/dist/conversion/conversion-v3/nodes/input/chat-input-node.d.ts +0 -25
- package/dist/conversion/conversion-v3/nodes/input/chat-input-node.js +0 -56
- package/dist/conversion/conversion-v3/nodes/input/chat-shape-helpers.d.ts +0 -4
- package/dist/conversion/conversion-v3/nodes/input/chat-shape-helpers.js +0 -197
- package/dist/conversion/conversion-v3/nodes/input/gemini-input-node.d.ts +0 -16
- package/dist/conversion/conversion-v3/nodes/input/gemini-input-node.js +0 -125
- package/dist/conversion/conversion-v3/nodes/input/index.d.ts +0 -8
- package/dist/conversion/conversion-v3/nodes/input/index.js +0 -8
- package/dist/conversion/conversion-v3/nodes/input/input-decision.d.ts +0 -46
- package/dist/conversion/conversion-v3/nodes/input/input-decision.js +0 -125
- package/dist/conversion/conversion-v3/nodes/input/responses-input-node.d.ts +0 -20
- package/dist/conversion/conversion-v3/nodes/input/responses-input-node.js +0 -51
- package/dist/conversion/conversion-v3/nodes/output/anthropic-output-node.d.ts +0 -71
- package/dist/conversion/conversion-v3/nodes/output/anthropic-output-node.js +0 -320
- package/dist/conversion/conversion-v3/nodes/output/base-output-node.d.ts +0 -116
- package/dist/conversion/conversion-v3/nodes/output/base-output-node.js +0 -512
- package/dist/conversion/conversion-v3/nodes/output/index.d.ts +0 -7
- package/dist/conversion/conversion-v3/nodes/output/index.js +0 -7
- package/dist/conversion/conversion-v3/nodes/output/openai-output-node.d.ts +0 -71
- package/dist/conversion/conversion-v3/nodes/output/openai-output-node.js +0 -293
- package/dist/conversion/conversion-v3/nodes/output/output-decision.d.ts +0 -68
- package/dist/conversion/conversion-v3/nodes/output/output-decision.js +0 -161
- package/dist/conversion/conversion-v3/nodes/output/responses-output-node.d.ts +0 -64
- package/dist/conversion/conversion-v3/nodes/output/responses-output-node.js +0 -323
- package/dist/conversion/conversion-v3/nodes/process/base-process-node.d.ts +0 -72
- package/dist/conversion/conversion-v3/nodes/process/base-process-node.js +0 -246
- package/dist/conversion/conversion-v3/nodes/process/chat-process-node.d.ts +0 -135
- package/dist/conversion/conversion-v3/nodes/process/chat-process-node.js +0 -854
- package/dist/conversion/conversion-v3/nodes/process/compatibility-process-node.d.ts +0 -29
- package/dist/conversion/conversion-v3/nodes/process/compatibility-process-node.js +0 -181
- package/dist/conversion/conversion-v3/nodes/process/index.d.ts +0 -10
- package/dist/conversion/conversion-v3/nodes/process/index.js +0 -10
- package/dist/conversion/conversion-v3/nodes/process/passthrough-process-node.d.ts +0 -59
- package/dist/conversion/conversion-v3/nodes/process/passthrough-process-node.js +0 -243
- package/dist/conversion/conversion-v3/nodes/process/response-process-node.d.ts +0 -17
- package/dist/conversion/conversion-v3/nodes/process/response-process-node.js +0 -213
- package/dist/conversion/conversion-v3/nodes/process/tool-process-node.d.ts +0 -30
- package/dist/conversion/conversion-v3/nodes/process/tool-process-node.js +0 -360
- package/dist/conversion/conversion-v3/nodes/process/virtual-router-process-node.d.ts +0 -40
- package/dist/conversion/conversion-v3/nodes/process/virtual-router-process-node.js +0 -430
- package/dist/conversion/conversion-v3/nodes/response/anthropic-response-input-node.d.ts +0 -12
- package/dist/conversion/conversion-v3/nodes/response/anthropic-response-input-node.js +0 -129
- package/dist/conversion/conversion-v3/nodes/response/chat-to-responses-response-node.d.ts +0 -15
- package/dist/conversion/conversion-v3/nodes/response/chat-to-responses-response-node.js +0 -57
- package/dist/conversion/conversion-v3/nodes/response/index.d.ts +0 -4
- package/dist/conversion/conversion-v3/nodes/response/index.js +0 -4
- package/dist/conversion/conversion-v3/nodes/response/openai-response-input-node.d.ts +0 -15
- package/dist/conversion/conversion-v3/nodes/response/openai-response-input-node.js +0 -87
- package/dist/conversion/conversion-v3/nodes/response/response-utils.d.ts +0 -1
- package/dist/conversion/conversion-v3/nodes/response/response-utils.js +0 -1
- package/dist/conversion/conversion-v3/nodes/response/responses-response-input-node.d.ts +0 -12
- package/dist/conversion/conversion-v3/nodes/response/responses-response-input-node.js +0 -67
- package/dist/conversion/conversion-v3/nodes/sse/index.d.ts +0 -3
- package/dist/conversion/conversion-v3/nodes/sse/index.js +0 -3
- package/dist/conversion/conversion-v3/nodes/sse/sse-input-node.d.ts +0 -27
- package/dist/conversion/conversion-v3/nodes/sse/sse-input-node.js +0 -165
- package/dist/conversion/conversion-v3/nodes/sse/sse-output-node.d.ts +0 -19
- package/dist/conversion/conversion-v3/nodes/sse/sse-output-node.js +0 -267
- package/dist/conversion/conversion-v3/nodes/sse/sse-passthrough-node.d.ts +0 -18
- package/dist/conversion/conversion-v3/nodes/sse/sse-passthrough-node.js +0 -48
- package/dist/conversion/conversion-v3/pipelines/index.d.ts +0 -6
- package/dist/conversion/conversion-v3/pipelines/index.js +0 -6
- package/dist/conversion/conversion-v3/pipelines/super-pipeline.d.ts +0 -112
- package/dist/conversion/conversion-v3/pipelines/super-pipeline.js +0 -566
- package/dist/conversion/conversion-v3/response/provider-response-converter.d.ts +0 -28
- package/dist/conversion/conversion-v3/response/provider-response-converter.js +0 -249
- package/dist/conversion/conversion-v3/sse/index.d.ts +0 -140
- package/dist/conversion/conversion-v3/sse/index.js +0 -115
- package/dist/conversion/conversion-v3/sse/json-to-sse/anthropic-json-to-sse-converter.d.ts +0 -11
- package/dist/conversion/conversion-v3/sse/json-to-sse/anthropic-json-to-sse-converter.js +0 -79
- package/dist/conversion/conversion-v3/sse/json-to-sse/chat-json-to-sse-converter.d.ts +0 -79
- package/dist/conversion/conversion-v3/sse/json-to-sse/chat-json-to-sse-converter.js +0 -296
- package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/chat.d.ts +0 -55
- package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/chat.js +0 -233
- package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/responses.d.ts +0 -99
- package/dist/conversion/conversion-v3/sse/json-to-sse/event-generators/responses.js +0 -599
- package/dist/conversion/conversion-v3/sse/json-to-sse/index.d.ts +0 -6
- package/dist/conversion/conversion-v3/sse/json-to-sse/index.js +0 -7
- package/dist/conversion/conversion-v3/sse/json-to-sse/responses-json-to-sse-converter.d.ts +0 -79
- package/dist/conversion/conversion-v3/sse/json-to-sse/responses-json-to-sse-converter.js +0 -322
- package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/chat-sequencer.d.ts +0 -37
- package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/chat-sequencer.js +0 -218
- package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/responses-sequencer.d.ts +0 -40
- package/dist/conversion/conversion-v3/sse/json-to-sse/sequencers/responses-sequencer.js +0 -263
- package/dist/conversion/conversion-v3/sse/registry/sse-codec-registry.d.ts +0 -32
- package/dist/conversion/conversion-v3/sse/registry/sse-codec-registry.js +0 -106
- package/dist/conversion/conversion-v3/sse/shared/chat-serializer.d.ts +0 -4
- package/dist/conversion/conversion-v3/sse/shared/chat-serializer.js +0 -40
- package/dist/conversion/conversion-v3/sse/shared/constants.d.ts +0 -272
- package/dist/conversion/conversion-v3/sse/shared/constants.js +0 -321
- package/dist/conversion/conversion-v3/sse/shared/serializers/base-serializer.d.ts +0 -158
- package/dist/conversion/conversion-v3/sse/shared/serializers/base-serializer.js +0 -210
- package/dist/conversion/conversion-v3/sse/shared/serializers/chat-event-serializer.d.ts +0 -82
- package/dist/conversion/conversion-v3/sse/shared/serializers/chat-event-serializer.js +0 -275
- package/dist/conversion/conversion-v3/sse/shared/serializers/index.d.ts +0 -39
- package/dist/conversion/conversion-v3/sse/shared/serializers/index.js +0 -54
- package/dist/conversion/conversion-v3/sse/shared/serializers/responses-event-serializer.d.ts +0 -123
- package/dist/conversion/conversion-v3/sse/shared/serializers/responses-event-serializer.js +0 -356
- package/dist/conversion/conversion-v3/sse/shared/serializers/types.d.ts +0 -51
- package/dist/conversion/conversion-v3/sse/shared/serializers/types.js +0 -4
- package/dist/conversion/conversion-v3/sse/shared/utils.d.ts +0 -254
- package/dist/conversion/conversion-v3/sse/shared/utils.js +0 -543
- package/dist/conversion/conversion-v3/sse/shared/writer.d.ts +0 -111
- package/dist/conversion/conversion-v3/sse/shared/writer.js +0 -268
- package/dist/conversion/conversion-v3/sse/sse-to-json/anthropic-sse-to-json-converter.d.ts +0 -13
- package/dist/conversion/conversion-v3/sse/sse-to-json/anthropic-sse-to-json-converter.js +0 -139
- package/dist/conversion/conversion-v3/sse/sse-to-json/builders/response-builder.d.ts +0 -165
- package/dist/conversion/conversion-v3/sse/sse-to-json/builders/response-builder.js +0 -776
- package/dist/conversion/conversion-v3/sse/sse-to-json/chat-sse-to-json-converter.d.ts +0 -106
- package/dist/conversion/conversion-v3/sse/sse-to-json/chat-sse-to-json-converter.js +0 -540
- package/dist/conversion/conversion-v3/sse/sse-to-json/index.d.ts +0 -6
- package/dist/conversion/conversion-v3/sse/sse-to-json/index.js +0 -7
- package/dist/conversion/conversion-v3/sse/sse-to-json/parsers/sse-parser.d.ts +0 -73
- package/dist/conversion/conversion-v3/sse/sse-to-json/parsers/sse-parser.js +0 -332
- package/dist/conversion/conversion-v3/sse/sse-to-json/responses-sse-to-json-converter.d.ts +0 -59
- package/dist/conversion/conversion-v3/sse/sse-to-json/responses-sse-to-json-converter.js +0 -270
- package/dist/conversion/conversion-v3/sse/types/anthropic-types.d.ts +0 -87
- package/dist/conversion/conversion-v3/sse/types/anthropic-types.js +0 -5
- package/dist/conversion/conversion-v3/sse/types/chat-types.d.ts +0 -308
- package/dist/conversion/conversion-v3/sse/types/chat-types.js +0 -32
- package/dist/conversion/conversion-v3/sse/types/conversion-context.d.ts +0 -211
- package/dist/conversion/conversion-v3/sse/types/conversion-context.js +0 -20
- package/dist/conversion/conversion-v3/sse/types/core-interfaces.d.ts +0 -90
- package/dist/conversion/conversion-v3/sse/types/core-interfaces.js +0 -5
- package/dist/conversion/conversion-v3/sse/types/index.d.ts +0 -14
- package/dist/conversion/conversion-v3/sse/types/index.js +0 -7
- package/dist/conversion/conversion-v3/sse/types/responses-types.d.ts +0 -328
- package/dist/conversion/conversion-v3/sse/types/responses-types.js +0 -38
- package/dist/conversion/conversion-v3/sse/types/sse-events.d.ts +0 -180
- package/dist/conversion/conversion-v3/sse/types/sse-events.js +0 -150
- package/dist/conversion/conversion-v3/sse/types/stream-state.d.ts +0 -204
- package/dist/conversion/conversion-v3/sse/types/stream-state.js +0 -44
- package/dist/conversion/conversion-v3/sse/types/utility-types.d.ts +0 -230
- package/dist/conversion/conversion-v3/sse/types/utility-types.js +0 -49
- package/dist/conversion/conversion-v3/standards/context-adapter.d.ts +0 -146
- package/dist/conversion/conversion-v3/standards/context-adapter.js +0 -438
- package/dist/conversion/conversion-v3/standards/errors.d.ts +0 -38
- package/dist/conversion/conversion-v3/standards/errors.js +0 -27
- package/dist/conversion/conversion-v3/standards/index.d.ts +0 -15
- package/dist/conversion/conversion-v3/standards/index.js +0 -11
- package/dist/conversion/conversion-v3/standards/node-capabilities.d.ts +0 -123
- package/dist/conversion/conversion-v3/standards/node-capabilities.js +0 -330
- package/dist/conversion/conversion-v3/standards/pipeline-context.d.ts +0 -237
- package/dist/conversion/conversion-v3/standards/pipeline-context.js +0 -84
- package/dist/conversion/conversion-v3/standards/pipeline-node.d.ts +0 -196
- package/dist/conversion/conversion-v3/standards/pipeline-node.js +0 -316
- package/dist/conversion/conversion-v3/standards/snapshot-handles.d.ts +0 -24
- package/dist/conversion/conversion-v3/standards/snapshot-handles.js +0 -49
- package/dist/conversion/conversion-v3/types/config-types.d.ts +0 -242
- package/dist/conversion/conversion-v3/types/config-types.js +0 -13
- package/dist/conversion/conversion-v3/types/index.d.ts +0 -8
- package/dist/conversion/conversion-v3/types/index.js +0 -11
- package/dist/conversion/conversion-v3/types/node-types.d.ts +0 -211
- package/dist/conversion/conversion-v3/types/node-types.js +0 -20
- package/dist/conversion/conversion-v3/types/pipeline-types.d.ts +0 -246
- package/dist/conversion/conversion-v3/types/pipeline-types.js +0 -26
- package/dist/conversion/conversion-v3/types/request-types.d.ts +0 -293
- package/dist/conversion/conversion-v3/types/request-types.js +0 -26
- package/dist/conversion/conversion-v3/utils/provider-payload-sanitizer.d.ts +0 -10
- package/dist/conversion/conversion-v3/utils/provider-payload-sanitizer.js +0 -103
- package/dist/conversion/conversion-v3/validations/index.d.ts +0 -8
- package/dist/conversion/conversion-v3/validations/index.js +0 -7
- package/dist/conversion/conversion-v3/validations/node-graph-validator.d.ts +0 -116
- package/dist/conversion/conversion-v3/validations/node-graph-validator.js +0 -505
- package/dist/conversion/conversion-v3/validations/tool-governance-enforcer.d.ts +0 -139
- package/dist/conversion/conversion-v3/validations/tool-governance-enforcer.js +0 -338
- package/dist/conversion/hub/config/types.d.ts +0 -26
- package/dist/conversion/hub/core/detour-registry.d.ts +0 -9
- package/dist/conversion/hub/core/hub-context.d.ts +0 -21
- package/dist/conversion/hub/core/index.d.ts +0 -3
- package/dist/conversion/hub/core/stage-driver.d.ts +0 -30
- package/dist/conversion/hub/format-adapters/anthropic-format-adapter.d.ts +0 -16
- package/dist/conversion/hub/format-adapters/chat-format-adapter.d.ts +0 -17
- package/dist/conversion/hub/format-adapters/gemini-format-adapter.d.ts +0 -16
- package/dist/conversion/hub/format-adapters/index.d.ts +0 -21
- package/dist/conversion/hub/format-adapters/responses-format-adapter.d.ts +0 -17
- package/dist/conversion/hub/hub-feature.d.ts +0 -1
- package/dist/conversion/hub/node-support.d.ts +0 -19
- package/dist/conversion/hub/pipeline/hub-pipeline.d.ts +0 -68
- package/dist/conversion/hub/pipelines/inbound.d.ts +0 -22
- package/dist/conversion/hub/pipelines/outbound.d.ts +0 -22
- package/dist/conversion/hub/process/chat-process.d.ts +0 -13
- package/dist/conversion/hub/registry.d.ts +0 -28
- package/dist/conversion/hub/response/chat-response-utils.d.ts +0 -6
- package/dist/conversion/hub/response/provider-response.d.ts +0 -20
- package/dist/conversion/hub/response/response-mappers.d.ts +0 -19
- package/dist/conversion/hub/response/response-runtime.d.ts +0 -3
- package/dist/conversion/hub/semantic-mappers/anthropic-mapper.d.ts +0 -7
- package/dist/conversion/hub/semantic-mappers/chat-mapper.d.ts +0 -7
- package/dist/conversion/hub/semantic-mappers/gemini-mapper.d.ts +0 -7
- package/dist/conversion/hub/semantic-mappers/index.d.ts +0 -4
- package/dist/conversion/hub/semantic-mappers/responses-mapper.d.ts +0 -21
- package/dist/conversion/hub/snapshot-recorder.d.ts +0 -12
- package/dist/conversion/hub/standardized-bridge.d.ts +0 -12
- package/dist/conversion/hub/types/chat-envelope.d.ts +0 -67
- package/dist/conversion/hub/types/chat-schema.d.ts +0 -112
- package/dist/conversion/hub/types/errors.d.ts +0 -5
- package/dist/conversion/hub/types/format-envelope.d.ts +0 -7
- package/dist/conversion/hub/types/index.d.ts +0 -6
- package/dist/conversion/hub/types/json.d.ts +0 -9
- package/dist/conversion/hub/types/node.d.ts +0 -31
- package/dist/conversion/hub/types/standardized.d.ts +0 -94
- package/dist/conversion/responses/responses-openai-bridge.d.ts +0 -95
- package/dist/conversion/schema-validator.d.ts +0 -7
- package/dist/conversion/shared/args-mapping.d.ts +0 -18
- package/dist/conversion/shared/chat-request-filters.d.ts +0 -9
- package/dist/conversion/shared/jsonish.d.ts +0 -3
- package/dist/conversion/shared/mcp-injection.d.ts +0 -2
- package/dist/conversion/shared/media.d.ts +0 -1
- package/dist/conversion/shared/openai-finalizer.d.ts +0 -9
- package/dist/conversion/shared/openai-message-normalize.d.ts +0 -1
- package/dist/conversion/shared/payload-budget.d.ts +0 -13
- package/dist/conversion/shared/reasoning-mapping.d.ts +0 -5
- package/dist/conversion/shared/responses-conversation-store.d.ts +0 -41
- package/dist/conversion/shared/responses-id-utils.d.ts +0 -7
- package/dist/conversion/shared/responses-instructions.d.ts +0 -1
- package/dist/conversion/shared/responses-metadata.d.ts +0 -1
- package/dist/conversion/shared/responses-request-adapter.d.ts +0 -66
- package/dist/conversion/shared/snapshot-hooks.d.ts +0 -12
- package/dist/conversion/shared/streaming-text-extractor.d.ts +0 -26
- package/dist/conversion/shared/text-markup-normalizer.d.ts +0 -9
- package/dist/conversion/shared/tool-canonicalizer.d.ts +0 -2
- package/dist/conversion/shared/tool-filter-pipeline.d.ts +0 -17
- package/dist/conversion/shared/tool-governor.d.ts +0 -27
- package/dist/conversion/shared/tool-harvester.d.ts +0 -31
- package/dist/conversion/shared/tool-mapping.d.ts +0 -10
- package/dist/conversion/shared/tooling.d.ts +0 -26
- package/dist/conversion/types.d.ts +0 -33
- package/dist/core/index.d.ts +0 -6
- package/dist/core/index.js +0 -9
- package/dist/core/llmswitch-engine-v2.d.ts +0 -132
- package/dist/core/llmswitch-engine-v2.js +0 -649
- package/dist/core/llmswitch-factory-v2.d.ts +0 -123
- package/dist/core/llmswitch-factory-v2.js +0 -521
- package/dist/endpoints/base-endpoint-handler.d.ts +0 -128
- package/dist/endpoints/base-endpoint-handler.js +0 -545
- package/dist/endpoints/chat-endpoint-handler.d.ts +0 -115
- package/dist/endpoints/chat-endpoint-handler.js +0 -218
- package/dist/endpoints/endpoint-router.d.ts +0 -127
- package/dist/endpoints/endpoint-router.js +0 -438
- package/dist/endpoints/index.d.ts +0 -13
- package/dist/endpoints/index.js +0 -11
- package/dist/endpoints/messages-endpoint-handler.d.ts +0 -171
- package/dist/endpoints/messages-endpoint-handler.js +0 -238
- package/dist/endpoints/responses-endpoint-handler.d.ts +0 -147
- package/dist/endpoints/responses-endpoint-handler.js +0 -233
- package/dist/filters/builtin/add-fields-filter.d.ts +0 -8
- package/dist/filters/builtin/blacklist-filter.d.ts +0 -8
- package/dist/filters/builtin/whitelist-filter.d.ts +0 -8
- package/dist/filters/engine.d.ts +0 -16
- package/dist/filters/index.d.ts +0 -19
- package/dist/filters/special/request-streaming-to-nonstreaming.d.ts +0 -12
- package/dist/filters/special/request-tool-choice-policy.d.ts +0 -11
- package/dist/filters/special/request-tool-list-filter.d.ts +0 -11
- package/dist/filters/special/request-toolcalls-stringify.d.ts +0 -10
- package/dist/filters/special/request-tools-normalize.d.ts +0 -12
- package/dist/filters/special/response-finish-invariants.d.ts +0 -11
- package/dist/filters/special/response-openai-to-responses-bridge.d.ts +0 -13
- package/dist/filters/special/response-tool-arguments-blacklist.d.ts +0 -12
- package/dist/filters/special/response-tool-arguments-schema-converge.d.ts +0 -13
- package/dist/filters/special/response-tool-arguments-stringify.d.ts +0 -9
- package/dist/filters/special/response-tool-arguments-toon-decode.d.ts +0 -10
- package/dist/filters/special/response-tool-arguments-whitelist.d.ts +0 -11
- package/dist/filters/special/response-tool-text-canonicalize.d.ts +0 -10
- package/dist/filters/special/tool-filter-hooks.d.ts +0 -19
- package/dist/filters/special/tool-post-constraints.d.ts +0 -31
- package/dist/filters/types.d.ts +0 -68
- package/dist/filters/utils/fieldmap-loader.d.ts +0 -2
- package/dist/filters/utils/snapshot-writer.d.ts +0 -10
- package/dist/guidance/index.d.ts +0 -3
- package/dist/hooks/hooks-integration.d.ts +0 -161
- package/dist/hooks/hooks-integration.js +0 -519
- package/dist/hooks/index.d.ts +0 -10
- package/dist/hooks/index.js +0 -13
- package/dist/html-to-markdown.d.ts +0 -5
- package/dist/html-to-markdown.js +0 -66
- package/dist/http/sse-response.d.ts +0 -22
- package/dist/router/virtual-router/bootstrap.d.ts +0 -6
- package/dist/router/virtual-router/classifier.d.ts +0 -10
- package/dist/router/virtual-router/engine.d.ts +0 -35
- package/dist/router/virtual-router/error-center.d.ts +0 -10
- package/dist/router/virtual-router/features.d.ts +0 -3
- package/dist/router/virtual-router/health-manager.d.ts +0 -18
- package/dist/router/virtual-router/load-balancer.d.ts +0 -18
- package/dist/router/virtual-router/provider-registry.d.ts +0 -11
- package/dist/router/virtual-router/types.d.ts +0 -206
- package/dist/sse/json-to-sse/anthropic-json-to-sse-converter.d.ts +0 -11
- package/dist/sse/json-to-sse/chat-json-to-sse-converter.d.ts +0 -79
- package/dist/sse/json-to-sse/event-generators/chat.d.ts +0 -55
- package/dist/sse/json-to-sse/event-generators/responses.d.ts +0 -99
- package/dist/sse/json-to-sse/index.d.ts +0 -6
- package/dist/sse/json-to-sse/responses-json-to-sse-converter.d.ts +0 -79
- package/dist/sse/json-to-sse/sequencers/chat-sequencer.d.ts +0 -37
- package/dist/sse/json-to-sse/sequencers/responses-sequencer.d.ts +0 -40
- package/dist/sse/registry/sse-codec-registry.d.ts +0 -32
- package/dist/sse/shared/chat-serializer.d.ts +0 -4
- package/dist/sse/shared/constants.d.ts +0 -272
- package/dist/sse/shared/serializers/base-serializer.d.ts +0 -158
- package/dist/sse/shared/serializers/chat-event-serializer.d.ts +0 -82
- package/dist/sse/shared/serializers/index.d.ts +0 -39
- package/dist/sse/shared/serializers/responses-event-serializer.d.ts +0 -123
- package/dist/sse/shared/serializers/types.d.ts +0 -51
- package/dist/sse/shared/utils.d.ts +0 -254
- package/dist/sse/shared/writer.d.ts +0 -111
- package/dist/sse/sse-to-json/anthropic-sse-to-json-converter.d.ts +0 -13
- package/dist/sse/sse-to-json/builders/response-builder.d.ts +0 -165
- package/dist/sse/sse-to-json/chat-sse-to-json-converter.d.ts +0 -106
- package/dist/sse/sse-to-json/index.d.ts +0 -6
- package/dist/sse/sse-to-json/parsers/sse-parser.d.ts +0 -73
- package/dist/sse/types/anthropic-types.d.ts +0 -87
- package/dist/tools/proxy/anthropic-tool-proxy.d.ts +0 -19
- package/dist/tools/proxy/anthropic-tool-proxy.js +0 -57
- package/dist/tools/proxy/executors/web-fetch.d.ts +0 -6
- package/dist/tools/proxy/executors/web-fetch.js +0 -39
- package/dist/tools/proxy/registry.d.ts +0 -8
- package/dist/tools/proxy/registry.js +0 -14
- package/dist/tools/proxy/types.d.ts +0 -29
- package/dist/tools/tool-registry.d.ts +0 -8
- package/dist/tools/web-fetch-html.d.ts +0 -15
- package/dist/tools/web-fetch-html.js +0 -83
- package/dist/utils/conversion-adapter.d.ts +0 -65
- package/dist/utils/conversion-adapter.js +0 -183
- package/dist/utils/error-factory.d.ts +0 -88
- package/dist/utils/error-factory.js +0 -138
- package/dist/utils/error-utils.d.ts +0 -334
- package/dist/utils/error-utils.js +0 -782
- package/dist/utils/index.d.ts +0 -8
- package/dist/utils/index.js +0 -13
- package/dist/utils/performance-utils.d.ts +0 -205
- package/dist/utils/performance-utils.js +0 -440
- package/dist/utils/profile-mapper.d.ts +0 -32
- package/dist/utils/profile-mapper.js +0 -269
- package/dist/utils/request-processor.d.ts +0 -52
- package/dist/utils/request-processor.js +0 -210
- package/dist/utils/request-utils.d.ts +0 -117
- package/dist/utils/request-utils.js +0 -333
- package/dist/utils/response-utils.d.ts +0 -127
- package/dist/utils/response-utils.js +0 -516
- package/dist/utils/token-counter.d.ts +0 -89
- package/dist/utils/token-counter.js +0 -541
- /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,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>;
|