ai-protocol-adapters 1.0.0-alpha.19 → 1.0.0-alpha.20

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.mts CHANGED
@@ -5644,6 +5644,7 @@ declare class A2ORequestAdapter {
5644
5644
  convertOpenAIResponseToClaude(openaiResponse: OpenAIResponse): any;
5645
5645
  /**
5646
5646
  * 转换工具定义列表
5647
+ * 确保所有工具都有有效描述,无论是Anthropic还是OpenAI格式
5647
5648
  */
5648
5649
  private convertToolDefinitions;
5649
5650
  /**
package/dist/index.d.ts CHANGED
@@ -5644,6 +5644,7 @@ declare class A2ORequestAdapter {
5644
5644
  convertOpenAIResponseToClaude(openaiResponse: OpenAIResponse): any;
5645
5645
  /**
5646
5646
  * 转换工具定义列表
5647
+ * 确保所有工具都有有效描述,无论是Anthropic还是OpenAI格式
5647
5648
  */
5648
5649
  private convertToolDefinitions;
5649
5650
  /**
package/dist/index.js CHANGED
@@ -1103,6 +1103,24 @@ var ToolConverter = class {
1103
1103
  static isOpenAIToolFormat(tool) {
1104
1104
  return tool && tool.type === "function" && tool.function && tool.function.name;
1105
1105
  }
1106
+ /**
1107
+ * 确保OpenAI格式工具有有效描述
1108
+ * 处理空字符串、undefined、null等情况
1109
+ */
1110
+ static ensureOpenAIToolDescription(tool) {
1111
+ if (!tool?.function) return tool;
1112
+ const description = tool.function.description?.trim();
1113
+ if (!description) {
1114
+ return {
1115
+ ...tool,
1116
+ function: {
1117
+ ...tool.function,
1118
+ description: TOOL_CONVERSION.DEFAULT_DESCRIPTION
1119
+ }
1120
+ };
1121
+ }
1122
+ return tool;
1123
+ }
1106
1124
  /**
1107
1125
  * 简化Claude的详细描述为OpenAI兼容的简短描述
1108
1126
  */
@@ -3782,14 +3800,17 @@ var A2ORequestAdapter = class {
3782
3800
  }
3783
3801
  /**
3784
3802
  * 转换工具定义列表
3803
+ * 确保所有工具都有有效描述,无论是Anthropic还是OpenAI格式
3785
3804
  */
3786
3805
  convertToolDefinitions(tools) {
3787
3806
  return tools.map((tool) => {
3807
+ let openaiTool;
3788
3808
  if (ToolConverter.isOpenAIToolFormat(tool)) {
3789
- return tool;
3809
+ openaiTool = tool;
3790
3810
  } else {
3791
- return ToolConverter.convertAnthropicToolToOpenAI(tool);
3811
+ openaiTool = ToolConverter.convertAnthropicToolToOpenAI(tool);
3792
3812
  }
3813
+ return ToolConverter.ensureOpenAIToolDescription(openaiTool);
3793
3814
  });
3794
3815
  }
3795
3816
  /**
package/dist/index.mjs CHANGED
@@ -993,6 +993,24 @@ var ToolConverter = class {
993
993
  static isOpenAIToolFormat(tool) {
994
994
  return tool && tool.type === "function" && tool.function && tool.function.name;
995
995
  }
996
+ /**
997
+ * 确保OpenAI格式工具有有效描述
998
+ * 处理空字符串、undefined、null等情况
999
+ */
1000
+ static ensureOpenAIToolDescription(tool) {
1001
+ if (!tool?.function) return tool;
1002
+ const description = tool.function.description?.trim();
1003
+ if (!description) {
1004
+ return {
1005
+ ...tool,
1006
+ function: {
1007
+ ...tool.function,
1008
+ description: TOOL_CONVERSION.DEFAULT_DESCRIPTION
1009
+ }
1010
+ };
1011
+ }
1012
+ return tool;
1013
+ }
996
1014
  /**
997
1015
  * 简化Claude的详细描述为OpenAI兼容的简短描述
998
1016
  */
@@ -3672,14 +3690,17 @@ var A2ORequestAdapter = class {
3672
3690
  }
3673
3691
  /**
3674
3692
  * 转换工具定义列表
3693
+ * 确保所有工具都有有效描述,无论是Anthropic还是OpenAI格式
3675
3694
  */
3676
3695
  convertToolDefinitions(tools) {
3677
3696
  return tools.map((tool) => {
3697
+ let openaiTool;
3678
3698
  if (ToolConverter.isOpenAIToolFormat(tool)) {
3679
- return tool;
3699
+ openaiTool = tool;
3680
3700
  } else {
3681
- return ToolConverter.convertAnthropicToolToOpenAI(tool);
3701
+ openaiTool = ToolConverter.convertAnthropicToolToOpenAI(tool);
3682
3702
  }
3703
+ return ToolConverter.ensureOpenAIToolDescription(openaiTool);
3683
3704
  });
3684
3705
  }
3685
3706
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-protocol-adapters",
3
- "version": "1.0.0-alpha.19",
3
+ "version": "1.0.0-alpha.20",
4
4
  "description": "Universal AI Protocol Converter - OpenAI ⇄ Anthropic with full TypeScript support",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",