diff --git a/packages/http-client-csharp/emitter/test/Unit/model-type.test.ts b/packages/http-client-csharp/emitter/test/Unit/model-type.test.ts index 204ecbfec07..aabea64a2e2 100644 --- a/packages/http-client-csharp/emitter/test/Unit/model-type.test.ts +++ b/packages/http-client-csharp/emitter/test/Unit/model-type.test.ts @@ -1566,5 +1566,11 @@ describe("Test isFileType propagation", () => { strictEqual(bodyType.kind, "model"); strictEqual(bodyType.crossLanguageDefinitionId, "TypeSpec.Http.File"); strictEqual(bodyType.isFileType, true); + + const contentTypeParam = method.operation.parameters.find((p) => p.name === "contentType"); + ok(contentTypeParam); + strictEqual(contentTypeParam.type.kind, "string"); + strictEqual(contentTypeParam.optional, true); + strictEqual(contentTypeParam.defaultValue?.value, "application/octet-stream"); }); }); diff --git a/packages/http-client-csharp/eng/scripts/Generation.psm1 b/packages/http-client-csharp/eng/scripts/Generation.psm1 index 35291b6fcaf..1c0fc2f2063 100644 --- a/packages/http-client-csharp/eng/scripts/Generation.psm1 +++ b/packages/http-client-csharp/eng/scripts/Generation.psm1 @@ -35,6 +35,10 @@ function Get-TspCommand { ) $emitterDir = Resolve-Path (Join-Path $PSScriptRoot '..' '..') $command = "npx tsp compile $specFile" + $customizationFile = Join-Path $generationDir "client.tsp" + if (Test-Path $customizationFile) { + $command += " --import $customizationFile" + } $command += " --trace @typespec/http-client-csharp" $command += " --emit $emitterDir" $configFile = Join-Path $generationDir "tspconfig.yaml" diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/Properties/launchSettings.json b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/Properties/launchSettings.json index 9427460fad8..1bcac457815 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/Properties/launchSettings.json +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/src/Properties/launchSettings.json @@ -160,6 +160,11 @@ "commandName": "Executable", "executablePath": "$(SolutionDir)/../dist/generator/Microsoft.TypeSpec.Generator.exe" }, + "http-response-body-or-no-content": { + "commandLineArgs": "$(SolutionDir)/TestProjects/Spector/http/response/body-or-no-content -g StubLibraryGenerator", + "commandName": "Executable", + "executablePath": "$(SolutionDir)/../dist/generator/Microsoft.TypeSpec.Generator.exe" + }, "http-response-status-code-range": { "commandLineArgs": "$(SolutionDir)/TestProjects/Spector/http/response/status-code-range -g StubLibraryGenerator", "commandName": "Executable", diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/Configuration.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/Configuration.json new file mode 100644 index 00000000000..d31d8ac85ec --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/Configuration.json @@ -0,0 +1,3 @@ +{ + "package-name": "Response.BodyOrNoContent" +} diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/Response.BodyOrNoContent.NuGet.targets b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/Response.BodyOrNoContent.NuGet.targets new file mode 100644 index 00000000000..9df53f09f6f --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/Response.BodyOrNoContent.NuGet.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/Response.BodyOrNoContent.slnx b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/Response.BodyOrNoContent.slnx new file mode 100644 index 00000000000..382b2c55d6f --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/Response.BodyOrNoContent.slnx @@ -0,0 +1,3 @@ + + + diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/BodyOrNoContentClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/BodyOrNoContentClient.cs new file mode 100644 index 00000000000..7e06136ebe6 --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/BodyOrNoContentClient.cs @@ -0,0 +1,43 @@ +// + +#nullable disable + +using System; +using System.ClientModel; +using System.ClientModel.Primitives; +using System.Diagnostics.CodeAnalysis; +using System.Threading; +using System.Threading.Tasks; + +namespace Response.BodyOrNoContent +{ + public partial class BodyOrNoContentClient + { + public BodyOrNoContentClient() : this(new Uri("http://localhost:3000"), new BodyOrNoContentClientOptions()) => throw null; + + internal BodyOrNoContentClient(AuthenticationPolicy authenticationPolicy, Uri endpoint, BodyOrNoContentClientOptions options) => throw null; + + public BodyOrNoContentClient(Uri endpoint, BodyOrNoContentClientOptions options) : this(null, endpoint, options) => throw null; + + [Experimental("SCME0002")] + public BodyOrNoContentClient(BodyOrNoContentClientSettings settings) : this(AuthenticationPolicy.Create(settings), settings?.Endpoint, settings?.Options) => throw null; + + public ClientPipeline Pipeline => throw null; + + public virtual ClientResult GetBody(RequestOptions options) => throw null; + + public virtual Task GetBodyAsync(RequestOptions options) => throw null; + + public virtual ClientResult GetBody(CancellationToken cancellationToken = default) => throw null; + + public virtual Task> GetBodyAsync(CancellationToken cancellationToken = default) => throw null; + + public virtual ClientResult GetNoContent(RequestOptions options) => throw null; + + public virtual Task GetNoContentAsync(RequestOptions options) => throw null; + + public virtual ClientResult GetNoContent(CancellationToken cancellationToken = default) => throw null; + + public virtual Task> GetNoContentAsync(CancellationToken cancellationToken = default) => throw null; + } +} diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/BodyOrNoContentClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/BodyOrNoContentClientOptions.cs new file mode 100644 index 00000000000..29d31ba6a55 --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/BodyOrNoContentClientOptions.cs @@ -0,0 +1,18 @@ +// + +#nullable disable + +using System.ClientModel.Primitives; +using System.Diagnostics.CodeAnalysis; +using Microsoft.Extensions.Configuration; + +namespace Response.BodyOrNoContent +{ + public partial class BodyOrNoContentClientOptions : ClientPipelineOptions + { + public BodyOrNoContentClientOptions() => throw null; + + [Experimental("SCME0002")] + internal BodyOrNoContentClientOptions(IConfigurationSection section) : base(section) => throw null; + } +} diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/BodyOrNoContentClientSettings.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/BodyOrNoContentClientSettings.cs new file mode 100644 index 00000000000..c05c2fa5f98 --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/BodyOrNoContentClientSettings.cs @@ -0,0 +1,29 @@ +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Diagnostics.CodeAnalysis; +using Microsoft.Extensions.Configuration; + +namespace Response.BodyOrNoContent +{ + [Experimental("SCME0002")] + public partial class BodyOrNoContentClientSettings : ClientSettings + { + public Uri Endpoint + { + get => throw null; + set => throw null; + } + + public BodyOrNoContentClientOptions Options + { + get => throw null; + set => throw null; + } + + protected override void BindCore(IConfigurationSection section) => throw null; + } +} diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/Models/BlobLayout.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/Models/BlobLayout.Serialization.cs new file mode 100644 index 00000000000..80fbdd3c5de --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/Models/BlobLayout.Serialization.cs @@ -0,0 +1,36 @@ +// + +#nullable disable + +using System; +using System.ClientModel; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace Response.BodyOrNoContent +{ + public partial class BlobLayout : IJsonModel + { + internal BlobLayout() => throw null; + + protected virtual BlobLayout PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options) => throw null; + + protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options) => throw null; + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => throw null; + + BlobLayout IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => throw null; + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => throw null; + + public static explicit operator BlobLayout(ClientResult result) => throw null; + + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => throw null; + + protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options) => throw null; + + BlobLayout IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => throw null; + + protected virtual BlobLayout JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => throw null; + } +} diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/Models/BlobLayout.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/Models/BlobLayout.cs new file mode 100644 index 00000000000..3393c6ec295 --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/Models/BlobLayout.cs @@ -0,0 +1,11 @@ +// + +#nullable disable + +namespace Response.BodyOrNoContent +{ + public partial class BlobLayout + { + public string Content => throw null; + } +} diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/Models/ResponseBodyOrNoContentContext.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/Models/ResponseBodyOrNoContentContext.cs new file mode 100644 index 00000000000..35e55d83662 --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/Models/ResponseBodyOrNoContentContext.cs @@ -0,0 +1,13 @@ +// + +#nullable disable + +using System.ClientModel.Primitives; + +namespace Response.BodyOrNoContent +{ + [ModelReaderWriterBuildable(typeof(BlobLayout))] + public partial class ResponseBodyOrNoContentContext : ModelReaderWriterContext + { + } +} diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/ResponseBodyOrNoContentModelFactory.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/ResponseBodyOrNoContentModelFactory.cs new file mode 100644 index 00000000000..7ac0d608a85 --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/ResponseBodyOrNoContentModelFactory.cs @@ -0,0 +1,11 @@ +// + +#nullable disable + +namespace Response.BodyOrNoContent +{ + public static partial class ResponseBodyOrNoContentModelFactory + { + public static BlobLayout BlobLayout(string content = default) => throw null; + } +} diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/schema/ConfigurationSchema.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/schema/ConfigurationSchema.json new file mode 100644 index 00000000000..580d55fad54 --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Generated/schema/ConfigurationSchema.json @@ -0,0 +1,40 @@ +{ + "type": "object", + "properties": { + "Clients": { + "type": "object", + "properties": { + "BodyOrNoContentClient": { + "type": "object", + "description": "Configuration for BodyOrNoContentClient.", + "properties": { + "Endpoint": { + "type": "string", + "format": "uri", + "description": "Gets or sets the Endpoint." + }, + "Credential": { + "$ref": "#/definitions/credential" + }, + "Options": { + "$ref": "#/definitions/bodyOrNoContentClientOptions" + } + } + } + }, + "additionalProperties": { + "type": "object", + "description": "Configuration for a named client instance." + } + } + }, + "definitions": { + "bodyOrNoContentClientOptions": { + "allOf": [ + { + "$ref": "#/definitions/options" + } + ] + } + } +} diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Response.BodyOrNoContent.csproj b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Response.BodyOrNoContent.csproj new file mode 100644 index 00000000000..a9176222465 --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/src/Response.BodyOrNoContent.csproj @@ -0,0 +1,20 @@ + + + This is the Response.BodyOrNoContent client library for developing .NET applications with rich experience. + SDK Code Generation Response.BodyOrNoContent + 1.0.0-beta.1 + Response.BodyOrNoContent + netstandard2.0;net8.0 + latest + true + + + + + + + + + + + diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/tspCodeModel.json new file mode 100644 index 00000000000..4fd2882cc98 --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/body-or-no-content/tspCodeModel.json @@ -0,0 +1,396 @@ +{ + "name": "Response.BodyOrNoContent", + "apiVersions": [], + "enums": [], + "constants": [ + { + "$id": "1", + "kind": "constant", + "name": "GetBodyAccept", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "2", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [], + "isExactName": false + }, + { + "$id": "3", + "kind": "constant", + "name": "GetBodyAccept1", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "4", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "application/json", + "decorators": [], + "isExactName": false + } + ], + "models": [ + { + "$id": "5", + "kind": "model", + "name": "BlobLayout", + "apiVersions": [], + "namespace": "Response.BodyOrNoContent", + "crossLanguageDefinitionId": "Response.BodyOrNoContent.BlobLayout", + "usage": "Output,Json", + "decorators": [], + "serializationOptions": { + "json": { + "name": "BlobLayout" + } + }, + "isExactName": false, + "properties": [ + { + "$id": "6", + "kind": "property", + "name": "content", + "apiVersions": [], + "serializedName": "content", + "type": { + "$id": "7", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "optional": false, + "readOnly": false, + "discriminator": false, + "flatten": false, + "decorators": [], + "crossLanguageDefinitionId": "Response.BodyOrNoContent.BlobLayout.content", + "serializationOptions": { + "json": { + "name": "content" + } + }, + "isHttpMetadata": false, + "isExactName": false + } + ] + } + ], + "clients": [ + { + "$id": "8", + "kind": "client", + "name": "BodyOrNoContentClient", + "isExactName": false, + "namespace": "Response.BodyOrNoContent", + "doc": "Test for operations whose successful response is either a model body (200) or no content (204).", + "methods": [ + { + "$id": "9", + "kind": "basic", + "name": "getBody", + "isExactName": false, + "accessibility": "public", + "apiVersions": [], + "operation": { + "$id": "10", + "name": "getBody", + "isExactName": false, + "resourceName": "BodyOrNoContent", + "accessibility": "public", + "parameters": [ + { + "$id": "11", + "kind": "header", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "1" + }, + "isApiVersion": false, + "optional": false, + "isContentType": false, + "scope": "Constant", + "readOnly": false, + "decorators": [], + "crossLanguageDefinitionId": "Response.BodyOrNoContent.getBody.accept", + "methodParameterSegments": [ + { + "$id": "12", + "kind": "method", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "1" + }, + "location": "Header", + "isApiVersion": false, + "optional": false, + "scope": "Constant", + "crossLanguageDefinitionId": "Response.BodyOrNoContent.getBody.accept", + "readOnly": false, + "access": "public", + "decorators": [], + "isExactName": false + } + ], + "isExactName": false + } + ], + "responses": [ + { + "statusCodes": [ + 200 + ], + "bodyType": { + "$ref": "5" + }, + "headers": [ + { + "name": "requestId", + "nameInResponse": "x-ms-request-id", + "type": { + "$id": "13", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + } + } + ], + "isErrorResponse": false, + "contentTypes": [ + "application/json" + ], + "serializationOptions": { + "json": { + "name": "" + } + } + }, + { + "statusCodes": [ + 204 + ], + "headers": [ + { + "name": "requestId", + "nameInResponse": "x-ms-request-id", + "type": { + "$id": "14", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + } + } + ], + "isErrorResponse": false, + "serializationOptions": {} + } + ], + "httpMethod": "GET", + "uri": "{endpoint}", + "path": "/response/body-or-no-content/body", + "bufferResponse": true, + "generateProtocolMethod": true, + "generateConvenienceMethod": true, + "crossLanguageDefinitionId": "Response.BodyOrNoContent.getBody", + "decorators": [], + "namespace": "Response.BodyOrNoContent" + }, + "parameters": [ + { + "$ref": "12" + } + ], + "response": { + "type": { + "$ref": "5" + } + }, + "isOverride": false, + "generateConvenient": true, + "generateProtocol": true, + "crossLanguageDefinitionId": "Response.BodyOrNoContent.getBody" + }, + { + "$id": "15", + "kind": "basic", + "name": "getNoContent", + "isExactName": false, + "accessibility": "public", + "apiVersions": [], + "operation": { + "$id": "16", + "name": "getNoContent", + "isExactName": false, + "resourceName": "BodyOrNoContent", + "accessibility": "public", + "parameters": [ + { + "$id": "17", + "kind": "header", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "3" + }, + "isApiVersion": false, + "optional": false, + "isContentType": false, + "scope": "Constant", + "readOnly": false, + "decorators": [], + "crossLanguageDefinitionId": "Response.BodyOrNoContent.getNoContent.accept", + "methodParameterSegments": [ + { + "$id": "18", + "kind": "method", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "3" + }, + "location": "Header", + "isApiVersion": false, + "optional": false, + "scope": "Constant", + "crossLanguageDefinitionId": "Response.BodyOrNoContent.getNoContent.accept", + "readOnly": false, + "access": "public", + "decorators": [], + "isExactName": false + } + ], + "isExactName": false + } + ], + "responses": [ + { + "statusCodes": [ + 200 + ], + "bodyType": { + "$ref": "5" + }, + "headers": [ + { + "name": "requestId", + "nameInResponse": "x-ms-request-id", + "type": { + "$id": "19", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + } + } + ], + "isErrorResponse": false, + "contentTypes": [ + "application/json" + ], + "serializationOptions": { + "json": { + "name": "" + } + } + }, + { + "statusCodes": [ + 204 + ], + "headers": [ + { + "name": "requestId", + "nameInResponse": "x-ms-request-id", + "type": { + "$id": "20", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + } + } + ], + "isErrorResponse": false, + "serializationOptions": {} + } + ], + "httpMethod": "GET", + "uri": "{endpoint}", + "path": "/response/body-or-no-content/no-content", + "bufferResponse": true, + "generateProtocolMethod": true, + "generateConvenienceMethod": true, + "crossLanguageDefinitionId": "Response.BodyOrNoContent.getNoContent", + "decorators": [], + "namespace": "Response.BodyOrNoContent" + }, + "parameters": [ + { + "$ref": "18" + } + ], + "response": { + "type": { + "$ref": "5" + } + }, + "isOverride": false, + "generateConvenient": true, + "generateProtocol": true, + "crossLanguageDefinitionId": "Response.BodyOrNoContent.getNoContent" + } + ], + "parameters": [ + { + "$id": "21", + "kind": "endpoint", + "name": "endpoint", + "serializedName": "endpoint", + "doc": "Service host", + "type": { + "$id": "22", + "kind": "url", + "name": "endpoint", + "crossLanguageDefinitionId": "TypeSpec.url" + }, + "isApiVersion": false, + "optional": false, + "scope": "Client", + "isEndpoint": true, + "defaultValue": { + "type": { + "$id": "23", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string" + }, + "value": "http://localhost:3000" + }, + "serverUrlTemplate": "{endpoint}", + "skipUrlEncoding": false, + "readOnly": false, + "crossLanguageDefinitionId": "Response.BodyOrNoContent.endpoint", + "isExactName": false + } + ], + "initializedBy": 1, + "decorators": [], + "crossLanguageDefinitionId": "Response.BodyOrNoContent", + "apiVersions": [], + "isMultiServiceClient": false + } + ] +} diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/client.tsp b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/client.tsp new file mode 100644 index 00000000000..33a8a424b8a --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/client.tsp @@ -0,0 +1,3 @@ +import "@azure-tools/typespec-client-generator-core"; + +@@Azure.ClientGenerator.Core.clientName(Streaming.Sse.Protocol.Info, "ProtocolInfo", "csharp"); diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/Models/ProtocolInfo.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/Models/ProtocolInfo.Serialization.cs new file mode 100644 index 00000000000..b6cff986cdb --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/Models/ProtocolInfo.Serialization.cs @@ -0,0 +1,33 @@ +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace Streaming.Sse._Protocol +{ + public partial class ProtocolInfo : IJsonModel + { + internal ProtocolInfo() => throw null; + + protected virtual ProtocolInfo PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options) => throw null; + + protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options) => throw null; + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => throw null; + + ProtocolInfo IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => throw null; + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => throw null; + + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => throw null; + + protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options) => throw null; + + ProtocolInfo IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => throw null; + + protected virtual ProtocolInfo JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => throw null; + } +} diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/Models/ProtocolInfo.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/Models/ProtocolInfo.cs new file mode 100644 index 00000000000..1612588a909 --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/Models/ProtocolInfo.cs @@ -0,0 +1,11 @@ +// + +#nullable disable + +namespace Streaming.Sse._Protocol +{ + public partial class ProtocolInfo + { + public string Message => throw null; + } +} diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/Models/StreamingSseContext.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/Models/StreamingSseContext.cs index 9f2a25d8a49..818a6b5e81d 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/Models/StreamingSseContext.cs +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/Models/StreamingSseContext.cs @@ -3,12 +3,14 @@ #nullable disable using System.ClientModel.Primitives; +using Streaming.Sse._Protocol; using Streaming.Sse._Retrieve; using Streaming.Sse._Unnamed; namespace Streaming.Sse { [ModelReaderWriterBuildable(typeof(Info))] + [ModelReaderWriterBuildable(typeof(ProtocolInfo))] [ModelReaderWriterBuildable(typeof(RetrievalRequest))] public partial class StreamingSseContext : ModelReaderWriterContext { diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/Protocol.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/Protocol.cs new file mode 100644 index 00000000000..e2a0b6cacbb --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/Protocol.cs @@ -0,0 +1,65 @@ +// + +#nullable disable + +using System; +using System.ClientModel; +using System.ClientModel.Primitives; +using System.Net.ServerSentEvents; +using System.Threading; +using System.Threading.Tasks; +using Streaming.Sse._Protocol.Data; + +namespace Streaming.Sse._Protocol +{ + public partial class Protocol + { + protected Protocol() => throw null; + + internal Protocol(ClientPipeline pipeline, Uri endpoint) => throw null; + + public ClientPipeline Pipeline => throw null; + +#pragma warning disable SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + public virtual Task>> IdAsync(RequestOptions options) => throw null; +#pragma warning restore SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + +#pragma warning disable SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + public virtual Task>> IdAsync(CancellationToken cancellationToken = default) => throw null; +#pragma warning restore SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + +#pragma warning disable SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + public virtual Task>> InvalidIdAsync(RequestOptions options) => throw null; +#pragma warning restore SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + +#pragma warning disable SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + public virtual Task>> InvalidIdAsync(CancellationToken cancellationToken = default) => throw null; +#pragma warning restore SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + +#pragma warning disable SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + public virtual Task>> RetryAsync(RequestOptions options) => throw null; +#pragma warning restore SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + +#pragma warning disable SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + public virtual Task>> RetryAsync(CancellationToken cancellationToken = default) => throw null; +#pragma warning restore SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + +#pragma warning disable SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + public virtual Task>> InvalidRetryAsync(RequestOptions options) => throw null; +#pragma warning restore SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + +#pragma warning disable SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + public virtual Task>> InvalidRetryAsync(CancellationToken cancellationToken = default) => throw null; +#pragma warning restore SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + +#pragma warning disable SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + public virtual Task>> ReconnectAsync(RequestOptions options) => throw null; +#pragma warning restore SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + +#pragma warning disable SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + public virtual Task>> ReconnectAsync(CancellationToken cancellationToken = default) => throw null; +#pragma warning restore SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + + public virtual ProtocolData GetProtocolDataClient() => throw null; + } +} diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/ProtocolData.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/ProtocolData.cs new file mode 100644 index 00000000000..711f9b89e36 --- /dev/null +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/ProtocolData.cs @@ -0,0 +1,38 @@ +// + +#nullable disable + +using System; +using System.ClientModel; +using System.ClientModel.Primitives; +using System.Net.ServerSentEvents; +using System.Threading; +using System.Threading.Tasks; + +namespace Streaming.Sse._Protocol.Data +{ + public partial class ProtocolData + { + protected ProtocolData() => throw null; + + internal ProtocolData(ClientPipeline pipeline, Uri endpoint) => throw null; + + public ClientPipeline Pipeline => throw null; + +#pragma warning disable SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + public virtual Task>> WithEnvelopeAsync(RequestOptions options) => throw null; +#pragma warning restore SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + +#pragma warning disable SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + public virtual Task>> WithEnvelopeAsync(CancellationToken cancellationToken = default) => throw null; +#pragma warning restore SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + +#pragma warning disable SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + public virtual Task>> WithoutEnvelopeAsync(RequestOptions options) => throw null; +#pragma warning restore SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + +#pragma warning disable SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + public virtual Task>> WithoutEnvelopeAsync(CancellationToken cancellationToken = default) => throw null; +#pragma warning restore SCME0005 // Type is for evaluation purposes only and is subject to change or removal in future updates. + } +} diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/SseClient.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/SseClient.cs index ad7867309e0..f711396d936 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/SseClient.cs +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/SseClient.cs @@ -6,6 +6,7 @@ using System.ClientModel.Primitives; using System.Diagnostics.CodeAnalysis; using Streaming.Sse._Named; +using Streaming.Sse._Protocol; using Streaming.Sse._Retrieve; using Streaming.Sse._Unnamed; @@ -29,5 +30,7 @@ public partial class SseClient public virtual Named GetNamedClient() => throw null; public virtual Retrieve GetRetrieveClient() => throw null; + + public virtual Protocol GetProtocolClient() => throw null; } } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/StreamingSseModelFactory.cs b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/StreamingSseModelFactory.cs index 323ddf4742d..9b9c241cd33 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/StreamingSseModelFactory.cs +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/src/Generated/StreamingSseModelFactory.cs @@ -2,6 +2,7 @@ #nullable disable +using Streaming.Sse._Protocol; using Streaming.Sse._Retrieve; using Streaming.Sse._Unnamed; @@ -12,5 +13,7 @@ public static partial class StreamingSseModelFactory public static Info Info(string desc = default) => throw null; public static RetrievalRequest RetrievalRequest(string query = default) => throw null; + + public static ProtocolInfo ProtocolInfo(string message = default) => throw null; } } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/tspCodeModel.json index 3ad7984785f..91266b50940 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/streaming/sse/tspCodeModel.json @@ -155,11 +155,249 @@ "value": "text/event-stream", "decorators": [], "isExactName": false + }, + { + "$id": "19", + "kind": "constant", + "name": "ReceiveResponseContentType6", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "20", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "text/event-stream", + "decorators": [], + "isExactName": false + }, + { + "$id": "21", + "kind": "constant", + "name": "ReceiveResponseContentType7", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "22", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "text/event-stream", + "decorators": [], + "isExactName": false + }, + { + "$id": "23", + "kind": "constant", + "name": "ReceiveResponseContentType8", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "24", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "text/event-stream", + "decorators": [], + "isExactName": false + }, + { + "$id": "25", + "kind": "constant", + "name": "ReceiveResponseContentType9", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "26", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "text/event-stream", + "decorators": [], + "isExactName": false + }, + { + "$id": "27", + "kind": "constant", + "name": "ReceiveResponseContentType10", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "28", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "text/event-stream", + "decorators": [], + "isExactName": false + }, + { + "$id": "29", + "kind": "constant", + "name": "ReceiveResponseContentType11", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "30", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "text/event-stream", + "decorators": [], + "isExactName": false + }, + { + "$id": "31", + "kind": "constant", + "name": "ReceiveResponseContentType12", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "32", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "text/event-stream", + "decorators": [], + "isExactName": false + }, + { + "$id": "33", + "kind": "constant", + "name": "ReceiveResponseContentType13", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "34", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "text/event-stream", + "decorators": [], + "isExactName": false + }, + { + "$id": "35", + "kind": "constant", + "name": "ReceiveResponseContentType14", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "36", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "text/event-stream", + "decorators": [], + "isExactName": false + }, + { + "$id": "37", + "kind": "constant", + "name": "ReceiveResponseContentType15", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "38", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "text/event-stream", + "decorators": [], + "isExactName": false + }, + { + "$id": "39", + "kind": "constant", + "name": "ReceiveResponseContentType16", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "40", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "text/event-stream", + "decorators": [], + "isExactName": false + }, + { + "$id": "41", + "kind": "constant", + "name": "ReceiveResponseContentType17", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "42", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "text/event-stream", + "decorators": [], + "isExactName": false + }, + { + "$id": "43", + "kind": "constant", + "name": "ReceiveResponseContentType18", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "44", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "text/event-stream", + "decorators": [], + "isExactName": false + }, + { + "$id": "45", + "kind": "constant", + "name": "ReceiveResponseContentType19", + "namespace": "", + "usage": "None", + "valueType": { + "$id": "46", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "value": "text/event-stream", + "decorators": [], + "isExactName": false } ], "models": [ { - "$id": "19", + "$id": "47", "kind": "model", "name": "Info", "apiVersions": [], @@ -175,13 +413,13 @@ "isExactName": false, "properties": [ { - "$id": "20", + "$id": "48", "kind": "property", "name": "desc", "apiVersions": [], "serializedName": "desc", "type": { - "$id": "21", + "$id": "49", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -204,7 +442,7 @@ ] }, { - "$id": "22", + "$id": "50", "kind": "model", "name": "ResponseCreated", "apiVersions": [], @@ -220,13 +458,13 @@ "isExactName": false, "properties": [ { - "$id": "23", + "$id": "51", "kind": "property", "name": "id", "apiVersions": [], "serializedName": "id", "type": { - "$id": "24", + "$id": "52", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -249,7 +487,7 @@ ] }, { - "$id": "25", + "$id": "53", "kind": "model", "name": "ResponseDelta", "apiVersions": [], @@ -265,13 +503,13 @@ "isExactName": false, "properties": [ { - "$id": "26", + "$id": "54", "kind": "property", "name": "delta", "apiVersions": [], "serializedName": "delta", "type": { - "$id": "27", + "$id": "55", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -294,7 +532,7 @@ ] }, { - "$id": "28", + "$id": "56", "kind": "model", "name": "RetrievalRequest", "apiVersions": [], @@ -310,13 +548,13 @@ "isExactName": false, "properties": [ { - "$id": "29", + "$id": "57", "kind": "property", "name": "query", "apiVersions": [], "serializedName": "query", "type": { - "$id": "30", + "$id": "58", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -339,7 +577,7 @@ ] }, { - "$id": "31", + "$id": "59", "kind": "model", "name": "PartialResult", "apiVersions": [], @@ -355,13 +593,13 @@ "isExactName": false, "properties": [ { - "$id": "32", + "$id": "60", "kind": "property", "name": "text", "apiVersions": [], "serializedName": "text", "type": { - "$id": "33", + "$id": "61", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -384,7 +622,7 @@ ] }, { - "$id": "34", + "$id": "62", "kind": "model", "name": "FinalResult", "apiVersions": [], @@ -400,17 +638,17 @@ "isExactName": false, "properties": [ { - "$id": "35", + "$id": "63", "kind": "property", "name": "references", "apiVersions": [], "serializedName": "references", "type": { - "$id": "36", + "$id": "64", "kind": "array", "name": "Array", "valueType": { - "$id": "37", + "$id": "65", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string", @@ -434,78 +672,252 @@ "isExactName": false } ] - } - ], - "clients": [ + }, { - "$id": "38", - "kind": "client", - "name": "SseClient", + "$id": "66", + "kind": "model", + "name": "ProtocolInfo", + "apiVersions": [], + "namespace": "Streaming.Sse.Protocol", + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Info", + "usage": "Output,Json", + "decorators": [], + "serializationOptions": { + "json": { + "name": "Info" + } + }, "isExactName": false, - "namespace": "Streaming.Sse", - "doc": "Test of server-sent events (SSE) streaming.", - "methods": [], - "parameters": [ + "properties": [ { - "$id": "39", - "kind": "endpoint", - "name": "endpoint", - "serializedName": "endpoint", - "doc": "Service host", + "$id": "67", + "kind": "property", + "name": "message", + "apiVersions": [], + "serializedName": "message", "type": { - "$id": "40", - "kind": "url", - "name": "endpoint", - "crossLanguageDefinitionId": "TypeSpec.url" + "$id": "68", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] }, - "isApiVersion": false, "optional": false, - "scope": "Client", - "isEndpoint": true, - "defaultValue": { - "type": { - "$id": "41", - "kind": "string", - "name": "string", - "crossLanguageDefinitionId": "TypeSpec.string" - }, - "value": "http://localhost:3000" - }, - "serverUrlTemplate": "{endpoint}", - "skipUrlEncoding": false, "readOnly": false, - "crossLanguageDefinitionId": "Streaming.Sse.endpoint", - "isExactName": false - } - ], - "initializedBy": 1, - "decorators": [], - "crossLanguageDefinitionId": "Streaming.Sse", + "discriminator": false, + "flatten": false, + "decorators": [], + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Info.message", + "serializationOptions": { + "json": { + "name": "message" + } + }, + "isHttpMetadata": false, + "isExactName": false + } + ] + }, + { + "$id": "69", + "kind": "model", + "name": "WithEnvelope", + "apiVersions": [], + "namespace": "Streaming.Sse.Protocol.Data", + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data.withEnvelope.anonymous", + "usage": "Output,Json", + "decorators": [], + "serializationOptions": { + "json": { + "name": "" + } + }, + "isExactName": false, + "properties": [ + { + "$id": "70", + "kind": "property", + "name": "contents", + "apiVersions": [], + "serializedName": "contents", + "type": { + "$id": "71", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "optional": false, + "readOnly": false, + "discriminator": false, + "flatten": false, + "decorators": [], + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data.withEnvelope.anonymous.contents", + "serializationOptions": { + "json": { + "name": "contents" + } + }, + "isHttpMetadata": false, + "isExactName": false + } + ] + }, + { + "$id": "72", + "kind": "model", + "name": "WithEnvelope1", + "apiVersions": [], + "namespace": "Streaming.Sse.Protocol.Data", + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data.withEnvelope.anonymous", + "usage": "Output,Json", + "decorators": [], + "serializationOptions": { + "json": { + "name": "" + } + }, + "isExactName": false, + "properties": [ + { + "$id": "73", + "kind": "property", + "name": "metadata", + "apiVersions": [], + "serializedName": "metadata", + "type": { + "$id": "74", + "kind": "dict", + "keyType": { + "$id": "75", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "valueType": { + "$id": "76", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "decorators": [] + }, + "optional": false, + "readOnly": false, + "discriminator": false, + "flatten": false, + "decorators": [], + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data.withEnvelope.anonymous.metadata", + "serializationOptions": { + "json": { + "name": "metadata" + } + }, + "isHttpMetadata": false, + "isExactName": false + }, + { + "$id": "77", + "kind": "property", + "name": "contents", + "apiVersions": [], + "serializedName": "contents", + "type": { + "$id": "78", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string", + "decorators": [] + }, + "optional": false, + "readOnly": false, + "discriminator": false, + "flatten": false, + "decorators": [], + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data.withEnvelope.anonymous.contents", + "serializationOptions": { + "json": { + "name": "contents" + } + }, + "isHttpMetadata": false, + "isExactName": false + } + ] + } + ], + "clients": [ + { + "$id": "79", + "kind": "client", + "name": "SseClient", + "isExactName": false, + "namespace": "Streaming.Sse", + "doc": "Test of server-sent events (SSE) streaming.", + "methods": [], + "parameters": [ + { + "$id": "80", + "kind": "endpoint", + "name": "endpoint", + "serializedName": "endpoint", + "doc": "Service host", + "type": { + "$id": "81", + "kind": "url", + "name": "endpoint", + "crossLanguageDefinitionId": "TypeSpec.url" + }, + "isApiVersion": false, + "optional": false, + "scope": "Client", + "isEndpoint": true, + "defaultValue": { + "type": { + "$id": "82", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string" + }, + "value": "http://localhost:3000" + }, + "serverUrlTemplate": "{endpoint}", + "skipUrlEncoding": false, + "readOnly": false, + "crossLanguageDefinitionId": "Streaming.Sse.endpoint", + "isExactName": false + } + ], + "initializedBy": 1, + "decorators": [], + "crossLanguageDefinitionId": "Streaming.Sse", "apiVersions": [], "children": [ { - "$id": "42", + "$id": "83", "kind": "client", "name": "Unnamed", "isExactName": false, "namespace": "Streaming.Sse.Unnamed", "methods": [ { - "$id": "43", + "$id": "84", "kind": "basic", "name": "receive", "isExactName": false, "accessibility": "public", "apiVersions": [], "operation": { - "$id": "44", + "$id": "85", "name": "receive", "isExactName": false, "resourceName": "Unnamed", "accessibility": "public", "parameters": [ { - "$id": "45", + "$id": "86", "kind": "header", "name": "accept", "serializedName": "Accept", @@ -521,7 +933,7 @@ "crossLanguageDefinitionId": "Streaming.Sse.Unnamed.receive.accept", "methodParameterSegments": [ { - "$id": "46", + "$id": "87", "kind": "method", "name": "accept", "serializedName": "Accept", @@ -548,16 +960,16 @@ 200 ], "bodyType": { - "$id": "47", + "$id": "88", "kind": "streaming", "name": "SSEStreamUnnamedEvents", "valueType": { - "$id": "48", + "$id": "89", "kind": "union", "name": "UnnamedEvents", "variantTypes": [ { - "$ref": "19" + "$ref": "47" } ], "namespace": "Streaming.Sse.Unnamed", @@ -598,16 +1010,16 @@ }, "parameters": [ { - "$ref": "46" + "$ref": "87" } ], "response": { "type": { - "$id": "49", + "$id": "90", "kind": "streaming", "name": "SSEStreamUnnamedEvents", "valueType": { - "$ref": "48" + "$ref": "89" }, "streamKind": "sse", "contentTypes": [ @@ -624,13 +1036,13 @@ ], "parameters": [ { - "$id": "50", + "$id": "91", "kind": "endpoint", "name": "endpoint", "serializedName": "endpoint", "doc": "Service host", "type": { - "$id": "51", + "$id": "92", "kind": "url", "name": "endpoint", "crossLanguageDefinitionId": "TypeSpec.url" @@ -641,7 +1053,7 @@ "isEndpoint": true, "defaultValue": { "type": { - "$id": "52", + "$id": "93", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string" @@ -660,33 +1072,33 @@ "crossLanguageDefinitionId": "Streaming.Sse.Unnamed", "apiVersions": [], "parent": { - "$ref": "38" + "$ref": "79" }, "isMultiServiceClient": false }, { - "$id": "53", + "$id": "94", "kind": "client", "name": "Named", "isExactName": false, "namespace": "Streaming.Sse.Named", "methods": [ { - "$id": "54", + "$id": "95", "kind": "basic", "name": "receive", "isExactName": false, "accessibility": "public", "apiVersions": [], "operation": { - "$id": "55", + "$id": "96", "name": "receive", "isExactName": false, "resourceName": "Named", "accessibility": "public", "parameters": [ { - "$id": "56", + "$id": "97", "kind": "header", "name": "accept", "serializedName": "Accept", @@ -702,7 +1114,7 @@ "crossLanguageDefinitionId": "Streaming.Sse.Named.receive.accept", "methodParameterSegments": [ { - "$id": "57", + "$id": "98", "kind": "method", "name": "accept", "serializedName": "Accept", @@ -729,19 +1141,19 @@ 200 ], "bodyType": { - "$id": "58", + "$id": "99", "kind": "streaming", "name": "SSEStreamResponseEvents", "valueType": { - "$id": "59", + "$id": "100", "kind": "union", "name": "ResponseEvents", "variantTypes": [ { - "$ref": "22" + "$ref": "50" }, { - "$ref": "25" + "$ref": "53" }, { "$ref": "7" @@ -786,16 +1198,16 @@ }, "parameters": [ { - "$ref": "57" + "$ref": "98" } ], "response": { "type": { - "$id": "60", + "$id": "101", "kind": "streaming", "name": "SSEStreamResponseEvents", "valueType": { - "$ref": "59" + "$ref": "100" }, "streamKind": "sse", "contentTypes": [ @@ -813,13 +1225,13 @@ ], "parameters": [ { - "$id": "61", + "$id": "102", "kind": "endpoint", "name": "endpoint", "serializedName": "endpoint", "doc": "Service host", "type": { - "$id": "62", + "$id": "103", "kind": "url", "name": "endpoint", "crossLanguageDefinitionId": "TypeSpec.url" @@ -830,7 +1242,7 @@ "isEndpoint": true, "defaultValue": { "type": { - "$id": "63", + "$id": "104", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string" @@ -849,33 +1261,33 @@ "crossLanguageDefinitionId": "Streaming.Sse.Named", "apiVersions": [], "parent": { - "$ref": "38" + "$ref": "79" }, "isMultiServiceClient": false }, { - "$id": "64", + "$id": "105", "kind": "client", "name": "Retrieve", "isExactName": false, "namespace": "Streaming.Sse.Retrieve", "methods": [ { - "$id": "65", + "$id": "106", "kind": "basic", "name": "stream", "isExactName": false, "accessibility": "public", "apiVersions": [], "operation": { - "$id": "66", + "$id": "107", "name": "stream", "isExactName": false, "resourceName": "Retrieve", "accessibility": "public", "parameters": [ { - "$id": "67", + "$id": "108", "kind": "header", "name": "contentType", "serializedName": "Content-Type", @@ -892,7 +1304,7 @@ "crossLanguageDefinitionId": "Streaming.Sse.Retrieve.stream.contentType", "methodParameterSegments": [ { - "$id": "68", + "$id": "109", "kind": "method", "name": "contentType", "serializedName": "Content-Type", @@ -914,7 +1326,7 @@ "isExactName": false }, { - "$id": "69", + "$id": "110", "kind": "header", "name": "accept", "serializedName": "Accept", @@ -930,7 +1342,7 @@ "crossLanguageDefinitionId": "Streaming.Sse.Retrieve.stream.accept", "methodParameterSegments": [ { - "$id": "70", + "$id": "111", "kind": "method", "name": "accept", "serializedName": "Accept", @@ -951,12 +1363,12 @@ "isExactName": false }, { - "$id": "71", + "$id": "112", "kind": "body", "name": "request", "serializedName": "request", "type": { - "$ref": "28" + "$ref": "56" }, "isApiVersion": false, "contentTypes": [ @@ -970,12 +1382,12 @@ "crossLanguageDefinitionId": "Streaming.Sse.Retrieve.stream.request", "methodParameterSegments": [ { - "$id": "72", + "$id": "113", "kind": "method", "name": "request", "serializedName": "request", "type": { - "$ref": "28" + "$ref": "56" }, "location": "Body", "isApiVersion": false, @@ -1002,19 +1414,19 @@ 200 ], "bodyType": { - "$id": "73", + "$id": "114", "kind": "streaming", "name": "SSEStreamRetrievalEvents", "valueType": { - "$id": "74", + "$id": "115", "kind": "union", "name": "RetrievalEvents", "variantTypes": [ { - "$ref": "31" + "$ref": "59" }, { - "$ref": "34" + "$ref": "62" }, { "$ref": "15" @@ -1062,22 +1474,22 @@ }, "parameters": [ { - "$ref": "72" + "$ref": "113" }, { - "$ref": "68" + "$ref": "109" }, { - "$ref": "70" + "$ref": "111" } ], "response": { "type": { - "$id": "75", + "$id": "116", "kind": "streaming", "name": "SSEStreamRetrievalEvents", "valueType": { - "$ref": "74" + "$ref": "115" }, "streamKind": "sse", "contentTypes": [ @@ -1095,13 +1507,13 @@ ], "parameters": [ { - "$id": "76", + "$id": "117", "kind": "endpoint", "name": "endpoint", "serializedName": "endpoint", "doc": "Service host", "type": { - "$id": "77", + "$id": "118", "kind": "url", "name": "endpoint", "crossLanguageDefinitionId": "TypeSpec.url" @@ -1112,7 +1524,7 @@ "isEndpoint": true, "defaultValue": { "type": { - "$id": "78", + "$id": "119", "kind": "string", "name": "string", "crossLanguageDefinitionId": "TypeSpec.string" @@ -1131,9 +1543,981 @@ "crossLanguageDefinitionId": "Streaming.Sse.Retrieve", "apiVersions": [], "parent": { - "$ref": "38" + "$ref": "79" }, "isMultiServiceClient": false + }, + { + "$id": "120", + "kind": "client", + "name": "Protocol", + "isExactName": false, + "namespace": "Streaming.Sse.Protocol", + "methods": [ + { + "$id": "121", + "kind": "basic", + "name": "id", + "isExactName": false, + "accessibility": "public", + "apiVersions": [], + "operation": { + "$id": "122", + "name": "id", + "isExactName": false, + "resourceName": "Protocol", + "accessibility": "public", + "parameters": [ + { + "$id": "123", + "kind": "header", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "19" + }, + "isApiVersion": false, + "optional": false, + "isContentType": false, + "scope": "Constant", + "readOnly": false, + "decorators": [], + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.id.accept", + "methodParameterSegments": [ + { + "$id": "124", + "kind": "method", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "19" + }, + "location": "Header", + "isApiVersion": false, + "optional": false, + "scope": "Constant", + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.id.accept", + "readOnly": false, + "access": "public", + "decorators": [], + "isExactName": false + } + ], + "isExactName": false + } + ], + "responses": [ + { + "statusCodes": [ + 200 + ], + "bodyType": { + "$id": "125", + "kind": "streaming", + "name": "SSEStreamProtocolEvents", + "valueType": { + "$id": "126", + "kind": "union", + "name": "ProtocolEvents", + "variantTypes": [ + { + "$ref": "66" + } + ], + "namespace": "Streaming.Sse.Protocol", + "decorators": [], + "isExactName": false + }, + "streamKind": "sse", + "contentTypes": [ + "text/event-stream" + ], + "crossLanguageDefinitionId": "TypeSpec.SSE.SSEStream" + }, + "headers": [ + { + "name": "contentType", + "nameInResponse": "content-type", + "type": { + "$ref": "21" + } + } + ], + "isErrorResponse": false, + "contentTypes": [ + "text/event-stream" + ], + "serializationOptions": {} + } + ], + "httpMethod": "GET", + "uri": "{endpoint}", + "path": "/streaming/sse/protocol/id", + "bufferResponse": false, + "generateProtocolMethod": true, + "generateConvenienceMethod": true, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.id", + "decorators": [], + "namespace": "Streaming.Sse.Protocol" + }, + "parameters": [ + { + "$ref": "124" + } + ], + "response": { + "type": { + "$id": "127", + "kind": "streaming", + "name": "SSEStreamProtocolEvents", + "valueType": { + "$ref": "126" + }, + "streamKind": "sse", + "contentTypes": [ + "text/event-stream" + ], + "crossLanguageDefinitionId": "TypeSpec.SSE.SSEStream" + } + }, + "isOverride": false, + "generateConvenient": true, + "generateProtocol": true, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.id" + }, + { + "$id": "128", + "kind": "basic", + "name": "invalidId", + "isExactName": false, + "accessibility": "public", + "apiVersions": [], + "operation": { + "$id": "129", + "name": "invalidId", + "isExactName": false, + "resourceName": "Protocol", + "accessibility": "public", + "parameters": [ + { + "$id": "130", + "kind": "header", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "23" + }, + "isApiVersion": false, + "optional": false, + "isContentType": false, + "scope": "Constant", + "readOnly": false, + "decorators": [], + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.invalidId.accept", + "methodParameterSegments": [ + { + "$id": "131", + "kind": "method", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "23" + }, + "location": "Header", + "isApiVersion": false, + "optional": false, + "scope": "Constant", + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.invalidId.accept", + "readOnly": false, + "access": "public", + "decorators": [], + "isExactName": false + } + ], + "isExactName": false + } + ], + "responses": [ + { + "statusCodes": [ + 200 + ], + "bodyType": { + "$id": "132", + "kind": "streaming", + "name": "SSEStreamProtocolEvents", + "valueType": { + "$ref": "126" + }, + "streamKind": "sse", + "contentTypes": [ + "text/event-stream" + ], + "crossLanguageDefinitionId": "TypeSpec.SSE.SSEStream" + }, + "headers": [ + { + "name": "contentType", + "nameInResponse": "content-type", + "type": { + "$ref": "25" + } + } + ], + "isErrorResponse": false, + "contentTypes": [ + "text/event-stream" + ], + "serializationOptions": {} + } + ], + "httpMethod": "GET", + "uri": "{endpoint}", + "path": "/streaming/sse/protocol/invalid-id", + "bufferResponse": false, + "generateProtocolMethod": true, + "generateConvenienceMethod": true, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.invalidId", + "decorators": [], + "namespace": "Streaming.Sse.Protocol" + }, + "parameters": [ + { + "$ref": "131" + } + ], + "response": { + "type": { + "$id": "133", + "kind": "streaming", + "name": "SSEStreamProtocolEvents", + "valueType": { + "$ref": "126" + }, + "streamKind": "sse", + "contentTypes": [ + "text/event-stream" + ], + "crossLanguageDefinitionId": "TypeSpec.SSE.SSEStream" + } + }, + "isOverride": false, + "generateConvenient": true, + "generateProtocol": true, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.invalidId" + }, + { + "$id": "134", + "kind": "basic", + "name": "retry", + "isExactName": false, + "accessibility": "public", + "apiVersions": [], + "operation": { + "$id": "135", + "name": "retry", + "isExactName": false, + "resourceName": "Protocol", + "accessibility": "public", + "parameters": [ + { + "$id": "136", + "kind": "header", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "27" + }, + "isApiVersion": false, + "optional": false, + "isContentType": false, + "scope": "Constant", + "readOnly": false, + "decorators": [], + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.retry.accept", + "methodParameterSegments": [ + { + "$id": "137", + "kind": "method", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "27" + }, + "location": "Header", + "isApiVersion": false, + "optional": false, + "scope": "Constant", + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.retry.accept", + "readOnly": false, + "access": "public", + "decorators": [], + "isExactName": false + } + ], + "isExactName": false + } + ], + "responses": [ + { + "statusCodes": [ + 200 + ], + "bodyType": { + "$id": "138", + "kind": "streaming", + "name": "SSEStreamProtocolEvents", + "valueType": { + "$ref": "126" + }, + "streamKind": "sse", + "contentTypes": [ + "text/event-stream" + ], + "crossLanguageDefinitionId": "TypeSpec.SSE.SSEStream" + }, + "headers": [ + { + "name": "contentType", + "nameInResponse": "content-type", + "type": { + "$ref": "29" + } + } + ], + "isErrorResponse": false, + "contentTypes": [ + "text/event-stream" + ], + "serializationOptions": {} + } + ], + "httpMethod": "GET", + "uri": "{endpoint}", + "path": "/streaming/sse/protocol/retry", + "bufferResponse": false, + "generateProtocolMethod": true, + "generateConvenienceMethod": true, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.retry", + "decorators": [], + "namespace": "Streaming.Sse.Protocol" + }, + "parameters": [ + { + "$ref": "137" + } + ], + "response": { + "type": { + "$id": "139", + "kind": "streaming", + "name": "SSEStreamProtocolEvents", + "valueType": { + "$ref": "126" + }, + "streamKind": "sse", + "contentTypes": [ + "text/event-stream" + ], + "crossLanguageDefinitionId": "TypeSpec.SSE.SSEStream" + } + }, + "isOverride": false, + "generateConvenient": true, + "generateProtocol": true, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.retry" + }, + { + "$id": "140", + "kind": "basic", + "name": "invalidRetry", + "isExactName": false, + "accessibility": "public", + "apiVersions": [], + "operation": { + "$id": "141", + "name": "invalidRetry", + "isExactName": false, + "resourceName": "Protocol", + "accessibility": "public", + "parameters": [ + { + "$id": "142", + "kind": "header", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "31" + }, + "isApiVersion": false, + "optional": false, + "isContentType": false, + "scope": "Constant", + "readOnly": false, + "decorators": [], + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.invalidRetry.accept", + "methodParameterSegments": [ + { + "$id": "143", + "kind": "method", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "31" + }, + "location": "Header", + "isApiVersion": false, + "optional": false, + "scope": "Constant", + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.invalidRetry.accept", + "readOnly": false, + "access": "public", + "decorators": [], + "isExactName": false + } + ], + "isExactName": false + } + ], + "responses": [ + { + "statusCodes": [ + 200 + ], + "bodyType": { + "$id": "144", + "kind": "streaming", + "name": "SSEStreamProtocolEvents", + "valueType": { + "$ref": "126" + }, + "streamKind": "sse", + "contentTypes": [ + "text/event-stream" + ], + "crossLanguageDefinitionId": "TypeSpec.SSE.SSEStream" + }, + "headers": [ + { + "name": "contentType", + "nameInResponse": "content-type", + "type": { + "$ref": "33" + } + } + ], + "isErrorResponse": false, + "contentTypes": [ + "text/event-stream" + ], + "serializationOptions": {} + } + ], + "httpMethod": "GET", + "uri": "{endpoint}", + "path": "/streaming/sse/protocol/invalid-retry", + "bufferResponse": false, + "generateProtocolMethod": true, + "generateConvenienceMethod": true, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.invalidRetry", + "decorators": [], + "namespace": "Streaming.Sse.Protocol" + }, + "parameters": [ + { + "$ref": "143" + } + ], + "response": { + "type": { + "$id": "145", + "kind": "streaming", + "name": "SSEStreamProtocolEvents", + "valueType": { + "$ref": "126" + }, + "streamKind": "sse", + "contentTypes": [ + "text/event-stream" + ], + "crossLanguageDefinitionId": "TypeSpec.SSE.SSEStream" + } + }, + "isOverride": false, + "generateConvenient": true, + "generateProtocol": true, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.invalidRetry" + }, + { + "$id": "146", + "kind": "basic", + "name": "reconnect", + "isExactName": false, + "accessibility": "public", + "apiVersions": [], + "operation": { + "$id": "147", + "name": "reconnect", + "isExactName": false, + "resourceName": "Protocol", + "accessibility": "public", + "parameters": [ + { + "$id": "148", + "kind": "header", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "35" + }, + "isApiVersion": false, + "optional": false, + "isContentType": false, + "scope": "Constant", + "readOnly": false, + "decorators": [], + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.reconnect.accept", + "methodParameterSegments": [ + { + "$id": "149", + "kind": "method", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "35" + }, + "location": "Header", + "isApiVersion": false, + "optional": false, + "scope": "Constant", + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.reconnect.accept", + "readOnly": false, + "access": "public", + "decorators": [], + "isExactName": false + } + ], + "isExactName": false + } + ], + "responses": [ + { + "statusCodes": [ + 200 + ], + "bodyType": { + "$id": "150", + "kind": "streaming", + "name": "SSEStreamProtocolEvents", + "valueType": { + "$ref": "126" + }, + "streamKind": "sse", + "contentTypes": [ + "text/event-stream" + ], + "crossLanguageDefinitionId": "TypeSpec.SSE.SSEStream" + }, + "headers": [ + { + "name": "contentType", + "nameInResponse": "content-type", + "type": { + "$ref": "37" + } + } + ], + "isErrorResponse": false, + "contentTypes": [ + "text/event-stream" + ], + "serializationOptions": {} + } + ], + "httpMethod": "GET", + "uri": "{endpoint}", + "path": "/streaming/sse/protocol/reconnect", + "bufferResponse": false, + "generateProtocolMethod": true, + "generateConvenienceMethod": true, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.reconnect", + "decorators": [], + "namespace": "Streaming.Sse.Protocol" + }, + "parameters": [ + { + "$ref": "149" + } + ], + "response": { + "type": { + "$id": "151", + "kind": "streaming", + "name": "SSEStreamProtocolEvents", + "valueType": { + "$ref": "126" + }, + "streamKind": "sse", + "contentTypes": [ + "text/event-stream" + ], + "crossLanguageDefinitionId": "TypeSpec.SSE.SSEStream" + } + }, + "isOverride": false, + "generateConvenient": true, + "generateProtocol": true, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.reconnect" + } + ], + "parameters": [ + { + "$id": "152", + "kind": "endpoint", + "name": "endpoint", + "serializedName": "endpoint", + "doc": "Service host", + "type": { + "$id": "153", + "kind": "url", + "name": "endpoint", + "crossLanguageDefinitionId": "TypeSpec.url" + }, + "isApiVersion": false, + "optional": false, + "scope": "Client", + "isEndpoint": true, + "defaultValue": { + "type": { + "$id": "154", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string" + }, + "value": "http://localhost:3000" + }, + "serverUrlTemplate": "{endpoint}", + "skipUrlEncoding": false, + "readOnly": false, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.endpoint", + "isExactName": false + } + ], + "initializedBy": 0, + "decorators": [], + "crossLanguageDefinitionId": "Streaming.Sse.Protocol", + "apiVersions": [], + "parent": { + "$ref": "79" + }, + "children": [ + { + "$id": "155", + "kind": "client", + "name": "Data", + "isExactName": false, + "namespace": "Streaming.Sse.Protocol.Data", + "methods": [ + { + "$id": "156", + "kind": "basic", + "name": "withEnvelope", + "isExactName": false, + "accessibility": "public", + "apiVersions": [], + "operation": { + "$id": "157", + "name": "withEnvelope", + "isExactName": false, + "resourceName": "Data", + "accessibility": "public", + "parameters": [ + { + "$id": "158", + "kind": "header", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "39" + }, + "isApiVersion": false, + "optional": false, + "isContentType": false, + "scope": "Constant", + "readOnly": false, + "decorators": [], + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data.withEnvelope.accept", + "methodParameterSegments": [ + { + "$id": "159", + "kind": "method", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "39" + }, + "location": "Header", + "isApiVersion": false, + "optional": false, + "scope": "Constant", + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data.withEnvelope.accept", + "readOnly": false, + "access": "public", + "decorators": [], + "isExactName": false + } + ], + "isExactName": false + } + ], + "responses": [ + { + "statusCodes": [ + 200 + ], + "bodyType": { + "$id": "160", + "kind": "streaming", + "name": "SSEStreamDataEvents", + "valueType": { + "$id": "161", + "kind": "union", + "name": "DataEvents", + "variantTypes": [ + { + "$ref": "69" + }, + { + "$ref": "72" + } + ], + "namespace": "Streaming.Sse.Protocol.Data", + "decorators": [], + "isExactName": false + }, + "streamKind": "sse", + "contentTypes": [ + "text/event-stream" + ], + "crossLanguageDefinitionId": "TypeSpec.SSE.SSEStream" + }, + "headers": [ + { + "name": "contentType", + "nameInResponse": "content-type", + "type": { + "$ref": "41" + } + } + ], + "isErrorResponse": false, + "contentTypes": [ + "text/event-stream" + ], + "serializationOptions": {} + } + ], + "httpMethod": "GET", + "uri": "{endpoint}", + "path": "/streaming/sse/protocol/data/with-envelope", + "bufferResponse": false, + "generateProtocolMethod": true, + "generateConvenienceMethod": true, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data.withEnvelope", + "decorators": [], + "namespace": "Streaming.Sse.Protocol.Data" + }, + "parameters": [ + { + "$ref": "159" + } + ], + "response": { + "type": { + "$id": "162", + "kind": "streaming", + "name": "SSEStreamDataEvents", + "valueType": { + "$ref": "161" + }, + "streamKind": "sse", + "contentTypes": [ + "text/event-stream" + ], + "crossLanguageDefinitionId": "TypeSpec.SSE.SSEStream" + } + }, + "isOverride": false, + "generateConvenient": true, + "generateProtocol": true, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data.withEnvelope" + }, + { + "$id": "163", + "kind": "basic", + "name": "withoutEnvelope", + "isExactName": false, + "accessibility": "public", + "apiVersions": [], + "operation": { + "$id": "164", + "name": "withoutEnvelope", + "isExactName": false, + "resourceName": "Data", + "accessibility": "public", + "parameters": [ + { + "$id": "165", + "kind": "header", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "43" + }, + "isApiVersion": false, + "optional": false, + "isContentType": false, + "scope": "Constant", + "readOnly": false, + "decorators": [], + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data.withoutEnvelope.accept", + "methodParameterSegments": [ + { + "$id": "166", + "kind": "method", + "name": "accept", + "serializedName": "Accept", + "type": { + "$ref": "43" + }, + "location": "Header", + "isApiVersion": false, + "optional": false, + "scope": "Constant", + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data.withoutEnvelope.accept", + "readOnly": false, + "access": "public", + "decorators": [], + "isExactName": false + } + ], + "isExactName": false + } + ], + "responses": [ + { + "statusCodes": [ + 200 + ], + "bodyType": { + "$id": "167", + "kind": "streaming", + "name": "SSEStreamDataEvents", + "valueType": { + "$ref": "161" + }, + "streamKind": "sse", + "contentTypes": [ + "text/event-stream" + ], + "crossLanguageDefinitionId": "TypeSpec.SSE.SSEStream" + }, + "headers": [ + { + "name": "contentType", + "nameInResponse": "content-type", + "type": { + "$ref": "45" + } + } + ], + "isErrorResponse": false, + "contentTypes": [ + "text/event-stream" + ], + "serializationOptions": {} + } + ], + "httpMethod": "GET", + "uri": "{endpoint}", + "path": "/streaming/sse/protocol/data/without-envelope", + "bufferResponse": false, + "generateProtocolMethod": true, + "generateConvenienceMethod": true, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data.withoutEnvelope", + "decorators": [], + "namespace": "Streaming.Sse.Protocol.Data" + }, + "parameters": [ + { + "$ref": "166" + } + ], + "response": { + "type": { + "$id": "168", + "kind": "streaming", + "name": "SSEStreamDataEvents", + "valueType": { + "$ref": "161" + }, + "streamKind": "sse", + "contentTypes": [ + "text/event-stream" + ], + "crossLanguageDefinitionId": "TypeSpec.SSE.SSEStream" + } + }, + "isOverride": false, + "generateConvenient": true, + "generateProtocol": true, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data.withoutEnvelope" + } + ], + "parameters": [ + { + "$id": "169", + "kind": "endpoint", + "name": "endpoint", + "serializedName": "endpoint", + "doc": "Service host", + "type": { + "$id": "170", + "kind": "url", + "name": "endpoint", + "crossLanguageDefinitionId": "TypeSpec.url" + }, + "isApiVersion": false, + "optional": false, + "scope": "Client", + "isEndpoint": true, + "defaultValue": { + "type": { + "$id": "171", + "kind": "string", + "name": "string", + "crossLanguageDefinitionId": "TypeSpec.string" + }, + "value": "http://localhost:3000" + }, + "serverUrlTemplate": "{endpoint}", + "skipUrlEncoding": false, + "readOnly": false, + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data.endpoint", + "isExactName": false + } + ], + "initializedBy": 0, + "decorators": [], + "crossLanguageDefinitionId": "Streaming.Sse.Protocol.Data", + "apiVersions": [], + "parent": { + "$ref": "120" + }, + "isMultiServiceClient": false + } + ], + "isMultiServiceClient": false } ], "isMultiServiceClient": false diff --git a/packages/http-client-csharp/package-lock.json b/packages/http-client-csharp/package-lock.json index 89db5a2b467..8aa35b41895 100644 --- a/packages/http-client-csharp/package-lock.json +++ b/packages/http-client-csharp/package-lock.json @@ -12,26 +12,26 @@ "@azure/identity": "^4.13.0" }, "devDependencies": { - "@azure-tools/azure-http-specs": "0.1.0-alpha.44", - "@azure-tools/typespec-azure-core": "0.71.0", - "@azure-tools/typespec-client-generator-core": "0.71.2", + "@azure-tools/azure-http-specs": "0.1.0-alpha.45", + "@azure-tools/typespec-azure-core": "0.72.0", + "@azure-tools/typespec-client-generator-core": "0.72.0", "@microsoft/api-extractor": "^7.52.2", "@types/node": "~22.12.0", - "@typespec/compiler": "1.15.0", - "@typespec/events": "0.85.0", - "@typespec/http": "1.15.0", - "@typespec/http-specs": "0.1.0-alpha.41", - "@typespec/json-schema": "1.15.0", - "@typespec/library-linter": "0.85.0", - "@typespec/openapi": "1.15.0", - "@typespec/rest": "0.85.0", - "@typespec/spec-api": "0.1.0-alpha.16", - "@typespec/spector": "0.1.0-alpha.28", - "@typespec/sse": "0.85.0", - "@typespec/streams": "0.85.0", + "@typespec/compiler": "1.16.0", + "@typespec/events": "0.86.0", + "@typespec/http": "1.16.0", + "@typespec/http-specs": "0.1.0-alpha.42", + "@typespec/json-schema": "1.16.0", + "@typespec/library-linter": "0.86.0", + "@typespec/openapi": "1.16.0", + "@typespec/rest": "0.86.0", + "@typespec/spec-api": "0.1.0-alpha.17", + "@typespec/spector": "0.1.0-alpha.29", + "@typespec/sse": "0.86.0", + "@typespec/streams": "0.86.0", "@typespec/tspd": "0.77.0", - "@typespec/versioning": "0.85.0", - "@typespec/xml": "0.85.0", + "@typespec/versioning": "0.86.0", + "@typespec/xml": "0.86.0", "@vitest/coverage-v8": "^4.1.8", "@vitest/ui": "^4.1.8", "c8": "^12.0.0", @@ -40,16 +40,16 @@ "vitest": "^4.1.8" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": ">=0.71.0 <0.72.0 || ~0.72.0-0", - "@azure-tools/typespec-client-generator-core": ">=0.71.2 <0.72.0 || ~0.72.0-0", - "@typespec/compiler": "^1.15.0", - "@typespec/events": ">=0.85.0 <0.86.0 || ~0.86.0-0", - "@typespec/http": "^1.15.0", - "@typespec/openapi": "^1.15.0", - "@typespec/rest": ">=0.85.0 <0.86.0 || ~0.86.0-0", - "@typespec/sse": ">=0.85.0 <0.86.0 || ~0.86.0-0", - "@typespec/streams": ">=0.85.0 <0.86.0 || ~0.86.0-0", - "@typespec/versioning": ">=0.85.0 <0.86.0 || ~0.86.0-0" + "@azure-tools/typespec-azure-core": ">=0.72.0 <0.73.0 || ~0.73.0-0", + "@azure-tools/typespec-client-generator-core": ">=0.72.0 <0.73.0 || ~0.73.0-0", + "@typespec/compiler": "^1.16.0", + "@typespec/events": ">=0.86.0 <0.87.0 || ~0.87.0-0", + "@typespec/http": "^1.16.0", + "@typespec/openapi": "^1.16.0", + "@typespec/rest": ">=0.86.0 <0.87.0 || ~0.87.0-0", + "@typespec/sse": ">=0.86.0 <0.87.0 || ~0.87.0-0", + "@typespec/streams": ">=0.86.0 <0.87.0 || ~0.87.0-0", + "@typespec/versioning": ">=0.86.0 <0.87.0 || ~0.87.0-0" } }, "node_modules/@alloy-js/core": { @@ -86,67 +86,67 @@ } }, "node_modules/@azure-tools/azure-http-specs": { - "version": "0.1.0-alpha.44", - "resolved": "https://registry.npmjs.org/@azure-tools/azure-http-specs/-/azure-http-specs-0.1.0-alpha.44.tgz", - "integrity": "sha512-WPsMAFJ2wdnGX6R26ujz65nodUE/JfAMsQH8FpSt6eJ9exyHfbNoqJIwmLKe123ksKp/TMxVnDpqP+ZIwuXqQA==", + "version": "0.1.0-alpha.45", + "resolved": "https://registry.npmjs.org/@azure-tools/azure-http-specs/-/azure-http-specs-0.1.0-alpha.45.tgz", + "integrity": "sha512-4UECzSVjRqE/OUtZhOSoh7BhvWUXTsgnV4sow0FDG4QnePHZSFE5xjmx20uA7FwPNJa7g7w96hiv+bPjF+Cruw==", "dev": true, "license": "MIT", "dependencies": { - "@typespec/spec-api": "^0.1.0-alpha.16", - "@typespec/spector": "^0.1.0-alpha.28" + "@typespec/spec-api": "^0.1.0-alpha.17", + "@typespec/spector": "^0.1.0-alpha.29" }, "engines": { "node": ">=22.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "^0.71.0", - "@typespec/compiler": "^1.15.0", - "@typespec/http": "^1.15.0", - "@typespec/rest": "^0.85.0", - "@typespec/versioning": "^0.85.0", - "@typespec/xml": "^0.85.0" + "@azure-tools/typespec-azure-core": "^0.72.0", + "@typespec/compiler": "^1.16.0", + "@typespec/http": "^1.16.0", + "@typespec/rest": "^0.86.0", + "@typespec/versioning": "^0.86.0", + "@typespec/xml": "^0.86.0" } }, "node_modules/@azure-tools/typespec-azure-core": { - "version": "0.71.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.71.0.tgz", - "integrity": "sha512-T/8y9A+33BenWgma6P7JrD9UeM9HakkBHEiQv8dQl67JXSFGOOvUZRHzCsmrCIE1VutmXJfS+LHiPCACGQVisg==", + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.72.0.tgz", + "integrity": "sha512-zSi/ydbEZJh7dmGFzwMUv8mO1ijChbWiXBucwM/kM9avmwhE2fmFZNmWoyuakxsWi3sSczuWSlAzKlLYELmZxQ==", "dev": true, "license": "MIT", "engines": { "node": ">=22.0.0" }, "peerDependencies": { - "@typespec/compiler": "^1.15.0", - "@typespec/http": "^1.15.0", - "@typespec/rest": "^0.85.0" + "@typespec/compiler": "^1.16.0", + "@typespec/http": "^1.16.0", + "@typespec/rest": "^0.86.0" } }, "node_modules/@azure-tools/typespec-client-generator-core": { - "version": "0.71.2", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.71.2.tgz", - "integrity": "sha512-/HOH9tPXczcue6t1FHVFRXjTU1/S27dZQd85akgs+KlK1jkA8blgPndB51jSYwn8V+D+9XmHRSRtcQLAW582UA==", + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.72.0.tgz", + "integrity": "sha512-qTidMUgtM7R4wGy3i2DU3OBHm7eHtK1VCNPzT3O9PVtBVNxSSDc/gY0qENq3KvN+68qS3XoCvUluRz6fUK/h2Q==", "dev": true, "license": "MIT", "dependencies": { "change-case": "^5.4.4", "pluralize": "^8.0.0", - "yaml": "^2.8.3" + "yaml": "^2.9.0" }, "engines": { "node": ">=22.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "^0.71.0", - "@typespec/compiler": "^1.15.0", - "@typespec/events": "^0.85.0", - "@typespec/http": "^1.15.0", - "@typespec/openapi": "^1.15.0", - "@typespec/rest": "^0.85.0", - "@typespec/sse": "^0.85.0", - "@typespec/streams": "^0.85.0", - "@typespec/versioning": "^0.85.0", - "@typespec/xml": "^0.85.0" + "@azure-tools/typespec-azure-core": "^0.72.0", + "@typespec/compiler": "^1.16.0", + "@typespec/events": "^0.86.0", + "@typespec/http": "^1.16.0", + "@typespec/openapi": "^1.16.0", + "@typespec/rest": "^0.86.0", + "@typespec/sse": "^0.86.0", + "@typespec/streams": "^0.86.0", + "@typespec/versioning": "^0.86.0", + "@typespec/xml": "^0.86.0" } }, "node_modules/@azure/abort-controller": { @@ -233,6 +233,15 @@ "node": ">=22.0.0" } }, + "node_modules/@azure/core-process": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@azure/core-process/-/core-process-1.0.0.tgz", + "integrity": "sha512-/shnJ+ooO8WPxDhPEeI/2oRQuubn16gZ6CvlbpWbEswZfzwI9tI/sMAHmF3x1LuQ9yZYXfLW3TjzGMLEC5blKg==", + "license": "MIT", + "engines": { + "node": ">=22.0.0" + } + }, "node_modules/@azure/core-rest-pipeline": { "version": "1.25.0", "license": "MIT", @@ -286,23 +295,26 @@ } }, "node_modules/@azure/identity": { - "version": "4.13.1", + "version": "4.13.2", + "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.13.2.tgz", + "integrity": "sha512-NXL2/pCJctLxgw8bvrwwgge743kEq8LBT+O1pmV0vyUwetzFPH9auP6jhkU/cgZCPPtWoewAe3ncaGCgPo07fA==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-auth": "^1.9.0", "@azure/core-client": "^1.9.2", + "@azure/core-process": "^1.0.0", "@azure/core-rest-pipeline": "^1.17.0", "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.11.0", "@azure/logger": "^1.0.0", "@azure/msal-browser": "^5.5.0", - "@azure/msal-node": "^5.1.0", + "@azure/msal-node": "^5.1.5", "open": "^10.1.0", "tslib": "^2.2.0" }, "engines": { - "node": ">=20.0.0" + "node": ">=22.0.0" } }, "node_modules/@azure/logger": { @@ -345,9 +357,9 @@ } }, "node_modules/@azure/storage-blob": { - "version": "12.31.0", - "resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.31.0.tgz", - "integrity": "sha512-DBgNv10aCSxopt92DkTDD0o9xScXeBqPKGmR50FPZQaEcH4JLQ+GEOGEDv19V5BMkB7kxr+m4h6il/cCDPvmHg==", + "version": "12.33.0", + "resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.33.0.tgz", + "integrity": "sha512-2SX8oP8PyblUcAFZSg39c8Ls+tFjavM6sBeV+qpw33mRzRhI/5hrFJmJ/x0H9xx5l6ECPvgSP8uPxqTeVbHNIA==", "dev": true, "license": "MIT", "dependencies": { @@ -362,12 +374,12 @@ "@azure/core-util": "^1.11.0", "@azure/core-xml": "^1.4.5", "@azure/logger": "^1.1.4", - "@azure/storage-common": "^12.3.0", + "@azure/storage-common": "^12.4.1", "events": "^3.0.0", "tslib": "^2.8.1" }, "engines": { - "node": ">=20.0.0" + "node": ">=22.0.0" } }, "node_modules/@azure/storage-common": { @@ -510,25 +522,29 @@ } }, "node_modules/@inquirer/ansi": { - "version": "2.0.5", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-2.0.8.tgz", + "integrity": "sha512-WpQM+Ti6Z40EFwwt+uL2p4UabT+W179zHp6HhLVOzfbwnVn05IPO/eXIZXGNqcT1jbQ15SujNLzQ39k4QPPxBQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" } }, "node_modules/@inquirer/checkbox": { - "version": "5.1.5", + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-5.2.5.tgz", + "integrity": "sha512-bRt8J8m+Fot9CXv+zNQGXUq2ET0MggR1fPz7v6edN6MFYmsbfGnMmkmWZJEegMKqrAC8ej/o1sqisHZXZJMAfQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.5", - "@inquirer/core": "^11.1.10", - "@inquirer/figures": "^2.0.5", - "@inquirer/type": "^4.0.5" + "@inquirer/ansi": "^2.0.8", + "@inquirer/core": "^12.0.3", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1" }, "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -540,15 +556,17 @@ } }, "node_modules/@inquirer/confirm": { - "version": "6.0.13", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-6.3.2.tgz", + "integrity": "sha512-Xvr/0HggjddPtGppuqVmxhTw+Hr8PvsZ/k0HmOEaAqQEt80OITNkFWnsdNmyT0/eM4Ab+iJLx2R8rctlEyfSVg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^11.1.10", - "@inquirer/type": "^4.0.5" + "@inquirer/core": "^12.0.3", + "@inquirer/type": "4.1.1" }, "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -560,20 +578,22 @@ } }, "node_modules/@inquirer/core": { - "version": "11.1.10", + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.3.tgz", + "integrity": "sha512-wsSy0sznmXwkty+2PzZwx00Cazc/E0r0B7mAzdGROz2Ct+DFZXaK7WDjGZvgjRldxH5ZhFVfF2lgkYrqgOw2KA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.5", - "@inquirer/figures": "^2.0.5", - "@inquirer/type": "^4.0.5", + "@inquirer/ansi": "^2.0.8", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1", "cli-width": "^4.1.0", "fast-wrap-ansi": "^0.2.0", "mute-stream": "^3.0.0", "signal-exit": "^4.1.0" }, "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -585,16 +605,18 @@ } }, "node_modules/@inquirer/editor": { - "version": "5.1.2", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-5.3.3.tgz", + "integrity": "sha512-YsKkS2q63IiLtaDK/9nqzdComN97SDQrmKiyNggN+ceP4ty+Z6VwyTz3FpjeUWeW1Efss2xHFKCC9sx7hnrsxg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^11.1.10", - "@inquirer/external-editor": "^3.0.0", - "@inquirer/type": "^4.0.5" + "@inquirer/core": "^12.0.3", + "@inquirer/external-editor": "^3.0.5", + "@inquirer/type": "4.1.1" }, "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -606,15 +628,17 @@ } }, "node_modules/@inquirer/expand": { - "version": "5.0.14", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-5.1.5.tgz", + "integrity": "sha512-uHuXLmXW+TtIfT/9vSBotypAkqn1n34Ul+CLGPos/xANyO4Ff5xZzkYhbKR4NEcfVK4a9mHQOpwVZzluSHFRGw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^11.1.10", - "@inquirer/type": "^4.0.5" + "@inquirer/core": "^12.0.3", + "@inquirer/type": "4.1.1" }, "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -626,7 +650,9 @@ } }, "node_modules/@inquirer/external-editor": { - "version": "3.0.0", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-3.0.5.tgz", + "integrity": "sha512-f3QQJRIX5ZEneBHNUIuPjmbdzHnmRFJA8r2dkcb8q+OM5Uv5KtnuAttQumnrjcBVBM3mcTX1CkmtAkU58VRZxg==", "dev": true, "license": "MIT", "dependencies": { @@ -634,7 +660,7 @@ "iconv-lite": "^0.7.2" }, "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -646,23 +672,27 @@ } }, "node_modules/@inquirer/figures": { - "version": "2.0.5", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-2.0.9.tgz", + "integrity": "sha512-EAWgUTGQ/Umgga51dE3B2PUHbufuXarDfg86uVgoSgNHNNQnyFKcOrQLWVqYMghuSyHh8+2HUH0Js9cTC1WAdg==", "dev": true, "license": "MIT", "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" } }, "node_modules/@inquirer/input": { - "version": "5.0.13", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-5.1.6.tgz", + "integrity": "sha512-HtcJhB2QFVXbLuJ5S3syhNbTUVxYvwqV4VRBDkQceBloC9bmTViUoRFP5PbSaDZb3HzfPmpuU/gG4ybVBz4FHA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^11.1.10", - "@inquirer/type": "^4.0.5" + "@inquirer/core": "^12.0.3", + "@inquirer/type": "4.1.1" }, "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -674,15 +704,17 @@ } }, "node_modules/@inquirer/number": { - "version": "4.0.13", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-4.2.3.tgz", + "integrity": "sha512-6Yuwh1NGSbu1Lo4N1EWjXs1jKRntLg/ZCwhmeorEHde90v1XxAozdbd4Iu30eOQLW+6h1hp2O9ujNfLSbTPJnA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^11.1.10", - "@inquirer/type": "^4.0.5" + "@inquirer/core": "^12.0.3", + "@inquirer/type": "4.1.1" }, "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -694,16 +726,18 @@ } }, "node_modules/@inquirer/password": { - "version": "5.0.13", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-5.2.2.tgz", + "integrity": "sha512-W9zYdyzogK+6110mqwaSJWCBu2yA5Q/OfnGSjjZB1bNpHlmUozXxTl0+QOZBNeVd6Qo81/qT75gW05gLAtITxw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.5", - "@inquirer/core": "^11.1.10", - "@inquirer/type": "^4.0.5" + "@inquirer/ansi": "^2.0.8", + "@inquirer/core": "^12.0.3", + "@inquirer/type": "4.1.1" }, "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -715,23 +749,25 @@ } }, "node_modules/@inquirer/prompts": { - "version": "8.4.3", + "version": "8.7.2", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-8.7.2.tgz", + "integrity": "sha512-QoRB4wFIjgH5iOhSjoIKMkTvSHDuV+O3OITlIqAYO0oK5x364GJILXiMBvlPiE+klg7Xx9tq5XVqQHcGUDYYPA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/checkbox": "^5.1.5", - "@inquirer/confirm": "^6.0.13", - "@inquirer/editor": "^5.1.2", - "@inquirer/expand": "^5.0.14", - "@inquirer/input": "^5.0.13", - "@inquirer/number": "^4.0.13", - "@inquirer/password": "^5.0.13", - "@inquirer/rawlist": "^5.2.9", - "@inquirer/search": "^4.1.9", - "@inquirer/select": "^5.1.5" + "@inquirer/checkbox": "^5.2.5", + "@inquirer/confirm": "^6.3.2", + "@inquirer/editor": "^5.3.3", + "@inquirer/expand": "^5.1.5", + "@inquirer/input": "^5.1.6", + "@inquirer/number": "^4.2.3", + "@inquirer/password": "^5.2.2", + "@inquirer/rawlist": "^5.3.5", + "@inquirer/search": "^4.3.3", + "@inquirer/select": "^5.2.5" }, "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -743,15 +779,17 @@ } }, "node_modules/@inquirer/rawlist": { - "version": "5.2.9", + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-5.3.5.tgz", + "integrity": "sha512-1oHky1ONfCOwNrnkQGDE1oaSij/3fI6HFMSf2H/WsGO2lEyDX9My82iggITSy9ddSZ8yk8j9v41OI0fVoSIoaA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^11.1.10", - "@inquirer/type": "^4.0.5" + "@inquirer/core": "^12.0.3", + "@inquirer/type": "4.1.1" }, "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -763,16 +801,18 @@ } }, "node_modules/@inquirer/search": { - "version": "4.1.9", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-4.3.3.tgz", + "integrity": "sha512-fyuIU1Nbpvwlikjg3gXwJFDI11+EFjqQ7P+iByfmivIKQ1vmaykNrD/vy5unHuUqUpsOsnvJ25//tPF7E/RBRA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^11.1.10", - "@inquirer/figures": "^2.0.5", - "@inquirer/type": "^4.0.5" + "@inquirer/core": "^12.0.3", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1" }, "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -784,17 +824,19 @@ } }, "node_modules/@inquirer/select": { - "version": "5.1.5", + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-5.2.5.tgz", + "integrity": "sha512-9kc15hr8r/kI+3DO/xLog5nOzTz1jqsHXa6JBFzmQKhkoJ8Slda1I1L/uD8ZSZ9tF1yp79wwXe7mclvX1rqR2Q==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.5", - "@inquirer/core": "^11.1.10", - "@inquirer/figures": "^2.0.5", - "@inquirer/type": "^4.0.5" + "@inquirer/ansi": "^2.0.8", + "@inquirer/core": "^12.0.3", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1" }, "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -806,11 +848,13 @@ } }, "node_modules/@inquirer/type": { - "version": "4.0.5", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-4.1.1.tgz", + "integrity": "sha512-yJoHYrMnxIsJZCY+0Vb66Dy3he3kL3e2wOBKhoSwWWAzZAY82emlxwgprCtp6yRixvNRNq9ztfRWQYPNr3Go7A==", "dev": true, "license": "MIT", "engines": { - "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -1435,39 +1479,41 @@ } }, "node_modules/@typespec/asset-emitter": { - "version": "0.79.1", + "version": "0.79.2", + "resolved": "https://registry.npmjs.org/@typespec/asset-emitter/-/asset-emitter-0.79.2.tgz", + "integrity": "sha512-hcr0jxYgXM0suBwPtjnScYXZVIIqkcdd8jgYh1T7VLHem8+q0WthFQxeKbDIrip4k/nCFtnZui6Dj5oOVJb8fA==", "dev": true, "license": "MIT", "engines": { - "node": ">=20.0.0" + "node": ">=22.0.0" }, "peerDependencies": { - "@typespec/compiler": "^1.10.0" + "@typespec/compiler": "^1.16.0" } }, "node_modules/@typespec/compiler": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-1.15.0.tgz", - "integrity": "sha512-NbCIRAIzyozchlSaGPVuyV43bC+y+OpXYCuT+8M8kt35Ln9zWzLFcIt7irofQ5QUXBZrHsBFpI5fTOFdCGeWCA==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-1.16.0.tgz", + "integrity": "sha512-pT4gN+OSEXZMLxIhtI3QgIUafeFktfIBKVb7p+X/rAzDymQSO8yAb+srMBQ43PIcmfrvMxCNaD1SKBa9AGhWtA==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.29.0", - "@inquirer/prompts": "^8.4.1", - "ajv": "^8.18.0", + "@inquirer/prompts": "^8.6.0", + "ajv": "^8.20.0", "change-case": "^5.4.4", "env-paths": "^4.0.0", "is-unicode-supported": "^2.1.0", "mustache": "^4.2.0", "picocolors": "^1.1.1", - "prettier": "^3.9.5", - "semver": "^7.7.4", - "tar": "^7.5.21", - "temporal-polyfill": "^1.0.1", - "vscode-languageserver": "^10.0.0", - "vscode-languageserver-textdocument": "^1.0.12", - "yaml": "^2.8.3", - "yargs": "^18.0.0" + "prettier": "^3.9.6", + "semver": "^7.8.5", + "tar": "^7.5.22", + "temporal-polyfill": "^1.0.4", + "vscode-languageserver": "^10.1.0", + "vscode-languageserver-textdocument": "^1.0.13", + "yaml": "^2.9.0", + "yargs": "^18.1.0" }, "bin": { "tsp": "cmd/tsp.js", @@ -1477,31 +1523,61 @@ "node": ">=22.0.0" } }, + "node_modules/@typespec/compiler/node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@typespec/compiler/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typespec/events": { - "version": "0.85.0", - "resolved": "https://registry.npmjs.org/@typespec/events/-/events-0.85.0.tgz", - "integrity": "sha512-oFLsJ3EK3SGmVNR3kyON6SAVpj5ek0PWxz4Y2OrvsaD39ONswRnIVPolnr2P0KK/BV67Uo49VLISXPo5Wrkk3Q==", + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@typespec/events/-/events-0.86.0.tgz", + "integrity": "sha512-lT+5uBXSjjJi4npZZsleJel9yhqT6Y39m4d3wIYVsQq/zOznBMylRTrBDuQD5xntTgwKc/nLsxXJ0cuTrUBHDQ==", "dev": true, "license": "MIT", "engines": { "node": ">=22.0.0" }, "peerDependencies": { - "@typespec/compiler": "^1.15.0" + "@typespec/compiler": "^1.16.0" } }, "node_modules/@typespec/http": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@typespec/http/-/http-1.15.0.tgz", - "integrity": "sha512-LNyzYHyX3C0xyQQ262jhvIaVzTn7DqiDB2gz45w1m6ngJH9ArGU8XjO3o7PaZkl/nuB5MTpImnsXpHIV1rbi4Q==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@typespec/http/-/http-1.16.0.tgz", + "integrity": "sha512-4cODL4uqoj6YGj3Z04mQx1JwrM7o4Ytv4dO75o3Y3fx66v4BF4B5hF2dwnwh02Xe0e9qO1aDoaRlO2QGDz3mEA==", "dev": true, "license": "MIT", "engines": { "node": ">=22.0.0" }, "peerDependencies": { - "@typespec/compiler": "^1.15.0", - "@typespec/streams": "^0.85.0" + "@typespec/compiler": "^1.16.0", + "@typespec/streams": "^0.86.0" }, "peerDependenciesMeta": { "@typespec/streams": { @@ -1510,156 +1586,169 @@ } }, "node_modules/@typespec/http-specs": { - "version": "0.1.0-alpha.41", - "resolved": "https://registry.npmjs.org/@typespec/http-specs/-/http-specs-0.1.0-alpha.41.tgz", - "integrity": "sha512-/2S4irzCLOz7agQcARQuG5135oS1rV8X2QKXSczI4QewxQ9ZaeFnlQ12uEnNj2dd7wXX3iZz004sDQKXMhxGqA==", + "version": "0.1.0-alpha.42", + "resolved": "https://registry.npmjs.org/@typespec/http-specs/-/http-specs-0.1.0-alpha.42.tgz", + "integrity": "sha512-EHuzWFEhHm4EVMuRzTYPHUC7WVuuSAbTXSQuJsWZYfh8+dR91HSFTZRCMBP9JhDxK/VZDBXmqkpcgGqbm6ixpA==", "dev": true, "license": "MIT", "dependencies": { - "@typespec/spec-api": "^0.1.0-alpha.16", - "@typespec/spector": "^0.1.0-alpha.28" + "@typespec/spec-api": "^0.1.0-alpha.17", + "@typespec/spector": "^0.1.0-alpha.29" }, "engines": { "node": ">=22.0.0" }, "peerDependencies": { - "@typespec/compiler": "^1.15.0", - "@typespec/events": "^0.85.0", - "@typespec/http": "^1.15.0", - "@typespec/rest": "^0.85.0", - "@typespec/sse": "^0.85.0", - "@typespec/versioning": "^0.85.0", - "@typespec/xml": "^0.85.0" + "@typespec/compiler": "^1.16.0", + "@typespec/events": "^0.86.0", + "@typespec/http": "^1.16.0", + "@typespec/rest": "^0.86.0", + "@typespec/sse": "^0.86.0", + "@typespec/versioning": "^0.86.0", + "@typespec/xml": "^0.86.0" } }, "node_modules/@typespec/json-schema": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@typespec/json-schema/-/json-schema-1.15.0.tgz", - "integrity": "sha512-sq27AxnzVRX5mrPlncsqQLi2aE34CLDALaqbY2HmnMiYmS70wY1zJH3I4hWT4AUxiZYokln9sf0FZ4ukT6ZJ+Q==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@typespec/json-schema/-/json-schema-1.16.0.tgz", + "integrity": "sha512-an9fuC2KFSJraODr8ZNcQwMKNemcuFN3V2RYdsOpexzMtdldd81fTid19N8of10OotBd8O7+TeMW9s3PZ4H7Uw==", "dev": true, "license": "MIT", "dependencies": { - "@typespec/asset-emitter": "^0.79.1", - "yaml": "^2.8.3" + "@typespec/asset-emitter": "^0.79.2", + "yaml": "^2.9.0" }, "engines": { "node": ">=22.0.0" }, "peerDependencies": { - "@typespec/compiler": "^1.15.0" + "@typespec/compiler": "^1.16.0" } }, "node_modules/@typespec/library-linter": { - "version": "0.85.0", - "resolved": "https://registry.npmjs.org/@typespec/library-linter/-/library-linter-0.85.0.tgz", - "integrity": "sha512-n+Bjm/t4nj/yNmXdlQrhc0CLq154jdZEWzjm7JFskIVYQs0At4lr9l4/dbSZszb11zJ/gFJwoRcAGzMhT3CmYQ==", + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@typespec/library-linter/-/library-linter-0.86.0.tgz", + "integrity": "sha512-EQ+0S6/O9kqikTIGYdE4cEnBswzvtmT/ZHGHxwtJkzztyJxP+c8Qp0DeHxGW/9ZBkyZmhgUEcCXOIUeVTtYTQw==", "dev": true, "license": "MIT", "engines": { "node": ">=22.0.0" }, "peerDependencies": { - "@typespec/compiler": "^1.15.0" + "@typespec/compiler": "^1.16.0" } }, "node_modules/@typespec/openapi": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-1.15.0.tgz", - "integrity": "sha512-lHd3H5W23KOIGKyBPKpBLPHVOxcxuvqOBXGqlyPvGmHDgmD74mrUtHWxNoGx+QQESjx4tS8Tu6URNQBU6y6Q1Q==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-1.16.0.tgz", + "integrity": "sha512-6F+3e1dOJkIV4K0vCsuDpdwxoXnsT6eOomd4MpIUJAwyA7etEraUmPM9Qstp42MLIBoPWm9dK4Y9Whxtohc/KA==", "dev": true, "license": "MIT", "engines": { "node": ">=22.0.0" }, "peerDependencies": { - "@typespec/compiler": "^1.15.0", - "@typespec/http": "^1.15.0" + "@typespec/compiler": "^1.16.0", + "@typespec/http": "^1.16.0" } }, "node_modules/@typespec/rest": { - "version": "0.85.0", - "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.85.0.tgz", - "integrity": "sha512-ogbot1wp8jLn0rSOzwHjMjgDot+1u7WFZOWluRHL3cuRw9l8+ZjlixBrkXZ84dKP54RoYUN3buBjfOZ7qyHeyg==", + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.86.0.tgz", + "integrity": "sha512-Lbl4x/ZW26r4ZsxpgvS7T3F998J7pvyDs+OsHgVKDI45EvPmdDydI4TKOH++UmHJ2tH8kw8KHzMPqCehWLIa6g==", "dev": true, "license": "MIT", "engines": { "node": ">=22.0.0" }, "peerDependencies": { - "@typespec/compiler": "^1.15.0", - "@typespec/http": "^1.15.0" + "@typespec/compiler": "^1.16.0", + "@typespec/http": "^1.16.0" } }, "node_modules/@typespec/spec-api": { - "version": "0.1.0-alpha.16", - "resolved": "https://registry.npmjs.org/@typespec/spec-api/-/spec-api-0.1.0-alpha.16.tgz", - "integrity": "sha512-vo3XynVQjDUFulLC1z1OikjzQI+GQ54QtI8U/sgYvg5YrseJ2GN/h6vD5Z2T2Cg2TfQu27uitOAJwqpS9R4M5Q==", + "version": "0.1.0-alpha.17", + "resolved": "https://registry.npmjs.org/@typespec/spec-api/-/spec-api-0.1.0-alpha.17.tgz", + "integrity": "sha512-HJn5uNarzrR0pYfpdmle26mET70/8HYZJPorjw40FCALdlyr1+d03j5wCDz0Ec+LBOPM77BsYY7PDHpembUu+A==", "dev": true, "license": "MIT", "dependencies": { "express": "^5.2.1", - "fast-xml-parser": "^5.10.1" + "fast-xml-parser": "^5.11.0" }, "engines": { "node": ">=22.0.0" } }, "node_modules/@typespec/spec-coverage-sdk": { - "version": "0.1.0-alpha.16", - "resolved": "https://registry.npmjs.org/@typespec/spec-coverage-sdk/-/spec-coverage-sdk-0.1.0-alpha.16.tgz", - "integrity": "sha512-qwSnuE+CXjv4mn2uhioTVlaO4GjypR4ZtbkSoLmWA677ggYmoAjIDpyNgT1tjsc1lDKVtSiPvGhM9XFKExVmbQ==", + "version": "0.1.0-alpha.17", + "resolved": "https://registry.npmjs.org/@typespec/spec-coverage-sdk/-/spec-coverage-sdk-0.1.0-alpha.17.tgz", + "integrity": "sha512-Ljnum8JncwejLERWxfSh8hZHRsHb+ZDuekvQgkVAyVWJ5e58QEwW6rVOC3+9SegVnwI0N0QVm9w6sB/e7ZxM7Q==", "dev": true, "license": "MIT", "dependencies": { - "@azure/identity": "~4.13.0", - "@azure/storage-blob": "~12.31.0", - "@types/node": "~25.3.0", - "@types/semver": "^7.5.8", - "semver": "^7.7.1" + "@azure/identity": "^4.13.2", + "@azure/storage-blob": "^12.33.0", + "@types/node": "^26.3.0", + "@types/semver": "^7.8.0", + "semver": "^7.8.5" }, "engines": { - "node": ">=16.0.0" + "node": ">=22.0.0" } }, "node_modules/@typespec/spec-coverage-sdk/node_modules/@types/node": { - "version": "25.3.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.5.tgz", - "integrity": "sha512-oX8xrhvpiyRCQkG1MFchB09f+cXftgIXb3a7UUa4Y3wpmZPw5tyZGTLWhlESOLq1Rq6oDlc8npVU2/9xiCuXMA==", + "version": "26.5.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.5.1.tgz", + "integrity": "sha512-CzNm2FezW4VR/LjG6yUdiEgLE/rAQ9Slj5gCu/C2VrdcW7I0ahNZ8DRbHT7zOZ6r3ONgd/bsQIeSaoDGrd1C6g==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~7.18.0" + "undici-types": "~8.9.0" + } + }, + "node_modules/@typespec/spec-coverage-sdk/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/@typespec/spec-coverage-sdk/node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz", + "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==", "dev": true, "license": "MIT" }, "node_modules/@typespec/spector": { - "version": "0.1.0-alpha.28", - "resolved": "https://registry.npmjs.org/@typespec/spector/-/spector-0.1.0-alpha.28.tgz", - "integrity": "sha512-ngffqlDFEKNxvZZ3oQbboi7RMO5YP6BOT5qZiQYMwUx3L35CalmkIlxR1heUMbsstv5FVMgNNEF87/0jIBFZEw==", + "version": "0.1.0-alpha.29", + "resolved": "https://registry.npmjs.org/@typespec/spector/-/spector-0.1.0-alpha.29.tgz", + "integrity": "sha512-gLip7JeTrVPjH/qRIqD+hbrLA/h9N3ZxV770OyvPdkU5UFlzhWEFkSwHB9L2YEYaLz+hyFSoMgE/glQmEht0kQ==", "dev": true, "license": "MIT", "dependencies": { - "@azure/identity": "^4.13.1", - "@typespec/compiler": "^1.15.0", - "@typespec/http": "^1.15.0", - "@typespec/rest": "^0.85.0", - "@typespec/spec-api": "^0.1.0-alpha.16", - "@typespec/spec-coverage-sdk": "^0.1.0-alpha.16", - "@typespec/versioning": "^0.85.0", - "ajv": "^8.18.0", + "@azure/identity": "^4.13.2", + "@typespec/compiler": "^1.16.0", + "@typespec/http": "^1.16.0", + "@typespec/rest": "^0.86.0", + "@typespec/spec-api": "^0.1.0-alpha.17", + "@typespec/spec-coverage-sdk": "^0.1.0-alpha.17", + "@typespec/versioning": "^0.86.0", + "ajv": "^8.20.0", "express": "^5.2.1", "micromatch": "^4.0.8", - "morgan": "^1.10.1", + "morgan": "^1.11.0", "multer": "^2.2.0", "picocolors": "^1.1.1", - "yaml": "^2.8.3", - "yargs": "^18.0.0" + "yaml": "^2.9.0", + "yargs": "^18.1.0" }, "bin": { "tsp-spector": "cmd/cli.mjs" @@ -1668,33 +1757,50 @@ "node": ">=22.0.0" } }, + "node_modules/@typespec/spector/node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/@typespec/sse": { - "version": "0.85.0", - "resolved": "https://registry.npmjs.org/@typespec/sse/-/sse-0.85.0.tgz", - "integrity": "sha512-mi0CiZxod5pRYOM6PTGnioH5CJ2F9KpXvChuFr6ITx2TQiokDVzGTST8PiiU/TfnMP+4JE91fUWzJWkm0HLGUA==", + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@typespec/sse/-/sse-0.86.0.tgz", + "integrity": "sha512-32+WQ4NDoIA70nkuhpr8MdF+hkBx3VKESNocWMN8z4/RaYq9/CdBOJhV7Y/hy3Y5+tbVg0/3u7lLSfvmtyg5Cw==", "dev": true, "license": "MIT", "engines": { "node": ">=22.0.0" }, "peerDependencies": { - "@typespec/compiler": "^1.15.0", - "@typespec/events": "^0.85.0", - "@typespec/http": "^1.15.0", - "@typespec/streams": "^0.85.0" + "@typespec/compiler": "^1.16.0", + "@typespec/events": "^0.86.0", + "@typespec/http": "^1.16.0", + "@typespec/streams": "^0.86.0" } }, "node_modules/@typespec/streams": { - "version": "0.85.0", - "resolved": "https://registry.npmjs.org/@typespec/streams/-/streams-0.85.0.tgz", - "integrity": "sha512-okmKXZ0JMCC24DeQOJnKLhgf53619XsfSiJ73Q/QCL7KqFwWtuo+vzS6q760t05GyyDs546bYWcUwyO+4TMURQ==", + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@typespec/streams/-/streams-0.86.0.tgz", + "integrity": "sha512-zK2kFtj53dVYnza6a6peEc5KPZ2l9iQCLaaoN1mO7IIYhNCaUMotv6qvbNJF7rw46HMm7u1Xzbi6NqeyVnnb9A==", "dev": true, "license": "MIT", "engines": { "node": ">=22.0.0" }, "peerDependencies": { - "@typespec/compiler": "^1.15.0" + "@typespec/compiler": "^1.16.0" } }, "node_modules/@typespec/ts-http-runtime": { @@ -1739,29 +1845,29 @@ } }, "node_modules/@typespec/versioning": { - "version": "0.85.0", - "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.85.0.tgz", - "integrity": "sha512-8qIbWBnIWor3p9DFzcVz4xU4YK6PFgMia4+IDczhb5G4J9bYquK9gJSFNPfoF86Foq9nHad83swX25kxRiS6Jw==", + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.86.0.tgz", + "integrity": "sha512-/VUgQXSNcwbhNllTKptGAcoxYCh3+E/a9RUcmlBj7v04yIN4rkSFFmxHKRWKuKaz9LYQerXSPrVNM6Ja1msFlw==", "dev": true, "license": "MIT", "engines": { "node": ">=22.0.0" }, "peerDependencies": { - "@typespec/compiler": "^1.15.0" + "@typespec/compiler": "^1.16.0" } }, "node_modules/@typespec/xml": { - "version": "0.85.0", - "resolved": "https://registry.npmjs.org/@typespec/xml/-/xml-0.85.0.tgz", - "integrity": "sha512-N9MU5azHtZVbx9dApIdGkK9aAESj2icKk3jLpwgnVqD5Fg4OuE1RrtRX7Q1fcxBGo3fxpnMphIE18WAZGGLwlQ==", + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@typespec/xml/-/xml-0.86.0.tgz", + "integrity": "sha512-i+GNThU32Vz3/VNMnPsH0q/x2BMnWKE6tY00XbiG00zjRjkaTw4zsDGoBNcNOVbS4EFNIfSrhaJEnVPFJY4awQ==", "dev": true, "license": "MIT", "engines": { "node": ">=22.0.0" }, "peerDependencies": { - "@typespec/compiler": "^1.15.0" + "@typespec/compiler": "^1.16.0" } }, "node_modules/@vitest/coverage-v8": { @@ -2114,9 +2220,9 @@ } }, "node_modules/body-parser/node_modules/content-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", - "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz", + "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==", "dev": true, "license": "MIT", "engines": { @@ -2278,7 +2384,9 @@ "license": "MIT" }, "node_modules/chardet": { - "version": "2.1.1", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.2.0.tgz", + "integrity": "sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==", "dev": true, "license": "MIT" }, @@ -2308,6 +2416,8 @@ }, "node_modules/cli-width": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", "dev": true, "license": "ISC", "engines": { @@ -2738,11 +2848,15 @@ }, "node_modules/fast-string-truncated-width": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", + "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", "dev": true, "license": "MIT" }, "node_modules/fast-string-width": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz", + "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==", "dev": true, "license": "MIT", "dependencies": { @@ -2768,6 +2882,8 @@ }, "node_modules/fast-wrap-ansi": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz", + "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==", "dev": true, "license": "MIT", "dependencies": { @@ -2775,9 +2891,9 @@ } }, "node_modules/fast-xml-builder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.3.0.tgz", - "integrity": "sha512-F74cZEdCvuw9P41GAC3rod4X04jjWGM1JPEv/GWSqFTWLsdyMSBMBMlm9Hk3GLBgLBbdBNY8yee0pQh2RBVESQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.3.1.tgz", + "integrity": "sha512-pIM/1n3ntFXKYrUZwW7QCK0gAW7XY+wzj1YMIV3tLDvPj/V+zTGJK5e3/4WJfwj0qWw2ElNXiTixda/R+3YSug==", "dev": true, "funding": [ { @@ -2792,9 +2908,9 @@ } }, "node_modules/fast-xml-parser": { - "version": "5.10.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.10.1.tgz", - "integrity": "sha512-IEMIf7298kXuZSRFoGfMYrl7is8LpavODgbNz1cwIudv7KwVFnuU+UsMporfq6PD6aXSlawZlARiA3UywCTfMw==", + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.11.1.tgz", + "integrity": "sha512-TBw6K/fxoQGGjCmZDw9w/ZwP3uDcnTM4YH/g+PFRWr8sbe5idXtxNN6vITh4+1ruCZaho6uBFurElsA7F0zzgw==", "dev": true, "funding": [ { @@ -2808,7 +2924,7 @@ "fast-xml-builder": "^1.2.0", "is-unsafe": "^2.0.0", "path-expression-matcher": "^1.6.2", - "strnum": "^2.4.1", + "strnum": "^2.4.2", "xml-naming": "^0.3.0" }, "bin": { @@ -3125,7 +3241,9 @@ } }, "node_modules/iconv-lite": { - "version": "0.7.2", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz", + "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3255,9 +3373,9 @@ } }, "node_modules/is-unsafe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-unsafe/-/is-unsafe-2.0.0.tgz", - "integrity": "sha512-2LdV822R+wmI86unXA93WCFpL6g+av8ynWk0nrHyJqGop5VoocYsSLFgN8jrfalT6iGeLNM4KXuVSsULP53kEA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-unsafe/-/is-unsafe-2.0.2.tgz", + "integrity": "sha512-HgbIHPBH0KHHCcjLfGsCvhtPTVxjaAZlXjwdz7/GQC40SjSe4sfQsar8J5VFo8JOSbarkpV0OLG95bbaNd9aAQ==", "dev": true, "funding": [ { @@ -3920,9 +4038,9 @@ } }, "node_modules/morgan": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.11.0.tgz", - "integrity": "sha512-zSkVu3t18r39pw4ixfBKvfZi3y2UOqr7d4WYwcj3m8nXpEQK4rPO6GLzs/CExoRgmX3y9EjmmcXqv6jq0SK46g==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.12.0.tgz", + "integrity": "sha512-OHpTRQwn2ezasILW8iKe+Yww1XsfWsZIpUOLF7RDb2g5GwO3trPaRwi7+8BDiJ7HFx2Kg2mfUdCBcVhwYlOz2g==", "dev": true, "license": "MIT", "dependencies": { @@ -3970,9 +4088,9 @@ "license": "MIT" }, "node_modules/multer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/multer/-/multer-2.2.0.tgz", - "integrity": "sha512-6rdyFg2kLrMh9Jee7/BMPuV9lEAd7lLW2YUpF9/YxR7njyoUwwQ0ZPh3TaIY50Sw6vlyD2HW3wGOkTS4P79xrQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/multer/-/multer-2.3.0.tgz", + "integrity": "sha512-cjNbm3sttszgZeGfJR124D+jFEfkXCVAsoPBmFn9X7UxmDSFHWqE2CoEj0vrmSpuAFnqWR1Szcm9QTsiHr60Xw==", "dev": true, "license": "MIT", "dependencies": { @@ -4046,6 +4164,8 @@ }, "node_modules/mute-stream": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-3.0.0.tgz", + "integrity": "sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==", "dev": true, "license": "ISC", "engines": { @@ -4072,13 +4192,34 @@ } }, "node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.1.0.tgz", + "integrity": "sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg==", "dev": true, "license": "MIT", + "dependencies": { + "content-type": "^2.1.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/negotiator/node_modules/content-type": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz", + "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/object-inspect": { @@ -4357,9 +4498,9 @@ } }, "node_modules/qs": { - "version": "6.15.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", - "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz", + "integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -4543,6 +4684,8 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "license": "MIT" }, @@ -4827,9 +4970,9 @@ } }, "node_modules/strnum": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.4.1.tgz", - "integrity": "sha512-M9eUSMT2dCB2cTNPG7UYj6KuK7RJR2SN2+yCV/fTW3xzTCS6EaGZ5pSMgDIjB7r8zSfTGk+dvvn9rTjpVS9Mwg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.4.2.tgz", + "integrity": "sha512-rDG3Ah4TV0k1hWvLSzkZtMmLN9+eS+h3knq4MP6A42Y3Yh5qGNnOUs1jJkoSr8FG5dsL28c7KgkIBzSEykqtuw==", "dev": true, "funding": [ { @@ -4885,21 +5028,27 @@ } }, "node_modules/temporal-polyfill": { - "version": "1.0.1", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/temporal-polyfill/-/temporal-polyfill-1.0.4.tgz", + "integrity": "sha512-MLEU0qOD2uXlz24oINNtdLZQl8RgmMxSnRtKEGZGGetTJjlRwQJjk+VsJ4EREaUoiaTb8NJOcUiKtoAiWn9EBg==", "dev": true, "license": "MIT", "dependencies": { - "temporal-spec": "1.0.0", - "temporal-utils": "1.0.1" + "temporal-spec": "1.0.1", + "temporal-utils": "1.0.2" } }, "node_modules/temporal-spec": { - "version": "1.0.0", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/temporal-spec/-/temporal-spec-1.0.1.tgz", + "integrity": "sha512-wxVoanmDeavXie1vu2JaQ3WIc3JZnWAOYFBsJyATaVsXsycKYUflGsyBmrRSnoCpZJpwPyr38VpgSUlQ8CbFxg==", "dev": true, "license": "Apache-2.0" }, "node_modules/temporal-utils": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/temporal-utils/-/temporal-utils-1.0.2.tgz", + "integrity": "sha512-1B8Dl4KzrOvsNUlpoWGno2VLQlxroLjDgc5NBjVC9ax9ymdo+ezfyvhyjEMx+IVfhINr6CIG2gcnlP95iRrybQ==", "dev": true, "license": "MIT" }, @@ -5054,9 +5203,9 @@ } }, "node_modules/type-is/node_modules/content-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", - "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz", + "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==", "dev": true, "license": "MIT", "engines": { @@ -5406,7 +5555,9 @@ } }, "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.12", + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.14.tgz", + "integrity": "sha512-EQyqJMi552E4ZTf46izQ4Fj6XquqxCySR3J5ZSD1SisMf6RfpeOWHxGBE8Gr6V0/3GHIGdAzDn8F8+1nTGCnoQ==", "dev": true, "license": "MIT" }, @@ -5595,14 +5746,16 @@ } }, "node_modules/yargs": { - "version": "18.0.0", + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.1.0.tgz", + "integrity": "sha512-2rAgRKu54VsHkqI0/tYkmluGXHD4KW7yZoycuqDQ15QOTnc2VVfy0nN/1eMhnQLO00A+dwtK20xuCnc1YGeUyg==", "dev": true, "license": "MIT", "dependencies": { "cliui": "^9.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", - "string-width": "^7.2.0", + "string-width": "^8.2.1", "y18n": "^5.0.5", "yargs-parser": "^22.0.0" }, @@ -5621,7 +5774,9 @@ } }, "node_modules/yargs/node_modules/ansi-regex": { - "version": "6.2.2", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz", + "integrity": "sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==", "dev": true, "license": "MIT", "engines": { @@ -5631,22 +5786,18 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "10.6.0", - "dev": true, - "license": "MIT" - }, "node_modules/yargs/node_modules/string-width": { - "version": "7.2.0", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.2.tgz", + "integrity": "sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5654,6 +5805,8 @@ }, "node_modules/yargs/node_modules/strip-ansi": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { diff --git a/packages/http-client-csharp/package.json b/packages/http-client-csharp/package.json index 967dfa66ef7..e5c935929d7 100644 --- a/packages/http-client-csharp/package.json +++ b/packages/http-client-csharp/package.json @@ -58,38 +58,38 @@ "emitter/lib/*.tsp" ], "peerDependencies": { - "@azure-tools/typespec-azure-core": ">=0.71.0 <0.72.0 || ~0.72.0-0", - "@azure-tools/typespec-client-generator-core": ">=0.71.2 <0.72.0 || ~0.72.0-0", - "@typespec/compiler": "^1.15.0", - "@typespec/events": ">=0.85.0 <0.86.0 || ~0.86.0-0", - "@typespec/http": "^1.15.0", - "@typespec/openapi": "^1.15.0", - "@typespec/rest": ">=0.85.0 <0.86.0 || ~0.86.0-0", - "@typespec/sse": ">=0.85.0 <0.86.0 || ~0.86.0-0", - "@typespec/streams": ">=0.85.0 <0.86.0 || ~0.86.0-0", - "@typespec/versioning": ">=0.85.0 <0.86.0 || ~0.86.0-0" + "@azure-tools/typespec-azure-core": ">=0.72.0 <0.73.0 || ~0.73.0-0", + "@azure-tools/typespec-client-generator-core": ">=0.72.0 <0.73.0 || ~0.73.0-0", + "@typespec/compiler": "^1.16.0", + "@typespec/events": ">=0.86.0 <0.87.0 || ~0.87.0-0", + "@typespec/http": "^1.16.0", + "@typespec/openapi": "^1.16.0", + "@typespec/rest": ">=0.86.0 <0.87.0 || ~0.87.0-0", + "@typespec/sse": ">=0.86.0 <0.87.0 || ~0.87.0-0", + "@typespec/streams": ">=0.86.0 <0.87.0 || ~0.87.0-0", + "@typespec/versioning": ">=0.86.0 <0.87.0 || ~0.87.0-0" }, "devDependencies": { - "@azure-tools/azure-http-specs": "0.1.0-alpha.44", - "@azure-tools/typespec-azure-core": "0.71.0", - "@azure-tools/typespec-client-generator-core": "0.71.2", + "@azure-tools/azure-http-specs": "0.1.0-alpha.45", + "@azure-tools/typespec-azure-core": "0.72.0", + "@azure-tools/typespec-client-generator-core": "0.72.0", "@microsoft/api-extractor": "^7.52.2", "@types/node": "~22.12.0", - "@typespec/compiler": "1.15.0", - "@typespec/events": "0.85.0", - "@typespec/http": "1.15.0", - "@typespec/http-specs": "0.1.0-alpha.41", - "@typespec/json-schema": "1.15.0", - "@typespec/library-linter": "0.85.0", - "@typespec/openapi": "1.15.0", - "@typespec/rest": "0.85.0", - "@typespec/spec-api": "0.1.0-alpha.16", - "@typespec/spector": "0.1.0-alpha.28", - "@typespec/sse": "0.85.0", - "@typespec/streams": "0.85.0", + "@typespec/compiler": "1.16.0", + "@typespec/events": "0.86.0", + "@typespec/http": "1.16.0", + "@typespec/http-specs": "0.1.0-alpha.42", + "@typespec/json-schema": "1.16.0", + "@typespec/library-linter": "0.86.0", + "@typespec/openapi": "1.16.0", + "@typespec/rest": "0.86.0", + "@typespec/spec-api": "0.1.0-alpha.17", + "@typespec/spector": "0.1.0-alpha.29", + "@typespec/sse": "0.86.0", + "@typespec/streams": "0.86.0", "@typespec/tspd": "0.77.0", - "@typespec/versioning": "0.85.0", - "@typespec/xml": "0.85.0", + "@typespec/versioning": "0.86.0", + "@typespec/xml": "0.86.0", "@vitest/coverage-v8": "^4.1.8", "@vitest/ui": "^4.1.8", "c8": "^12.0.0",