changedInput schema / properties / routes / anyOf
Previous value: -[
- {
- "type": "null"
- },
- {
- "additionalProperties": false,
- "properties": {
- "replace": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "acknowledge_readonly": {
- "const": true,
- "description": "Durable acknowledgement for intentional GET/HEAD final-wildcard function routes such as /share/*.",
- "type": "boolean"
- },
- "methods": {
- "description": "Optional method allowlist. Omit to allow all supported methods; do not pass an empty array.",
- "items": {
- "enum": [
- "GET",
- "HEAD",
- "POST",
- "PUT",
- "PATCH",
- "DELETE",
- "OPTIONS"
- ],
- "type": "string"
- },
- "minItems": 1,
- "type": "array"
- },
- "pattern": {
- "description": "Route pattern such as /api, /api/*, or /login. Prefix wildcards only use a final /*.",
- "type": "string"
- },
- "target": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "name": {
- "description": "Materialized release function name, not a file name or handler export.",
- "type": "string"
- },
- "type": {
- "const": "function",
- "type": "string"
- }
- },
- "required": [
- "type",
- "name"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "file": {
- "description": "Materialized static-site file path, relative to the site root. No leading slash, query, fragment, traversal, or directory shorthand.",
- "type": "string"
- },
- "type": {
- "const": "static",
- "type": "string"
- }
- },
- "required": [
- "type",
- "file"
- ],
- "type": "object"
- }
- ]
- }
- },
- "required": [
- "pattern",
- "target"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "required": [
- "replace"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "type": "null"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "replace": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "methods": {
+ "description": "Optional method allowlist. Omit to allow all supported methods; do not pass an empty array.",
+ "items": {
+ "enum": [
+ "GET",
+ "HEAD",
+ "POST",
+ "PUT",
+ "PATCH",
+ "DELETE",
+ "OPTIONS"
+ ],
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "pattern": {
+ "description": "Route pattern such as /api, /api/*, or /login. Prefix wildcards only use a final /*.",
+ "type": "string"
+ },
+ "target": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "description": "Materialized release function name, not a file name or handler export.",
+ "type": "string"
+ },
+ "type": {
+ "const": "function",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "name"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "file": {
+ "description": "Materialized static-site file path, relative to the site root. No leading slash, query, fragment, traversal, or directory shorthand.",
+ "type": "string"
+ },
+ "type": {
+ "const": "static",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "file"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "pattern",
+ "target"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "replace"
+ ],
+ "type": "object"
+ }
+]
changedInput schema / properties / site / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "embedding": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "frame_ancestors": {
- "description": "Platform embedding catalog KEYS (never raw origins). `localhost` expands to http://localhost:* and http://127.0.0.1:*; the gateway rejects unknown keys with INVALID_SPEC naming the valid ones.",
- "items": {
- "type": "string"
- },
- "minItems": 1,
- "type": "array"
- }
- },
- "required": [
- "frame_ancestors"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "tenant-site-embedding: who may put the site in an iframe. The gateway then sends `Content-Security-Policy: frame-ancestors <expanded origins>` and drops X-Frame-Options on every response of the host. Omit to carry the previous release's declaration forward; null returns to the default deny."
- },
- "public_paths": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "const": "implicit",
- "description": "Restore filename-derived public reachability for static assets.",
- "type": "string"
- }
- },
- "required": [
- "mode"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "const": "explicit",
- "description": "Use only the complete replace table as direct public static URLs.",
- "type": "string"
- },
- "replace": {
- "additionalProperties": {
- "additionalProperties": false,
- "properties": {
- "asset": {
- "description": "Release static asset path, such as events.html. This is not a public URL.",
- "type": "string"
- },
- "cache_class": {
- "description": "Optional static cache class, for example html, immutable_versioned, or revalidating_asset.",
- "type": "string"
- }
- },
- "required": [
- "asset"
- ],
- "type": "object"
- },
- "description": "Complete map from public browser paths such as /events to release static asset paths such as events.html.",
- "type": "object"
- }
- },
- "required": [
- "mode",
- "replace"
- ],
- "type": "object"
- }
- ]
- },
- "replace": {
- "$ref": "#/properties/functions/properties/replace/additionalProperties/properties/files"
- }
- },
- "required": [
- "replace"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "embedding": {
- "$ref": "#/properties/site/anyOf/0/properties/embedding",
- "description": "tenant-site-embedding: who may put the site in an iframe. The gateway then sends `Content-Security-Policy: frame-ancestors <expanded origins>` and drops X-Frame-Options on every response of the host. Omit to carry the previous release's declaration forward; null returns to the default deny."
- },
- "patch": {
- "additionalProperties": false,
- "properties": {
- "delete": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "put": {
- "$ref": "#/properties/functions/properties/replace/additionalProperties/properties/files"
- }
- },
- "type": "object"
- },
- "public_paths": {
- "$ref": "#/properties/site/anyOf/0/properties/public_paths"
- }
- },
- "required": [
- "patch"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "embedding": {
- "$ref": "#/properties/site/anyOf/0/properties/embedding",
- "description": "tenant-site-embedding: who may put the site in an iframe. The gateway then sends `Content-Security-Policy: frame-ancestors <expanded origins>` and drops X-Frame-Options on every response of the host. Omit to carry the previous release's declaration forward; null returns to the default deny."
- },
- "public_paths": {
- "$ref": "#/properties/site/anyOf/0/properties/public_paths"
- }
- },
- "required": [
- "public_paths"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "embedding": {
- "$ref": "#/properties/site/anyOf/0/properties/embedding"
- }
- },
- "required": [
- "embedding"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "embedding": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "frame_ancestors": {
+ "description": "Platform embedding catalog KEYS (never raw origins). `localhost` expands to http://localhost:* and http://127.0.0.1:*; the gateway rejects unknown keys with INVALID_SPEC naming the valid ones.",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "frame_ancestors"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "tenant-site-embedding: who may put the site in an iframe. The gateway then sends `Content-Security-Policy: frame-ancestors <expanded origins>` and drops X-Frame-Options on every response of the host. Omit to carry the previous release's declaration forward; null returns to the default deny."
+ },
+ "public_paths": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "const": "implicit",
+ "description": "Restore filename-derived public reachability for static assets.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "mode"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "const": "explicit",
+ "description": "Use only the complete replace table as direct public static URLs.",
+ "type": "string"
+ },
+ "replace": {
+ "additionalProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "asset": {
+ "description": "Release static asset path, such as events.html. This is not a public URL.",
+ "type": "string"
+ },
+ "cache_class": {
+ "description": "Optional static cache class, for example html, immutable_versioned, or revalidating_asset.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "asset"
+ ],
+ "type": "object"
+ },
+ "description": "Complete map from public browser paths such as /events to release static asset paths such as events.html.",
+ "type": "object"
+ }
+ },
+ "required": [
+ "mode",
+ "replace"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "replace": {
+ "$ref": "#/properties/functions/properties/replace/additionalProperties/properties/files"
+ },
+ "sign_in_path": {
+ "description": "The app's own same-origin sign-in page (e.g. \"/join\") that MCP authorization (/_run402/oauth/authorize) sends a signed-out user to, with returnTo appended, instead of the hosted /auth/sign-in. Single leading /, at most 512 chars, no query/fragment, not under /_run402/ or /auth/ (the gateway refuses with INVALID_SPEC on site.sign_in_path). Omit to carry the previous release's value forward; null returns to the hosted page.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "replace"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "embedding": {
+ "$ref": "#/properties/site/anyOf/0/properties/embedding",
+ "description": "tenant-site-embedding: who may put the site in an iframe. The gateway then sends `Content-Security-Policy: frame-ancestors <expanded origins>` and drops X-Frame-Options on every response of the host. Omit to carry the previous release's declaration forward; null returns to the default deny."
+ },
+ "patch": {
+ "additionalProperties": false,
+ "properties": {
+ "delete": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "put": {
+ "$ref": "#/properties/functions/properties/replace/additionalProperties/properties/files"
+ }
+ },
+ "type": "object"
+ },
+ "public_paths": {
+ "$ref": "#/properties/site/anyOf/0/properties/public_paths"
+ },
+ "sign_in_path": {
+ "$ref": "#/properties/site/anyOf/0/properties/sign_in_path",
+ "description": "The app's own same-origin sign-in page (e.g. \"/join\") that MCP authorization (/_run402/oauth/authorize) sends a signed-out user to, with returnTo appended, instead of the hosted /auth/sign-in. Single leading /, at most 512 chars, no query/fragment, not under /_run402/ or /auth/ (the gateway refuses with INVALID_SPEC on site.sign_in_path). Omit to carry the previous release's value forward; null returns to the hosted page."
+ }
+ },
+ "required": [
+ "patch"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "embedding": {
+ "$ref": "#/properties/site/anyOf/0/properties/embedding",
+ "description": "tenant-site-embedding: who may put the site in an iframe. The gateway then sends `Content-Security-Policy: frame-ancestors <expanded origins>` and drops X-Frame-Options on every response of the host. Omit to carry the previous release's declaration forward; null returns to the default deny."
+ },
+ "public_paths": {
+ "$ref": "#/properties/site/anyOf/0/properties/public_paths"
+ },
+ "sign_in_path": {
+ "$ref": "#/properties/site/anyOf/0/properties/sign_in_path",
+ "description": "The app's own same-origin sign-in page (e.g. \"/join\") that MCP authorization (/_run402/oauth/authorize) sends a signed-out user to, with returnTo appended, instead of the hosted /auth/sign-in. Single leading /, at most 512 chars, no query/fragment, not under /_run402/ or /auth/ (the gateway refuses with INVALID_SPEC on site.sign_in_path). Omit to carry the previous release's value forward; null returns to the hosted page."
+ }
+ },
+ "required": [
+ "public_paths"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "embedding": {
+ "$ref": "#/properties/site/anyOf/0/properties/embedding"
+ },
+ "sign_in_path": {
+ "$ref": "#/properties/site/anyOf/0/properties/sign_in_path",
+ "description": "The app's own same-origin sign-in page (e.g. \"/join\") that MCP authorization (/_run402/oauth/authorize) sends a signed-out user to, with returnTo appended, instead of the hosted /auth/sign-in. Single leading /, at most 512 chars, no query/fragment, not under /_run402/ or /auth/ (the gateway refuses with INVALID_SPEC on site.sign_in_path). Omit to carry the previous release's value forward; null returns to the hosted page."
+ }
+ },
+ "required": [
+ "embedding"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "sign_in_path": {
+ "$ref": "#/properties/site/anyOf/0/properties/sign_in_path"
+ }
+ },
+ "required": [
+ "sign_in_path"
+ ],
+ "type": "object"
+ }
+]