diff --git a/.chronus/changes/add-test-cases-for-client-initialization-2025-11-25-8-34-24.md b/.chronus/changes/add-test-cases-for-client-initialization-2025-11-25-8-34-24.md new file mode 100644 index 0000000000..05878e54fb --- /dev/null +++ b/.chronus/changes/add-test-cases-for-client-initialization-2025-11-25-8-34-24.md @@ -0,0 +1,8 @@ +--- +# Change versionKind to one of: internal, fix, dependencies, feature, deprecation, breaking +changeKind: fix +packages: + - "@azure-tools/typespec-client-generator-core" +--- + +add default nested cases for client-initialization diff --git a/core b/core index 4afc86ceda..bc30a9fab7 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 4afc86ceda677d8b634b352280a9995d720557f3 +Subproject commit bc30a9fab7463e04f2da958c891d4501c0e92b2d diff --git a/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/client.tsp b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/default/client.tsp similarity index 80% rename from packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/client.tsp rename to packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/default/client.tsp index 6859e31088..188f90b984 100644 --- a/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/client.tsp +++ b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/default/client.tsp @@ -6,10 +6,10 @@ import "@typespec/http"; using Spector; using Http; -@route("/azure/client-generator-core/client-initialization") -namespace _Specs_.Azure.ClientGenerator.Core.ClientInitialization; +@route("/azure/client-generator-core/client-initialization/default") +namespace _Specs_.Azure.ClientGenerator.Core.ClientInitialization.Default; -@@global.Azure.ClientGenerator.Core.clientNamespace(_Specs_.Azure.ClientGenerator.Core.ClientInitialization, +@@global.Azure.ClientGenerator.Core.clientNamespace(_Specs_.Azure.ClientGenerator.Core.ClientInitialization.Default, "azure.clientgenerator.core.clientinitialization", "java" ); @@ -47,6 +47,11 @@ model ParamAliasClientOptions { blobName: string; } +model DefaultQueryParamClientOptions { + @doc("The blob name to use for operations") + blobName: string; +} + // Scenario 1: Header parameter moved to client level @scenarioDoc(""" Client for testing header parameter moved to client level. @@ -200,47 +205,40 @@ interface ParamAlias { withOriginalName is Service.ParamAlias.withOriginalName; } +// Scenario 6: Query parameter moved to client level +@scenarioDoc(""" + Client for testing default -> default nested initialization. + + The parent client uses default initialization behavior, + and the child client uses default initialization behavior. + + Parameters elevated to client level: + - blobName: "test-blob" (query parameter) + + Expected client usage: + ```ts + // via DefaultClient (default initialization) + const client = new DefaultClient.getDefaultNestedWithQueryClient({ + blobName: "test-blob" + }); + + // Operations don't need blobName parameter + client.withQuery(); + client.getStandalone(); + client.deleteStandalone(); + ``` + """) +@scenario @global.Azure.ClientGenerator.Core.client({ - name: "ParentClient", + name: "QueryParamClient", service: Service, }) -namespace ParentClient { - @scenarioDoc(""" - Client for testing a path parameter (blobName) moved to client level, in child client. - - The child client can be initialized individually, or via its parent client. - - Parameters elevated to client level: - - blobName: "sample-blob" (path parameter) - - Expected client usage: - ```ts - // via ParentClient - const client = new ParentClient.getChildClient({ - blobName: "sample-blob" - }); - - // directly - const client = new ChildClient({ - blobName: "sample-blob" - }); - - // No need to pass blobName to any operations - client.withQuery(format: "text"); - client.getStandalone(); - client.deleteStandalone(); - ``` - """) - @scenario - @global.Azure.ClientGenerator.Core.operationGroup - @global.Azure.ClientGenerator.Core.clientInitialization({ - parameters: PathParamClientOptions, - initializedBy: global.Azure.ClientGenerator.Core.InitializedBy.individually | global.Azure.ClientGenerator.Core.InitializedBy.parent, - }) - @route("/child-client") - interface ChildClient { - withQuery is Service.ChildClient.withQuery; - getStandalone is Service.ChildClient.getStandalone; - deleteStandalone is Service.ChildClient.deleteStandalone; - } +@global.Azure.ClientGenerator.Core.clientInitialization({ + parameters: DefaultQueryParamClientOptions, +}) +@route("/query") +interface QueryParam { + withQuery is Service.QueryParam.withQuery; + getStandalone is Service.QueryParam.getStandalone; + deleteStandalone is Service.QueryParam.deleteStandalone; } diff --git a/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/main.tsp b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/default/main.tsp similarity index 84% rename from packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/main.tsp rename to packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/default/main.tsp index 883e1218aa..3f48a482ff 100644 --- a/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/main.tsp +++ b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/default/main.tsp @@ -7,7 +7,7 @@ using Spector; using Azure.ClientGenerator.Core; @doc("Test for client initialization decorator - moving parameters from method to client level") -@scenarioService("/azure/client-generator-core/client-initialization") +@scenarioService("/azure/client-generator-core/client-initialization/default") namespace Service; // Common parameter types and models @@ -26,6 +26,11 @@ model Input { name: string; } +model DefaultQueryParam { + @query + blobName: string; +} + // Scenario 1: Header parameter moved to client level @route("/header-param") @@ -115,19 +120,19 @@ model BlobProperties { createdOn: utcDateTime; } -// Scenario 6: Client initialization on child client -@doc("Blob operations with path parameter that should be moved to client level, in child client") -@route("/child-client") -interface ChildClient { - @route("/{blobName}/with-query") +// Scenario 6: Query parameter moved to client level +@doc("Blob operations with query parameter that should be moved to client level") +@route("/query") +interface QueryParam { + @route("/with-query") @get - withQuery(@path blobName: string, @query format?: string): void; + withQuery(...DefaultQueryParam): void; - @route("/{blobName}/get-standalone") + @route("/get-standalone") @get - getStandalone(@path blobName: string): BlobProperties; + getStandalone(...DefaultQueryParam): BlobProperties; - @route("/{blobName}") + @route("/delete-resource") @delete - deleteStandalone(@path blobName: string): void; + deleteStandalone(...DefaultQueryParam): void; } diff --git a/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/mockapi.ts b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/default/mockapi.ts similarity index 68% rename from packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/mockapi.ts rename to packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/default/mockapi.ts index 0b6df10133..cad3fc3fd2 100644 --- a/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/mockapi.ts +++ b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/default/mockapi.ts @@ -5,7 +5,7 @@ export const Scenarios: Record = {}; // Mock responses for HeaderParam scenario Scenarios.Azure_ClientGenerator_Core_ClientInitialization_HeaderParam = passOnSuccess([ { - uri: "/azure/client-generator-core/client-initialization/header-param/with-query", + uri: "/azure/client-generator-core/client-initialization/default/header-param/with-query", method: "get", request: { query: { @@ -21,7 +21,7 @@ Scenarios.Azure_ClientGenerator_Core_ClientInitialization_HeaderParam = passOnSu kind: "MockApiDefinition", }, { - uri: "/azure/client-generator-core/client-initialization/header-param/with-body", + uri: "/azure/client-generator-core/client-initialization/default/header-param/with-body", method: "post", request: { headers: { @@ -41,7 +41,7 @@ Scenarios.Azure_ClientGenerator_Core_ClientInitialization_HeaderParam = passOnSu // Mock responses for MultipleParams scenario Scenarios.Azure_ClientGenerator_Core_ClientInitialization_MultipleParams = passOnSuccess([ { - uri: "/azure/client-generator-core/client-initialization/multiple-params/with-query", + uri: "/azure/client-generator-core/client-initialization/default/multiple-params/with-query", method: "get", request: { query: { @@ -58,7 +58,7 @@ Scenarios.Azure_ClientGenerator_Core_ClientInitialization_MultipleParams = passO kind: "MockApiDefinition", }, { - uri: "/azure/client-generator-core/client-initialization/multiple-params/with-body", + uri: "/azure/client-generator-core/client-initialization/default/multiple-params/with-body", method: "post", request: { query: { @@ -81,7 +81,7 @@ Scenarios.Azure_ClientGenerator_Core_ClientInitialization_MultipleParams = passO // Mock responses for MixedParams scenario Scenarios.Azure_ClientGenerator_Core_ClientInitialization_MixedParams = passOnSuccess([ { - uri: "/azure/client-generator-core/client-initialization/mixed-params/with-query", + uri: "/azure/client-generator-core/client-initialization/default/mixed-params/with-query", method: "get", request: { query: { @@ -98,7 +98,7 @@ Scenarios.Azure_ClientGenerator_Core_ClientInitialization_MixedParams = passOnSu kind: "MockApiDefinition", }, { - uri: "/azure/client-generator-core/client-initialization/mixed-params/with-body", + uri: "/azure/client-generator-core/client-initialization/default/mixed-params/with-body", method: "post", request: { query: { @@ -121,7 +121,7 @@ Scenarios.Azure_ClientGenerator_Core_ClientInitialization_MixedParams = passOnSu // Mock responses for PathParam scenario Scenarios.Azure_ClientGenerator_Core_ClientInitialization_PathParam = passOnSuccess([ { - uri: "/azure/client-generator-core/client-initialization/path/sample-blob/with-query", + uri: "/azure/client-generator-core/client-initialization/default/path/sample-blob/with-query", method: "get", request: { query: { @@ -134,7 +134,7 @@ Scenarios.Azure_ClientGenerator_Core_ClientInitialization_PathParam = passOnSucc kind: "MockApiDefinition", }, { - uri: "/azure/client-generator-core/client-initialization/path/sample-blob/get-standalone", + uri: "/azure/client-generator-core/client-initialization/default/path/sample-blob/get-standalone", method: "get", request: {}, response: { @@ -149,7 +149,7 @@ Scenarios.Azure_ClientGenerator_Core_ClientInitialization_PathParam = passOnSucc kind: "MockApiDefinition", }, { - uri: "/azure/client-generator-core/client-initialization/path/sample-blob", + uri: "/azure/client-generator-core/client-initialization/default/path/sample-blob", method: "delete", request: {}, response: { @@ -162,7 +162,7 @@ Scenarios.Azure_ClientGenerator_Core_ClientInitialization_PathParam = passOnSucc // Mock responses for ParamAlias scenario Scenarios.Azure_ClientGenerator_Core_ClientInitialization_ParamAlias = passOnSuccess([ { - uri: "/azure/client-generator-core/client-initialization/param-alias/sample-blob/with-aliased-name", + uri: "/azure/client-generator-core/client-initialization/default/param-alias/sample-blob/with-aliased-name", method: "get", request: {}, response: { @@ -171,7 +171,7 @@ Scenarios.Azure_ClientGenerator_Core_ClientInitialization_ParamAlias = passOnSuc kind: "MockApiDefinition", }, { - uri: "/azure/client-generator-core/client-initialization/param-alias/sample-blob/with-original-name", + uri: "/azure/client-generator-core/client-initialization/default/param-alias/sample-blob/with-original-name", method: "get", request: {}, response: { @@ -181,14 +181,14 @@ Scenarios.Azure_ClientGenerator_Core_ClientInitialization_ParamAlias = passOnSuc }, ]); -// Mock responses for ParentClient/ChildClient scenario -Scenarios.Azure_ClientGenerator_Core_ClientInitialization_ParentClient_ChildClient = passOnSuccess([ +// Mock responses for QueryParam scenario +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_QueryParam = passOnSuccess([ { - uri: "/azure/client-generator-core/client-initialization/child-client/sample-blob/with-query", + uri: "/azure/client-generator-core/client-initialization/default/query/with-query", method: "get", request: { query: { - format: "text", + blobName: "test-blob", }, }, response: { @@ -197,13 +197,17 @@ Scenarios.Azure_ClientGenerator_Core_ClientInitialization_ParentClient_ChildClie kind: "MockApiDefinition", }, { - uri: "/azure/client-generator-core/client-initialization/child-client/sample-blob/get-standalone", + uri: "/azure/client-generator-core/client-initialization/default/query/get-standalone", method: "get", - request: {}, + request: { + query: { + blobName: "test-blob", + }, + }, response: { status: 200, body: json({ - name: "sample-blob", + name: "test-blob", size: 42, contentType: "text/plain", createdOn: "2025-04-01T12:00:00Z", @@ -212,9 +216,13 @@ Scenarios.Azure_ClientGenerator_Core_ClientInitialization_ParentClient_ChildClie kind: "MockApiDefinition", }, { - uri: "/azure/client-generator-core/client-initialization/child-client/sample-blob", + uri: "/azure/client-generator-core/client-initialization/default/query/delete-resource", method: "delete", - request: {}, + request: { + query: { + blobName: "test-blob", + }, + }, response: { status: 204, }, diff --git a/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individually/client.tsp b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individually/client.tsp new file mode 100644 index 0000000000..d24c619b5d --- /dev/null +++ b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individually/client.tsp @@ -0,0 +1,238 @@ +import "./main.tsp"; +import "@azure-tools/typespec-client-generator-core"; +import "@typespec/spector"; +import "@typespec/http"; + +using Spector; +using Http; + +@route("/azure/client-generator-core/client-initialization/individually") +namespace _Specs_.Azure.ClientGenerator.Core.ClientInitialization.IndividuallyClient; + +@@global.Azure.ClientGenerator.Core.clientNamespace(_Specs_.Azure.ClientGenerator.Core.ClientInitialization.IndividuallyClient, + "azure.clientgenerator.core.clientinitialization", + "java" +); +@@global.Azure.ClientGenerator.Core.clientNamespace(Service, + "azure.clientgenerator.core.clientinitialization", + "java" +); + +// Reusable option types for client initialization +model PathParamClientOptions { + @doc("The blob name to use for operations") + blobName: string; +} + +model DefaultQueryParamClientOptions { + @doc("The blob name to use for operations") + blobName: string; +} + +model HeaderParamClientOptions { + @doc("The name to use for operations") + name: string; +} + +model MultipleParamsClientOptions { + @doc("The name to use for operations") + name: string; + + @doc("The region to use for operations") + region: string; +} + +model MixedParamsClientOptions { + @doc("The name to use for operations") + name: string; +} + +@global.Azure.ClientGenerator.Core.client({ + name: "IndividuallyClient", + service: Service, +}) + +// Scenario 6: Default -> Individually initialization with path parameter +@scenarioDoc(""" + Client for testing default -> individually nested initialization. + + The parent client uses default initialization behavior, + and the child client uses individually initialization behavior. + + Parameters elevated to client level: + - blobName: "test-resource" (path parameter) + + Expected client usage: + ```ts + // directly (individually initialized) + const client = new IndividuallyNestedWithPathClient({ + resourceName: "test-resource" + }); + + // Operations don't need resourceName parameter + client.withQuery(format: "text"); + client.getStandalone(); + client.deleteStandalone(); + ``` + """) +@scenario +@global.Azure.ClientGenerator.Core.operationGroup +@global.Azure.ClientGenerator.Core.clientInitialization({ + parameters: PathParamClientOptions, + initializedBy: global.Azure.ClientGenerator.Core.InitializedBy.individually, +}) +@route("/nested-default-individually") +interface IndividuallyNestedWithPathClient { + withQuery is Service.NestedDefaultIndividuallyWithPath.withQuery; + getStandalone is Service.NestedDefaultIndividuallyWithPath.getStandalone; + deleteStandalone is Service.NestedDefaultIndividuallyWithPath.deleteStandalone; +} + +// Scenario 7: Default -> Individually initialization with query parameter +@scenarioDoc(""" + Client for testing default -> individually nested initialization. + + The parent client uses default initialization behavior, + and the child client uses individually initialization behavior. + + Parameters elevated to client level: + - blobName: "test-blob" (query parameter) + + Expected client usage: + ```ts + // directly (individually initialized) + const client = new IndividuallyNestedWithQueryClient({ + blobName: "test-blob" + }); + + // Operations don't need blobName parameter + client.withQuery(); + client.getStandalone(); + client.deleteStandalone(); + ``` + """) +@scenario +@global.Azure.ClientGenerator.Core.operationGroup +@global.Azure.ClientGenerator.Core.clientInitialization({ + parameters: DefaultQueryParamClientOptions, + initializedBy: global.Azure.ClientGenerator.Core.InitializedBy.individually, +}) +@route("/nested-default-individually-query") +interface IndividuallyNestedWithQueryClient { + withQuery is Service.NestedDefaultIndividuallyWithQuery.withQuery; + getStandalone is Service.NestedDefaultIndividuallyWithQuery.getStandalone; + deleteStandalone is Service.NestedDefaultIndividuallyWithQuery.deleteStandalone; +} + +// Scenario 8: Default -> Individually initialization with Header parameter +@scenarioDoc(""" + Client for testing default -> individually header parameter nested initialization. + + The parent client uses default initialization behavior, + and the child client moves header parameters to client level and uses individually initialization. + + Parameters elevated to client level: + - name: "test-name-value" (header parameter) + + Expected client usage: + ```ts + // directly (individually initialized) + const client = new IndividuallyNestedWithHeaderClient({ + name: "test-name-value" + }); + + // Operations don't need name header parameter + client.withQuery(format: "text"); + client.getStandalone(); + client.deleteStandalone(); + ``` + """) +@scenario +@global.Azure.ClientGenerator.Core.operationGroup +@global.Azure.ClientGenerator.Core.clientInitialization({ + parameters: HeaderParamClientOptions, + initializedBy: global.Azure.ClientGenerator.Core.InitializedBy.individually, +}) +@route("/nested-default-individually-header") +interface IndividuallyNestedWithHeaderClient { + withQuery is Service.NestedDefaultIndividuallyHeader.withQuery; + getStandalone is Service.NestedDefaultIndividuallyHeader.getStandalone; + deleteStandalone is Service.NestedDefaultIndividuallyHeader.deleteStandalone; +} + +// Scenario 15: Default -> Individually Multiple parameters client +@scenarioDoc(""" + Client for testing default -> individually multiple parameters nested initialization. + + The parent client uses default initialization behavior, + and the child client moves multiple parameters (header and query) to client level with individually initialization. + + Parameters elevated to client level: + - name: "test-name-value" (header parameter) + - region: "us-west" (query parameter) + + Expected client usage: + ```ts + // directly (individually initialized) + const client = new IndividuallyNestedWithMultipleClient({ + name: "test-name-value", + region: "us-west" + }); + + // Operations don't need name or region parameters + client.withQuery(format: "text"); + client.getStandalone(); + client.deleteStandalone(); + ``` + """) +@scenario +@global.Azure.ClientGenerator.Core.operationGroup +@global.Azure.ClientGenerator.Core.clientInitialization({ + parameters: MultipleParamsClientOptions, + initializedBy: global.Azure.ClientGenerator.Core.InitializedBy.individually, +}) +@route("/nested-default-individually-multiple") +interface IndividuallyNestedWithMultipleClient { + withQuery is Service.NestedDefaultIndividuallyMultiple.withQuery; + getStandalone is Service.NestedDefaultIndividuallyMultiple.getStandalone; + deleteStandalone is Service.NestedDefaultIndividuallyMultiple.deleteStandalone; +} + +// Scenario 16: Default -> Individually Mixed parameters client +@scenarioDoc(""" + Client for testing default -> individually mixed parameters nested initialization. + + The parent client uses default initialization behavior, + and the child client moves some parameters to client level while keeping others at method level with individually initialization. + + Parameters elevated to client level: + - name: "test-name-value" (header parameter) + + Parameters remaining at method level: + - region: "us-west" (query parameter) + + Expected client usage: + ```ts + // directly (individually initialized) + const client = new IndividuallyNestedWithMixedClient({ + name: "test-name-value" + }); + + // Operations still need region parameter + client.withQuery(region: "us-west", format: "text"); + client.getStandalone(region: "us-west"); + client.deleteStandalone(region: "us-west"); + ``` + """) +@scenario +@global.Azure.ClientGenerator.Core.operationGroup +@global.Azure.ClientGenerator.Core.clientInitialization({ + parameters: MixedParamsClientOptions, + initializedBy: global.Azure.ClientGenerator.Core.InitializedBy.individually, +}) +@route("/nested-default-individually-mixed") +interface IndividuallyNestedWithMixedClient { + withQuery is Service.NestedDefaultIndividuallyMixed.withQuery; + getStandalone is Service.NestedDefaultIndividuallyMixed.getStandalone; + deleteStandalone is Service.NestedDefaultIndividuallyMixed.deleteStandalone; +} diff --git a/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individually/main.tsp b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individually/main.tsp new file mode 100644 index 0000000000..3c948ae2b8 --- /dev/null +++ b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individually/main.tsp @@ -0,0 +1,125 @@ +import "@typespec/http"; +import "@typespec/spector"; +import "@azure-tools/typespec-client-generator-core"; + +using Http; +using Spector; +using Azure.ClientGenerator.Core; + +@doc("Test for client initialization decorator - moving parameters from method to client level") +@scenarioService("/azure/client-generator-core/client-initialization/individually") +namespace Service; + +// Common parameter types and models + +model NameHeaderParam { + @header("name") + name: string; +} + +model RegionQueryParam { + @query + region: string; +} + +model Input { + name: string; +} + +model DefaultQueryParam { + @query + blobName: string; +} + +// Nested layer services for first-layer default (no decorator) +@doc("Operations for nested default -> individually") +@route("/nested-default-individually") +interface NestedDefaultIndividuallyWithPath { + @route("/{blobName}/with-query") + @get + withQuery(@path blobName: string, @query format?: string): void; + + @route("/{blobName}/get-standalone") + @get + getStandalone(@path blobName: string): BlobProperties; + + @route("/{blobName}") + @delete + deleteStandalone(@path blobName: string): void; +} + +// Nested layer services for first-layer default (no decorator) - Query variant +@doc("Operations for nested default -> individually with query parameters") +@route("/nested-default-individually-query") +interface NestedDefaultIndividuallyWithQuery { + @route("/with-query") + @get + withQuery(...DefaultQueryParam): void; + + @route("/get-standalone") + @get + getStandalone(...DefaultQueryParam): BlobProperties; + + @route("/delete-resource") + @delete + deleteStandalone(...DefaultQueryParam): void; +} + +// Nested layer services for default -> header parameters +@doc("Operations for nested default -> individually header parameters") +@route("/nested-default-individually-header") +interface NestedDefaultIndividuallyHeader { + @route("/with-query") + @get + withQuery(...NameHeaderParam, @query format?: string): void; + + @route("/get-standalone") + @get + getStandalone(...NameHeaderParam): void; + + @route("/delete-standalone") + @delete + deleteStandalone(...NameHeaderParam): void; +} + +// Nested layer services for default -> multiple parameters +@doc("Operations for nested default -> individually multiple parameters") +@route("/nested-default-individually-multiple") +interface NestedDefaultIndividuallyMultiple { + @route("/with-query") + @get + withQuery(...NameHeaderParam, ...RegionQueryParam, @query format?: string): void; + + @route("/get-standalone") + @get + getStandalone(...NameHeaderParam, ...RegionQueryParam): void; + + @route("/delete-standalone") + @delete + deleteStandalone(...NameHeaderParam, ...RegionQueryParam): void; +} + +// Nested layer services for default -> mixed parameters +@doc("Operations for nested default -> individually mixed parameters") +@route("/nested-default-individually-mixed") +interface NestedDefaultIndividuallyMixed { + @route("/with-query") + @get + withQuery(...NameHeaderParam, ...RegionQueryParam, @query format?: string): void; + + @route("/get-standalone") + @get + getStandalone(...NameHeaderParam, ...RegionQueryParam): void; + + @route("/delete-standalone") + @delete + deleteStandalone(...NameHeaderParam, ...RegionQueryParam): void; +} + +@doc("Properties of a blob") +model BlobProperties { + name: string; + size: int64; + contentType: string; + createdOn: utcDateTime; +} diff --git a/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individually/mockapi.ts b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individually/mockapi.ts new file mode 100644 index 0000000000..552641d571 --- /dev/null +++ b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individually/mockapi.ts @@ -0,0 +1,493 @@ +import { json, passOnSuccess, ScenarioMockApi } from "@typespec/spec-api"; + +export const Scenarios: Record = {}; + +// Mock responses for IndividuallyNestedWithPathClient scenario +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_DefaultClient_IndividuallyNestedWithPathClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually/test-resource/with-query", + method: "get", + request: { + query: { + format: "text", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually/test-resource/get-standalone", + method: "get", + request: {}, + response: { + status: 200, + body: json({ + name: "test-resource", + size: 1024, + contentType: "application/octet-stream", + createdOn: "2023-01-01T12:00:00Z", + }), + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually/test-resource", + method: "delete", + request: {}, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +// Mock responses for IndividuallyNestedWithQueryClient scenario +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_DefaultClient_IndividuallyNestedWithQueryClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-query/with-query", + method: "get", + request: { + query: { + blobName: "test-blob", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-query/get-standalone", + method: "get", + request: { + query: { + blobName: "test-blob", + }, + }, + response: { + status: 200, + body: json({ + name: "test-blob", + size: 1024, + contentType: "application/octet-stream", + createdOn: "2023-01-01T12:00:00Z", + }), + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-query/delete-resource", + method: "delete", + request: { + query: { + blobName: "test-blob", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +// Mock responses for IndividuallyNestedWithHeaderClient scenario +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_DefaultClient_IndividuallyNestedWithHeaderClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-header/with-query", + method: "get", + request: { + query: { + format: "text", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-header/get-standalone", + method: "get", + request: { + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-header/delete-standalone", + method: "delete", + request: { + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +// Mock responses for IndividuallyNestedWithMultipleClient scenario +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_DefaultClient_IndividuallyNestedWithMultipleClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-multiple/with-query", + method: "get", + request: { + query: { + format: "text", + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-multiple/get-standalone", + method: "get", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-multiple/delete-standalone", + method: "delete", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +// Mock responses for IndividuallyNestedWithMixedClient scenario +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_DefaultClient_IndividuallyNestedWithMixedClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-mixed/with-query", + method: "get", + request: { + query: { + format: "text", + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-mixed/get-standalone", + method: "get", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-mixed/delete-standalone", + method: "delete", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +// Additional mock responses for IndividuallyClient scenarios +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_IndividuallyClient_IndividuallyNestedWithPathClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually/test-resource/with-query", + method: "get", + request: { + query: { + format: "text", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually/test-resource/get-standalone", + method: "get", + request: {}, + response: { + status: 200, + body: json({ + name: "test-resource", + size: 1024, + contentType: "application/octet-stream", + createdOn: "2023-01-01T12:00:00Z", + }), + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually/test-resource", + method: "delete", + request: {}, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_IndividuallyClient_IndividuallyNestedWithQueryClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-query/with-query", + method: "get", + request: { + query: { + blobName: "test-blob", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-query/get-standalone", + method: "get", + request: { + query: { + blobName: "test-blob", + }, + }, + response: { + status: 200, + body: json({ + name: "test-blob", + size: 1024, + contentType: "application/octet-stream", + createdOn: "2023-01-01T12:00:00Z", + }), + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-query/delete-resource", + method: "delete", + request: { + query: { + blobName: "test-blob", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_IndividuallyClient_IndividuallyNestedWithHeaderClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-header/with-query", + method: "get", + request: { + query: { + format: "text", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-header/get-standalone", + method: "get", + request: { + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-header/delete-standalone", + method: "delete", + request: { + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_IndividuallyClient_IndividuallyNestedWithMultipleClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-multiple/with-query", + method: "get", + request: { + query: { + format: "text", + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-multiple/get-standalone", + method: "get", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-multiple/delete-standalone", + method: "delete", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_IndividuallyClient_IndividuallyNestedWithMixedClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-mixed/with-query", + method: "get", + request: { + query: { + format: "text", + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-mixed/get-standalone", + method: "get", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually/nested-default-individually-mixed/delete-standalone", + method: "delete", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); diff --git a/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individuallyParent/client.tsp b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individuallyParent/client.tsp new file mode 100644 index 0000000000..af5807304b --- /dev/null +++ b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individuallyParent/client.tsp @@ -0,0 +1,265 @@ +import "./main.tsp"; +import "@azure-tools/typespec-client-generator-core"; +import "@typespec/spector"; +import "@typespec/http"; + +using Spector; +using Http; + +@route("/azure/client-generator-core/client-initialization/individually-parent") +namespace _Specs_.Azure.ClientGenerator.Core.ClientInitialization.IndividuallyParent; + +@@global.Azure.ClientGenerator.Core.clientNamespace(_Specs_.Azure.ClientGenerator.Core.ClientInitialization.IndividuallyParent, + "azure.clientgenerator.core.clientinitialization", + "java" +); +@@global.Azure.ClientGenerator.Core.clientNamespace(Service, + "azure.clientgenerator.core.clientinitialization", + "java" +); + +// Reusable option types for client initialization +model PathParamClientOptions { + @doc("The blob name to use for operations") + blobName: string; +} + +model DefaultQueryParamClientOptions { + @doc("The blob name to use for operations") + blobName: string; +} + +model HeaderParamClientOptions { + @doc("The name to use for operations") + name: string; +} + +model MultipleParamsClientOptions { + @doc("The name to use for operations") + name: string; + + @doc("The region to use for operations") + region: string; +} + +model MixedParamsClientOptions { + @doc("The name to use for operations") + name: string; +} + +@global.Azure.ClientGenerator.Core.client({ + name: "IndividuallyParentClient", + service: Service, +}) +namespace IndividuallyParentClient { + // Scenario 6: Default -> Individually and Parent initialization with path parameter + @scenarioDoc(""" + Client for testing default -> individually and parent nested initialization. + + The parent client uses default initialization behavior, + and the child client uses both individually and parent initialization behavior. + + Parameters elevated to client level: + - resourceName: "test-resource" (path parameter) + + Expected client usage: + ```ts + // via IndividuallyParentClient (individually | parent initialization) + const client = new IndividuallyParentClient.getIndividuallyParentNestedWithPathClient({ + resourceName: "test-resource" + }); + + // directly (individually initialized) + const client = new IndividuallyParentNestedWithPathClient({ + resourceName: "test-resource" + }); + + // Operations don't need resourceName parameter + client.withQuery(format: "text"); + client.getStandalone(); + client.deleteStandalone(); + ``` + """) + @scenario + @global.Azure.ClientGenerator.Core.operationGroup + @global.Azure.ClientGenerator.Core.clientInitialization({ + parameters: PathParamClientOptions, + initializedBy: global.Azure.ClientGenerator.Core.InitializedBy.individually | global.Azure.ClientGenerator.Core.InitializedBy.parent, + }) + @route("/nested-default-individually-parent") + interface IndividuallyParentNestedWithPathClient { + withQuery is Service.NestedDefaultIndividuallyParentWithPath.withQuery; + getStandalone is Service.NestedDefaultIndividuallyParentWithPath.getStandalone; + deleteStandalone is Service.NestedDefaultIndividuallyParentWithPath.deleteStandalone; + } + + // Scenario 7: Default -> Individually and Parent initialization with query parameter + @scenarioDoc(""" + Client for testing default -> individually and parent nested initialization. + + The parent client uses default initialization behavior, + and the child client uses both individually and parent initialization behavior. + + Parameters elevated to client level: + - blobName: "test-blob" (query parameter) + + Expected client usage: + ```ts + // via IndividuallyParentClient (individually | parent initialization) + const client = new IndividuallyParentClient.getIndividuallyParentNestedWithQueryClient({ + blobName: "test-blob" + }); + + // directly (individually initialized) + const client = new IndividuallyParentNestedWithQueryClient({ + blobName: "test-blob" + }); + + // Operations don't need blobName parameter + client.withQuery(); + client.getStandalone(); + client.deleteStandalone(); + ``` + """) + @scenario + @global.Azure.ClientGenerator.Core.operationGroup + @global.Azure.ClientGenerator.Core.clientInitialization({ + parameters: DefaultQueryParamClientOptions, + initializedBy: global.Azure.ClientGenerator.Core.InitializedBy.individually | global.Azure.ClientGenerator.Core.InitializedBy.parent, + }) + @route("/nested-default-individually-parent-query") + interface IndividuallyParentNestedWithQueryClient { + withQuery is Service.NestedDefaultIndividuallyParentWithQuery.withQuery; + getStandalone is Service.NestedDefaultIndividuallyParentWithQuery.getStandalone; + deleteStandalone is Service.NestedDefaultIndividuallyParentWithQuery.deleteStandalone; + } + + // Scenario 8: Default -> Individually and Parent initialization with Header parameter + @scenarioDoc(""" + Client for testing default -> individually and parent header parameter nested initialization. + + The parent client uses default initialization behavior, + and the child client moves header parameters to client level and uses both individually and parent initialization. + + Parameters elevated to client level: + - name: "test-name-value" (header parameter) + + Expected client usage: + ```ts + // via IndividuallyParentClient (individually | parent initialization) + const client = new IndividuallyParentClient.getIndividuallyParentNestedWithHeaderClient({ + name: "test-name-value" + }); + + // directly (individually initialized) + const client = new IndividuallyParentNestedWithHeaderClient({ + name: "test-name-value" + }); + + // Operations don't need name header parameter + client.withQuery(format: "text"); + client.getStandalone(); + client.deleteStandalone(); + ``` + """) + @scenario + @global.Azure.ClientGenerator.Core.operationGroup + @global.Azure.ClientGenerator.Core.clientInitialization({ + parameters: HeaderParamClientOptions, + initializedBy: global.Azure.ClientGenerator.Core.InitializedBy.individually | global.Azure.ClientGenerator.Core.InitializedBy.parent, + }) + @route("/nested-default-individually-parent-header") + interface IndividuallyParentNestedWithHeaderClient { + withQuery is Service.NestedDefaultIndividuallyParentHeader.withQuery; + getStandalone is Service.NestedDefaultIndividuallyParentHeader.getStandalone; + deleteStandalone is Service.NestedDefaultIndividuallyParentHeader.deleteStandalone; + } + + // Scenario 15: Default -> Individually and Parent Multiple parameters client + @scenarioDoc(""" + Client for testing default -> individually and parent multiple parameters nested initialization. + + The parent client uses default initialization behavior, + and the child client moves multiple parameters (header and query) to client level with both individually and parent initialization. + + Parameters elevated to client level: + - name: "test-name-value" (header parameter) + - region: "us-west" (query parameter) + + Expected client usage: + ```ts + // via IndividuallyParentClient (individually | parent initialization) + const client = new IndividuallyParentClient.getIndividuallyParentNestedWithMultipleClient({ + name: "test-name-value", + region: "us-west" + }); + + // directly (individually initialized) + const client = new IndividuallyParentNestedWithMultipleClient({ + name: "test-name-value", + region: "us-west" + }); + + // Operations don't need name or region parameters + client.withQuery(format: "text"); + client.getStandalone(); + client.deleteStandalone(); + ``` + """) + @scenario + @global.Azure.ClientGenerator.Core.operationGroup + @global.Azure.ClientGenerator.Core.clientInitialization({ + parameters: MultipleParamsClientOptions, + initializedBy: global.Azure.ClientGenerator.Core.InitializedBy.individually | global.Azure.ClientGenerator.Core.InitializedBy.parent, + }) + @route("/nested-default-individually-parent-multiple") + interface IndividuallyParentNestedWithMultipleClient { + withQuery is Service.NestedDefaultIndividuallyParentMultiple.withQuery; + getStandalone is Service.NestedDefaultIndividuallyParentMultiple.getStandalone; + deleteStandalone is Service.NestedDefaultIndividuallyParentMultiple.deleteStandalone; + } + + // Scenario 16: Default -> Individually and Parent Mixed parameters client + @scenarioDoc(""" + Client for testing default -> individually and parent mixed parameters nested initialization. + + The parent client uses default initialization behavior, + and the child client moves some parameters to client level while keeping others at method level with both individually and parent initialization. + + Parameters elevated to client level: + - name: "test-name-value" (header parameter) + + Parameters remaining at method level: + - region: "us-west" (query parameter) + + Expected client usage: + ```ts + // via IndividuallyParentClient (individually | parent initialization) + const client = new IndividuallyParentClient.getIndividuallyParentNestedWithMixedClient({ + name: "test-name-value" + }); + + // directly (individually initialized) + const client = new IndividuallyParentNestedWithMixedClient({ + name: "test-name-value" + }); + + // Operations still need region parameter + client.withQuery(region: "us-west", format: "text"); + client.getStandalone(region: "us-west"); + client.deleteStandalone(region: "us-west"); + ``` + """) + @scenario + @global.Azure.ClientGenerator.Core.operationGroup + @global.Azure.ClientGenerator.Core.clientInitialization({ + parameters: MixedParamsClientOptions, + initializedBy: global.Azure.ClientGenerator.Core.InitializedBy.individually | global.Azure.ClientGenerator.Core.InitializedBy.parent, + }) + @route("/nested-default-individually-parent-mixed") + interface IndividuallyParentNestedWithMixedClient { + withQuery is Service.NestedDefaultIndividuallyParentMixed.withQuery; + getStandalone is Service.NestedDefaultIndividuallyParentMixed.getStandalone; + deleteStandalone is Service.NestedDefaultIndividuallyParentMixed.deleteStandalone; + } +} diff --git a/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individuallyParent/main.tsp b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individuallyParent/main.tsp new file mode 100644 index 0000000000..20d9360359 --- /dev/null +++ b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individuallyParent/main.tsp @@ -0,0 +1,125 @@ +import "@typespec/http"; +import "@typespec/spector"; +import "@azure-tools/typespec-client-generator-core"; + +using Http; +using Spector; +using Azure.ClientGenerator.Core; + +@doc("Test for client initialization decorator - moving parameters from method to client level") +@scenarioService("/azure/client-generator-core/client-initialization/individually-parent") +namespace Service; + +// Common parameter types and models + +model NameHeaderParam { + @header("name") + name: string; +} + +model RegionQueryParam { + @query + region: string; +} + +model Input { + name: string; +} + +model DefaultQueryParam { + @query + blobName: string; +} + +// Nested layer services for first-layer default (no decorator) +@doc("Operations for nested default -> individually and parent") +@route("/nested-default-individually-parent") +interface NestedDefaultIndividuallyParentWithPath { + @route("/{blobName}/with-query") + @get + withQuery(@path blobName: string, @query format?: string): void; + + @route("/{blobName}/get-standalone") + @get + getStandalone(@path blobName: string): BlobProperties; + + @route("/{blobName}") + @delete + deleteStandalone(@path blobName: string): void; +} + +// Nested layer services for first-layer default (no decorator) - Query variant +@doc("Operations for nested default -> individually and parent with query parameters") +@route("/nested-default-individually-parent-query") +interface NestedDefaultIndividuallyParentWithQuery { + @route("/with-query") + @get + withQuery(...DefaultQueryParam): void; + + @route("/get-standalone") + @get + getStandalone(...DefaultQueryParam): BlobProperties; + + @route("/delete-resource") + @delete + deleteStandalone(...DefaultQueryParam): void; +} + +// Nested layer services for default -> header parameters +@doc("Operations for nested default -> individually and parent header parameters") +@route("/nested-default-individually-parent-header") +interface NestedDefaultIndividuallyParentHeader { + @route("/with-query") + @get + withQuery(...NameHeaderParam, @query format?: string): void; + + @route("/get-standalone") + @get + getStandalone(...NameHeaderParam): void; + + @route("/delete-standalone") + @delete + deleteStandalone(...NameHeaderParam): void; +} + +// Nested layer services for default -> multiple parameters +@doc("Operations for nested default -> individually and parent multiple parameters") +@route("/nested-default-individually-parent-multiple") +interface NestedDefaultIndividuallyParentMultiple { + @route("/with-query") + @get + withQuery(...NameHeaderParam, ...RegionQueryParam, @query format?: string): void; + + @route("/get-standalone") + @get + getStandalone(...NameHeaderParam, ...RegionQueryParam): void; + + @route("/delete-standalone") + @delete + deleteStandalone(...NameHeaderParam, ...RegionQueryParam): void; +} + +// Nested layer services for default -> mixed parameters +@doc("Operations for nested default -> individually and parent mixed parameters") +@route("/nested-default-individually-parent-mixed") +interface NestedDefaultIndividuallyParentMixed { + @route("/with-query") + @get + withQuery(...NameHeaderParam, ...RegionQueryParam, @query format?: string): void; + + @route("/get-standalone") + @get + getStandalone(...NameHeaderParam, ...RegionQueryParam): void; + + @route("/delete-standalone") + @delete + deleteStandalone(...NameHeaderParam, ...RegionQueryParam): void; +} + +@doc("Properties of a blob") +model BlobProperties { + name: string; + size: int64; + contentType: string; + createdOn: utcDateTime; +} diff --git a/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individuallyParent/mockapi.ts b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individuallyParent/mockapi.ts new file mode 100644 index 0000000000..8fd5dc4507 --- /dev/null +++ b/packages/azure-http-specs/specs/azure/client-generator-core/client-initialization/individuallyParent/mockapi.ts @@ -0,0 +1,493 @@ +import { json, passOnSuccess, ScenarioMockApi } from "@typespec/spec-api"; + +export const Scenarios: Record = {}; + +// Mock responses for IndividuallyParentNestedWithPathClient scenario +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_DefaultParentClient_IndividuallyParentNestedWithPathClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent/test-resource/with-query", + method: "get", + request: { + query: { + format: "text", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent/test-resource/get-standalone", + method: "get", + request: {}, + response: { + status: 200, + body: json({ + name: "test-resource", + size: 1024, + contentType: "application/octet-stream", + createdOn: "2023-01-01T12:00:00Z", + }), + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent/test-resource", + method: "delete", + request: {}, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +// Mock responses for IndividuallyParentNestedWithQueryClient scenario +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_DefaultParentClient_IndividuallyParentNestedWithQueryClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-query/with-query", + method: "get", + request: { + query: { + blobName: "test-blob", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-query/get-standalone", + method: "get", + request: { + query: { + blobName: "test-blob", + }, + }, + response: { + status: 200, + body: json({ + name: "test-blob", + size: 1024, + contentType: "application/octet-stream", + createdOn: "2023-01-01T12:00:00Z", + }), + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-query/delete-resource", + method: "delete", + request: { + query: { + blobName: "test-blob", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +// Mock responses for IndividuallyParentNestedWithHeaderClient scenario +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_DefaultParentClient_IndividuallyParentNestedWithHeaderClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-header/with-query", + method: "get", + request: { + query: { + format: "text", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-header/get-standalone", + method: "get", + request: { + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-header/delete-standalone", + method: "delete", + request: { + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +// Mock responses for IndividuallyParentNestedWithMultipleClient scenario +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_DefaultParentClient_IndividuallyParentNestedWithMultipleClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-multiple/with-query", + method: "get", + request: { + query: { + format: "text", + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-multiple/get-standalone", + method: "get", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-multiple/delete-standalone", + method: "delete", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +// Mock responses for IndividuallyParentNestedWithMixedClient scenario +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_DefaultParentClient_IndividuallyParentNestedWithMixedClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-mixed/with-query", + method: "get", + request: { + query: { + format: "text", + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-mixed/get-standalone", + method: "get", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-mixed/delete-standalone", + method: "delete", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +// Additional mock responses for IndividuallyParentClient scenarios +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_IndividuallyParentClient_IndividuallyParentNestedWithPathClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent/test-resource/with-query", + method: "get", + request: { + query: { + format: "text", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent/test-resource/get-standalone", + method: "get", + request: {}, + response: { + status: 200, + body: json({ + name: "test-resource", + size: 1024, + contentType: "application/octet-stream", + createdOn: "2023-01-01T12:00:00Z", + }), + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent/test-resource", + method: "delete", + request: {}, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_IndividuallyParentClient_IndividuallyParentNestedWithQueryClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-query/with-query", + method: "get", + request: { + query: { + blobName: "test-blob", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-query/get-standalone", + method: "get", + request: { + query: { + blobName: "test-blob", + }, + }, + response: { + status: 200, + body: json({ + name: "test-blob", + size: 1024, + contentType: "application/octet-stream", + createdOn: "2023-01-01T12:00:00Z", + }), + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-query/delete-resource", + method: "delete", + request: { + query: { + blobName: "test-blob", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_IndividuallyParentClient_IndividuallyParentNestedWithHeaderClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-header/with-query", + method: "get", + request: { + query: { + format: "text", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-header/get-standalone", + method: "get", + request: { + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-header/delete-standalone", + method: "delete", + request: { + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_IndividuallyParentClient_IndividuallyParentNestedWithMultipleClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-multiple/with-query", + method: "get", + request: { + query: { + format: "text", + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-multiple/get-standalone", + method: "get", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-multiple/delete-standalone", + method: "delete", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); + +Scenarios.Azure_ClientGenerator_Core_ClientInitialization_IndividuallyParentClient_IndividuallyParentNestedWithMixedClient = + passOnSuccess([ + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-mixed/with-query", + method: "get", + request: { + query: { + format: "text", + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-mixed/get-standalone", + method: "get", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + { + uri: "/azure/client-generator-core/client-initialization/individually-parent/nested-default-individually-parent-mixed/delete-standalone", + method: "delete", + request: { + query: { + region: "us-west", + }, + headers: { + name: "test-name-value", + }, + }, + response: { + status: 204, + }, + kind: "MockApiDefinition", + }, + ]); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 797a761c4a..4a65d6f963 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -98,11 +98,11 @@ importers: specifier: ^1.0.1 version: 1.0.3 '@eslint/js': - specifier: ^9.39.2 + specifier: ^9.23.0 version: 9.39.2 '@microsoft/api-extractor': - specifier: ^7.55.2 - version: 7.55.2(@types/node@25.0.2) + specifier: ^7.52.1 + version: 7.55.2(@types/node@24.10.4) '@octokit/core': specifier: ^7.0.2 version: 7.0.6 @@ -116,22 +116,22 @@ importers: specifier: ^4.0.9 version: 4.0.10 '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/eslint-plugin': - specifier: ^1.5.2 + specifier: ^1.1.38 version: 1.5.2(eslint@9.39.2)(typescript@5.9.3)(vitest@4.0.15) c8: specifier: ^10.1.3 version: 10.1.3 cspell: - specifier: ^9.4.0 + specifier: ^9.0.1 version: 9.4.0 eslint: - specifier: ^9.39.2 + specifier: ^9.23.0 version: 9.39.2 eslint-plugin-import: specifier: ^2.31.0 @@ -149,20 +149,20 @@ importers: specifier: ~1.1.1 version: 1.1.1 playwright: - specifier: ^1.57.0 + specifier: ^1.51.1 version: 1.57.0 prettier: - specifier: ~3.7.4 - version: 3.7.4 + specifier: ~3.6.2 + version: 3.6.2 prettier-plugin-astro: specifier: ^0.14.1 version: 0.14.1 prettier-plugin-organize-imports: specifier: ~4.3.0 - version: 4.3.0(prettier@3.7.4)(typescript@5.9.3) + version: 4.3.0(prettier@3.6.2)(typescript@5.9.3) prettier-plugin-sh: specifier: ^0.17.4 - version: 0.17.4(prettier@3.7.4) + version: 0.17.4(prettier@3.6.2) rimraf: specifier: ~6.1.2 version: 6.1.2 @@ -170,37 +170,37 @@ importers: specifier: ^13.0.3 version: 13.0.4(typescript@5.9.3) tsx: - specifier: ^4.21.0 + specifier: ^4.19.3 version: 4.21.0 typescript: specifier: ~5.9.2 version: 5.9.3 typescript-eslint: - specifier: ^8.49.0 + specifier: ^8.27.0 version: 8.49.0(eslint@9.39.2)(typescript@5.9.3) vite-plugin-node-polyfills: specifier: ^0.24.0 - version: 0.24.0(rollup@4.49.0)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + version: 0.24.0(rollup@4.49.0)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) yaml: - specifier: ~2.8.2 + specifier: ~2.8.0 version: 2.8.2 core/packages/asset-emitter: devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -212,8 +212,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/astro-utils: dependencies: @@ -221,8 +221,8 @@ importers: specifier: ^0.9.4 version: 0.9.6(prettier-plugin-astro@0.14.1)(prettier@3.7.4)(typescript@5.9.3) '@astrojs/starlight': - specifier: ^0.37.0 - version: 0.37.1(astro@5.16.5(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@types/node@25.0.2)(rollup@4.49.0)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)) + specifier: ^0.36.1 + version: 0.36.3(astro@5.16.5(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@types/node@25.0.2)(rollup@4.49.0)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)) '@expressive-code/core': specifier: ^0.41.2 version: 0.41.4 @@ -243,25 +243,25 @@ importers: version: 5.9.3 devDependencies: '@types/react': - specifier: ~19.2.7 + specifier: ~19.2.2 version: 19.2.7 astro: - specifier: ^5.16.5 + specifier: ^5.5.6 version: 5.16.5(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@types/node@25.0.2)(rollup@4.49.0)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2) core/packages/best-practices: devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -273,8 +273,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/bundle-uploader: dependencies: @@ -286,7 +286,7 @@ importers: version: 12.29.1 '@pnpm/workspace.find-packages': specifier: ^1000.0.24 - version: 1000.0.49(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))(typanion@3.14.0) + version: 1000.0.49(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0) '@typespec/bundler': specifier: workspace:^ version: link:../bundler @@ -301,16 +301,16 @@ importers: version: 7.7.3 devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/semver': specifier: ^7.5.8 version: 7.7.1 '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -322,8 +322,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/bundler: dependencies: @@ -347,16 +347,16 @@ importers: version: 18.0.0 devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/yargs': specifier: ~17.0.33 version: 17.0.35 '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -368,11 +368,11 @@ importers: specifier: ~5.9.2 version: 5.9.3 vite: - specifier: ^7.2.7 - version: 7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^7.0.5 + version: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/compiler: dependencies: @@ -381,7 +381,7 @@ importers: version: 7.27.1 '@inquirer/prompts': specifier: ^8.0.1 - version: 8.1.0(@types/node@25.0.2) + version: 8.1.0(@types/node@24.10.4) ajv: specifier: ~8.17.1 version: 8.17.1 @@ -404,8 +404,8 @@ importers: specifier: ~1.1.1 version: 1.1.1 prettier: - specifier: ~3.7.4 - version: 3.7.4 + specifier: ~3.6.2 + version: 3.6.2 semver: specifier: ^7.7.1 version: 7.7.3 @@ -422,7 +422,7 @@ importers: specifier: ~1.0.12 version: 1.0.12 yaml: - specifier: ~2.8.2 + specifier: ~2.8.0 version: 2.8.2 yargs: specifier: ~18.0.0 @@ -435,8 +435,8 @@ importers: specifier: ~4.2.5 version: 4.2.6 '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/semver': specifier: ^7.5.8 version: 7.7.1 @@ -447,10 +447,10 @@ importers: specifier: workspace:^ version: link:../internal-build-utils '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -474,33 +474,33 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) vscode-oniguruma: specifier: ~2.0.1 version: 2.0.1 vscode-textmate: - specifier: ~9.3.0 - version: 9.3.0 + specifier: ~9.2.0 + version: 9.2.1 core/packages/emitter-framework: dependencies: '@alloy-js/csharp': - specifier: ^0.22.0 - version: 0.22.0 + specifier: ^0.21.0 + version: 0.21.0 devDependencies: '@alloy-js/cli': - specifier: ^0.22.0 - version: 0.22.0 + specifier: ^0.21.0 + version: 0.21.0 '@alloy-js/core': - specifier: ^0.22.0 - version: 0.22.0 + specifier: ^0.21.0 + version: 0.21.0 '@alloy-js/rollup-plugin': specifier: ^0.1.0 version: 0.1.0(@babel/core@7.28.5)(@types/babel__core@7.20.5)(rollup@4.49.0) '@alloy-js/typescript': - specifier: ^0.22.0 - version: 0.22.0 + specifier: ^0.21.0 + version: 0.21.0 '@typespec/compiler': specifier: workspace:^ version: link:../compiler @@ -511,8 +511,8 @@ importers: specifier: ^2.0.3 version: 2.0.3 prettier: - specifier: ~3.7.4 - version: 3.7.4 + specifier: ~3.6.2 + version: 3.6.2 tree-sitter-c-sharp: specifier: ^0.23.0 version: 0.23.1 @@ -532,11 +532,11 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) web-tree-sitter: - specifier: ^0.26.3 - version: 0.26.3 + specifier: ^0.25.4 + version: 0.25.10(@types/emscripten@1.41.5) core/packages/eslint-plugin-typespec: dependencies: @@ -545,28 +545,28 @@ importers: version: 8.49.0(eslint@9.39.2)(typescript@5.9.3) devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typescript-eslint/parser': - specifier: ^8.49.0 + specifier: ^8.27.0 version: 8.49.0(eslint@9.39.2)(typescript@5.9.3) '@typescript-eslint/rule-tester': - specifier: ^8.49.0 + specifier: ^8.27.0 version: 8.49.0(eslint@9.39.2)(typescript@5.9.3) '@typescript-eslint/types': - specifier: ^8.49.0 + specifier: ^8.27.0 version: 8.49.0 '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 version: 10.1.3 eslint: - specifier: ^9.39.2 + specifier: ^9.23.0 version: 9.39.2 rimraf: specifier: ~6.1.2 @@ -575,14 +575,14 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/events: devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler @@ -593,10 +593,10 @@ importers: specifier: workspace:^ version: link:../tspd '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -608,8 +608,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/html-program-viewer: dependencies: @@ -645,10 +645,10 @@ importers: specifier: ^16.2.0 version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/react': - specifier: ~19.2.7 + specifier: ~19.2.2 version: 19.2.7 '@types/react-dom': specifier: ~19.2.2 @@ -660,13 +660,13 @@ importers: specifier: workspace:^ version: link:../react-components '@vitejs/plugin-react': - specifier: ~5.1.2 - version: 5.1.2(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + specifier: ~5.1.0 + version: 5.1.2(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -678,26 +678,26 @@ importers: specifier: ~5.9.2 version: 5.9.3 vite: - specifier: ^7.2.7 - version: 7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^7.0.5 + version: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) vite-plugin-checker: - specifier: ^0.12.0 - version: 0.12.0(eslint@9.39.2)(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + specifier: ^0.11.0 + version: 0.11.0(eslint@9.39.2)(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) vite-plugin-dts: specifier: 4.5.4 - version: 4.5.4(@types/node@25.0.2)(rollup@4.49.0)(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + version: 4.5.4(@types/node@24.10.4)(rollup@4.49.0)(typescript@5.9.3)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) vite-plugin-node-polyfills: specifier: ^0.24.0 - version: 0.24.0(rollup@4.49.0)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + version: 0.24.0(rollup@4.49.0)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/http: devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler @@ -711,10 +711,10 @@ importers: specifier: workspace:^ version: link:../tspd '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -726,17 +726,14 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/http-canonicalization: dependencies: '@typespec/compiler': specifier: workspace:^ version: link:../compiler - '@typespec/emitter-framework': - specifier: workspace:^ - version: link:../emitter-framework '@typespec/http': specifier: workspace:^ version: link:../http @@ -745,32 +742,32 @@ importers: version: link:../mutator-framework devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 concurrently: specifier: ^9.1.2 version: 9.2.1 prettier: - specifier: ~3.7.4 - version: 3.7.4 + specifier: ~3.6.2 + version: 3.6.2 core/packages/http-client: devDependencies: '@alloy-js/cli': - specifier: ^0.22.0 - version: 0.22.0 + specifier: ^0.21.0 + version: 0.21.0 '@alloy-js/core': - specifier: ^0.22.0 - version: 0.22.0 + specifier: ^0.21.0 + version: 0.21.0 '@alloy-js/rollup-plugin': specifier: ^0.1.0 version: 0.1.0(@babel/core@7.28.5)(@types/babel__core@7.20.5)(rollup@4.49.0) '@alloy-js/typescript': - specifier: ^0.22.0 - version: 0.22.0 + specifier: ^0.21.0 + version: 0.21.0 '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler @@ -787,26 +784,26 @@ importers: specifier: workspace:^ version: link:../tspd eslint: - specifier: ^9.39.2 + specifier: ^9.23.0 version: 9.39.2 prettier: - specifier: ~3.7.4 - version: 3.7.4 + specifier: ~3.6.2 + version: 3.6.2 typescript: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/http-client-js: dependencies: '@alloy-js/core': - specifier: ^0.22.0 - version: 0.22.0 + specifier: ^0.21.0 + version: 0.21.0 '@alloy-js/typescript': - specifier: ^0.22.0 - version: 0.22.0 + specifier: ^0.21.0 + version: 0.21.0 '@typespec/compiler': specifier: workspace:^ version: link:../compiler @@ -820,12 +817,12 @@ importers: specifier: workspace:^ version: link:../rest prettier: - specifier: ~3.7.4 - version: 3.7.4 + specifier: ~3.6.2 + version: 3.6.2 devDependencies: '@alloy-js/cli': - specifier: ^0.22.0 - version: 0.22.0 + specifier: ^0.21.0 + version: 0.21.0 '@alloy-js/rollup-plugin': specifier: ^0.1.0 version: 0.1.0(@babel/core@7.28.5)(@types/babel__core@7.20.5)(rollup@4.49.0) @@ -851,7 +848,7 @@ importers: specifier: workspace:^ version: link:../versioning '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) change-case: specifier: ~5.4.4 @@ -863,7 +860,7 @@ importers: specifier: ~10.1.0 version: 10.1.0 execa: - specifier: ^9.6.1 + specifier: ^9.5.2 version: 9.6.1 fs-extra: specifier: ^11.2.0 @@ -872,7 +869,7 @@ importers: specifier: ~16.0.0 version: 16.0.0 inquirer: - specifier: ^13.1.0 + specifier: ^13.0.1 version: 13.1.0(@types/node@25.0.2) ora: specifier: ^9.0.0 @@ -890,7 +887,7 @@ importers: specifier: ^2.0.0 version: 2.0.0 vitest: - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) yargs: specifier: ~18.0.0 @@ -911,7 +908,7 @@ importers: specifier: ~1.1.1 version: 1.1.1 yaml: - specifier: ~2.8.2 + specifier: ~2.8.0 version: 2.8.2 yargs: specifier: ~18.0.0 @@ -921,8 +918,8 @@ importers: specifier: ~6.0.6 version: 6.0.6 '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/yargs': specifier: ~17.0.33 version: 17.0.35 @@ -960,10 +957,10 @@ importers: specifier: workspace:^ version: link:../versioning '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) fs-extra: specifier: ^11.2.0 @@ -972,8 +969,8 @@ importers: specifier: ~16.0.0 version: 16.0.0 inquirer: - specifier: ^13.1.0 - version: 13.1.0(@types/node@25.0.2) + specifier: ^13.0.1 + version: 13.1.0(@types/node@24.10.4) ora: specifier: ^9.0.0 version: 9.0.0 @@ -987,27 +984,27 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/http-server-js: dependencies: prettier: - specifier: ~3.7.4 - version: 3.7.4 + specifier: ~3.6.2 + version: 3.6.2 yaml: - specifier: ~2.8.2 + specifier: ~2.8.0 version: 2.8.2 devDependencies: '@types/express': - specifier: ^5.0.6 + specifier: ^5.0.1 version: 5.0.6 '@types/morgan': specifier: ^1.9.9 version: 1.9.10 '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/swagger-ui-express': specifier: ^4.1.8 version: 4.1.8 @@ -1033,16 +1030,16 @@ importers: specifier: workspace:^ version: link:../tspd '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) decimal.js: specifier: ^10.5.0 version: 10.6.0 express: - specifier: ^5.2.1 + specifier: ^5.1.0 version: 5.2.1 fs-extra: specifier: ^11.2.0 @@ -1051,8 +1048,8 @@ importers: specifier: ~16.0.0 version: 16.0.0 inquirer: - specifier: ^13.1.0 - version: 13.1.0(@types/node@25.0.2) + specifier: ^13.0.1 + version: 13.1.0(@types/node@24.10.4) morgan: specifier: ^1.10.0 version: 1.10.1 @@ -1075,14 +1072,14 @@ importers: specifier: ^0.3.0 version: 0.3.0 tsx: - specifier: ^4.21.0 + specifier: ^4.19.3 version: 4.21.0 typescript: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) yargs: specifier: ~18.0.0 version: 18.0.0 @@ -1121,8 +1118,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/json-schema': specifier: workspace:^ version: link:../json-schema @@ -1146,12 +1143,12 @@ importers: dependencies: '@pnpm/workspace.find-packages': specifier: ^1000.0.24 - version: 1000.0.49(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))(typanion@3.14.0) + version: 1000.0.49(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0) cross-spawn: specifier: ^7.0.6 version: 7.0.6 cspell: - specifier: ^9.4.0 + specifier: ^9.0.1 version: 9.4.0 semver: specifier: ^7.7.1 @@ -1167,8 +1164,8 @@ importers: specifier: ~6.0.6 version: 6.0.6 '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/semver': specifier: ^7.5.8 version: 7.7.1 @@ -1176,17 +1173,17 @@ importers: specifier: ~17.0.33 version: 17.0.35 '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 version: 10.1.3 chokidar: - specifier: ~5.0.0 - version: 5.0.0 + specifier: ~4.0.3 + version: 4.0.3 rimraf: specifier: ~6.1.2 version: 6.1.2 @@ -1194,8 +1191,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/json-schema: dependencies: @@ -1203,12 +1200,12 @@ importers: specifier: workspace:^ version: link:../asset-emitter yaml: - specifier: ~2.8.2 + specifier: ~2.8.0 version: 2.8.2 devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler @@ -1222,10 +1219,10 @@ importers: specifier: workspace:^ version: link:../tspd '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) ajv: specifier: ~8.17.1 @@ -1243,22 +1240,22 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/library-linter: devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -1270,8 +1267,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/monarch: dependencies: @@ -1280,19 +1277,19 @@ importers: version: 0.55.1 devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 version: 10.1.3 happy-dom: - specifier: ^20.0.11 + specifier: ^20.0.8 version: 20.0.11 rimraf: specifier: ~6.1.2 @@ -1301,14 +1298,14 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/mutator-framework: devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler @@ -1316,14 +1313,14 @@ importers: specifier: ^9.1.2 version: 9.2.1 prettier: - specifier: ~3.7.4 - version: 3.7.4 + specifier: ~3.6.2 + version: 3.6.2 core/packages/openapi: devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler @@ -1340,10 +1337,10 @@ importers: specifier: workspace:^ version: link:../tspd '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -1355,8 +1352,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/openapi3: dependencies: @@ -1373,12 +1370,12 @@ importers: specifier: workspace:^ version: link:../asset-emitter yaml: - specifier: ~2.8.2 + specifier: ~2.8.0 version: 2.8.2 devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/yargs': specifier: ~17.0.33 version: 17.0.35 @@ -1419,10 +1416,10 @@ importers: specifier: workspace:^ version: link:../xml '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -1437,8 +1434,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/pack: dependencies: @@ -1450,13 +1447,13 @@ importers: version: 1.1.1 devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -1471,11 +1468,11 @@ importers: specifier: ~5.9.2 version: 5.9.3 vite: - specifier: ^7.2.7 - version: 7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^7.0.5 + version: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/playground: dependencies: @@ -1547,22 +1544,22 @@ importers: specifier: ^7.26.10 version: 7.28.5 '@playwright/test': - specifier: ^1.57.0 + specifier: ^1.51.1 version: 1.57.0 '@storybook/cli': - specifier: ^10.1.8 + specifier: ^10.0.8 version: 10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@storybook/react-vite': - specifier: ^10.1.8 - version: 10.1.8(esbuild@0.27.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.49.0)(storybook@10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + specifier: ^10.0.8 + version: 10.1.8(esbuild@0.27.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.49.0)(storybook@10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.9.3)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) '@types/debounce': specifier: ~1.2.4 version: 1.2.4 '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/react': - specifier: ~19.2.7 + specifier: ~19.2.2 version: 19.2.7 '@types/react-dom': specifier: ~19.2.2 @@ -1574,8 +1571,8 @@ importers: specifier: workspace:^ version: link:../react-components '@vitejs/plugin-react': - specifier: ~5.1.2 - version: 5.1.2(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + specifier: ~5.1.0 + version: 5.1.2(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) c8: specifier: ^10.1.3 version: 10.1.3 @@ -1583,26 +1580,26 @@ importers: specifier: ~10.1.0 version: 10.1.0 es-module-shims: - specifier: ~2.7.0 - version: 2.7.0 + specifier: ~2.6.0 + version: 2.6.2 rimraf: specifier: ~6.1.2 version: 6.1.2 storybook: - specifier: ^10.1.8 + specifier: ^10.0.8 version: 10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) typescript: specifier: ~5.9.2 version: 5.9.3 vite: - specifier: ^7.2.7 - version: 7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^7.0.5 + version: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) vite-plugin-checker: - specifier: ^0.12.0 - version: 0.12.0(eslint@9.39.2)(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + specifier: ^0.11.0 + version: 0.11.0(eslint@9.39.2)(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) vite-plugin-dts: specifier: 4.5.4 - version: 4.5.4(@types/node@25.0.2)(rollup@4.49.0)(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + version: 4.5.4(@types/node@24.10.4)(rollup@4.49.0)(typescript@5.9.3)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) core/packages/playground-website: dependencies: @@ -1658,8 +1655,8 @@ importers: specifier: workspace:^ version: link:../xml es-module-shims: - specifier: ~2.7.0 - version: 2.7.0 + specifier: ~2.6.0 + version: 2.6.2 react: specifier: ~18.3.1 version: 18.3.1 @@ -1671,16 +1668,16 @@ importers: specifier: ^7.26.10 version: 7.28.5 '@playwright/test': - specifier: ^1.57.0 + specifier: ^1.51.1 version: 1.57.0 '@types/debounce': specifier: ~1.2.4 version: 1.2.4 '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/react': - specifier: ~19.2.7 + specifier: ~19.2.2 version: 19.2.7 '@types/react-dom': specifier: ~19.2.2 @@ -1689,13 +1686,13 @@ importers: specifier: ~5.21.1 version: 5.21.1 '@vitejs/plugin-react': - specifier: ~5.1.2 - version: 5.1.2(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + specifier: ~5.1.0 + version: 5.1.2(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -1713,23 +1710,23 @@ importers: specifier: ~5.9.2 version: 5.9.3 vite: - specifier: ^7.2.7 - version: 7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^7.0.5 + version: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) vite-plugin-dts: specifier: 4.5.4 - version: 4.5.4(@types/node@25.0.2)(rollup@4.49.0)(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + version: 4.5.4(@types/node@24.10.4)(rollup@4.49.0)(typescript@5.9.3)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) vite-plugin-node-polyfills: specifier: ^0.24.0 - version: 0.24.0(rollup@4.49.0)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + version: 0.24.0(rollup@4.49.0)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/prettier-plugin-typespec: dependencies: prettier: - specifier: ~3.7.4 - version: 3.7.4 + specifier: ~3.6.2 + version: 3.6.2 devDependencies: '@typespec/compiler': specifier: workspace:^ @@ -1741,7 +1738,7 @@ importers: specifier: ^0.27.0 version: 0.27.1 vitest: - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/protobuf: @@ -1750,8 +1747,8 @@ importers: specifier: ^4.0.9 version: 4.0.10 '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler @@ -1759,10 +1756,10 @@ importers: specifier: workspace:^ version: link:../tspd '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -1777,8 +1774,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/react-components: dependencies: @@ -1808,22 +1805,22 @@ importers: specifier: ^16.2.0 version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/react': - specifier: ~19.2.7 + specifier: ~19.2.2 version: 19.2.7 '@types/react-dom': specifier: ~19.2.2 version: 19.2.3(@types/react@19.2.7) '@vitejs/plugin-react': - specifier: ~5.1.2 - version: 5.1.2(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + specifier: ~5.1.0 + version: 5.1.2(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -1835,23 +1832,23 @@ importers: specifier: ~5.9.2 version: 5.9.3 vite: - specifier: ^7.2.7 - version: 7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^7.0.5 + version: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) vite-plugin-checker: - specifier: ^0.12.0 - version: 0.12.0(eslint@9.39.2)(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + specifier: ^0.11.0 + version: 0.11.0(eslint@9.39.2)(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) vite-plugin-dts: specifier: 4.5.4 - version: 4.5.4(@types/node@25.0.2)(rollup@4.49.0)(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + version: 4.5.4(@types/node@24.10.4)(rollup@4.49.0)(typescript@5.9.3)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/rest: devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler @@ -1865,10 +1862,10 @@ importers: specifier: workspace:^ version: link:../tspd '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -1880,8 +1877,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/samples: dependencies: @@ -1932,16 +1929,16 @@ importers: version: link:../versioning devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/internal-build-utils': specifier: workspace:^ version: link:../internal-build-utils '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) cross-env: specifier: ~10.1.0 @@ -1953,14 +1950,14 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/spec: devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/internal-build-utils': specifier: workspace:^ version: link:../internal-build-utils @@ -1974,7 +1971,7 @@ importers: specifier: ^2.2.0 version: 2.2.3 express: - specifier: ^5.2.1 + specifier: ^5.1.0 version: 5.2.1 xml2js: specifier: ^0.6.2 @@ -1984,22 +1981,22 @@ importers: specifier: ^1.0.1 version: 1.0.4 '@types/express': - specifier: ^5.0.6 + specifier: ^5.0.1 version: 5.0.6 '@types/multer': specifier: ^2.0.0 version: 2.0.0 '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/xml2js': specifier: ^0.4.11 version: 0.4.14 '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) rimraf: specifier: ~6.1.2 @@ -2008,8 +2005,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/spec-coverage-sdk: dependencies: @@ -2020,8 +2017,8 @@ importers: specifier: ~12.29.1 version: 12.29.1 '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 devDependencies: rimraf: specifier: ~6.1.2 @@ -2055,13 +2052,13 @@ importers: version: 10.1.0(@types/react@19.2.7)(react@18.3.1) devDependencies: '@types/react': - specifier: ~19.2.7 + specifier: ~19.2.2 version: 19.2.7 '@types/react-dom': specifier: ~19.2.2 version: 19.2.3(@types/react@19.2.7) '@vitejs/plugin-react': - specifier: ~5.1.2 + specifier: ~5.1.0 version: 5.1.2(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) rimraf: specifier: ~6.1.2 @@ -2073,11 +2070,11 @@ importers: specifier: ~5.9.2 version: 5.9.3 vite: - specifier: ^7.2.7 + specifier: ^7.0.5 version: 7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) vite-plugin-checker: - specifier: ^0.12.0 - version: 0.12.0(eslint@9.39.2)(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + specifier: ^0.11.0 + version: 0.11.0(eslint@9.39.2)(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) vite-plugin-dts: specifier: 4.5.4 version: 4.5.4(@types/node@25.0.2)(rollup@4.49.0)(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) @@ -2115,7 +2112,7 @@ importers: specifier: ^2.2.0 version: 2.2.3 express: - specifier: ^5.2.1 + specifier: ^5.1.0 version: 5.2.1 globby: specifier: ~16.0.0 @@ -2139,7 +2136,7 @@ importers: specifier: ^0.6.2 version: 0.6.2 yaml: - specifier: ~2.8.2 + specifier: ~2.8.0 version: 2.8.2 yargs: specifier: ~18.0.0 @@ -2152,7 +2149,7 @@ importers: specifier: ^1.0.1 version: 1.0.4 '@types/express': - specifier: ^5.0.6 + specifier: ^5.0.1 version: 5.0.6 '@types/micromatch': specifier: ^4.0.9 @@ -2164,8 +2161,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/xml2js': specifier: ^0.4.11 version: 0.4.14 @@ -2185,8 +2182,8 @@ importers: core/packages/sse: devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler @@ -2206,10 +2203,10 @@ importers: specifier: workspace:^ version: link:../tspd '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -2221,8 +2218,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/standalone: dependencies: @@ -2243,13 +2240,13 @@ importers: version: 4.1.3(@yarnpkg/cli@4.12.0(@types/react@19.2.7)(@yarnpkg/core@4.5.0(typanion@3.14.0)))(@yarnpkg/core@4.5.0(typanion@3.14.0))(typanion@3.14.0) devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -2258,7 +2255,7 @@ importers: specifier: ^0.27.0 version: 0.27.1 execa: - specifier: ^9.6.1 + specifier: ^9.5.2 version: 9.6.1 ora: specifier: ^9.0.0 @@ -2270,20 +2267,20 @@ importers: specifier: ~6.1.2 version: 6.1.2 tsx: - specifier: ^4.21.0 + specifier: ^4.19.3 version: 4.21.0 typescript: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/streams: devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler @@ -2294,10 +2291,10 @@ importers: specifier: workspace:^ version: link:../tspd '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -2309,8 +2306,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/tmlanguage-generator: dependencies: @@ -2322,8 +2319,8 @@ importers: version: 3.1.0 devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/plist': specifier: ~3.0.5 version: 3.0.5 @@ -2337,20 +2334,20 @@ importers: core/packages/tspd: dependencies: '@alloy-js/core': - specifier: ^0.22.0 - version: 0.22.0 + specifier: ^0.21.0 + version: 0.21.0 '@alloy-js/markdown': - specifier: ^0.22.0 - version: 0.22.0 + specifier: ^0.21.0 + version: 0.21.0 '@alloy-js/typescript': - specifier: ^0.22.0 - version: 0.22.0 + specifier: ^0.21.0 + version: 0.21.0 '@microsoft/api-extractor': - specifier: ^7.55.2 - version: 7.55.2(@types/node@25.0.2) + specifier: ^7.52.1 + version: 7.55.2(@types/node@24.10.4) '@microsoft/api-extractor-model': specifier: ^7.30.6 - version: 7.32.2(@types/node@25.0.2) + version: 7.32.2(@types/node@24.10.4) '@microsoft/tsdoc': specifier: ^0.16.0 version: 0.16.0 @@ -2364,8 +2361,8 @@ importers: specifier: ~1.1.1 version: 1.1.1 prettier: - specifier: ~3.7.4 - version: 3.7.4 + specifier: ~3.6.2 + version: 3.6.2 typedoc: specifier: ^0.28.1 version: 0.28.15(typescript@5.9.3) @@ -2373,21 +2370,21 @@ importers: specifier: ^4.5.2 version: 4.9.0(typedoc@0.28.15(typescript@5.9.3)) yaml: - specifier: ~2.8.2 + specifier: ~2.8.0 version: 2.8.2 yargs: specifier: ~18.0.0 version: 18.0.0 devDependencies: '@alloy-js/cli': - specifier: ^0.22.0 - version: 0.22.0 + specifier: ^0.21.0 + version: 0.21.0 '@alloy-js/rollup-plugin': specifier: ^0.1.0 version: 0.1.0(@babel/core@7.28.5)(@types/babel__core@7.20.5)(rollup@4.49.0) '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/yargs': specifier: ~17.0.33 version: 17.0.35 @@ -2395,10 +2392,10 @@ importers: specifier: workspace:^ version: link:../prettier-plugin-typespec '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -2413,8 +2410,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/typespec-vs: devDependencies: @@ -2434,14 +2431,14 @@ importers: specifier: ^10.0.9 version: 10.0.10 '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@types/semver': specifier: ^7.5.8 version: 7.7.1 '@types/vscode': - specifier: ~1.107.0 - version: 1.107.0 + specifier: ~1.106.1 + version: 1.106.1 '@types/which': specifier: ^3.0.4 version: 3.0.4 @@ -2452,10 +2449,10 @@ importers: specifier: workspace:^ version: link:../internal-build-utils '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vscode/extension-telemetry': specifier: ^1.0.0 @@ -2464,10 +2461,10 @@ importers: specifier: ^2.3.9 version: 2.5.2 '@vscode/test-web': - specifier: ^0.0.77 - version: 0.0.77 + specifier: ^0.0.75 + version: 0.0.75 '@vscode/vsce': - specifier: ~3.7.1 + specifier: ~3.7.0 version: 3.7.1 ajv: specifier: ~8.17.1 @@ -2485,7 +2482,7 @@ importers: specifier: ^11.1.0 version: 11.7.5 playwright: - specifier: ^1.57.0 + specifier: ^1.51.1 version: 1.57.0 rimraf: specifier: ~6.1.2 @@ -2500,8 +2497,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) vscode-languageclient: specifier: ~9.0.1 version: 9.0.1 @@ -2509,14 +2506,14 @@ importers: specifier: ^6.0.0 version: 6.0.0 yaml: - specifier: ~2.8.2 + specifier: ~2.8.0 version: 2.8.2 core/packages/versioning: devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler @@ -2527,10 +2524,10 @@ importers: specifier: workspace:^ version: link:../tspd '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -2542,14 +2539,14 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) core/packages/xml: devDependencies: '@types/node': - specifier: ~25.0.2 - version: 25.0.2 + specifier: ~24.10.1 + version: 24.10.4 '@typespec/compiler': specifier: workspace:^ version: link:../compiler @@ -2560,10 +2557,10 @@ importers: specifier: workspace:^ version: link:../tspd '@vitest/coverage-v8': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) '@vitest/ui': - specifier: ^4.0.15 + specifier: ^4.0.4 version: 4.0.15(vitest@4.0.15) c8: specifier: ^10.1.3 @@ -2575,8 +2572,8 @@ importers: specifier: ~5.9.2 version: 5.9.3 vitest: - specifier: ^4.0.15 - version: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + specifier: ^4.0.4 + version: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) eng/feeds: devDependencies: @@ -3459,29 +3456,29 @@ packages: '@alloy-js/babel-preset@0.2.1': resolution: {integrity: sha512-vz9kvQwx5qBzHIw4ryqUaQqpgNOMBmkdDcV3e2zZfMq8Pp16ePFtvviHh6RwyLcvXQQClex3ZZy8ON9TifMnxw==} - '@alloy-js/cli@0.22.0': - resolution: {integrity: sha512-M9XeHxdSRIZnwCZrYkOIuLrQQfxyTuc7tJrMjJdOFgvShBjwZJG21iFhvvYp5Reeq+GFEbuGlviho3GSxd7szA==} + '@alloy-js/cli@0.21.0': + resolution: {integrity: sha512-k1Rf6kbYPdMKYJ1pFmhbk0NpW7p/aL/HbmxpJxmF/tbXAhZmNO62f9JM4qF64jNnq9byq31PMBSOIAIZFLqa1A==} engines: {node: '>=18.0.0'} hasBin: true - '@alloy-js/core@0.22.0': - resolution: {integrity: sha512-cqa6CL2m3zfPXF64Zr7WIqOpSWyqFi7ojQJVzpMjOsb1zJhoQzKt28/FCI6++Na4QDeSynOmWGEvHZ7CDYXn4w==} + '@alloy-js/core@0.21.0': + resolution: {integrity: sha512-eIBllm+Lgk/AcV6QdipZAVlYPIp6RHmgz046GXBQeXZnTZXmPHURVFI18/FVuaK7K+uUt0eriPXIYXs4/Ja5rQ==} - '@alloy-js/csharp@0.22.0': - resolution: {integrity: sha512-3m0HveXIgR3hScVMZbG1y264YTgvDuSeZqR1ARTsk05RR6YUD/7MFxJd5IiT4fOYePgROWO7CuBllrTexfj0Yg==} + '@alloy-js/csharp@0.21.0': + resolution: {integrity: sha512-Tw3AQaHjwRTZB6L6QPoXFJOmjDQyyGb2gwwAKGnea7q/J6BmwNkBHvCSuVe21Nkhgb4/upivWFyP8zbtdVAE5A==} - '@alloy-js/markdown@0.22.0': - resolution: {integrity: sha512-VslLzyk9780MaEAKH/9LE7dPcxIxHEx/V3+MsoZ8nHK+rvpmnTblxFJpbkLvmhUf8Oq2hmgsvfv7jIauBGI0rQ==} + '@alloy-js/markdown@0.21.0': + resolution: {integrity: sha512-Er2aqWdolajWUrHxeqZoiK/Grdet2zaEr8ZtIbvv/M0sMz975p0ltijZNF3OnMde0wFlk1Jg14hkiitI9wFVgQ==} - '@alloy-js/msbuild@0.22.0': - resolution: {integrity: sha512-Zi4bezFzQveW4u78qwSlIlscZd8y5OKCRitSOAiw0qLfF95L4+3wgQ6QpbYuqeRRZIa5kimhbogKTSrSxycrUg==} + '@alloy-js/msbuild@0.21.0': + resolution: {integrity: sha512-QmMwF7eoYMdR5mX+8cIKb5F3Mgi3uQlFYrGYq92ht6BOc/XKyBXIwCXq6zqPMAT7nd2BHDD2hvgbL6nLS4QcGg==} '@alloy-js/rollup-plugin@0.1.0': resolution: {integrity: sha512-MXR8mBdSh/pxMP8kIXAcMYKsm5yOWZ+igxcaRX1vBXFiHU4eK7gE/5q6Fk8Vdydh+MItWtgekwIhUWvcszdNFQ==} engines: {node: '>=18.0.0'} - '@alloy-js/typescript@0.22.0': - resolution: {integrity: sha512-jARBNxAA5aEhysleFFd7cGfjckkEXLCH9kDaJSH5xBOu4cU0v7q5TvAqgPlEIkhfOh2983XLX0nVtZu01p0UjQ==} + '@alloy-js/typescript@0.21.0': + resolution: {integrity: sha512-SsxdYkXhrP8jjO2gENav9bHPHaonNrreW469RaOot3cRqhsHPA1RmBrzNPJov37YknzTg4Wlk0JsEFT4Qibgfg==} '@arcanis/slice-ansi@1.1.1': resolution: {integrity: sha512-xguP2WR2Dv0gQ7Ykbdb7BNCnPnIPB94uTi0Z2NvkRBEnhbwjOQ7QyQKJXrVQg4qDpiD9hA5l5cCwy/z2OXgc3w==} @@ -3538,6 +3535,11 @@ packages: '@astrojs/sitemap@3.6.0': resolution: {integrity: sha512-4aHkvcOZBWJigRmMIAJwRQXBS+ayoP5z40OklTXYXhUDhwusz+DyDl+nSshY6y9DvkVEavwNcFO8FD81iGhXjg==} + '@astrojs/starlight@0.36.3': + resolution: {integrity: sha512-5cm4QVQHUP6ZE52O43TtUpsTvLKdZa9XEs4l3suzuY7Ymsbz4ojtoL9NhistbMqM+/qk6fm6SmxbOL6hQ/LfNA==} + peerDependencies: + astro: ^5.5.0 + '@astrojs/starlight@0.37.1': resolution: {integrity: sha512-STNsR5PaDoiW4IgcX17Fp42FfyqwuweWPts/EWEMcFPAeg9Nvpu3UvVCorasYrgfJgaJTeydsOV++0ACA1KYDA==} peerDependencies: @@ -5460,11 +5462,10 @@ packages: resolution: {integrity: sha512-x/iUDjcS90W69PryLDIMgFyV21YLTnG9zOpPXS7Bkt2b8AsY3zZsIpOLBkYr9fBcF3HbkKaER5hOBZLfpLgYNw==} engines: {node: '>= 14.0.0'} - '@koa/router@15.1.0': - resolution: {integrity: sha512-0zCmuapmgBHrfVSFjBfCdgnkBnXwRGcG5qHnxVs8ZoTNEJiwSSspgJ5+2NugiqLJS/S0d96KMeNntLqTNWaioQ==} + '@koa/router@14.0.0': + resolution: {integrity: sha512-LBSu5K0qAaaQcXX/0WIB9PGDevyCxxpnc1uq13vV/CgObaVxuis5hKl3Eboq/8gcb6ebnkAStW9NB/Em2eYyFA==} engines: {node: '>= 20'} - peerDependencies: - koa: ^2.0.0 || ^3.0.0 + deprecated: Please upgrade to v15 or higher. All reported bugs in this version are fixed in newer releases, dependencies have been updated, and security has been improved. '@kwsites/file-exists@1.1.1': resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} @@ -6948,6 +6949,9 @@ packages: '@types/node@20.19.27': resolution: {integrity: sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==} + '@types/node@24.10.4': + resolution: {integrity: sha512-vnDVpYPMzs4wunl27jHrfmwojOGKya0xyM3sH+UE5iv5uPS6vX7UIoh6m+vQc5LGBq52HBKPIn/zcSZVzeDEZg==} + '@types/node@25.0.2': resolution: {integrity: sha512-gWEkeiyYE4vqjON/+Obqcoeffmk0NF15WSBwSs7zwVA2bAbTaE0SJ7P0WNGoJn8uE7fiaV5a7dKYIJriEqOrmA==} @@ -7025,6 +7029,9 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + '@types/vscode@1.106.1': + resolution: {integrity: sha512-R/HV8u2h8CAddSbX8cjpdd7B8/GnE4UjgjpuGuHcbp1xV6yh4OeqU4L1pKjlwujCrSFS0MOpwJAIs/NexMB1fQ==} + '@types/vscode@1.107.0': resolution: {integrity: sha512-XS8YE1jlyTIowP64+HoN30OlC1H9xqSlq1eoLZUgFEC8oUTO6euYZxti1xRiLSfZocs4qytTzR6xCBYtioQTCg==} @@ -7270,8 +7277,8 @@ packages: resolution: {integrity: sha512-8ukpxv4wYe0iWMRQU18jhzJOHkeGKbnw7xWRX3Zw1WJA4cEKbHcmmLPdPrPtL6rhDcrlCZN+xKRpv09n4gRHYg==} engines: {node: '>=16'} - '@vscode/test-web@0.0.77': - resolution: {integrity: sha512-jeHvZn2crMdX6ICX7vZYeDx6DLxyW07b9EU3cV8zT+coEVQpf4C8zIN6uEBV67xFOUmOi4C1bzFZF5oUkDD7+w==} + '@vscode/test-web@0.0.75': + resolution: {integrity: sha512-/V+wPN2jDUrUxoT1nDbGTghwhKU6AlfLrnkq0lNvBqX3ka5QImmRnDTHFu1JKfwkCCp3WJEQgFZVrcpKmC+n2g==} engines: {node: '>=20'} hasBin: true @@ -8242,10 +8249,6 @@ packages: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} - chokidar@5.0.0: - resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} - engines: {node: '>= 20.19.0'} - chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} @@ -9024,6 +9027,9 @@ packages: es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + es-module-shims@2.6.2: + resolution: {integrity: sha512-50HiheXiMg28GQagXXYMqzUuVPKsAhFLuWIxBxDbfnmT+hFTU8AyfAJaWjDaWmQbjNiPwTuuPqq7NAKFRdLaow==} + es-module-shims@2.7.0: resolution: {integrity: sha512-rXcorgujAVSIGppDd6QEM2kPiwHJmtPbCtrj1bPnoo8zo3MWgEIABfOZEtuM7XrywOXzTPyGzgVEZR/pqIM57A==} @@ -11696,6 +11702,11 @@ packages: peerDependencies: prettier: ^3.0.3 + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} + engines: {node: '>=14'} + hasBin: true + prettier@3.7.4: resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==} engines: {node: '>=14'} @@ -11948,10 +11959,6 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} - readdirp@5.0.0: - resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} - engines: {node: '>= 20.19.0'} - readline-sync@1.4.9: resolution: {integrity: sha512-mp5h1N39kuKbCRGebLPIKTBOhuDw55GaNg5S+K9TW9uDAS1wIHpGUc2YokdUMZJb8GqS49sWmWEDijaESYh0Hg==} engines: {node: '>= 0.8.0'} @@ -13418,18 +13425,18 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-plugin-checker@0.12.0: - resolution: {integrity: sha512-CmdZdDOGss7kdQwv73UyVgLPv0FVYe5czAgnmRX2oKljgEvSrODGuClaV3PDR2+3ou7N/OKGauDDBjy2MB07Rg==} + vite-plugin-checker@0.11.0: + resolution: {integrity: sha512-iUdO9Pl9UIBRPAragwi3as/BXXTtRu4G12L3CMrjx+WVTd9g/MsqNakreib9M/2YRVkhZYiTEwdH2j4Dm0w7lw==} engines: {node: '>=16.11'} peerDependencies: '@biomejs/biome': '>=1.7' - eslint: '>=9.39.1' + eslint: '>=7' meow: ^13.2.0 optionator: ^0.9.4 oxlint: '>=1' stylelint: '>=16' typescript: '*' - vite: '>=5.4.21' + vite: '>=5.4.20' vls: '*' vti: '*' vue-tsc: ~2.2.10 || ^3.0.0 @@ -13690,8 +13697,8 @@ packages: vscode-oniguruma@2.0.1: resolution: {integrity: sha512-poJU8iHIWnC3vgphJnrLZyI3YdqRlR27xzqDmpPXYzA93R4Gk8z7T6oqDzDoHjoikA2aS82crdXFkjELCdJsjQ==} - vscode-textmate@9.3.0: - resolution: {integrity: sha512-zHiZZOdb9xqj5/X1C4a29sbgT2HngdWxPLSl3PyHRQF+5visI4uNM020OHiLJjsMxUssyk/pGVAg/9LCIobrVg==} + vscode-textmate@9.2.1: + resolution: {integrity: sha512-eXiUi2yYFv9bdvgrYtJynA7UemCEkpVNE50S9iBBA08LYG5t9+/TB+8IRS/YoYOubCez2OkSyZ1Q12eQMwzbrw==} vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} @@ -13706,8 +13713,13 @@ packages: web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - web-tree-sitter@0.26.3: - resolution: {integrity: sha512-JIVgIKFS1w6lejxSntCtsS/QsE/ecTS00en809cMxMPxaor6MvUnQ+ovG8uTTTvQCFosSh4MeDdI5bSGw5SoBw==} + web-tree-sitter@0.25.10: + resolution: {integrity: sha512-Y09sF44/13XvgVKgO2cNDw5rGk6s26MgoZPXLESvMXeefBf7i6/73eFurre0IsTW6E14Y0ArIzhUMmjoc7xyzA==} + peerDependencies: + '@types/emscripten': ^1.40.0 + peerDependenciesMeta: + '@types/emscripten': + optional: true webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} @@ -14105,7 +14117,7 @@ snapshots: - '@babel/core' - supports-color - '@alloy-js/cli@0.22.0': + '@alloy-js/cli@0.21.0': dependencies: '@alloy-js/babel-preset': 0.2.1(@babel/core@7.28.5) '@babel/core': 7.28.5 @@ -14115,30 +14127,30 @@ snapshots: transitivePeerDependencies: - supports-color - '@alloy-js/core@0.22.0': + '@alloy-js/core@0.21.0': dependencies: '@vue/reactivity': 3.5.25 cli-table3: 0.6.5 pathe: 2.0.3 picocolors: 1.1.1 - prettier: 3.7.4 + prettier: 3.6.2 - '@alloy-js/csharp@0.22.0': + '@alloy-js/csharp@0.21.0': dependencies: - '@alloy-js/core': 0.22.0 - '@alloy-js/msbuild': 0.22.0 + '@alloy-js/core': 0.21.0 + '@alloy-js/msbuild': 0.21.0 change-case: 5.4.4 marked: 16.4.2 pathe: 2.0.3 - '@alloy-js/markdown@0.22.0': + '@alloy-js/markdown@0.21.0': dependencies: - '@alloy-js/core': 0.22.0 + '@alloy-js/core': 0.21.0 yaml: 2.8.2 - '@alloy-js/msbuild@0.22.0': + '@alloy-js/msbuild@0.21.0': dependencies: - '@alloy-js/core': 0.22.0 + '@alloy-js/core': 0.21.0 change-case: 5.4.4 marked: 16.4.2 pathe: 2.0.3 @@ -14154,9 +14166,9 @@ snapshots: - rollup - supports-color - '@alloy-js/typescript@0.22.0': + '@alloy-js/typescript@0.21.0': dependencies: - '@alloy-js/core': 0.22.0 + '@alloy-js/core': 0.21.0 change-case: 5.4.4 pathe: 2.0.3 @@ -14270,26 +14282,59 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) ultrahtml: 1.6.0 - vite: 6.4.1(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + vite: 6.4.1(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + transitivePeerDependencies: + - '@types/node' + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + '@astrojs/sitemap@3.6.0': + dependencies: + sitemap: 8.0.2 + stream-replace-string: 2.0.0 + zod: 3.25.76 + + '@astrojs/starlight@0.36.3(astro@5.16.5(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@types/node@25.0.2)(rollup@4.49.0)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))': + dependencies: + '@astrojs/markdown-remark': 6.3.10 + '@astrojs/mdx': 4.3.13(astro@5.16.5(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@types/node@25.0.2)(rollup@4.49.0)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)) + '@astrojs/sitemap': 3.6.0 + '@pagefind/default-ui': 1.4.0 + '@types/hast': 3.0.4 + '@types/js-yaml': 4.0.9 + '@types/mdast': 4.0.4 + astro: 5.16.5(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@types/node@25.0.2)(rollup@4.49.0)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2) + astro-expressive-code: 0.41.4(astro@5.16.5(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@types/node@25.0.2)(rollup@4.49.0)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)) + bcp-47: 2.1.0 + hast-util-from-html: 2.0.3 + hast-util-select: 6.0.4 + hast-util-to-string: 3.0.1 + hastscript: 9.0.1 + i18next: 23.16.8 + js-yaml: 4.1.1 + klona: 2.0.6 + mdast-util-directive: 3.1.0 + mdast-util-to-markdown: 2.1.2 + mdast-util-to-string: 4.0.0 + pagefind: 1.4.0 + rehype: 13.0.2 + rehype-format: 5.0.1 + remark-directive: 3.0.1 + ultrahtml: 1.6.0 + unified: 11.0.5 + unist-util-visit: 5.0.0 + vfile: 6.0.3 transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - supports-color - - terser - - tsx - - yaml - - '@astrojs/sitemap@3.6.0': - dependencies: - sitemap: 8.0.2 - stream-replace-string: 2.0.0 - zod: 3.25.76 '@astrojs/starlight@0.37.1(astro@5.16.5(@azure/identity@4.13.0)(@azure/storage-blob@12.29.1)(@types/node@25.0.2)(rollup@4.49.0)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2))': dependencies: @@ -16686,6 +16731,15 @@ snapshots: '@inquirer/ansi@2.0.2': {} + '@inquirer/checkbox@5.0.3(@types/node@24.10.4)': + dependencies: + '@inquirer/ansi': 2.0.2 + '@inquirer/core': 11.1.0(@types/node@24.10.4) + '@inquirer/figures': 2.0.2 + '@inquirer/type': 4.0.2(@types/node@24.10.4) + optionalDependencies: + '@types/node': 24.10.4 + '@inquirer/checkbox@5.0.3(@types/node@25.0.2)': dependencies: '@inquirer/ansi': 2.0.2 @@ -16695,6 +16749,13 @@ snapshots: optionalDependencies: '@types/node': 25.0.2 + '@inquirer/confirm@6.0.3(@types/node@24.10.4)': + dependencies: + '@inquirer/core': 11.1.0(@types/node@24.10.4) + '@inquirer/type': 4.0.2(@types/node@24.10.4) + optionalDependencies: + '@types/node': 24.10.4 + '@inquirer/confirm@6.0.3(@types/node@25.0.2)': dependencies: '@inquirer/core': 11.1.0(@types/node@25.0.2) @@ -16702,6 +16763,18 @@ snapshots: optionalDependencies: '@types/node': 25.0.2 + '@inquirer/core@11.1.0(@types/node@24.10.4)': + dependencies: + '@inquirer/ansi': 2.0.2 + '@inquirer/figures': 2.0.2 + '@inquirer/type': 4.0.2(@types/node@24.10.4) + cli-width: 4.1.0 + mute-stream: 3.0.0 + signal-exit: 4.1.0 + wrap-ansi: 9.0.2 + optionalDependencies: + '@types/node': 24.10.4 + '@inquirer/core@11.1.0(@types/node@25.0.2)': dependencies: '@inquirer/ansi': 2.0.2 @@ -16714,6 +16787,14 @@ snapshots: optionalDependencies: '@types/node': 25.0.2 + '@inquirer/editor@5.0.3(@types/node@24.10.4)': + dependencies: + '@inquirer/core': 11.1.0(@types/node@24.10.4) + '@inquirer/external-editor': 2.0.2(@types/node@24.10.4) + '@inquirer/type': 4.0.2(@types/node@24.10.4) + optionalDependencies: + '@types/node': 24.10.4 + '@inquirer/editor@5.0.3(@types/node@25.0.2)': dependencies: '@inquirer/core': 11.1.0(@types/node@25.0.2) @@ -16722,6 +16803,13 @@ snapshots: optionalDependencies: '@types/node': 25.0.2 + '@inquirer/expand@5.0.3(@types/node@24.10.4)': + dependencies: + '@inquirer/core': 11.1.0(@types/node@24.10.4) + '@inquirer/type': 4.0.2(@types/node@24.10.4) + optionalDependencies: + '@types/node': 24.10.4 + '@inquirer/expand@5.0.3(@types/node@25.0.2)': dependencies: '@inquirer/core': 11.1.0(@types/node@25.0.2) @@ -16729,6 +16817,13 @@ snapshots: optionalDependencies: '@types/node': 25.0.2 + '@inquirer/external-editor@2.0.2(@types/node@24.10.4)': + dependencies: + chardet: 2.1.1 + iconv-lite: 0.7.1 + optionalDependencies: + '@types/node': 24.10.4 + '@inquirer/external-editor@2.0.2(@types/node@25.0.2)': dependencies: chardet: 2.1.1 @@ -16738,6 +16833,13 @@ snapshots: '@inquirer/figures@2.0.2': {} + '@inquirer/input@5.0.3(@types/node@24.10.4)': + dependencies: + '@inquirer/core': 11.1.0(@types/node@24.10.4) + '@inquirer/type': 4.0.2(@types/node@24.10.4) + optionalDependencies: + '@types/node': 24.10.4 + '@inquirer/input@5.0.3(@types/node@25.0.2)': dependencies: '@inquirer/core': 11.1.0(@types/node@25.0.2) @@ -16745,6 +16847,13 @@ snapshots: optionalDependencies: '@types/node': 25.0.2 + '@inquirer/number@4.0.3(@types/node@24.10.4)': + dependencies: + '@inquirer/core': 11.1.0(@types/node@24.10.4) + '@inquirer/type': 4.0.2(@types/node@24.10.4) + optionalDependencies: + '@types/node': 24.10.4 + '@inquirer/number@4.0.3(@types/node@25.0.2)': dependencies: '@inquirer/core': 11.1.0(@types/node@25.0.2) @@ -16752,6 +16861,14 @@ snapshots: optionalDependencies: '@types/node': 25.0.2 + '@inquirer/password@5.0.3(@types/node@24.10.4)': + dependencies: + '@inquirer/ansi': 2.0.2 + '@inquirer/core': 11.1.0(@types/node@24.10.4) + '@inquirer/type': 4.0.2(@types/node@24.10.4) + optionalDependencies: + '@types/node': 24.10.4 + '@inquirer/password@5.0.3(@types/node@25.0.2)': dependencies: '@inquirer/ansi': 2.0.2 @@ -16760,6 +16877,21 @@ snapshots: optionalDependencies: '@types/node': 25.0.2 + '@inquirer/prompts@8.1.0(@types/node@24.10.4)': + dependencies: + '@inquirer/checkbox': 5.0.3(@types/node@24.10.4) + '@inquirer/confirm': 6.0.3(@types/node@24.10.4) + '@inquirer/editor': 5.0.3(@types/node@24.10.4) + '@inquirer/expand': 5.0.3(@types/node@24.10.4) + '@inquirer/input': 5.0.3(@types/node@24.10.4) + '@inquirer/number': 4.0.3(@types/node@24.10.4) + '@inquirer/password': 5.0.3(@types/node@24.10.4) + '@inquirer/rawlist': 5.1.0(@types/node@24.10.4) + '@inquirer/search': 4.0.3(@types/node@24.10.4) + '@inquirer/select': 5.0.3(@types/node@24.10.4) + optionalDependencies: + '@types/node': 24.10.4 + '@inquirer/prompts@8.1.0(@types/node@25.0.2)': dependencies: '@inquirer/checkbox': 5.0.3(@types/node@25.0.2) @@ -16775,6 +16907,13 @@ snapshots: optionalDependencies: '@types/node': 25.0.2 + '@inquirer/rawlist@5.1.0(@types/node@24.10.4)': + dependencies: + '@inquirer/core': 11.1.0(@types/node@24.10.4) + '@inquirer/type': 4.0.2(@types/node@24.10.4) + optionalDependencies: + '@types/node': 24.10.4 + '@inquirer/rawlist@5.1.0(@types/node@25.0.2)': dependencies: '@inquirer/core': 11.1.0(@types/node@25.0.2) @@ -16782,6 +16921,14 @@ snapshots: optionalDependencies: '@types/node': 25.0.2 + '@inquirer/search@4.0.3(@types/node@24.10.4)': + dependencies: + '@inquirer/core': 11.1.0(@types/node@24.10.4) + '@inquirer/figures': 2.0.2 + '@inquirer/type': 4.0.2(@types/node@24.10.4) + optionalDependencies: + '@types/node': 24.10.4 + '@inquirer/search@4.0.3(@types/node@25.0.2)': dependencies: '@inquirer/core': 11.1.0(@types/node@25.0.2) @@ -16790,6 +16937,15 @@ snapshots: optionalDependencies: '@types/node': 25.0.2 + '@inquirer/select@5.0.3(@types/node@24.10.4)': + dependencies: + '@inquirer/ansi': 2.0.2 + '@inquirer/core': 11.1.0(@types/node@24.10.4) + '@inquirer/figures': 2.0.2 + '@inquirer/type': 4.0.2(@types/node@24.10.4) + optionalDependencies: + '@types/node': 24.10.4 + '@inquirer/select@5.0.3(@types/node@25.0.2)': dependencies: '@inquirer/ansi': 2.0.2 @@ -16799,6 +16955,10 @@ snapshots: optionalDependencies: '@types/node': 25.0.2 + '@inquirer/type@4.0.2(@types/node@24.10.4)': + optionalDependencies: + '@types/node': 24.10.4 + '@inquirer/type@4.0.2(@types/node@25.0.2)': optionalDependencies: '@types/node': 25.0.2 @@ -16824,11 +16984,11 @@ snapshots: '@istanbuljs/schema@0.1.3': {} - '@joshwooding/vite-plugin-react-docgen-typescript@0.6.3(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.6.3(typescript@5.9.3)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2))': dependencies: glob: 11.1.0 react-docgen-typescript: 2.4.0(typescript@5.9.3) - vite: 7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) optionalDependencies: typescript: 5.9.3 @@ -16857,11 +17017,10 @@ snapshots: dependencies: vary: 1.1.2 - '@koa/router@15.1.0(koa@3.1.1)': + '@koa/router@14.0.0': dependencies: debug: 4.4.3(supports-color@8.1.1) http-errors: 2.0.1 - koa: 3.1.1 koa-compose: 4.1.0 path-to-regexp: 8.3.0 transitivePeerDependencies: @@ -16925,6 +17084,14 @@ snapshots: transitivePeerDependencies: - tslib + '@microsoft/api-extractor-model@7.32.2(@types/node@24.10.4)': + dependencies: + '@microsoft/tsdoc': 0.16.0 + '@microsoft/tsdoc-config': 0.18.0 + '@rushstack/node-core-library': 5.19.1(@types/node@24.10.4) + transitivePeerDependencies: + - '@types/node' + '@microsoft/api-extractor-model@7.32.2(@types/node@25.0.2)': dependencies: '@microsoft/tsdoc': 0.16.0 @@ -16933,6 +17100,25 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@microsoft/api-extractor@7.55.2(@types/node@24.10.4)': + dependencies: + '@microsoft/api-extractor-model': 7.32.2(@types/node@24.10.4) + '@microsoft/tsdoc': 0.16.0 + '@microsoft/tsdoc-config': 0.18.0 + '@rushstack/node-core-library': 5.19.1(@types/node@24.10.4) + '@rushstack/rig-package': 0.6.0 + '@rushstack/terminal': 0.19.5(@types/node@24.10.4) + '@rushstack/ts-command-line': 5.1.5(@types/node@24.10.4) + diff: 8.0.2 + lodash: 4.17.21 + minimatch: 10.0.3 + resolve: 1.22.11 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.8.2 + transitivePeerDependencies: + - '@types/node' + '@microsoft/api-extractor@7.55.2(@types/node@25.0.2)': dependencies: '@microsoft/api-extractor-model': 7.32.2(@types/node@25.0.2) @@ -17360,6 +17546,29 @@ snapshots: '@pnpm/types': 1001.1.0 load-json-file: 6.2.0 + '@pnpm/cli-utils@1001.2.14(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0)': + dependencies: + '@pnpm/cli-meta': 1000.0.14 + '@pnpm/config': 1004.7.1(@pnpm/logger@1001.0.1) + '@pnpm/config.deps-installer': 1000.0.24(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4)) + '@pnpm/default-reporter': 1002.1.2(@pnpm/logger@1001.0.1) + '@pnpm/error': 1000.0.5 + '@pnpm/logger': 1001.0.1 + '@pnpm/manifest-utils': 1002.0.2(@pnpm/logger@1001.0.1) + '@pnpm/package-is-installable': 1000.0.18(@pnpm/logger@1001.0.1) + '@pnpm/pnpmfile': 1002.1.7(@pnpm/logger@1001.0.1) + '@pnpm/read-project-manifest': 1001.2.2(@pnpm/logger@1001.0.1) + '@pnpm/store-connection-manager': 1002.3.5(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0) + '@pnpm/types': 1001.1.0 + '@pnpm/util.lex-comparator': 3.0.2 + chalk: 4.1.2 + load-json-file: 6.2.0 + transitivePeerDependencies: + - '@pnpm/worker' + - domexception + - supports-color + - typanion + '@pnpm/cli-utils@1001.2.14(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))(typanion@3.14.0)': dependencies: '@pnpm/cli-meta': 1000.0.14 @@ -17383,6 +17592,27 @@ snapshots: - supports-color - typanion + '@pnpm/client@1001.1.10(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0)': + dependencies: + '@pnpm/default-resolver': 1002.2.18(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0) + '@pnpm/directory-fetcher': 1000.1.18(@pnpm/logger@1001.0.1) + '@pnpm/fetch': 1000.2.9(@pnpm/logger@1001.0.1) + '@pnpm/fetching-types': 1000.2.0 + '@pnpm/fetching.binary-fetcher': 1003.0.1(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4)) + '@pnpm/git-fetcher': 1004.0.1(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0) + '@pnpm/network.auth-header': 1000.0.6 + '@pnpm/node.fetcher': 1001.0.14(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0) + '@pnpm/resolver-base': 1005.3.2 + '@pnpm/tarball-fetcher': 1004.0.1(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0) + '@pnpm/types': 1001.1.0 + ramda: '@pnpm/ramda@0.28.1' + transitivePeerDependencies: + - '@pnpm/logger' + - '@pnpm/worker' + - domexception + - supports-color + - typanion + '@pnpm/client@1001.1.10(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))(typanion@3.14.0)': dependencies: '@pnpm/default-resolver': 1002.2.18(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))(typanion@3.14.0) @@ -17413,6 +17643,28 @@ snapshots: transitivePeerDependencies: - '@pnpm/logger' + '@pnpm/config.deps-installer@1000.0.24(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))': + dependencies: + '@pnpm/config.config-writer': 1000.0.18(@pnpm/logger@1001.0.1) + '@pnpm/core-loggers': 1001.0.7(@pnpm/logger@1001.0.1) + '@pnpm/error': 1000.0.5 + '@pnpm/fetch': 1000.2.9(@pnpm/logger@1001.0.1) + '@pnpm/logger': 1001.0.1 + '@pnpm/network.auth-header': 1000.0.6 + '@pnpm/npm-resolver': 1005.0.0(@pnpm/logger@1001.0.1) + '@pnpm/package-store': 1005.0.1(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4)) + '@pnpm/parse-wanted-dependency': 1001.0.0 + '@pnpm/pick-registry-for-package': 1000.0.14 + '@pnpm/read-modules-dir': 1000.0.0 + '@pnpm/read-package-json': 1000.1.5 + '@pnpm/types': 1001.1.0 + '@zkochan/rimraf': 3.0.2 + get-npm-tarball-url: 2.1.0 + transitivePeerDependencies: + - '@pnpm/worker' + - domexception + - supports-color + '@pnpm/config.deps-installer@1000.0.24(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))': dependencies: '@pnpm/config.config-writer': 1000.0.18(@pnpm/logger@1001.0.1) @@ -17540,6 +17792,25 @@ snapshots: stacktracey: 2.1.8 string-length: 4.0.2 + '@pnpm/default-resolver@1002.2.18(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0)': + dependencies: + '@pnpm/error': 1000.0.5 + '@pnpm/fetching-types': 1000.2.0 + '@pnpm/git-resolver': 1001.1.9(@pnpm/logger@1001.0.1) + '@pnpm/local-resolver': 1002.1.8(@pnpm/logger@1001.0.1) + '@pnpm/node.resolver': 1001.0.11(@pnpm/logger@1001.0.1) + '@pnpm/npm-resolver': 1005.0.0(@pnpm/logger@1001.0.1) + '@pnpm/resolver-base': 1005.3.2 + '@pnpm/resolving.bun-resolver': 1003.0.2(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0) + '@pnpm/resolving.deno-resolver': 1003.0.2(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0) + '@pnpm/tarball-resolver': 1002.1.8 + transitivePeerDependencies: + - '@pnpm/logger' + - '@pnpm/worker' + - domexception + - supports-color + - typanion + '@pnpm/default-resolver@1002.2.18(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))(typanion@3.14.0)': dependencies: '@pnpm/error': 1000.0.5 @@ -17615,6 +17886,19 @@ snapshots: transitivePeerDependencies: - domexception + '@pnpm/fetching.binary-fetcher@1003.0.1(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))': + dependencies: + '@pnpm/error': 1000.0.5 + '@pnpm/fetcher-base': 1001.0.6 + '@pnpm/fetching-types': 1000.2.0 + '@pnpm/worker': 1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4) + adm-zip: 0.5.16 + rename-overwrite: 6.0.3 + ssri: 10.0.5 + tempy: 1.0.1 + transitivePeerDependencies: + - domexception + '@pnpm/fetching.binary-fetcher@1003.0.1(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))': dependencies: '@pnpm/error': 1000.0.5 @@ -17668,6 +17952,19 @@ snapshots: dependencies: npm-packlist: 5.1.3 + '@pnpm/git-fetcher@1004.0.1(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0)': + dependencies: + '@pnpm/fetcher-base': 1001.0.6 + '@pnpm/fs.packlist': 2.0.0 + '@pnpm/logger': 1001.0.1 + '@pnpm/prepare-package': 1000.0.30(@pnpm/logger@1001.0.1)(typanion@3.14.0) + '@pnpm/worker': 1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4) + '@zkochan/rimraf': 3.0.2 + execa: safe-execa@0.1.2 + transitivePeerDependencies: + - supports-color + - typanion + '@pnpm/git-fetcher@1004.0.1(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))(typanion@3.14.0)': dependencies: '@pnpm/fetcher-base': 1001.0.6 @@ -17821,6 +18118,23 @@ snapshots: transitivePeerDependencies: - domexception + '@pnpm/node.fetcher@1001.0.14(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0)': + dependencies: + '@pnpm/create-cafs-store': 1000.0.25(@pnpm/logger@1001.0.1) + '@pnpm/crypto.shasums-file': 1001.0.2 + '@pnpm/error': 1000.0.5 + '@pnpm/fetching-types': 1000.2.0 + '@pnpm/fetching.binary-fetcher': 1003.0.1(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4)) + '@pnpm/node.resolver': 1001.0.11(@pnpm/logger@1001.0.1) + '@pnpm/tarball-fetcher': 1004.0.1(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0) + detect-libc: 2.1.2 + transitivePeerDependencies: + - '@pnpm/logger' + - '@pnpm/worker' + - domexception + - supports-color + - typanion + '@pnpm/node.fetcher@1001.0.14(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))(typanion@3.14.0)': dependencies: '@pnpm/create-cafs-store': 1000.0.25(@pnpm/logger@1001.0.1) @@ -17934,6 +18248,31 @@ snapshots: mem: 8.1.1 semver: 7.7.3 + '@pnpm/package-requester@1009.0.1(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))': + dependencies: + '@pnpm/core-loggers': 1001.0.7(@pnpm/logger@1001.0.1) + '@pnpm/dependency-path': 1001.1.7 + '@pnpm/error': 1000.0.5 + '@pnpm/fetcher-base': 1001.0.6 + '@pnpm/graceful-fs': 1000.0.1 + '@pnpm/logger': 1001.0.1 + '@pnpm/package-is-installable': 1000.0.18(@pnpm/logger@1001.0.1) + '@pnpm/pick-fetcher': 1001.0.0 + '@pnpm/read-package-json': 1000.1.5 + '@pnpm/resolver-base': 1005.3.2 + '@pnpm/store-controller-types': 1004.3.2 + '@pnpm/store.cafs': 1000.0.23 + '@pnpm/types': 1001.1.0 + '@pnpm/worker': 1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4) + detect-libc: 2.1.2 + p-defer: 3.0.0 + p-limit: 3.1.0 + p-queue: 6.6.2 + promise-share: 1.0.0 + ramda: '@pnpm/ramda@0.28.1' + semver: 7.7.3 + ssri: 10.0.5 + '@pnpm/package-requester@1009.0.1(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))': dependencies: '@pnpm/core-loggers': 1001.0.7(@pnpm/logger@1001.0.1) @@ -17959,6 +18298,22 @@ snapshots: semver: 7.7.3 ssri: 10.0.5 + '@pnpm/package-store@1005.0.1(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))': + dependencies: + '@pnpm/create-cafs-store': 1000.0.25(@pnpm/logger@1001.0.1) + '@pnpm/fetcher-base': 1001.0.6 + '@pnpm/logger': 1001.0.1 + '@pnpm/package-requester': 1009.0.1(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4)) + '@pnpm/resolver-base': 1005.3.2 + '@pnpm/store-controller-types': 1004.3.2 + '@pnpm/store.cafs': 1000.0.23 + '@pnpm/types': 1001.1.0 + '@pnpm/worker': 1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4) + '@zkochan/rimraf': 3.0.2 + load-json-file: 6.2.0 + ramda: '@pnpm/ramda@0.28.1' + ssri: 10.0.5 + '@pnpm/package-store@1005.0.1(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))': dependencies: '@pnpm/create-cafs-store': 1000.0.25(@pnpm/logger@1001.0.1) @@ -18071,6 +18426,27 @@ snapshots: dependencies: '@pnpm/types': 1001.1.0 + '@pnpm/resolving.bun-resolver@1003.0.2(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0)': + dependencies: + '@pnpm/constants': 1001.3.1 + '@pnpm/crypto.shasums-file': 1001.0.2 + '@pnpm/error': 1000.0.5 + '@pnpm/fetcher-base': 1001.0.6 + '@pnpm/fetching-types': 1000.2.0 + '@pnpm/fetching.binary-fetcher': 1003.0.1(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4)) + '@pnpm/node.fetcher': 1001.0.14(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0) + '@pnpm/npm-resolver': 1005.0.0(@pnpm/logger@1001.0.1) + '@pnpm/resolver-base': 1005.3.2 + '@pnpm/types': 1001.1.0 + '@pnpm/util.lex-comparator': 3.0.2 + '@pnpm/worker': 1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4) + semver: 7.7.3 + transitivePeerDependencies: + - '@pnpm/logger' + - domexception + - supports-color + - typanion + '@pnpm/resolving.bun-resolver@1003.0.2(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))(typanion@3.14.0)': dependencies: '@pnpm/constants': 1001.3.1 @@ -18092,6 +18468,27 @@ snapshots: - supports-color - typanion + '@pnpm/resolving.deno-resolver@1003.0.2(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0)': + dependencies: + '@pnpm/constants': 1001.3.1 + '@pnpm/crypto.shasums-file': 1001.0.2 + '@pnpm/error': 1000.0.5 + '@pnpm/fetcher-base': 1001.0.6 + '@pnpm/fetching-types': 1000.2.0 + '@pnpm/fetching.binary-fetcher': 1003.0.1(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4)) + '@pnpm/node.fetcher': 1001.0.14(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0) + '@pnpm/npm-resolver': 1005.0.0(@pnpm/logger@1001.0.1) + '@pnpm/resolver-base': 1005.3.2 + '@pnpm/types': 1001.1.0 + '@pnpm/util.lex-comparator': 3.0.2 + '@pnpm/worker': 1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4) + semver: 7.7.3 + transitivePeerDependencies: + - '@pnpm/logger' + - domexception + - supports-color + - typanion + '@pnpm/resolving.deno-resolver@1003.0.2(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))(typanion@3.14.0)': dependencies: '@pnpm/constants': 1001.3.1 @@ -18130,6 +18527,25 @@ snapshots: - domexception - supports-color + '@pnpm/store-connection-manager@1002.3.5(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0)': + dependencies: + '@pnpm/cli-meta': 1000.0.14 + '@pnpm/client': 1001.1.10(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0) + '@pnpm/config': 1004.7.1(@pnpm/logger@1001.0.1) + '@pnpm/error': 1000.0.5 + '@pnpm/logger': 1001.0.1 + '@pnpm/package-store': 1005.0.1(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4)) + '@pnpm/server': 1001.0.15(@pnpm/logger@1001.0.1) + '@pnpm/store-path': 1000.0.5 + '@zkochan/diable': 1.0.2 + delay: 5.0.0 + dir-is-case-sensitive: 2.0.0 + transitivePeerDependencies: + - '@pnpm/worker' + - domexception + - supports-color + - typanion + '@pnpm/store-connection-manager@1002.3.5(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))(typanion@3.14.0)': dependencies: '@pnpm/cli-meta': 1000.0.14 @@ -18185,6 +18601,28 @@ snapshots: '@pnpm/types': 1001.1.0 symlink-dir: 6.0.5 + '@pnpm/tarball-fetcher@1004.0.1(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0)': + dependencies: + '@pnpm/core-loggers': 1001.0.7(@pnpm/logger@1001.0.1) + '@pnpm/error': 1000.0.5 + '@pnpm/fetcher-base': 1001.0.6 + '@pnpm/fetching-types': 1000.2.0 + '@pnpm/fs.packlist': 2.0.0 + '@pnpm/graceful-fs': 1000.0.1 + '@pnpm/logger': 1001.0.1 + '@pnpm/prepare-package': 1000.0.30(@pnpm/logger@1001.0.1)(typanion@3.14.0) + '@pnpm/worker': 1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4) + '@zkochan/retry': 0.2.0 + lodash.throttle: 4.1.1 + p-map-values: 1.0.0 + path-temp: 2.1.0 + ramda: '@pnpm/ramda@0.28.1' + rename-overwrite: 6.0.3 + transitivePeerDependencies: + - domexception + - supports-color + - typanion + '@pnpm/tarball-fetcher@1004.0.1(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))(typanion@3.14.0)': dependencies: '@pnpm/core-loggers': 1001.0.7(@pnpm/logger@1001.0.1) @@ -18226,6 +18664,25 @@ snapshots: dependencies: isexe: 2.0.0 + '@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4)': + dependencies: + '@pnpm/cafs-types': 1000.0.0 + '@pnpm/create-cafs-store': 1000.0.25(@pnpm/logger@1001.0.1) + '@pnpm/crypto.polyfill': 1000.1.0 + '@pnpm/error': 1000.0.5 + '@pnpm/exec.pkg-requires-build': 1000.0.14 + '@pnpm/fs.hard-link-dir': 1000.0.5(@pnpm/logger@1001.0.1) + '@pnpm/graceful-fs': 1000.0.1 + '@pnpm/logger': 1001.0.1 + '@pnpm/store.cafs': 1000.0.23 + '@pnpm/symlink-dependency': 1000.0.15(@pnpm/logger@1001.0.1) + '@rushstack/worker-pool': 0.4.9(@types/node@24.10.4) + is-windows: 1.0.2 + load-json-file: 6.2.0 + p-limit: 3.1.0 + transitivePeerDependencies: + - '@types/node' + '@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2)': dependencies: '@pnpm/cafs-types': 1000.0.0 @@ -18245,6 +18702,20 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@pnpm/workspace.find-packages@1000.0.49(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0)': + dependencies: + '@pnpm/cli-utils': 1001.2.14(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@24.10.4))(typanion@3.14.0) + '@pnpm/constants': 1001.3.1 + '@pnpm/fs.find-packages': 1000.0.20(@pnpm/logger@1001.0.1) + '@pnpm/logger': 1001.0.1 + '@pnpm/types': 1001.1.0 + '@pnpm/util.lex-comparator': 3.0.2 + transitivePeerDependencies: + - '@pnpm/worker' + - domexception + - supports-color + - typanion + '@pnpm/workspace.find-packages@1000.0.49(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))(typanion@3.14.0)': dependencies: '@pnpm/cli-utils': 1001.2.14(@pnpm/logger@1001.0.1)(@pnpm/worker@1000.4.1(@pnpm/logger@1001.0.1)(@types/node@25.0.2))(typanion@3.14.0) @@ -18422,6 +18893,19 @@ snapshots: '@rtsao/scc@1.1.0': {} + '@rushstack/node-core-library@5.19.1(@types/node@24.10.4)': + dependencies: + ajv: 8.13.0 + ajv-draft-04: 1.0.0(ajv@8.13.0) + ajv-formats: 3.0.1(ajv@8.13.0) + fs-extra: 11.3.2 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.11 + semver: 7.5.4 + optionalDependencies: + '@types/node': 24.10.4 + '@rushstack/node-core-library@5.19.1(@types/node@25.0.2)': dependencies: ajv: 8.13.0 @@ -18435,6 +18919,10 @@ snapshots: optionalDependencies: '@types/node': 25.0.2 + '@rushstack/problem-matcher@0.1.1(@types/node@24.10.4)': + optionalDependencies: + '@types/node': 24.10.4 + '@rushstack/problem-matcher@0.1.1(@types/node@25.0.2)': optionalDependencies: '@types/node': 25.0.2 @@ -18444,6 +18932,14 @@ snapshots: resolve: 1.22.11 strip-json-comments: 3.1.1 + '@rushstack/terminal@0.19.5(@types/node@24.10.4)': + dependencies: + '@rushstack/node-core-library': 5.19.1(@types/node@24.10.4) + '@rushstack/problem-matcher': 0.1.1(@types/node@24.10.4) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 24.10.4 + '@rushstack/terminal@0.19.5(@types/node@25.0.2)': dependencies: '@rushstack/node-core-library': 5.19.1(@types/node@25.0.2) @@ -18452,6 +18948,15 @@ snapshots: optionalDependencies: '@types/node': 25.0.2 + '@rushstack/ts-command-line@5.1.5(@types/node@24.10.4)': + dependencies: + '@rushstack/terminal': 0.19.5(@types/node@24.10.4) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + '@rushstack/ts-command-line@5.1.5(@types/node@25.0.2)': dependencies: '@rushstack/terminal': 0.19.5(@types/node@25.0.2) @@ -18461,6 +18966,10 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@rushstack/worker-pool@0.4.9(@types/node@24.10.4)': + optionalDependencies: + '@types/node': 24.10.4 + '@rushstack/worker-pool@0.4.9(@types/node@25.0.2)': optionalDependencies: '@types/node': 25.0.2 @@ -18675,13 +19184,13 @@ snapshots: '@standard-schema/spec@1.0.0': {} - '@storybook/builder-vite@10.1.8(esbuild@0.27.1)(rollup@4.49.0)(storybook@10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2))': + '@storybook/builder-vite@10.1.8(esbuild@0.27.1)(rollup@4.49.0)(storybook@10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@storybook/csf-plugin': 10.1.8(esbuild@0.27.1)(rollup@4.49.0)(storybook@10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) - '@vitest/mocker': 3.2.4(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + '@storybook/csf-plugin': 10.1.8(esbuild@0.27.1)(rollup@4.49.0)(storybook@10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 3.2.4(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) storybook: 10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) ts-dedent: 2.2.0 - vite: 7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - esbuild - msw @@ -18726,14 +19235,14 @@ snapshots: - supports-color - utf-8-validate - '@storybook/csf-plugin@10.1.8(esbuild@0.27.1)(rollup@4.49.0)(storybook@10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2))': + '@storybook/csf-plugin@10.1.8(esbuild@0.27.1)(rollup@4.49.0)(storybook@10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2))': dependencies: storybook: 10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) unplugin: 2.3.11 optionalDependencies: esbuild: 0.27.1 rollup: 4.49.0 - vite: 7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) '@storybook/global@5.0.0': {} @@ -18748,11 +19257,11 @@ snapshots: react-dom: 18.3.1(react@18.3.1) storybook: 10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/react-vite@10.1.8(esbuild@0.27.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.49.0)(storybook@10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2))': + '@storybook/react-vite@10.1.8(esbuild@0.27.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.49.0)(storybook@10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.9.3)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.3(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.3(typescript@5.9.3)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) '@rollup/pluginutils': 5.3.0(rollup@4.49.0) - '@storybook/builder-vite': 10.1.8(esbuild@0.27.1)(rollup@4.49.0)(storybook@10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)) + '@storybook/builder-vite': 10.1.8(esbuild@0.27.1)(rollup@4.49.0)(storybook@10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) '@storybook/react': 10.1.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.9.3) empathic: 2.0.0 magic-string: 0.30.21 @@ -18762,7 +19271,7 @@ snapshots: resolve: 1.22.11 storybook: 10.1.8(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tsconfig-paths: 4.2.0 - vite: 7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - esbuild - msw @@ -18899,7 +19408,7 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 25.0.2 + '@types/node': 24.10.4 '@types/braces@3.0.5': {} @@ -18907,7 +19416,7 @@ snapshots: dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 25.0.2 + '@types/node': 24.10.4 '@types/responselike': 1.0.3 '@types/chai@5.2.3': @@ -18917,11 +19426,11 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 25.0.2 + '@types/node': 24.10.4 '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 25.0.2 + '@types/node': 24.10.4 '@types/debounce@1.2.4': {} @@ -18945,7 +19454,7 @@ snapshots: '@types/express-serve-static-core@5.1.0': dependencies: - '@types/node': 25.0.2 + '@types/node': 24.10.4 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -18978,7 +19487,7 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 25.0.2 + '@types/node': 24.10.4 '@types/mdast@4.0.4': dependencies: @@ -18994,7 +19503,7 @@ snapshots: '@types/morgan@1.9.10': dependencies: - '@types/node': 25.0.2 + '@types/node': 24.10.4 '@types/ms@2.1.0': {} @@ -19018,6 +19527,10 @@ snapshots: dependencies: undici-types: 6.21.0 + '@types/node@24.10.4': + dependencies: + undici-types: 7.16.0 + '@types/node@25.0.2': dependencies: undici-types: 7.16.0 @@ -19028,7 +19541,7 @@ snapshots: '@types/plist@3.0.5': dependencies: - '@types/node': 25.0.2 + '@types/node': 24.10.4 xmlbuilder: 15.1.1 '@types/pluralize@0.0.33': {} @@ -19053,7 +19566,7 @@ snapshots: '@types/responselike@1.0.3': dependencies: - '@types/node': 25.0.2 + '@types/node': 24.10.4 '@types/sarif@2.1.7': {} @@ -19065,16 +19578,16 @@ snapshots: '@types/send@1.2.1': dependencies: - '@types/node': 25.0.2 + '@types/node': 24.10.4 '@types/serve-static@2.2.0': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 25.0.2 + '@types/node': 24.10.4 '@types/ssri@7.1.5': dependencies: - '@types/node': 25.0.2 + '@types/node': 24.10.4 '@types/swagger-ui-dist@3.30.6': {} @@ -19094,6 +19607,8 @@ snapshots: '@types/unist@3.0.3': {} + '@types/vscode@1.106.1': {} + '@types/vscode@1.107.0': {} '@types/whatwg-mimetype@3.0.2': {} @@ -19102,7 +19617,7 @@ snapshots: '@types/xml2js@0.4.14': dependencies: - '@types/node': 25.0.2 + '@types/node': 24.10.4 '@types/yargs-parser@21.0.3': {} @@ -19277,6 +19792,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@vitejs/plugin-react@5.1.2(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2))': + dependencies: + '@babel/core': 7.28.5 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.5) + '@rolldown/pluginutils': 1.0.0-beta.53 + '@types/babel__core': 7.20.5 + react-refresh: 0.18.0 + vite: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) + transitivePeerDependencies: + - supports-color + '@vitejs/plugin-react@5.1.2(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@babel/core': 7.28.5 @@ -19302,7 +19829,7 @@ snapshots: obug: 2.1.1 std-env: 3.10.0 tinyrainbow: 3.0.3 - vitest: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + vitest: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color @@ -19313,7 +19840,7 @@ snapshots: eslint: 9.39.2 optionalDependencies: typescript: 5.9.3 - vitest: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + vitest: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color @@ -19334,13 +19861,21 @@ snapshots: chai: 6.2.1 tinyrainbow: 3.0.3 - '@vitest/mocker@3.2.4(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/mocker@3.2.4(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) + + '@vitest/mocker@4.0.15(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2))': + dependencies: + '@vitest/spy': 4.0.15 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) '@vitest/mocker@4.0.15(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2))': dependencies: @@ -19384,7 +19919,7 @@ snapshots: sirv: 3.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vitest: 4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) + vitest: 4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2) '@vitest/utils@3.2.4': dependencies: @@ -19465,10 +20000,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@vscode/test-web@0.0.77': + '@vscode/test-web@0.0.75': dependencies: '@koa/cors': 5.0.0 - '@koa/router': 15.1.0(koa@3.1.1) + '@koa/router': 14.0.0 '@playwright/browser-chromium': 1.57.0 gunzip-maybe: 1.4.2 http-proxy-agent: 7.0.2 @@ -19817,7 +20352,7 @@ snapshots: algoliasearch: 4.25.3 clipanion: 4.0.0-rc.4(typanion@3.14.0) diff: 5.2.0 - ink: 3.2.0(@types/react@19.2.7)(react@18.3.1) + ink: 3.2.0(@types/react@19.2.7)(react@17.0.2) ink-text-input: 4.0.3(ink@3.2.0(@types/react@19.2.7)(react@17.0.2))(react@17.0.2) react: 17.0.2 semver: 7.7.3 @@ -19967,7 +20502,7 @@ snapshots: '@yarnpkg/plugin-git': 3.1.4(@yarnpkg/core@4.5.0(typanion@3.14.0))(typanion@3.14.0) clipanion: 4.0.0-rc.4(typanion@3.14.0) es-toolkit: 1.43.0 - ink: 3.2.0(@types/react@19.2.7)(react@17.0.2) + ink: 3.2.0(@types/react@19.2.7)(react@18.3.1) react: 17.0.2 semver: 7.7.3 tslib: 2.8.1 @@ -20883,10 +21418,6 @@ snapshots: dependencies: readdirp: 4.1.2 - chokidar@5.0.0: - dependencies: - readdirp: 5.0.0 - chownr@1.1.4: optional: true @@ -21765,6 +22296,8 @@ snapshots: es-module-lexer@1.7.0: {} + es-module-shims@2.6.2: {} + es-module-shims@2.7.0: {} es-object-atoms@1.1.1: @@ -23105,6 +23638,18 @@ snapshots: inline-style-parser@0.2.7: {} + inquirer@13.1.0(@types/node@24.10.4): + dependencies: + '@inquirer/ansi': 2.0.2 + '@inquirer/core': 11.1.0(@types/node@24.10.4) + '@inquirer/prompts': 8.1.0(@types/node@24.10.4) + '@inquirer/type': 4.0.2(@types/node@24.10.4) + mute-stream: 3.0.0 + run-async: 4.0.6 + rxjs: 7.8.2 + optionalDependencies: + '@types/node': 24.10.4 + inquirer@13.1.0(@types/node@25.0.2): dependencies: '@inquirer/ansi': 2.0.2 @@ -25230,17 +25775,30 @@ snapshots: prettier: 3.7.4 sass-formatter: 0.7.9 + prettier-plugin-organize-imports@4.3.0(prettier@3.6.2)(typescript@5.9.3): + dependencies: + prettier: 3.6.2 + typescript: 5.9.3 + prettier-plugin-organize-imports@4.3.0(prettier@3.7.4)(typescript@5.9.3): dependencies: prettier: 3.7.4 typescript: 5.9.3 + prettier-plugin-sh@0.17.4(prettier@3.6.2): + dependencies: + '@reteps/dockerfmt': 0.3.6 + prettier: 3.6.2 + sh-syntax: 0.5.8 + prettier-plugin-sh@0.17.4(prettier@3.7.4): dependencies: '@reteps/dockerfmt': 0.3.6 prettier: 3.7.4 sh-syntax: 0.5.8 + prettier@3.6.2: {} + prettier@3.7.4: {} pretty-bytes@5.6.0: {} @@ -25537,8 +26095,6 @@ snapshots: readdirp@4.1.2: {} - readdirp@5.0.0: {} - readline-sync@1.4.9: {} realpath-missing@1.1.0: {} @@ -27220,7 +27776,23 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-plugin-checker@0.12.0(eslint@9.39.2)(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)): + vite-plugin-checker@0.11.0(eslint@9.39.2)(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)): + dependencies: + '@babel/code-frame': 7.27.1 + chokidar: 4.0.3 + npm-run-path: 6.0.0 + picocolors: 1.1.1 + picomatch: 4.0.3 + tiny-invariant: 1.3.3 + tinyglobby: 0.2.15 + vite: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) + vscode-uri: 3.1.0 + optionalDependencies: + eslint: 9.39.2 + optionator: 0.9.4 + typescript: 5.9.3 + + vite-plugin-checker@0.11.0(eslint@9.39.2)(optionator@0.9.4)(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)): dependencies: '@babel/code-frame': 7.27.1 chokidar: 4.0.3 @@ -27236,6 +27808,25 @@ snapshots: optionator: 0.9.4 typescript: 5.9.3 + vite-plugin-dts@4.5.4(@types/node@24.10.4)(rollup@4.49.0)(typescript@5.9.3)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)): + dependencies: + '@microsoft/api-extractor': 7.55.2(@types/node@24.10.4) + '@rollup/pluginutils': 5.3.0(rollup@4.49.0) + '@volar/typescript': 2.4.27 + '@vue/language-core': 2.2.0(typescript@5.9.3) + compare-versions: 6.1.1 + debug: 4.4.3(supports-color@8.1.1) + kolorist: 1.8.0 + local-pkg: 1.1.2 + magic-string: 0.30.21 + typescript: 5.9.3 + optionalDependencies: + vite: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + vite-plugin-dts@4.5.4(@types/node@25.0.2)(rollup@4.49.0)(typescript@5.9.3)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)): dependencies: '@microsoft/api-extractor': 7.55.2(@types/node@25.0.2) @@ -27255,11 +27846,11 @@ snapshots: - rollup - supports-color - vite-plugin-node-polyfills@0.24.0(rollup@4.49.0)(vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2)): + vite-plugin-node-polyfills@0.24.0(rollup@4.49.0)(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)): dependencies: '@rollup/plugin-inject': 5.0.5(rollup@4.49.0) node-stdlib-browser: 1.3.1 - vite: 7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - rollup @@ -27277,6 +27868,20 @@ snapshots: tsx: 4.21.0 yaml: 2.8.2 + vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2): + dependencies: + esbuild: 0.25.12 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.49.0 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 24.10.4 + fsevents: 2.3.3 + tsx: 4.21.0 + yaml: 2.8.2 + vite@7.2.7(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2): dependencies: esbuild: 0.25.12 @@ -27295,6 +27900,46 @@ snapshots: optionalDependencies: vite: 6.4.1(@types/node@25.0.2)(tsx@4.21.0)(yaml@2.8.2) + vitest@4.0.15(@types/node@24.10.4)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2): + dependencies: + '@vitest/expect': 4.0.15 + '@vitest/mocker': 4.0.15(vite@7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/pretty-format': 4.0.15 + '@vitest/runner': 4.0.15 + '@vitest/snapshot': 4.0.15 + '@vitest/spy': 4.0.15 + '@vitest/utils': 4.0.15 + es-module-lexer: 1.7.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.1 + pathe: 2.0.3 + picomatch: 4.0.3 + std-env: 3.10.0 + tinybench: 2.9.0 + tinyexec: 1.0.2 + tinyglobby: 0.2.15 + tinyrainbow: 3.0.3 + vite: 7.2.7(@types/node@24.10.4)(tsx@4.21.0)(yaml@2.8.2) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 24.10.4 + '@vitest/ui': 4.0.15(vitest@4.0.15) + happy-dom: 20.0.11 + jsdom: 25.0.1 + transitivePeerDependencies: + - jiti + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - terser + - tsx + - yaml + vitest@4.0.15(@types/node@25.0.2)(@vitest/ui@4.0.15)(happy-dom@20.0.11)(jsdom@25.0.1)(tsx@4.21.0)(yaml@2.8.2): dependencies: '@vitest/expect': 4.0.15 @@ -27440,7 +28085,7 @@ snapshots: vscode-oniguruma@2.0.1: {} - vscode-textmate@9.3.0: {} + vscode-textmate@9.2.1: {} vscode-uri@3.1.0: {} @@ -27454,7 +28099,9 @@ snapshots: web-namespaces@2.0.1: {} - web-tree-sitter@0.26.3: {} + web-tree-sitter@0.25.10(@types/emscripten@1.41.5): + optionalDependencies: + '@types/emscripten': 1.41.5 webidl-conversions@7.0.0: {}