From 0381ce4fecdd2970cc4ed689cb6b450005decfbc Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Mon, 9 Mar 2026 12:43:06 -0400 Subject: [PATCH 1/8] Update ty's JSON schema (#5444) This updates ty's JSON schema to [c1ad9f28136df1678348359dcb859117d5a21b37](https://github.com/astral-sh/ty/commit/c1ad9f28136df1678348359dcb859117d5a21b37) --- src/schemas/json/ty.json | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/schemas/json/ty.json b/src/schemas/json/ty.json index 880d3a998da..a1e1815ae8a 100644 --- a/src/schemas/json/ty.json +++ b/src/schemas/json/ty.json @@ -361,6 +361,15 @@ } ] }, + "all": { + "title": "set the default severity level for all rules", + "description": "Configure a default severity level for all rules. Individual rule settings override this default.", + "oneOf": [ + { + "$ref": "#/definitions/Level" + } + ] + }, "ambiguous-protocol-member": { "title": "detects protocol classes with ambiguous interfaces", "description": "## What it does\nChecks for protocol classes with members that will lead to ambiguous interfaces.\n\n## Why is this bad?\nAssigning to an undeclared variable in a protocol class leads to an ambiguous\ninterface which may lead to the type checker inferring unexpected things. It's\nrecommended to ensure that all members of a protocol class are explicitly declared.\n\n## Examples\n\n```py\nfrom typing import Protocol\n\nclass BaseProto(Protocol):\n a: int # fine (explicitly declared as `int`)\n def method_member(self) -> int: ... # fine: a method definition using `def` is considered a declaration\n c = \"some variable\" # error: no explicit declaration, leading to ambiguity\n b = method_member # error: no explicit declaration, leading to ambiguity\n\n # error: this creates implicit assignments of `d` and `e` in the protocol class body.\n # Were they really meant to be considered protocol members?\n for d, e in enumerate(range(42)):\n pass\n\nclass SubProto(BaseProto, Protocol):\n a = 42 # fine (declared in superclass)\n```", @@ -721,6 +730,16 @@ } ] }, + "invalid-enum-member-annotation": { + "title": "detects type annotations on enum members", + "description": "## What it does\nChecks for enum members that have explicit type annotations.\n\n## Why is this bad?\nThe [typing spec] states that type checkers should infer a literal type\nfor all enum members. An explicit type annotation on an enum member is\nmisleading because the annotated type will be incorrect — the actual\nruntime type is the enum class itself, not the annotated type.\n\nIn CPython's `enum` module, annotated assignments with values are still\ntreated as members at runtime, but the annotation will confuse readers of the code.\n\n## Examples\n```python\nfrom enum import Enum\n\nclass Pet(Enum):\n CAT = 1 # OK\n DOG: int = 2 # Error: enum members should not be annotated\n```\n\nUse instead:\n```python\nfrom enum import Enum\n\nclass Pet(Enum):\n CAT = 1\n DOG = 2\n```\n\n## References\n- [Typing spec: Enum members](https://typing.python.org/en/latest/spec/enums.html#enum-members)\n\n[typing spec]: https://typing.python.org/en/latest/spec/enums.html#enum-members", + "default": "warn", + "oneOf": [ + { + "$ref": "#/definitions/Level" + } + ] + }, "invalid-exception-caught": { "title": "detects exception handlers that catch classes that do not inherit from `BaseException`", "description": "## What it does\nChecks for exception handlers that catch non-exception classes.\n\n## Why is this bad?\nCatching classes that do not inherit from `BaseException` will raise a `TypeError` at runtime.\n\n## Example\n```python\ntry:\n 1 / 0\nexcept 1:\n ...\n```\n\nUse instead:\n```python\ntry:\n 1 / 0\nexcept ZeroDivisionError:\n ...\n```\n\n## References\n- [Python documentation: except clause](https://docs.python.org/3/reference/compound_stmts.html#except-clause)\n- [Python documentation: Built-in Exceptions](https://docs.python.org/3/library/exceptions.html#built-in-exceptions)\n\n## Ruff rule\n This rule corresponds to Ruff's [`except-with-non-exception-classes` (`B030`)](https://docs.astral.sh/ruff/rules/except-with-non-exception-classes)", @@ -1311,6 +1330,16 @@ } ] }, + "unbound-type-variable": { + "title": "detects type variables used outside of their bound scope", + "description": "## What it does\nChecks for type variables that are used in a scope where they are not bound\nto any enclosing generic context.\n\n## Why is this bad?\nUsing a type variable outside of a scope that binds it has no well-defined meaning.\n\n## Examples\n```python\nfrom typing import TypeVar, Generic\n\nT = TypeVar(\"T\")\nS = TypeVar(\"S\")\n\nx: T # error: unbound type variable in module scope\n\nclass C(Generic[T]):\n x: list[S] = [] # error: S is not in this class's generic context\n```\n\n## References\n- [Typing spec: Scoping rules for type variables](https://typing.python.org/en/latest/spec/generics.html#scoping-rules-for-type-variables)", + "default": "error", + "oneOf": [ + { + "$ref": "#/definitions/Level" + } + ] + }, "undefined-reveal": { "title": "detects usages of `reveal_type` without importing it", "description": "## What it does\nChecks for calls to `reveal_type` without importing it.\n\n## Why is this bad?\nUsing `reveal_type` without importing it will raise a `NameError` at runtime.\n\n## Examples\n```python\nreveal_type(1) # NameError: name 'reveal_type' is not defined\n```", @@ -1411,6 +1440,16 @@ } ] }, + "unused-awaitable": { + "title": "detects awaitable objects that are used as expression statements without being awaited", + "description": "## What it does\nChecks for awaitable objects (such as coroutines) used as expression\nstatements without being awaited.\n\n## Why is this bad?\nCalling an `async def` function returns a coroutine object. If the\ncoroutine is never awaited, the body of the async function will never\nexecute, which is almost always a bug. Python emits a\n`RuntimeWarning: coroutine was never awaited` at runtime in this case.\n\n## Examples\n```python\nasync def fetch_data() -> str:\n return \"data\"\n\nasync def main() -> None:\n fetch_data() # Warning: coroutine is not awaited\n await fetch_data() # OK\n```", + "default": "warn", + "oneOf": [ + { + "$ref": "#/definitions/Level" + } + ] + }, "unused-ignore-comment": { "title": "detects unused `ty: ignore` comments", "description": "## What it does\nChecks for `ty: ignore` directives that are no longer applicable.\n\n## Why is this bad?\nA `ty: ignore` directive that no longer matches any diagnostic violations is likely\nincluded by mistake, and should be removed to avoid confusion.\n\n## Examples\n```py\na = 20 / 2 # ty: ignore[division-by-zero]\n```\n\nUse instead:\n\n```py\na = 20 / 2\n```\n\n## Options\nSet [`analysis.respect-type-ignore-comments`](https://docs.astral.sh/ty/reference/configuration/#respect-type-ignore-comments)\nto `false` to prevent this rule from reporting unused `type: ignore` comments.", From 85cecd8092a1ddbbf42998b9c5d1d2c311ba4dff Mon Sep 17 00:00:00 2001 From: DetachHead <57028336+DetachHead@users.noreply.github.com> Date: Tue, 10 Mar 2026 02:43:23 +1000 Subject: [PATCH 2/8] fix `verbosity_assertions` in the non-ini config format (#5445) * fix `verbosity_assertions` not allowing numbers in string format in the non-ini config format * actually integers aren't allowed here at all when setting it to an integer it crashes at runtime: ``` config option 'verbosity_assertions' expects a string, got int: 2 ``` --- src/schemas/json/partial-pytest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/schemas/json/partial-pytest.json b/src/schemas/json/partial-pytest.json index a947bf634ae..4c15849cc86 100644 --- a/src/schemas/json/partial-pytest.json +++ b/src/schemas/json/partial-pytest.json @@ -1028,8 +1028,8 @@ "verbosity_assertions": { "oneOf": [ { - "type": "integer", - "minimum": 0 + "type": "string", + "pattern": "^[0-9]+$" }, { "type": "string", From 87be41a0a6d59132ef9cc68081d35b7c0e9e2650 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Godde Date: Mon, 9 Mar 2026 17:43:36 +0100 Subject: [PATCH 3/8] fix(alertmanager): update rocketchat title_link property (#5446) --- src/schemas/json/prometheus-alertmanager.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/schemas/json/prometheus-alertmanager.json b/src/schemas/json/prometheus-alertmanager.json index 755f413c851..5c8b249939f 100644 --- a/src/schemas/json/prometheus-alertmanager.json +++ b/src/schemas/json/prometheus-alertmanager.json @@ -969,7 +969,7 @@ "type": "string", "default": "{{ template \"rocketchat.default.title\" . }}" }, - "titleLink": { + "title_link": { "type": "string", "default": "{{ template \"rocketchat.default.titlelink\" . }}" }, From 0905196b996347c4e556756218f09c94a771b34a Mon Sep 17 00:00:00 2001 From: rohal12 <44072864+rohal12@users.noreply.github.com> Date: Tue, 10 Mar 2026 00:44:02 +0800 Subject: [PATCH 4/8] Add twee-ts configuration schema (#5447) * feat: add twee-ts configuration schema Add catalog entry for twee-ts (TypeScript Twee-to-HTML compiler) config file with schema hosted on npm via unpkg. Co-Authored-By: Claude Opus 4.6 * chore: remove redundant minimal test fixture Co-Authored-By: Claude Opus 4.6 * fix: add schema file to src/schemas/json and update catalog URL SchemaStore requires a local schema file matching the test directory name. Updated catalog URL to json.schemastore.org. Co-Authored-By: Claude Opus 4.6 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix: use raw GitHub URL for catalog entry SchemaStore CLI requires catalog URLs to match one of the accepted patterns for locally-hosted schemas. Co-Authored-By: Claude Opus 4.6 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * feat: add wordCountMethod property to twee-ts schema Co-Authored-By: Claude Opus 4.6 --------- Co-authored-by: clem Co-authored-by: Claude Opus 4.6 Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- src/api/json/catalog.json | 6 ++ src/schemas/json/twee-ts.config.json | 110 ++++++++++++++++++++ src/test/twee-ts.config/twee-ts.config.json | 24 +++++ 3 files changed, 140 insertions(+) create mode 100644 src/schemas/json/twee-ts.config.json create mode 100644 src/test/twee-ts.config/twee-ts.config.json diff --git a/src/api/json/catalog.json b/src/api/json/catalog.json index 00db3753789..e248392aa8d 100644 --- a/src/api/json/catalog.json +++ b/src/api/json/catalog.json @@ -6562,6 +6562,12 @@ "fileMatch": ["tusk.yml", "tusk.yaml"], "url": "https://raw.githubusercontent.com/rliebz/tusk/main/tusk.schema.json" }, + { + "name": "twee-ts", + "description": "twee-ts compiler configuration file", + "fileMatch": ["twee-ts.config.json"], + "url": "https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/twee-ts.config.json" + }, { "name": "typewiz.json", "description": "Typewiz configuration file", diff --git a/src/schemas/json/twee-ts.config.json b/src/schemas/json/twee-ts.config.json new file mode 100644 index 00000000000..be7a653eae2 --- /dev/null +++ b/src/schemas/json/twee-ts.config.json @@ -0,0 +1,110 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://unpkg.com/@rohal12/twee-ts/schemas/twee-ts.config.schema.json", + "title": "twee-ts Configuration", + "description": "Configuration file for twee-ts, a TypeScript Twee-to-HTML compiler.", + "type": "object", + "additionalProperties": false, + "properties": { + "$schema": { + "type": "string", + "description": "JSON Schema reference for editor support." + }, + "sources": { + "type": "array", + "items": { "type": "string" }, + "description": "Files or directories to compile." + }, + "output": { + "type": "string", + "description": "Output file path." + }, + "outputMode": { + "type": "string", + "enum": [ + "html", + "twee3", + "twee1", + "twine2-archive", + "twine1-archive", + "json" + ], + "default": "html", + "description": "Output mode." + }, + "formatId": { + "type": "string", + "description": "Story format directory ID (e.g. 'sugarcube-2')." + }, + "startPassage": { + "type": "string", + "description": "Name of the starting passage.", + "default": "Start" + }, + "formatPaths": { + "type": "array", + "items": { "type": "string" }, + "description": "Extra directories to search for story formats." + }, + "formatIndices": { + "type": "array", + "items": { "type": "string" }, + "description": "URLs to SFA-compatible index.json files for remote format lookup." + }, + "formatUrls": { + "type": "array", + "items": { "type": "string" }, + "description": "Direct URLs to format.js files." + }, + "useTweegoPath": { + "type": "boolean", + "default": true, + "description": "Also search TWEEGO_PATH env for formats." + }, + "modules": { + "type": "array", + "items": { "type": "string" }, + "description": "Module files to inject into ." + }, + "headFile": { + "type": "string", + "description": "Raw HTML file to append to ." + }, + "trim": { + "type": "boolean", + "default": true, + "description": "Trim passage whitespace." + }, + "twee2Compat": { + "type": "boolean", + "default": false, + "description": "Twee2 compatibility mode." + }, + "testMode": { + "type": "boolean", + "default": false, + "description": "Enable debug/test mode option." + }, + "noRemote": { + "type": "boolean", + "default": false, + "description": "Disable remote format fetching." + }, + "tagAliases": { + "type": "object", + "additionalProperties": { "type": "string" }, + "description": "Map alias tags to canonical special tags (e.g. { \"library\": \"script\" })." + }, + "sourceInfo": { + "type": "boolean", + "default": false, + "description": "Emit source file and line as data- attributes on passage elements." + }, + "wordCountMethod": { + "type": "string", + "enum": ["tweego", "whitespace"], + "default": "tweego", + "description": "Word counting method. 'tweego': NFKD normalize, divide chars by 5 (matches Tweego). 'whitespace': split on whitespace after stripping comments and markup." + } + } +} diff --git a/src/test/twee-ts.config/twee-ts.config.json b/src/test/twee-ts.config/twee-ts.config.json new file mode 100644 index 00000000000..f0d4be80310 --- /dev/null +++ b/src/test/twee-ts.config/twee-ts.config.json @@ -0,0 +1,24 @@ +{ + "$schema": "https://unpkg.com/@rohal12/twee-ts/schemas/twee-ts.config.schema.json", + "formatId": "sugarcube-2", + "formatIndices": ["https://example.com/index.json"], + "formatPaths": ["/path/to/formats"], + "formatUrls": ["https://example.com/format.js"], + "headFile": "head.html", + "modules": ["module.js"], + "noRemote": false, + "output": "story.html", + "outputMode": "html", + "sourceInfo": false, + "sources": ["src/"], + "startPassage": "Start", + "tagAliases": { + "library": "script", + "theme": "stylesheet" + }, + "testMode": false, + "trim": true, + "twee2Compat": false, + "useTweegoPath": true, + "wordCountMethod": "whitespace" +} From 541c512ecb9394e493d9718f9e7f3de2cb6d03b7 Mon Sep 17 00:00:00 2001 From: Marcin Konowalczyk Date: Mon, 9 Mar 2026 16:44:26 +0000 Subject: [PATCH 5/8] feat: update chisel-slices shcema to accomodate essentials from v3 (#5448) * feat: update to allow v3 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * feat: add to not-strict --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- src/schema-validation.jsonc | 1 + src/schemas/json/chisel-slices.json | 67 +++++++++++++++++++++++++++-- 2 files changed, 64 insertions(+), 4 deletions(-) diff --git a/src/schema-validation.jsonc b/src/schema-validation.jsonc index b908cc5a006..6bd2b079b7b 100644 --- a/src/schema-validation.jsonc +++ b/src/schema-validation.jsonc @@ -41,6 +41,7 @@ "bxci.schema-2.x.json", "catalog-info.json", "chrome-manifest.json", + "chisel-slices.json", "chutzpah.json", "cloud-sdk-pipeline-config-schema.json", "cloudify.json", diff --git a/src/schemas/json/chisel-slices.json b/src/schemas/json/chisel-slices.json index 8d7fe1565ea..ca02db72627 100644 --- a/src/schemas/json/chisel-slices.json +++ b/src/schemas/json/chisel-slices.json @@ -17,14 +17,42 @@ "examples": ["ubuntu"] }, "essential": { - "type": "array", + "type": ["array", "object"], "description": "A list of slices that are a dependency for all slices of this package. Each slice item is formatted as '_'.", "uniqueItems": true, "items": { "type": "string", "pattern": "^[a-z0-9][a-z0-9+\\-\\._]+$" }, - "examples": ["slicename_copyright"] + "examples": [{ "slicename_copyright": {} }, { "slicename_licenses": {} }], + "patternProperties": { + "^.+$": { + "description": "The name of the dependency slice part.", + "type": "object", + "additionalProperties": false, + "properties": { + "arch": { + "type": "array", + "description": "Only include this dependency on specific architectures.", + "uniqueItems": true, + "examples": [["amd64", "arm64"]], + "items": { + "type": "string", + "examples": [ + "amd64", + "i386", + "armhf", + "arm64", + "powerpc", + "ppc64el", + "s390x", + "riscv64" + ] + } + } + } + } + } }, "slices": { "type": "object", @@ -36,14 +64,45 @@ "additionalProperties": false, "properties": { "essential": { - "type": "array", + "type": ["array", "object"], "description": "The name of the dependency slice part. The slice part is formatted as '_'.", "uniqueItems": true, "items": { "type": "string", "pattern": "^[a-z0-9][a-z0-9+\\-\\._]+$" }, - "examples": ["libgcc-s1_libs", "ca-certificates_data"] + "examples": [ + { "libgcc-s1_libs": {} }, + { "ca-certificates_data": {} } + ], + "patternProperties": { + "^.+$": { + "description": "The name of the dependency slice part.", + "type": "object", + "additionalProperties": false, + "properties": { + "arch": { + "type": "array", + "description": "Only include this dependency on specific architectures.", + "uniqueItems": true, + "examples": [["amd64", "arm64"]], + "items": { + "type": "string", + "examples": [ + "amd64", + "i386", + "armhf", + "arm64", + "powerpc", + "ppc64el", + "s390x", + "riscv64" + ] + } + } + } + } + } }, "mutate": { "type": "string", From 60efee653b02a1d4b7717df44aa3743405ece07b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Mon, 9 Mar 2026 09:44:48 -0700 Subject: [PATCH 6/8] Update tox JSON Schema to 4.49.0 (#5450) * Update tox JSON Schema to 4.49.0 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- src/schemas/json/tox.json | 45 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/schemas/json/tox.json b/src/schemas/json/tox.json index fc3482dcc47..819d3eb98ef 100644 --- a/src/schemas/json/tox.json +++ b/src/schemas/json/tox.json @@ -68,6 +68,21 @@ } }, "additionalProperties": false + }, + { + "type": "object", + "minProperties": 1, + "maxProperties": 1, + "not": { + "required": ["prefix"] + }, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "labeled factor group for {factor:label} substitution" } ] }, @@ -157,6 +172,21 @@ } }, "additionalProperties": false + }, + { + "type": "object", + "minProperties": 1, + "maxProperties": 1, + "not": { + "required": ["prefix"] + }, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "labeled factor group for {factor:label} substitution" } ] }, @@ -289,6 +319,21 @@ } }, "additionalProperties": false + }, + { + "type": "object", + "minProperties": 1, + "maxProperties": 1, + "not": { + "required": ["prefix"] + }, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "labeled factor group for {factor:label} substitution" } ] }, From 2e9f01a2046b4c0d8a3ebe9776cf644cb7ad094d Mon Sep 17 00:00:00 2001 From: zguydev Date: Mon, 9 Mar 2026 19:48:03 +0300 Subject: [PATCH 7/8] feat(ogen): update ogen JSON Schema (#5453) --- src/api/json/catalog.json | 6 ++++++ src/schema-validation.jsonc | 2 +- src/schemas/json/ogen.json | 6 ++++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/api/json/catalog.json b/src/api/json/catalog.json index e248392aa8d..17163b9a981 100644 --- a/src/api/json/catalog.json +++ b/src/api/json/catalog.json @@ -4553,6 +4553,12 @@ "fileMatch": ["fields.yaml", "*_fields.yaml"], "url": "https://raw.githubusercontent.com/inetis-ch/october-schemas/master/fields.json" }, + { + "name": "ogen", + "description": "ogen code generator configuration, see https://ogen.dev/docs/config", + "fileMatch": ["ogen.yml", "ogen.yaml", ".ogen.yml", ".ogen.yaml"], + "url": "https://www.schemastore.org/ogen.json" + }, { "name": "Oh My Posh", "description": "Oh My Posh configuration file", diff --git a/src/schema-validation.jsonc b/src/schema-validation.jsonc index 6bd2b079b7b..2adf9abd6d0 100644 --- a/src/schema-validation.jsonc +++ b/src/schema-validation.jsonc @@ -404,7 +404,7 @@ "gitversion.json", "lazygit.json", "circleciconfig.json", - "ogen.json", + "ogen.json", // uses external references "openapi-3.X.json", // uses external references "openapi-overlay-1.X.json", // uses external references "openapi-arazzo-1.X.json" // uses external references diff --git a/src/schemas/json/ogen.json b/src/schemas/json/ogen.json index 7840812efd7..2720534692e 100644 --- a/src/schemas/json/ogen.json +++ b/src/schemas/json/ogen.json @@ -1,5 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", - "$ref": "https://raw.githubusercontent.com/ogen-go/ogen/refs/heads/main/examples/config/ogen.jsonschema.json", - "title": "ogen configuration" + "$id": "https://json.schemastore.org/ogen.json", + "$ref": "https://raw.githubusercontent.com/ogen-go/ogen/main/schemas/ogen.jsonschema.json", + "title": "Ogen Configuration Schema", + "description": "ogen code generator configuration. See https://ogen.dev/docs/config." } From 23149016f2176771e6ac1533b464b5f96fce2888 Mon Sep 17 00:00:00 2001 From: tfendtvep-art Date: Mon, 9 Mar 2026 11:48:22 -0500 Subject: [PATCH 8/8] Add certificate auth properties to staticwebapp.config.json schema (#5452) Add clientSecretCertificateKeyVaultReference and clientSecretCertificateThumbprint to the azureActiveDirectory registration object. These properties are needed for certificate-based authentication as documented at https://learn.microsoft.com/en-us/azure/static-web-apps/authentication-custom Fixes https://github.com/Azure/static-web-apps-cli/issues/944 Co-authored-by: Tim Fendt Co-authored-by: Claude Opus 4.6 (1M context) --- src/schemas/json/staticwebapp.config.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/schemas/json/staticwebapp.config.json b/src/schemas/json/staticwebapp.config.json index ebbbf41e649..e1e462a325f 100644 --- a/src/schemas/json/staticwebapp.config.json +++ b/src/schemas/json/staticwebapp.config.json @@ -104,6 +104,14 @@ "clientSecretSettingName": { "type": "string", "description": "The name of the application setting containing the client secret for the Azure AD app registration" + }, + "clientSecretCertificateKeyVaultReference": { + "type": "string", + "description": "A Key Vault reference for the certificate used for certificate-based authentication" + }, + "clientSecretCertificateThumbprint": { + "type": "string", + "description": "The thumbprint of the certificate used for certificate-based authentication" } }, "additionalProperties": false