From 9f817dea52f7ec074fd487c4aff6a241c7999e20 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 17 Jun 2026 17:44:33 +0000 Subject: [PATCH] feat: Updated OpenAPI spec --- .../GeneratedApi/CliRuntime.cs | 38 +++++++++++++++---- .../tryAGI.OpenAI.JsonConverters.Tool.g.cs | 1 + .../tryAGI.OpenAI.Models.MCPTool.g.cs | 29 ++++++++++---- ...yAGI.OpenAI.Models.MCPToolConnectorId.g.cs | 4 +- ...tryAGI.OpenAI.Realtime.Models.MCPTool.g.cs | 29 ++++++++++---- ...AI.Realtime.Models.MCPToolConnectorId.g.cs | 4 +- src/libs/tryAGI.OpenAI/asyncapi.json | 9 ++++- src/libs/tryAGI.OpenAI/openapi.yaml | 29 ++++++++++---- 8 files changed, 105 insertions(+), 38 deletions(-) diff --git a/src/libs/tryAGI.OpenAI.CLI/GeneratedApi/CliRuntime.cs b/src/libs/tryAGI.OpenAI.CLI/GeneratedApi/CliRuntime.cs index 83fb40654..a2f7cc4c4 100644 --- a/src/libs/tryAGI.OpenAI.CLI/GeneratedApi/CliRuntime.cs +++ b/src/libs/tryAGI.OpenAI.CLI/GeneratedApi/CliRuntime.cs @@ -24,14 +24,12 @@ internal static class CliRuntime ? new global::System.Collections.Generic.List() : new global::System.Collections.Generic.List { - new global::tryAGI.OpenAI.EndPointAuthorization - { - Type = "Http", - SchemeId = "ApiKeyAuth", - Location = "Header", - Name = "Bearer", - Value = apiKey, - }, + CreateAuthorization( + type: "Http", + schemeId: "ApiKeyAuth", + location: "Header", + name: "Bearer", + value: apiKey), }; var baseUri = ResolveBaseUri(parseResult); @@ -42,6 +40,30 @@ internal static class CliRuntime disposeHttpClient: true); } + private static global::tryAGI.OpenAI.EndPointAuthorization CreateAuthorization( + string type, + string schemeId, + string location, + string name, + string value) + { + var authorization = new global::tryAGI.OpenAI.EndPointAuthorization + { + Type = type, + Location = location, + Name = name, + Value = value, + }; + + var schemeIdProperty = typeof(global::tryAGI.OpenAI.EndPointAuthorization).GetProperty("SchemeId"); + if (schemeIdProperty?.CanWrite == true) + { + schemeIdProperty.SetValue(authorization, schemeId); + } + + return authorization; + } + [System.Diagnostics.CodeAnalysis.SuppressMessage( "Design", "CA1031:Do not catch general exception types", diff --git a/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.Tool.g.cs b/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.Tool.g.cs index c5fdbc72c..9f9741f8e 100644 --- a/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.Tool.g.cs +++ b/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.Tool.g.cs @@ -72,6 +72,7 @@ public class ToolJsonConverter : global::System.Text.Json.Serialization.JsonConv if (__jsonProps.Contains("server_description")) __score5++; if (__jsonProps.Contains("server_label")) __score5++; if (__jsonProps.Contains("server_url")) __score5++; + if (__jsonProps.Contains("tunnel_id")) __score5++; if (__jsonProps.Contains("type")) __score5++; var __score6 = 0; if (__jsonProps.Contains("container")) __score6++; diff --git a/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.MCPTool.g.cs b/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.MCPTool.g.cs index 811aa7ffa..b513e83d6 100644 --- a/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.MCPTool.g.cs +++ b/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.MCPTool.g.cs @@ -24,16 +24,16 @@ public sealed partial class MCPTool public required string ServerLabel { get; set; } /// - /// The URL for the MCP server. One of `server_url` or `connector_id` must be
- /// provided. + /// The URL for the MCP server. One of `server_url`, `connector_id`, or
+ /// `tunnel_id` must be provided. ///
[global::System.Text.Json.Serialization.JsonPropertyName("server_url")] public string? ServerUrl { get; set; } /// /// Identifier for service connectors, like those available in ChatGPT. One of
- /// `server_url` or `connector_id` must be provided. Learn more about service
- /// connectors [here](/docs/guides/tools-remote-mcp#connectors).
+ /// `server_url`, `connector_id`, or `tunnel_id` must be provided. Learn more
+ /// about service connectors [here](/docs/guides/tools-remote-mcp#connectors).
/// Currently supported `connector_id` values are:
/// - Dropbox: `connector_dropbox`
/// - Gmail: `connector_gmail`
@@ -48,6 +48,13 @@ public sealed partial class MCPTool [global::System.Text.Json.Serialization.JsonConverter(typeof(global::tryAGI.OpenAI.JsonConverters.MCPToolConnectorIdJsonConverter))] public global::tryAGI.OpenAI.MCPToolConnectorId? ConnectorId { get; set; } + /// + /// The Secure MCP Tunnel ID to use instead of a direct server URL. One of
+ /// `server_url`, `connector_id`, or `tunnel_id` must be provided. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("tunnel_id")] + public string? TunnelId { get; set; } + /// /// An OAuth access token that can be used with a remote MCP server, either
/// with a custom MCP server URL or a service connector. Your application
@@ -102,13 +109,13 @@ public sealed partial class MCPTool /// The type of the MCP tool. Always `mcp`. /// /// - /// The URL for the MCP server. One of `server_url` or `connector_id` must be
- /// provided. + /// The URL for the MCP server. One of `server_url`, `connector_id`, or
+ /// `tunnel_id` must be provided. /// /// /// Identifier for service connectors, like those available in ChatGPT. One of
- /// `server_url` or `connector_id` must be provided. Learn more about service
- /// connectors [here](/docs/guides/tools-remote-mcp#connectors).
+ /// `server_url`, `connector_id`, or `tunnel_id` must be provided. Learn more
+ /// about service connectors [here](/docs/guides/tools-remote-mcp#connectors).
/// Currently supported `connector_id` values are:
/// - Dropbox: `connector_dropbox`
/// - Gmail: `connector_gmail`
@@ -119,6 +126,10 @@ public sealed partial class MCPTool /// - Outlook Email: `connector_outlookemail`
/// - SharePoint: `connector_sharepoint` /// + /// + /// The Secure MCP Tunnel ID to use instead of a direct server URL. One of
+ /// `server_url`, `connector_id`, or `tunnel_id` must be provided. + /// /// /// An OAuth access token that can be used with a remote MCP server, either
/// with a custom MCP server URL or a service connector. Your application
@@ -141,6 +152,7 @@ public MCPTool( global::tryAGI.OpenAI.MCPToolType type, string? serverUrl, global::tryAGI.OpenAI.MCPToolConnectorId? connectorId, + string? tunnelId, string? authorization, string? serverDescription, global::System.Collections.Generic.Dictionary? headers, @@ -152,6 +164,7 @@ public MCPTool( this.ServerLabel = serverLabel ?? throw new global::System.ArgumentNullException(nameof(serverLabel)); this.ServerUrl = serverUrl; this.ConnectorId = connectorId; + this.TunnelId = tunnelId; this.Authorization = authorization; this.ServerDescription = serverDescription; this.Headers = headers; diff --git a/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.MCPToolConnectorId.g.cs b/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.MCPToolConnectorId.g.cs index 16ec11e5c..048f3d1a5 100644 --- a/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.MCPToolConnectorId.g.cs +++ b/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.MCPToolConnectorId.g.cs @@ -5,8 +5,8 @@ namespace tryAGI.OpenAI { /// /// Identifier for service connectors, like those available in ChatGPT. One of
- /// `server_url` or `connector_id` must be provided. Learn more about service
- /// connectors [here](/docs/guides/tools-remote-mcp#connectors).
+ /// `server_url`, `connector_id`, or `tunnel_id` must be provided. Learn more
+ /// about service connectors [here](/docs/guides/tools-remote-mcp#connectors).
/// Currently supported `connector_id` values are:
/// - Dropbox: `connector_dropbox`
/// - Gmail: `connector_gmail`
diff --git a/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Realtime.Models.MCPTool.g.cs b/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Realtime.Models.MCPTool.g.cs index 1cba6579d..ffa955474 100644 --- a/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Realtime.Models.MCPTool.g.cs +++ b/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Realtime.Models.MCPTool.g.cs @@ -24,16 +24,16 @@ public sealed partial class MCPTool public required string ServerLabel { get; set; } /// - /// The URL for the MCP server. One of `server_url` or `connector_id` must be
- /// provided. + /// The URL for the MCP server. One of `server_url`, `connector_id`, or
+ /// `tunnel_id` must be provided. ///
[global::System.Text.Json.Serialization.JsonPropertyName("server_url")] public string? ServerUrl { get; set; } /// /// Identifier for service connectors, like those available in ChatGPT. One of
- /// `server_url` or `connector_id` must be provided. Learn more about service
- /// connectors [here](/docs/guides/tools-remote-mcp#connectors).
+ /// `server_url`, `connector_id`, or `tunnel_id` must be provided. Learn more
+ /// about service connectors [here](/docs/guides/tools-remote-mcp#connectors).
/// Currently supported `connector_id` values are:
/// - Dropbox: `connector_dropbox`
/// - Gmail: `connector_gmail`
@@ -48,6 +48,13 @@ public sealed partial class MCPTool [global::System.Text.Json.Serialization.JsonConverter(typeof(global::tryAGI.OpenAI.Realtime.JsonConverters.MCPToolConnectorIdJsonConverter))] public global::tryAGI.OpenAI.Realtime.MCPToolConnectorId? ConnectorId { get; set; } + /// + /// The Secure MCP Tunnel ID to use instead of a direct server URL. One of
+ /// `server_url`, `connector_id`, or `tunnel_id` must be provided. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("tunnel_id")] + public string? TunnelId { get; set; } + /// /// An OAuth access token that can be used with a remote MCP server, either
/// with a custom MCP server URL or a service connector. Your application
@@ -102,13 +109,13 @@ public sealed partial class MCPTool /// The type of the MCP tool. Always `mcp`. /// /// - /// The URL for the MCP server. One of `server_url` or `connector_id` must be
- /// provided. + /// The URL for the MCP server. One of `server_url`, `connector_id`, or
+ /// `tunnel_id` must be provided. /// /// /// Identifier for service connectors, like those available in ChatGPT. One of
- /// `server_url` or `connector_id` must be provided. Learn more about service
- /// connectors [here](/docs/guides/tools-remote-mcp#connectors).
+ /// `server_url`, `connector_id`, or `tunnel_id` must be provided. Learn more
+ /// about service connectors [here](/docs/guides/tools-remote-mcp#connectors).
/// Currently supported `connector_id` values are:
/// - Dropbox: `connector_dropbox`
/// - Gmail: `connector_gmail`
@@ -119,6 +126,10 @@ public sealed partial class MCPTool /// - Outlook Email: `connector_outlookemail`
/// - SharePoint: `connector_sharepoint` /// + /// + /// The Secure MCP Tunnel ID to use instead of a direct server URL. One of
+ /// `server_url`, `connector_id`, or `tunnel_id` must be provided. + /// /// /// An OAuth access token that can be used with a remote MCP server, either
/// with a custom MCP server URL or a service connector. Your application
@@ -141,6 +152,7 @@ public MCPTool( global::tryAGI.OpenAI.Realtime.MCPToolType type, string? serverUrl, global::tryAGI.OpenAI.Realtime.MCPToolConnectorId? connectorId, + string? tunnelId, string? authorization, string? serverDescription, global::System.Collections.Generic.Dictionary? headers, @@ -152,6 +164,7 @@ public MCPTool( this.ServerLabel = serverLabel ?? throw new global::System.ArgumentNullException(nameof(serverLabel)); this.ServerUrl = serverUrl; this.ConnectorId = connectorId; + this.TunnelId = tunnelId; this.Authorization = authorization; this.ServerDescription = serverDescription; this.Headers = headers; diff --git a/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Realtime.Models.MCPToolConnectorId.g.cs b/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Realtime.Models.MCPToolConnectorId.g.cs index ef28180db..101f40634 100644 --- a/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Realtime.Models.MCPToolConnectorId.g.cs +++ b/src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Realtime.Models.MCPToolConnectorId.g.cs @@ -5,8 +5,8 @@ namespace tryAGI.OpenAI.Realtime { /// /// Identifier for service connectors, like those available in ChatGPT. One of
- /// `server_url` or `connector_id` must be provided. Learn more about service
- /// connectors [here](/docs/guides/tools-remote-mcp#connectors).
+ /// `server_url`, `connector_id`, or `tunnel_id` must be provided. Learn more
+ /// about service connectors [here](/docs/guides/tools-remote-mcp#connectors).
/// Currently supported `connector_id` values are:
/// - Dropbox: `connector_dropbox`
/// - Gmail: `connector_gmail`
diff --git a/src/libs/tryAGI.OpenAI/asyncapi.json b/src/libs/tryAGI.OpenAI/asyncapi.json index 9313bc404..8e83f0eaf 100644 --- a/src/libs/tryAGI.OpenAI/asyncapi.json +++ b/src/libs/tryAGI.OpenAI/asyncapi.json @@ -1592,7 +1592,7 @@ "server_url": { "type": "string", "format": "uri", - "description": "The URL for the MCP server. One of `server_url` or `connector_id` must be\nprovided.\n" + "description": "The URL for the MCP server. One of `server_url`, `connector_id`, or\n`tunnel_id` must be provided.\n" }, "connector_id": { "type": "string", @@ -1606,7 +1606,12 @@ "connector_outlookemail", "connector_sharepoint" ], - "description": "Identifier for service connectors, like those available in ChatGPT. One of\n`server_url` or `connector_id` must be provided. Learn more about service\nconnectors [here](/docs/guides/tools-remote-mcp#connectors).\n\nCurrently supported `connector_id` values are:\n\n- Dropbox: `connector_dropbox`\n- Gmail: `connector_gmail`\n- Google Calendar: `connector_googlecalendar`\n- Google Drive: `connector_googledrive`\n- Microsoft Teams: `connector_microsoftteams`\n- Outlook Calendar: `connector_outlookcalendar`\n- Outlook Email: `connector_outlookemail`\n- SharePoint: `connector_sharepoint`\n" + "description": "Identifier for service connectors, like those available in ChatGPT. One of\n`server_url`, `connector_id`, or `tunnel_id` must be provided. Learn more\nabout service connectors [here](/docs/guides/tools-remote-mcp#connectors).\n\nCurrently supported `connector_id` values are:\n\n- Dropbox: `connector_dropbox`\n- Gmail: `connector_gmail`\n- Google Calendar: `connector_googlecalendar`\n- Google Drive: `connector_googledrive`\n- Microsoft Teams: `connector_microsoftteams`\n- Outlook Calendar: `connector_outlookcalendar`\n- Outlook Email: `connector_outlookemail`\n- SharePoint: `connector_sharepoint`\n" + }, + "tunnel_id": { + "type": "string", + "pattern": "^tunnel_[a-z0-9]{32}$", + "description": "The Secure MCP Tunnel ID to use instead of a direct server URL. One of\n`server_url`, `connector_id`, or `tunnel_id` must be provided.\n" }, "authorization": { "type": "string", diff --git a/src/libs/tryAGI.OpenAI/openapi.yaml b/src/libs/tryAGI.OpenAI/openapi.yaml index 131a3b551..7955810f1 100644 --- a/src/libs/tryAGI.OpenAI/openapi.yaml +++ b/src/libs/tryAGI.OpenAI/openapi.yaml @@ -57377,11 +57377,9 @@ components: server_url: type: string format: uri - description: > - The URL for the MCP server. One of `server_url` or `connector_id` - must be - - provided. + description: | + The URL for the MCP server. One of `server_url`, `connector_id`, or + `tunnel_id` must be provided. connector_id: type: string enum: @@ -57397,10 +57395,11 @@ components: Identifier for service connectors, like those available in ChatGPT. One of - `server_url` or `connector_id` must be provided. Learn more about - service + `server_url`, `connector_id`, or `tunnel_id` must be provided. Learn + more - connectors [here](/docs/guides/tools-remote-mcp#connectors). + about service connectors + [here](/docs/guides/tools-remote-mcp#connectors). Currently supported `connector_id` values are: @@ -57421,6 +57420,14 @@ components: - Outlook Email: `connector_outlookemail` - SharePoint: `connector_sharepoint` + tunnel_id: + type: string + pattern: ^tunnel_[a-z0-9]{32}$ + description: > + The Secure MCP Tunnel ID to use instead of a direct server URL. One + of + + `server_url`, `connector_id`, or `tunnel_id` must be provided. authorization: type: string description: > @@ -83779,6 +83786,10 @@ components: Optional reference asset upload or reference object that guides generation. - $ref: '#/components/schemas/ImageRefParam-2' + description: >- + Optional reference asset upload or reference object that guides + generation. Provide exactly one of `image_url` or `file_id` when + using an object. seconds: $ref: '#/components/schemas/VideoSeconds' description: >- @@ -83882,6 +83893,7 @@ components: format: binary description: Reference to the completed video to edit. - $ref: '#/components/schemas/VideoReferenceInputParam' + description: Reference to the completed video to edit. prompt: type: string maxLength: 32000 @@ -83914,6 +83926,7 @@ components: video: oneOf: - $ref: '#/components/schemas/VideoReferenceInputParam' + description: Reference to the completed video to extend. - type: string format: binary description: Reference to the completed video to extend.