From 321f406545d08f6afa32a72bb4dbd45248f5c123 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 10 Feb 2026 00:53:24 +0000
Subject: [PATCH 1/9] Initial plan
From 4ae204d75f704930afda9e8c340fd6ea5d1483c5 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 9 Feb 2026 22:42:45 +0000
Subject: [PATCH 2/9] Add XML model with enum property test case
Co-authored-by: annatisch <8689453+annatisch@users.noreply.github.com>
---
packages/http-specs/spec-summary.md | 24 ++++++++++++++
.../http-specs/specs/payload/xml/main.tsp | 31 +++++++++++++++++++
.../http-specs/specs/payload/xml/mockapi.ts | 10 ++++++
3 files changed, 65 insertions(+)
diff --git a/packages/http-specs/spec-summary.md b/packages/http-specs/spec-summary.md
index 32c198bfff1..a751c716aa3 100644
--- a/packages/http-specs/spec-summary.md
+++ b/packages/http-specs/spec-summary.md
@@ -3157,6 +3157,30 @@ Expected request body:
```
+### Payload_Xml_ModelWithEnumValue_get
+
+- Endpoint: `get /payload/xml/modelWithEnum`
+
+Expected response body:
+
+```xml
+
+ success
+
+```
+
+### Payload_Xml_ModelWithEnumValue_put
+
+- Endpoint: `put /payload/xml/modelWithEnum`
+
+Expected request body:
+
+```xml
+
+ success
+
+```
+
### Payload_Xml_ModelWithOptionalFieldValue_get
- Endpoint: `get /payload/xml/modelWithOptionalField`
diff --git a/packages/http-specs/specs/payload/xml/main.tsp b/packages/http-specs/specs/payload/xml/main.tsp
index 4beab6443f0..3d9d635baac 100644
--- a/packages/http-specs/specs/payload/xml/main.tsp
+++ b/packages/http-specs/specs/payload/xml/main.tsp
@@ -82,6 +82,25 @@ model ModelWithEncodedNames {
@encodedName("application/xml", "PossibleColors") colors: string[];
}
+@doc("Status values for the model with enum.")
+union Status {
+ string,
+
+ @doc("Pending status.")
+ pending: "pending",
+
+ @doc("Success status.")
+ success: "success",
+
+ @doc("Error status.")
+ error: "error",
+}
+
+@doc("Contains a single property with an enum value.")
+model ModelWithEnum {
+ status: Status;
+}
+
@doc("An error response body in XML format.")
@error
model XmlError {
@@ -315,6 +334,18 @@ interface ModelWithEncodedNamesValue
"""
> {}
+@doc("Operations for the ModelWithEnum type.")
+@route("/modelWithEnum")
+interface ModelWithEnumValue
+ extends XmlOperations<
+ ModelWithEnum,
+ """
+
+ success
+
+ """
+ > {}
+
@doc("Operations that return an error response in XML format.")
@route("/error")
interface XmlErrorValue {
diff --git a/packages/http-specs/specs/payload/xml/mockapi.ts b/packages/http-specs/specs/payload/xml/mockapi.ts
index 3e8744597b7..6390bbcc85c 100644
--- a/packages/http-specs/specs/payload/xml/mockapi.ts
+++ b/packages/http-specs/specs/payload/xml/mockapi.ts
@@ -123,6 +123,12 @@ export const modelWithEncodedNames = `
`;
+export const modelWithEnum = `
+
+ success
+
+`;
+
function createServerTests(uri: string, data?: any) {
return {
get: passOnSuccess({
@@ -234,6 +240,10 @@ const Payload_Xml_ModelWithEncodedNames = createServerTests(
Scenarios.Payload_Xml_ModelWithEncodedNamesValue_get = Payload_Xml_ModelWithEncodedNames.get;
Scenarios.Payload_Xml_ModelWithEncodedNamesValue_put = Payload_Xml_ModelWithEncodedNames.put;
+const Payload_Xml_ModelWithEnum = createServerTests("/payload/xml/modelWithEnum", modelWithEnum);
+Scenarios.Payload_Xml_ModelWithEnumValue_get = Payload_Xml_ModelWithEnum.get;
+Scenarios.Payload_Xml_ModelWithEnumValue_put = Payload_Xml_ModelWithEnum.put;
+
export const xmlError = `
Something went wrong
From 0606f81ea76f618e93ef5b35fe36aca3c51b86bc Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 10 Feb 2026 01:01:37 +0000
Subject: [PATCH 3/9] Add test cases for XML model with enum
Co-authored-by: annatisch <8689453+annatisch@users.noreply.github.com>
---
.../copilot-add-xml-enum-test-2026-02-10-01-01-15.md | 7 +++++++
.../asynctests/test_payload_xml_async.py | 9 +++++++++
.../test/generic_mock_api_tests/test_payload_xml.py | 8 ++++++++
3 files changed, 24 insertions(+)
create mode 100644 .chronus/changes/copilot-add-xml-enum-test-2026-02-10-01-01-15.md
diff --git a/.chronus/changes/copilot-add-xml-enum-test-2026-02-10-01-01-15.md b/.chronus/changes/copilot-add-xml-enum-test-2026-02-10-01-01-15.md
new file mode 100644
index 00000000000..da28127e635
--- /dev/null
+++ b/.chronus/changes/copilot-add-xml-enum-test-2026-02-10-01-01-15.md
@@ -0,0 +1,7 @@
+---
+changeKind: internal
+packages:
+ - "@typespec/http-client-python"
+---
+
+Add test case for XML model with enum property
diff --git a/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py b/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py
index 28693b8c286..4df57297ab4 100644
--- a/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py
+++ b/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py
@@ -18,6 +18,8 @@
ModelWithText,
ModelWithDictionary,
ModelWithEncodedNames,
+ ModelWithEnum,
+ Status,
)
@@ -119,6 +121,13 @@ async def test_model_with_encoded_names(client: XmlClient):
await client.model_with_encoded_names_value.put(model)
+@pytest.mark.asyncio
+async def test_model_with_enum(client: XmlClient):
+ model = ModelWithEnum(status="success")
+ assert await client.model_with_enum_value.get() == model
+ await client.model_with_enum_value.put(model)
+
+
@pytest.mark.asyncio
async def test_xml_error_value(client: XmlClient, core_library):
with pytest.raises(core_library.exceptions.HttpResponseError) as ex:
diff --git a/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py b/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py
index f5e7a2da671..f10821b9261 100644
--- a/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py
+++ b/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py
@@ -18,6 +18,8 @@
ModelWithText,
ModelWithDictionary,
ModelWithEncodedNames,
+ ModelWithEnum,
+ Status,
)
@@ -107,6 +109,12 @@ def test_model_with_encoded_names(client: XmlClient):
client.model_with_encoded_names_value.put(model)
+def test_model_with_enum(client: XmlClient):
+ model = ModelWithEnum(status="success")
+ assert client.model_with_enum_value.get() == model
+ client.model_with_enum_value.put(model)
+
+
def test_xml_error_value(client: XmlClient, core_library):
with pytest.raises(core_library.exceptions.HttpResponseError) as ex:
client.xml_error_value.get()
From 389eefb3040809b1b875041ec6a68fc432502bb3 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 10 Feb 2026 21:32:13 +0000
Subject: [PATCH 4/9] Use Status enum value instead of raw string in tests
Co-authored-by: annatisch <8689453+annatisch@users.noreply.github.com>
---
.../generic_mock_api_tests/asynctests/test_payload_xml_async.py | 2 +-
.../generator/test/generic_mock_api_tests/test_payload_xml.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py b/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py
index 4df57297ab4..c7d563f79c8 100644
--- a/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py
+++ b/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py
@@ -123,7 +123,7 @@ async def test_model_with_encoded_names(client: XmlClient):
@pytest.mark.asyncio
async def test_model_with_enum(client: XmlClient):
- model = ModelWithEnum(status="success")
+ model = ModelWithEnum(status=Status.SUCCESS)
assert await client.model_with_enum_value.get() == model
await client.model_with_enum_value.put(model)
diff --git a/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py b/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py
index f10821b9261..be05b53f210 100644
--- a/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py
+++ b/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py
@@ -110,7 +110,7 @@ def test_model_with_encoded_names(client: XmlClient):
def test_model_with_enum(client: XmlClient):
- model = ModelWithEnum(status="success")
+ model = ModelWithEnum(status=Status.SUCCESS)
assert client.model_with_enum_value.get() == model
client.model_with_enum_value.put(model)
From e47825fd70643ac9fca4b044040c79684d613afd Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 11 Feb 2026 21:04:33 +0000
Subject: [PATCH 5/9] Add test case for ModelWithDatetime from PR #9660
Co-authored-by: annatisch <8689453+annatisch@users.noreply.github.com>
---
...copilot-add-xml-enum-test-2026-02-10-01-01-15.md | 2 +-
.../asynctests/test_payload_xml_async.py | 13 +++++++++++++
.../test/generic_mock_api_tests/test_payload_xml.py | 12 ++++++++++++
3 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/.chronus/changes/copilot-add-xml-enum-test-2026-02-10-01-01-15.md b/.chronus/changes/copilot-add-xml-enum-test-2026-02-10-01-01-15.md
index da28127e635..4884b633f4a 100644
--- a/.chronus/changes/copilot-add-xml-enum-test-2026-02-10-01-01-15.md
+++ b/.chronus/changes/copilot-add-xml-enum-test-2026-02-10-01-01-15.md
@@ -4,4 +4,4 @@ packages:
- "@typespec/http-client-python"
---
-Add test case for XML model with enum property
+Add test cases for XML model with enum and datetime properties (tests will activate when PR #9660 is merged)
diff --git a/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py b/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py
index c7d563f79c8..31d6a8b307f 100644
--- a/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py
+++ b/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py
@@ -3,6 +3,8 @@
# Licensed under the MIT License. See License.txt in the project root for
# license information.
# --------------------------------------------------------------------------
+import datetime
+
import pytest
from payload.xml.aio import XmlClient
from payload.xml.models import (
@@ -19,6 +21,7 @@
ModelWithDictionary,
ModelWithEncodedNames,
ModelWithEnum,
+ ModelWithDatetime,
Status,
)
@@ -128,6 +131,16 @@ async def test_model_with_enum(client: XmlClient):
await client.model_with_enum_value.put(model)
+@pytest.mark.asyncio
+async def test_model_with_datetime(client: XmlClient):
+ model = ModelWithDatetime(
+ rfc3339=datetime.datetime(2022, 8, 26, 18, 38, 0, tzinfo=datetime.timezone.utc),
+ rfc7231=datetime.datetime(2022, 8, 26, 14, 38, 0, tzinfo=datetime.timezone.utc),
+ )
+ assert await client.model_with_datetime_value.get() == model
+ await client.model_with_datetime_value.put(model)
+
+
@pytest.mark.asyncio
async def test_xml_error_value(client: XmlClient, core_library):
with pytest.raises(core_library.exceptions.HttpResponseError) as ex:
diff --git a/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py b/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py
index be05b53f210..f5edb6f43e0 100644
--- a/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py
+++ b/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py
@@ -3,6 +3,8 @@
# Licensed under the MIT License. See License.txt in the project root for
# license information.
# --------------------------------------------------------------------------
+import datetime
+
import pytest
from payload.xml import XmlClient
from payload.xml.models import (
@@ -19,6 +21,7 @@
ModelWithDictionary,
ModelWithEncodedNames,
ModelWithEnum,
+ ModelWithDatetime,
Status,
)
@@ -115,6 +118,15 @@ def test_model_with_enum(client: XmlClient):
client.model_with_enum_value.put(model)
+def test_model_with_datetime(client: XmlClient):
+ model = ModelWithDatetime(
+ rfc3339=datetime.datetime(2022, 8, 26, 18, 38, 0, tzinfo=datetime.timezone.utc),
+ rfc7231=datetime.datetime(2022, 8, 26, 14, 38, 0, tzinfo=datetime.timezone.utc),
+ )
+ assert client.model_with_datetime_value.get() == model
+ client.model_with_datetime_value.put(model)
+
+
def test_xml_error_value(client: XmlClient, core_library):
with pytest.raises(core_library.exceptions.HttpResponseError) as ex:
client.xml_error_value.get()
From fad58ae873c6483c6cf3e8f52085bb24597193ec Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 12 Feb 2026 19:52:40 +0000
Subject: [PATCH 6/9] Use workspace dependency for @typespec/http-specs to fix
CI imports
Co-authored-by: annatisch <8689453+annatisch@users.noreply.github.com>
---
packages/http-client-python/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/http-client-python/package.json b/packages/http-client-python/package.json
index b71e7c4d83d..2249c9d9e64 100644
--- a/packages/http-client-python/package.json
+++ b/packages/http-client-python/package.json
@@ -94,7 +94,7 @@
"@typespec/sse": "~0.79.0",
"@typespec/streams": "~0.79.0",
"@typespec/xml": "~0.79.0",
- "@typespec/http-specs": "0.1.0-alpha.32",
+ "@typespec/http-specs": "workspace:~",
"@types/js-yaml": "~4.0.5",
"@types/node": "~24.1.0",
"@types/semver": "7.5.8",
From a445479ef0e18ff2eef8c45a633dcdb8135235df Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 12 Feb 2026 20:38:25 +0000
Subject: [PATCH 7/9] Update http-specs dependency to 0.1.0-alpha.33-dev.2
Co-authored-by: annatisch <8689453+annatisch@users.noreply.github.com>
---
packages/http-client-python/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/http-client-python/package.json b/packages/http-client-python/package.json
index 2249c9d9e64..b6642a8af88 100644
--- a/packages/http-client-python/package.json
+++ b/packages/http-client-python/package.json
@@ -94,7 +94,7 @@
"@typespec/sse": "~0.79.0",
"@typespec/streams": "~0.79.0",
"@typespec/xml": "~0.79.0",
- "@typespec/http-specs": "workspace:~",
+ "@typespec/http-specs": "0.1.0-alpha.33-dev.2",
"@types/js-yaml": "~4.0.5",
"@types/node": "~24.1.0",
"@types/semver": "7.5.8",
From 7fd23554bf5e765beb3bc658893007c9b7d3297b Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 12 Feb 2026 21:01:20 +0000
Subject: [PATCH 8/9] Update package-lock.json for
http-specs@0.1.0-alpha.33-dev.2
Co-authored-by: annatisch <8689453+annatisch@users.noreply.github.com>
---
packages/http-client-python/package-lock.json | 115 +++++++-----------
1 file changed, 41 insertions(+), 74 deletions(-)
diff --git a/packages/http-client-python/package-lock.json b/packages/http-client-python/package-lock.json
index 5467b01e76d..5106ed530af 100644
--- a/packages/http-client-python/package-lock.json
+++ b/packages/http-client-python/package-lock.json
@@ -29,7 +29,7 @@
"@typespec/compiler": "^1.9.0",
"@typespec/events": "~0.79.0",
"@typespec/http": "^1.9.0",
- "@typespec/http-specs": "0.1.0-alpha.32",
+ "@typespec/http-specs": "0.1.0-alpha.33-dev.2",
"@typespec/openapi": "^1.9.0",
"@typespec/rest": "~0.79.0",
"@typespec/spec-api": "0.1.0-alpha.12",
@@ -119,6 +119,7 @@
"integrity": "sha512-dYgHtt0CY0Q9AimdIsMV41jHKLmAT4r++TLwyxAHRbxdiRG+Sll1UKJzOIIoq45Bq64wCfEltu5OOnyPA01/sQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.0.0"
},
@@ -134,6 +135,7 @@
"integrity": "sha512-3rvyGDIYSqraZ7jHfq5Bfet8u3ZeERWJWhwWMNvbShnrS/vVR3iuu/1z2M0p5mTRFuwUaSMlL/dbtBp1YqgGAg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"change-case": "~5.4.4",
"pluralize": "^8.0.0"
@@ -172,6 +174,7 @@
"integrity": "sha512-+g6+xB967chLQlukt2nKSCNUagg99MySrdFkY6Izu0z32Wq6ba/FI9IbqBDRTBGFveX+fxS39Xn/xCbtU3nTRg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"change-case": "~5.4.4",
"pluralize": "^8.0.0",
@@ -227,6 +230,7 @@
"integrity": "sha512-Nh5PhEOeY6PrnxNPsEHRr9eimxLwgLlpmguQaHKBinFYA/RU9+kOYVOQqOrTsCL+KSxrLLl1gD8Dk5BFW/7l/w==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@azure/abort-controller": "^2.1.2",
"@azure/core-auth": "^1.10.0",
@@ -292,6 +296,7 @@
"integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@azure/abort-controller": "^2.1.2",
"@azure/core-auth": "^1.10.0",
@@ -922,7 +927,6 @@
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz",
"integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==",
"dev": true,
- "peer": true,
"dependencies": {
"@eslint/object-schema": "^2.1.6",
"debug": "^4.3.1",
@@ -937,7 +941,6 @@
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.1.0.tgz",
"integrity": "sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==",
"dev": true,
- "peer": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
@@ -947,7 +950,6 @@
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz",
"integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==",
"dev": true,
- "peer": true,
"dependencies": {
"@types/json-schema": "^7.0.15"
},
@@ -960,7 +962,6 @@
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.0.tgz",
"integrity": "sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==",
"dev": true,
- "peer": true,
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
@@ -984,7 +985,6 @@
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
- "peer": true,
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -1000,15 +1000,13 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "peer": true
+ "dev": true
},
"node_modules/@eslint/js": {
"version": "9.22.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz",
"integrity": "sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==",
"dev": true,
- "peer": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
@@ -1018,7 +1016,6 @@
"resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
"integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
"dev": true,
- "peer": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
@@ -1028,7 +1025,6 @@
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz",
"integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==",
"dev": true,
- "peer": true,
"dependencies": {
"@eslint/core": "^0.12.0",
"levn": "^0.4.1"
@@ -1042,7 +1038,6 @@
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
"integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=18.18.0"
}
@@ -1052,7 +1047,6 @@
"resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz",
"integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==",
"dev": true,
- "peer": true,
"dependencies": {
"@humanfs/core": "^0.19.1",
"@humanwhocodes/retry": "^0.3.0"
@@ -1066,7 +1060,6 @@
"resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
"integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=18.18"
},
@@ -1080,7 +1073,6 @@
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
"integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=12.22"
},
@@ -1094,7 +1086,6 @@
"resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz",
"integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=18.18"
},
@@ -1941,8 +1932,7 @@
"version": "7.0.15",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true,
- "peer": true
+ "dev": true
},
"node_modules/@types/node": {
"version": "24.1.0",
@@ -1950,6 +1940,7 @@
"integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"undici-types": "~7.8.0"
}
@@ -1994,6 +1985,7 @@
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.1.tgz",
"integrity": "sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==",
"dev": true,
+ "peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "8.26.1",
"@typescript-eslint/types": "8.26.1",
@@ -2162,6 +2154,7 @@
"integrity": "sha512-Rz9fFWQSTJSnhBfZvtA/bDIuO82fknYdtyMsL9lZNJE82rquC6JByHPFsnbGH1VXA0HhMj9L7Oqyp3f0m/BTOA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@babel/code-frame": "~7.28.6",
"@inquirer/prompts": "^8.0.1",
@@ -2293,6 +2286,7 @@
"integrity": "sha512-41R2jA7k21uMArjyUdvnqYzVnPPaSEcGi40dLMiRVP79m6XgnD3INuTdlMblaS1i+5jJ1BtS1o4QhBBuS/5/qg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.0.0"
},
@@ -2306,6 +2300,7 @@
"integrity": "sha512-JzlZZsgCo71f2KhWbf4BLOz5e+dVLj7gJJ4kvXvrmuG9QHoT41VaGPpCQamYgpZLMz2LQbsOtw34AmpovhuJSw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.0.0"
},
@@ -2320,14 +2315,14 @@
}
},
"node_modules/@typespec/http-specs": {
- "version": "0.1.0-alpha.32",
- "resolved": "https://registry.npmjs.org/@typespec/http-specs/-/http-specs-0.1.0-alpha.32.tgz",
- "integrity": "sha512-a5kOR6M6H23+w4cmYyprh/2Oa5bmPmz6wOQKc9cKfXH8f2sFJ4ViIHBMovyAl5HsSaDAY4VvVz1vmEWA+OWj8g==",
+ "version": "0.1.0-alpha.33-dev.2",
+ "resolved": "https://registry.npmjs.org/@typespec/http-specs/-/http-specs-0.1.0-alpha.33-dev.2.tgz",
+ "integrity": "sha512-Ex7PVBJgJAmNLKMbp9jA6+fXalcau3Rf+J7N8XMwCICvz6yFcRJKF07/NsM3Doc87e43VovnrJb2I2tb7LSuDw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typespec/spec-api": "^0.1.0-alpha.12",
- "@typespec/spector": "^0.1.0-alpha.23",
+ "@typespec/spec-api": "^0.1.0-alpha.12 || >=0.1.0-alpha.13-dev <0.1.0-alpha.13",
+ "@typespec/spector": "^0.1.0-alpha.23 || >=0.1.0-alpha.24-dev <0.1.0-alpha.24",
"deep-equal": "^2.2.0"
},
"engines": {
@@ -2336,9 +2331,9 @@
"peerDependencies": {
"@typespec/compiler": "^1.9.0",
"@typespec/http": "^1.9.0",
- "@typespec/rest": "^0.79.0",
- "@typespec/versioning": "^0.79.0",
- "@typespec/xml": "^0.79.0"
+ "@typespec/rest": "^0.79.0 || >=0.80.0-dev <0.80.0",
+ "@typespec/versioning": "^0.79.0 || >=0.80.0-dev <0.80.0",
+ "@typespec/xml": "^0.79.0 || >=0.80.0-dev <0.80.0"
}
},
"node_modules/@typespec/openapi": {
@@ -2347,6 +2342,7 @@
"integrity": "sha512-5ieXCWRLcyFLv3IFk26ena/RW/NxvT5KiHaoNVFRd79J0XZjFcE0Od6Lxxqj4dWmCo3C8oKtOwFoQuie18G3lQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.0.0"
},
@@ -2361,6 +2357,7 @@
"integrity": "sha512-6QIX7oaUGy/z4rseUrC86LjHxZn8rAAY4fXvGnlPRce6GhEdTb9S9OQPmlPeWngXwCx/07P2+FCR915APqmZxg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.0.0"
},
@@ -2525,6 +2522,7 @@
"integrity": "sha512-YQYlDWCNBza75S360jc51emwntWXMZfkvqXKng+etKP4iCuogJfTX1J8h1yd8tZwkuUNBcklEPCuz3O/+psopg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.0.0"
},
@@ -2541,6 +2539,7 @@
"integrity": "sha512-nOXpLcEYNdWvLY/6WJ16rD6hGs7bKSmkH+WwgyVwdRON5KJ559quw56pns2DSANw+NaV0lJxJq/8ek5xKCGD6g==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.0.0"
},
@@ -2569,6 +2568,7 @@
"integrity": "sha512-mk65zpKNm+ARyHASnre/lp3o3FKzb0P8Nj96ji182JUy7ShrVCCF0u+bC+ZXQ8ZTRza1d0xBjRC/Xr4iM+Uwag==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.0.0"
},
@@ -2582,6 +2582,7 @@
"integrity": "sha512-BqbbtkL9xuiAhehHKKUCMtRg0a1vjSvoiAOanvTIuoFq3N8PbKVV3dKTcyI/oS3iCCkJErdu11HQcAoD/VsIsA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.0.0"
},
@@ -2736,7 +2737,6 @@
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true,
- "peer": true,
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
@@ -2923,7 +2923,6 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
- "peer": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -3091,7 +3090,6 @@
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=6"
}
@@ -3244,8 +3242,7 @@
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true,
- "peer": true
+ "dev": true
},
"node_modules/concat-stream": {
"version": "2.0.0",
@@ -3392,8 +3389,7 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true,
- "peer": true
+ "dev": true
},
"node_modules/default-browser": {
"version": "5.5.0",
@@ -3671,7 +3667,6 @@
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=10"
},
@@ -3745,7 +3740,6 @@
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz",
"integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==",
"dev": true,
- "peer": true,
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
@@ -3774,7 +3768,6 @@
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
- "peer": true,
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -3791,7 +3784,6 @@
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
- "peer": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -3807,15 +3799,13 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "peer": true
+ "dev": true
},
"node_modules/espree": {
"version": "10.3.0",
"resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz",
"integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==",
"dev": true,
- "peer": true,
"dependencies": {
"acorn": "^8.14.0",
"acorn-jsx": "^5.3.2",
@@ -3833,7 +3823,6 @@
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
"integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
"dev": true,
- "peer": true,
"dependencies": {
"estraverse": "^5.1.0"
},
@@ -3846,7 +3835,6 @@
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
"dev": true,
- "peer": true,
"dependencies": {
"estraverse": "^5.2.0"
},
@@ -3859,7 +3847,6 @@
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=4.0"
}
@@ -3879,7 +3866,6 @@
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -3997,15 +3983,13 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true,
- "peer": true
+ "dev": true
},
"node_modules/fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true,
- "peer": true
+ "dev": true
},
"node_modules/fast-uri": {
"version": "3.0.6",
@@ -4056,7 +4040,6 @@
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
"integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
"dev": true,
- "peer": true,
"dependencies": {
"flat-cache": "^4.0.0"
},
@@ -4119,7 +4102,6 @@
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
"integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
"dev": true,
- "peer": true,
"dependencies": {
"flatted": "^3.2.9",
"keyv": "^4.5.4"
@@ -4132,8 +4114,7 @@
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
"integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
- "dev": true,
- "peer": true
+ "dev": true
},
"node_modules/for-each": {
"version": "0.3.5",
@@ -4321,7 +4302,6 @@
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"dev": true,
- "peer": true,
"dependencies": {
"is-glob": "^4.0.3"
},
@@ -4350,7 +4330,6 @@
"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=18"
},
@@ -4571,7 +4550,6 @@
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
"integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
"dev": true,
- "peer": true,
"dependencies": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@@ -4589,7 +4567,6 @@
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=0.8.19"
}
@@ -5077,8 +5054,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true,
- "peer": true
+ "dev": true
},
"node_modules/json-schema-traverse": {
"version": "1.0.0",
@@ -5090,8 +5066,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true,
- "peer": true
+ "dev": true
},
"node_modules/jsonwebtoken": {
"version": "9.0.3",
@@ -5144,7 +5119,6 @@
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
"integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
"dev": true,
- "peer": true,
"dependencies": {
"json-buffer": "3.0.1"
}
@@ -5154,7 +5128,6 @@
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
"dev": true,
- "peer": true,
"dependencies": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
@@ -5224,8 +5197,7 @@
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true,
- "peer": true
+ "dev": true
},
"node_modules/lodash.once": {
"version": "4.1.1",
@@ -5373,7 +5345,6 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
- "peer": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -5728,7 +5699,6 @@
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
"integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
"dev": true,
- "peer": true,
"dependencies": {
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
@@ -5782,7 +5752,6 @@
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
"dev": true,
- "peer": true,
"dependencies": {
"callsites": "^3.0.0"
},
@@ -5933,7 +5902,6 @@
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true,
- "peer": true,
"engines": {
"node": ">= 0.8.0"
}
@@ -5973,7 +5941,6 @@
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=6"
}
@@ -6110,7 +6077,6 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=4"
}
@@ -6716,7 +6682,6 @@
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=8"
},
@@ -6935,6 +6900,7 @@
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -7017,6 +6983,7 @@
"version": "4.19.3",
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.3.tgz",
"integrity": "sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==",
+ "peer": true,
"dependencies": {
"esbuild": "~0.25.0",
"get-tsconfig": "^4.7.5"
@@ -7036,7 +7003,6 @@
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
"dev": true,
- "peer": true,
"dependencies": {
"prelude-ls": "^1.2.1"
},
@@ -7072,6 +7038,7 @@
"integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
"dev": true,
"license": "Apache-2.0",
+ "peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -7137,7 +7104,6 @@
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
- "peer": true,
"dependencies": {
"punycode": "^2.1.0"
}
@@ -7189,6 +7155,7 @@
"integrity": "sha512-uzcxnSDVjAopEUjljkWh8EIrg6tlzrjFUfMcR1EVsRDGwf/ccef0qQPRyOrROwhrTDaApueq+ja+KLPlzR/zdg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.5.0",
@@ -7305,6 +7272,7 @@
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -7538,7 +7506,6 @@
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=0.10.0"
}
From 4f697e7e8255f29cee25dd9fb4f7b3b76402a537 Mon Sep 17 00:00:00 2001
From: Anna Tisch <8689453+annatisch@users.noreply.github.com>
Date: Fri, 13 Feb 2026 11:05:36 +1300
Subject: [PATCH 9/9] Enhance deserialization logic in model_base.py
Add support for deserializers in _DESERIALIZE_MAPPING and handle ET.Element type.
---
.../generator/pygen/codegen/templates/model_base.py.jinja2 | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/packages/http-client-python/generator/pygen/codegen/templates/model_base.py.jinja2 b/packages/http-client-python/generator/pygen/codegen/templates/model_base.py.jinja2
index b42f50ef661..58f1f90186a 100644
--- a/packages/http-client-python/generator/pygen/codegen/templates/model_base.py.jinja2
+++ b/packages/http-client-python/generator/pygen/codegen/templates/model_base.py.jinja2
@@ -1020,11 +1020,15 @@ def _deserialize_with_callable(
return float(value.text) if value.text else None
if deserializer is bool:
return value.text == "true" if value.text else None
+ if deserializer in _DESERIALIZE_MAPPING.values() or deserializer in _DESERIALIZE_MAPPING_WITHFORMAT.values():
+ return typing.cast(typing.Callable[[typing.Any], typing.Any], deserializer)(value.text) if value.text else None
if deserializer is None:
return value
if deserializer in [int, float, bool]:
return deserializer(value)
if isinstance(deserializer, CaseInsensitiveEnumMeta):
+ if isinstance(value, ET.Element):
+ value = value.text if value.text else None
try:
return deserializer(value)
except ValueError: