ai-protocol-adapters 1.0.0-alpha.2 → 1.0.0-alpha.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/dist/index.d.ts CHANGED
@@ -2646,9 +2646,9 @@ declare const AnthropicImageSourceSchema: z.ZodObject<{
2646
2646
  declare const AnthropicContentBlockBaseSchema: z.ZodObject<{
2647
2647
  type: z.ZodEnum<["text", "image", "tool_use", "tool_result"]>;
2648
2648
  }, "strip", z.ZodTypeAny, {
2649
- type?: "text" | "image" | "tool_use" | "tool_result";
2649
+ type?: "text" | "tool_use" | "image" | "tool_result";
2650
2650
  }, {
2651
- type?: "text" | "image" | "tool_use" | "tool_result";
2651
+ type?: "text" | "tool_use" | "image" | "tool_result";
2652
2652
  }>;
2653
2653
  declare const AnthropicTextContentBlockSchema: z.ZodObject<{} & {
2654
2654
  type: z.ZodLiteral<"text">;
@@ -3784,7 +3784,7 @@ declare const AnthropicResponseSchema: z.ZodObject<{
3784
3784
  cache_read_input_tokens?: number;
3785
3785
  };
3786
3786
  stop_sequence?: string;
3787
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
3787
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
3788
3788
  }, {
3789
3789
  role?: "assistant";
3790
3790
  content?: ({
@@ -3828,7 +3828,7 @@ declare const AnthropicResponseSchema: z.ZodObject<{
3828
3828
  cache_read_input_tokens?: number;
3829
3829
  };
3830
3830
  stop_sequence?: string;
3831
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
3831
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
3832
3832
  }>;
3833
3833
  declare const AnthropicStreamEventBaseSchema: z.ZodObject<{
3834
3834
  type: z.ZodString;
@@ -4160,7 +4160,7 @@ declare const AnthropicMessageStartEventSchema: z.ZodObject<{} & {
4160
4160
  cache_read_input_tokens?: number;
4161
4161
  };
4162
4162
  stop_sequence?: string;
4163
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
4163
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
4164
4164
  }, {
4165
4165
  role?: "assistant";
4166
4166
  content?: ({
@@ -4204,7 +4204,7 @@ declare const AnthropicMessageStartEventSchema: z.ZodObject<{} & {
4204
4204
  cache_read_input_tokens?: number;
4205
4205
  };
4206
4206
  stop_sequence?: string;
4207
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
4207
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
4208
4208
  }>;
4209
4209
  }, "strip", z.ZodTypeAny, {
4210
4210
  message?: {
@@ -4250,7 +4250,7 @@ declare const AnthropicMessageStartEventSchema: z.ZodObject<{} & {
4250
4250
  cache_read_input_tokens?: number;
4251
4251
  };
4252
4252
  stop_sequence?: string;
4253
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
4253
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
4254
4254
  };
4255
4255
  type?: "message_start";
4256
4256
  }, {
@@ -4297,7 +4297,7 @@ declare const AnthropicMessageStartEventSchema: z.ZodObject<{} & {
4297
4297
  cache_read_input_tokens?: number;
4298
4298
  };
4299
4299
  stop_sequence?: string;
4300
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
4300
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
4301
4301
  };
4302
4302
  type?: "message_start";
4303
4303
  }>;
@@ -4560,10 +4560,10 @@ declare const AnthropicMessageDeltaEventSchema: z.ZodObject<{} & {
4560
4560
  stop_sequence: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4561
4561
  }, "strip", z.ZodTypeAny, {
4562
4562
  stop_sequence?: string;
4563
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
4563
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
4564
4564
  }, {
4565
4565
  stop_sequence?: string;
4566
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
4566
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
4567
4567
  }>;
4568
4568
  usage: z.ZodObject<{
4569
4569
  input_tokens: z.ZodOptional<z.ZodNumber>;
@@ -4585,7 +4585,7 @@ declare const AnthropicMessageDeltaEventSchema: z.ZodObject<{} & {
4585
4585
  type?: "message_delta";
4586
4586
  delta?: {
4587
4587
  stop_sequence?: string;
4588
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
4588
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
4589
4589
  };
4590
4590
  usage?: {
4591
4591
  input_tokens?: number;
@@ -4597,7 +4597,7 @@ declare const AnthropicMessageDeltaEventSchema: z.ZodObject<{} & {
4597
4597
  type?: "message_delta";
4598
4598
  delta?: {
4599
4599
  stop_sequence?: string;
4600
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
4600
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
4601
4601
  };
4602
4602
  usage?: {
4603
4603
  input_tokens?: number;
@@ -4968,7 +4968,7 @@ declare const AnthropicStreamEventSchema: z.ZodUnion<[z.ZodObject<{} & {
4968
4968
  cache_read_input_tokens?: number;
4969
4969
  };
4970
4970
  stop_sequence?: string;
4971
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
4971
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
4972
4972
  }, {
4973
4973
  role?: "assistant";
4974
4974
  content?: ({
@@ -5012,7 +5012,7 @@ declare const AnthropicStreamEventSchema: z.ZodUnion<[z.ZodObject<{} & {
5012
5012
  cache_read_input_tokens?: number;
5013
5013
  };
5014
5014
  stop_sequence?: string;
5015
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
5015
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
5016
5016
  }>;
5017
5017
  }, "strip", z.ZodTypeAny, {
5018
5018
  message?: {
@@ -5058,7 +5058,7 @@ declare const AnthropicStreamEventSchema: z.ZodUnion<[z.ZodObject<{} & {
5058
5058
  cache_read_input_tokens?: number;
5059
5059
  };
5060
5060
  stop_sequence?: string;
5061
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
5061
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
5062
5062
  };
5063
5063
  type?: "message_start";
5064
5064
  }, {
@@ -5105,7 +5105,7 @@ declare const AnthropicStreamEventSchema: z.ZodUnion<[z.ZodObject<{} & {
5105
5105
  cache_read_input_tokens?: number;
5106
5106
  };
5107
5107
  stop_sequence?: string;
5108
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
5108
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
5109
5109
  };
5110
5110
  type?: "message_start";
5111
5111
  }>, z.ZodObject<{} & {
@@ -5364,10 +5364,10 @@ declare const AnthropicStreamEventSchema: z.ZodUnion<[z.ZodObject<{} & {
5364
5364
  stop_sequence: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5365
5365
  }, "strip", z.ZodTypeAny, {
5366
5366
  stop_sequence?: string;
5367
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
5367
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
5368
5368
  }, {
5369
5369
  stop_sequence?: string;
5370
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
5370
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
5371
5371
  }>;
5372
5372
  usage: z.ZodObject<{
5373
5373
  input_tokens: z.ZodOptional<z.ZodNumber>;
@@ -5389,7 +5389,7 @@ declare const AnthropicStreamEventSchema: z.ZodUnion<[z.ZodObject<{} & {
5389
5389
  type?: "message_delta";
5390
5390
  delta?: {
5391
5391
  stop_sequence?: string;
5392
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
5392
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
5393
5393
  };
5394
5394
  usage?: {
5395
5395
  input_tokens?: number;
@@ -5401,7 +5401,7 @@ declare const AnthropicStreamEventSchema: z.ZodUnion<[z.ZodObject<{} & {
5401
5401
  type?: "message_delta";
5402
5402
  delta?: {
5403
5403
  stop_sequence?: string;
5404
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
5404
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
5405
5405
  };
5406
5406
  usage?: {
5407
5407
  input_tokens?: number;
@@ -5572,7 +5572,7 @@ declare const validateAnthropicResponse: (data: unknown) => {
5572
5572
  cache_read_input_tokens?: number;
5573
5573
  };
5574
5574
  stop_sequence?: string;
5575
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
5575
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
5576
5576
  };
5577
5577
  declare const validateAnthropicStreamEvent: (data: unknown) => {
5578
5578
  message?: {
@@ -5618,7 +5618,7 @@ declare const validateAnthropicStreamEvent: (data: unknown) => {
5618
5618
  cache_read_input_tokens?: number;
5619
5619
  };
5620
5620
  stop_sequence?: string;
5621
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
5621
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
5622
5622
  };
5623
5623
  type?: "message_start";
5624
5624
  } | {
@@ -5672,7 +5672,7 @@ declare const validateAnthropicStreamEvent: (data: unknown) => {
5672
5672
  type?: "message_delta";
5673
5673
  delta?: {
5674
5674
  stop_sequence?: string;
5675
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
5675
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
5676
5676
  };
5677
5677
  usage?: {
5678
5678
  input_tokens?: number;
@@ -6029,6 +6029,89 @@ declare class FormatValidator {
6029
6029
  };
6030
6030
  }
6031
6031
 
6032
+ /**
6033
+ * 流式处理相关类型定义
6034
+ */
6035
+
6036
+ /**
6037
+ * 流式转换配置选项
6038
+ */
6039
+ interface StreamConversionOptions {
6040
+ /** 模型名称 */
6041
+ modelName?: string;
6042
+ /** 消息ID */
6043
+ messageId?: string;
6044
+ /** 缓冲区超时时间(毫秒) */
6045
+ bufferTimeout?: number;
6046
+ /** 是否启用错误恢复 */
6047
+ errorRecovery?: boolean;
6048
+ /** 最大重试次数 */
6049
+ maxRetries?: number;
6050
+ /** 块处理回调 */
6051
+ onChunkProcessed?: (chunk: string, events: string[]) => void;
6052
+ /** 错误回调 */
6053
+ onError?: (error: Error, context: StreamErrorContext) => void;
6054
+ /** 调试模式 */
6055
+ debug?: boolean;
6056
+ }
6057
+ /**
6058
+ * 流式错误上下文
6059
+ */
6060
+ interface StreamErrorContext {
6061
+ chunk: string;
6062
+ state: IncrementalConversionState;
6063
+ attempt?: number;
6064
+ totalRetries?: number;
6065
+ }
6066
+ /**
6067
+ * 流式转换器接口
6068
+ */
6069
+ interface IStreamConverter {
6070
+ /**
6071
+ * 获取初始事件
6072
+ */
6073
+ getInitialEvents(): string[];
6074
+ /**
6075
+ * 处理单个数据块
6076
+ */
6077
+ processChunk(chunk: string): string[];
6078
+ /**
6079
+ * 结束流处理
6080
+ */
6081
+ finalize(): string[];
6082
+ /**
6083
+ * 获取当前状态
6084
+ */
6085
+ getState(): IncrementalConversionState;
6086
+ /**
6087
+ * 重置状态
6088
+ */
6089
+ reset(): void;
6090
+ /**
6091
+ * 获取统计信息
6092
+ */
6093
+ getStats(): StreamStats;
6094
+ }
6095
+ /**
6096
+ * 流式处理统计信息
6097
+ */
6098
+ interface StreamStats {
6099
+ /** 处理的块数量 */
6100
+ chunksProcessed: number;
6101
+ /** 生成的事件数量 */
6102
+ eventsGenerated: number;
6103
+ /** 错误数量 */
6104
+ errors: number;
6105
+ /** 重试次数 */
6106
+ retries: number;
6107
+ /** 处理开始时间 */
6108
+ startTime: number;
6109
+ /** 最后更新时间 */
6110
+ lastUpdateTime: number;
6111
+ /** 缓冲区大小 */
6112
+ bufferSize: number;
6113
+ }
6114
+
6032
6115
  /**
6033
6116
  * O2A SSE适配器配置
6034
6117
  */
@@ -6103,6 +6186,20 @@ declare class O2ASSEAdapter {
6103
6186
  errors: string[];
6104
6187
  warnings: string[];
6105
6188
  };
6189
+ /**
6190
+ * 将 OpenAI Response 流直接转换为 Anthropic SSE 流
6191
+ * 这是新增的核心流式处理方法,支持实时转换
6192
+ */
6193
+ convertResponseStream(openaiResponse: Response, options?: StreamConversionOptions): ReadableStream<string>;
6194
+ /**
6195
+ * 将 ReadableStream 转换为 Anthropic SSE 流
6196
+ */
6197
+ convertReadableStream(openaiStream: ReadableStream<Uint8Array>, options?: StreamConversionOptions): ReadableStream<string>;
6198
+ /**
6199
+ * 创建流式转换器实例
6200
+ * 提供更精细的流处理控制
6201
+ */
6202
+ createStreamConverter(options?: StreamConversionOptions): IStreamConverter;
6106
6203
  /**
6107
6204
  * 应用增强功能到SSE转换
6108
6205
  * 包括输入验证、输出修复等
@@ -6135,6 +6232,21 @@ declare const O2ASSEAdapterStatic: {
6135
6232
  errors: string[];
6136
6233
  warnings: string[];
6137
6234
  };
6235
+ /**
6236
+ * 转换 Response 流为 Anthropic SSE(静态方法)
6237
+ * 新增:直接处理 Response 对象的流式转换
6238
+ */
6239
+ convertResponseStream: (openaiResponse: Response, options?: StreamConversionOptions) => ReadableStream<string>;
6240
+ /**
6241
+ * 转换 ReadableStream 为 Anthropic SSE(静态方法)
6242
+ * 新增:处理任意 ReadableStream<Uint8Array> 的流式转换
6243
+ */
6244
+ convertReadableStream: (openaiStream: ReadableStream<Uint8Array>, options?: StreamConversionOptions) => ReadableStream<string>;
6245
+ /**
6246
+ * 创建流式转换器(静态方法)
6247
+ * 新增:提供更精细的流处理控制
6248
+ */
6249
+ createStreamConverter: (options?: StreamConversionOptions) => IStreamConverter;
6138
6250
  };
6139
6251
 
6140
6252
  /**
@@ -6363,7 +6475,7 @@ declare const validateO2AConversion: (openaiData: unknown, convertedData: unknow
6363
6475
  cache_read_input_tokens?: number;
6364
6476
  };
6365
6477
  stop_sequence?: string;
6366
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
6478
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
6367
6479
  }>;
6368
6480
  declare const validateStreamConversion: (inputChunks: unknown[], outputEvents: unknown[], direction: "openai-to-anthropic" | "anthropic-to-openai", useHealing?: boolean) => ConversionResult<unknown[]>;
6369
6481
 
@@ -6624,7 +6736,7 @@ declare const healO2AResponse: (data: unknown, maxAttempts?: number) => Promise<
6624
6736
  cache_read_input_tokens?: number;
6625
6737
  };
6626
6738
  stop_sequence?: string;
6627
- stop_reason?: "end_turn" | "max_tokens" | "tool_use" | "stop_sequence";
6739
+ stop_reason?: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
6628
6740
  }>>;
6629
6741
 
6630
6742
  /**
@@ -7155,7 +7267,7 @@ interface Logger {
7155
7267
  declare function getGlobalLogger(): Logger;
7156
7268
 
7157
7269
  /**
7158
- * @ai-protocol/adapters - Universal AI Protocol Converter
7270
+ * ai-protocol-adapters - Universal AI Protocol Converter
7159
7271
  * OpenAI ⇄ Anthropic with full TypeScript support
7160
7272
  */
7161
7273