diff --git a/src/schema-validation.jsonc b/src/schema-validation.jsonc index 0d63d174bb1..e84a6117acc 100644 --- a/src/schema-validation.jsonc +++ b/src/schema-validation.jsonc @@ -26,60 +26,6 @@ "dofigen.json", "drone.json", "drupal-recipe.json", - "enonic-xp-admin-extension-8.0.0-B4.json", - "enonic-xp-admin-tool-8.0.0-B4.json", - "enonic-xp-api-8.0.0-B4.json", - "enonic-xp-application-8.0.0-B4.json", - "enonic-xp-cms-8.0.0-B4.json", - "enonic-xp-content-type-8.0.0-B4.json", - "enonic-xp-form-fragment-8.0.0-B4.json", - "enonic-xp-idprovider-8.0.0-B4.json", - "enonic-xp-layout-8.0.0-B4.json", - "enonic-xp-macro-8.0.0-B4.json", - "enonic-xp-mixin-8.0.0-B4.json", - "enonic-xp-page-8.0.0-B4.json", - "enonic-xp-part-8.0.0-B4.json", - "enonic-xp-service-8.0.0-B4.json", - "enonic-xp-site-8.0.0-B4.json", - "enonic-xp-style-8.0.0-B4.json", - "enonic-xp-task-8.0.0-B4.json", - "enonic-xp-webapp-8.0.0-B4.json", - "enonic-xp-admin-extension-8.0.0-B5.json", - "enonic-xp-admin-tool-8.0.0-B5.json", - "enonic-xp-api-8.0.0-B5.json", - "enonic-xp-application-8.0.0-B5.json", - "enonic-xp-cms-8.0.0-B5.json", - "enonic-xp-content-type-8.0.0-B5.json", - "enonic-xp-form-fragment-8.0.0-B5.json", - "enonic-xp-idprovider-8.0.0-B5.json", - "enonic-xp-layout-8.0.0-B5.json", - "enonic-xp-macro-8.0.0-B5.json", - "enonic-xp-mixin-8.0.0-B5.json", - "enonic-xp-page-8.0.0-B5.json", - "enonic-xp-part-8.0.0-B5.json", - "enonic-xp-service-8.0.0-B5.json", - "enonic-xp-site-8.0.0-B5.json", - "enonic-xp-style-8.0.0-B5.json", - "enonic-xp-task-8.0.0-B5.json", - "enonic-xp-webapp-8.0.0-B5.json", - "enonic-xp-admin-extension-8.0.0.json", - "enonic-xp-admin-tool-8.0.0.json", - "enonic-xp-api-8.0.0.json", - "enonic-xp-application-8.0.0.json", - "enonic-xp-cms-8.0.0.json", - "enonic-xp-content-type-8.0.0.json", - "enonic-xp-form-fragment-8.0.0.json", - "enonic-xp-idprovider-8.0.0.json", - "enonic-xp-layout-8.0.0.json", - "enonic-xp-macro-8.0.0.json", - "enonic-xp-mixin-8.0.0.json", - "enonic-xp-page-8.0.0.json", - "enonic-xp-part-8.0.0.json", - "enonic-xp-service-8.0.0.json", - "enonic-xp-site-8.0.0.json", - "enonic-xp-style-8.0.0.json", - "enonic-xp-task-8.0.0.json", - "enonic-xp-webapp-8.0.0.json", "electron-builder.json", "esmrc.json", "expo-37.0.0.json", diff --git a/src/schemas/json/abc-clinical-demand-forecast-1.0.0.json b/src/schemas/json/abc-clinical-demand-forecast-1.0.0.json index feac6be6671..79c56136d68 100644 --- a/src/schemas/json/abc-clinical-demand-forecast-1.0.0.json +++ b/src/schemas/json/abc-clinical-demand-forecast-1.0.0.json @@ -203,7 +203,6 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", @@ -214,12 +213,27 @@ } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used" + "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "regionID": { "type": "string", @@ -1131,16 +1145,30 @@ "additionalProperties": false }, "fromWeight": { - "type": ["number", "null"], "title": "From Weight", "description": "Minimum weight for this range (null for no lower bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "toWeight": { - "type": ["number", "null"], "title": "To Weight", "description": "Maximum weight for this range (null for no upper bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "expectedPercentage": { "type": "number", @@ -1208,16 +1236,30 @@ "additionalProperties": false }, "fromAge": { - "type": ["number", "null"], "title": "From Age", "description": "Minimum age for this range (null for no lower bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "toAge": { - "type": ["number", "null"], "title": "To Age", "description": "Maximum age for this range (null for no upper bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "expectedPercentage": { "type": "number", @@ -1404,28 +1446,56 @@ "additionalProperties": false }, "activationStartDate": { - "type": ["string", "null"], - "format": "date", "title": "Activation Start Date", - "description": "Default activation start date for child regions. Null means no default." + "description": "Default activation start date for child regions. Null means no default.", + "anyOf": [ + { + "type": "string", + "format": "date" + }, + { + "type": "null" + } + ] }, "screenRate": { - "type": ["number", "null"], "title": "Screen Rate", "description": "Default screen rate for child regions. Null means no default.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "siteActivationRate": { - "type": ["number", "null"], "title": "Site Activation Rate", "description": "Default site activation rate for child regions. Null means no default.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "maxEnrollmentPerSite": { - "type": ["number", "null"], "title": "Maximum Enrollment Per Site", "description": "Default max enrollment per site for child regions. Null means no default.", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "siteSeeding": { "oneOf": [ @@ -1470,28 +1540,56 @@ "minimum": 1 }, "activationStartDate": { - "type": ["string", "null"], - "format": "date", "title": "Activation Start Date", - "description": "Date when site activation begins. Null inherits from parent container." + "description": "Date when site activation begins. Null inherits from parent container.", + "anyOf": [ + { + "type": "string", + "format": "date" + }, + { + "type": "null" + } + ] }, "screenRate": { - "type": ["number", "null"], "title": "Screen Rate", "description": "Number of subjects screened per site per month. Null inherits from parent container.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "siteActivationRate": { - "type": ["number", "null"], "title": "Site Activation Rate", "description": "Number of sites activated per month. Null inherits from parent container.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "maxEnrollmentPerSite": { - "type": ["number", "null"], "title": "Maximum Enrollment Per Site", "description": "Maximum number of patients that can be enrolled per site. Null for unlimited or inherited.", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "siteSeeding": { "oneOf": [ @@ -1633,8 +1731,15 @@ "description": "Monthly kit demand values keyed by YYYY-MM-DD date." }, "placeboOf": { - "type": ["string", "null"], - "description": "Regimen ID this is placebo of, or null if active." + "description": "Regimen ID this is placebo of, or null if active.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["demand", "placeboOf"], @@ -1650,8 +1755,15 @@ "description": "Monthly kit item demand values keyed by YYYY-MM-DD date." }, "placeboOf": { - "type": ["string", "null"], - "description": "Regimen ID this is placebo of, or null if active." + "description": "Regimen ID this is placebo of, or null if active.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["demand", "placeboOf"], diff --git a/src/schemas/json/abc-clinical-demand-forecast-2.0.0.json b/src/schemas/json/abc-clinical-demand-forecast-2.0.0.json index df6fa632fab..b9ead7e6f99 100644 --- a/src/schemas/json/abc-clinical-demand-forecast-2.0.0.json +++ b/src/schemas/json/abc-clinical-demand-forecast-2.0.0.json @@ -203,7 +203,6 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", @@ -214,12 +213,27 @@ } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used" + "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "regionID": { "type": "string", @@ -1149,16 +1163,30 @@ "additionalProperties": false }, "fromWeight": { - "type": ["number", "null"], "title": "From Weight", "description": "Minimum weight for this range (null for no lower bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "toWeight": { - "type": ["number", "null"], "title": "To Weight", "description": "Maximum weight for this range (null for no upper bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "expectedPercentage": { "type": "number", @@ -1226,16 +1254,30 @@ "additionalProperties": false }, "fromAge": { - "type": ["number", "null"], "title": "From Age", "description": "Minimum age for this range (null for no lower bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "toAge": { - "type": ["number", "null"], "title": "To Age", "description": "Maximum age for this range (null for no upper bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "expectedPercentage": { "type": "number", @@ -1422,28 +1464,56 @@ "additionalProperties": false }, "activationStartDate": { - "type": ["string", "null"], - "format": "date", "title": "Activation Start Date", - "description": "Default activation start date for child regions. Null means no default." + "description": "Default activation start date for child regions. Null means no default.", + "anyOf": [ + { + "type": "string", + "format": "date" + }, + { + "type": "null" + } + ] }, "screenRate": { - "type": ["number", "null"], "title": "Screen Rate", "description": "Default screen rate for child regions. Null means no default.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "siteActivationRate": { - "type": ["number", "null"], "title": "Site Activation Rate", "description": "Default site activation rate for child regions. Null means no default.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "maxEnrollmentPerSite": { - "type": ["number", "null"], "title": "Maximum Enrollment Per Site", "description": "Default max enrollment per site for child regions. Null means no default.", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "siteSeeding": { "oneOf": [ @@ -1488,28 +1558,56 @@ "minimum": 1 }, "activationStartDate": { - "type": ["string", "null"], - "format": "date", "title": "Activation Start Date", - "description": "Date when site activation begins. Null inherits from parent container." + "description": "Date when site activation begins. Null inherits from parent container.", + "anyOf": [ + { + "type": "string", + "format": "date" + }, + { + "type": "null" + } + ] }, "screenRate": { - "type": ["number", "null"], "title": "Screen Rate", "description": "Number of subjects screened per site per month. Null inherits from parent container.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "siteActivationRate": { - "type": ["number", "null"], "title": "Site Activation Rate", "description": "Number of sites activated per month. Null inherits from parent container.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "maxEnrollmentPerSite": { - "type": ["number", "null"], "title": "Maximum Enrollment Per Site", "description": "Maximum number of patients that can be enrolled per site. Null for unlimited or inherited.", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "siteSeeding": { "oneOf": [ @@ -1651,8 +1749,15 @@ "description": "Monthly kit demand values keyed by YYYY-MM-DD date." }, "placeboOf": { - "type": ["string", "null"], - "description": "Regimen ID this is placebo of, or null if active." + "description": "Regimen ID this is placebo of, or null if active.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["demand", "placeboOf"], @@ -1668,8 +1773,15 @@ "description": "Monthly kit item demand values keyed by YYYY-MM-DD date." }, "placeboOf": { - "type": ["string", "null"], - "description": "Regimen ID this is placebo of, or null if active." + "description": "Regimen ID this is placebo of, or null if active.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["demand", "placeboOf"], diff --git a/src/schemas/json/abc-clinical-demand-forecast-3.0.0.json b/src/schemas/json/abc-clinical-demand-forecast-3.0.0.json index ce157afe4b7..d7b4d0e4e16 100644 --- a/src/schemas/json/abc-clinical-demand-forecast-3.0.0.json +++ b/src/schemas/json/abc-clinical-demand-forecast-3.0.0.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://json.schemastore.org/abc-clinical-demand-forecast-3.0.0.json", - "$comment": "AUTO-GENERATED by scripts/assemble-schemas.js \u2014 DO NOT EDIT BY HAND", + "$comment": "AUTO-GENERATED by scripts/assemble-schemas.js — DO NOT EDIT BY HAND", "title": "ABCClinicalDemandForecast JSON Schema", "description": "Schema defining the structure of ABCClinicalDemandForecast used for clinical trial demand forecasting in ABC-Plan.", "type": "object", @@ -19,7 +19,7 @@ "description": "Optional notes about the clinical demand forecast plan." }, "analytics": { - "$comment": "SINGLE SOURCE OF TRUTH for analytics configuration. Used by scripts/assemble-schemas.js to replace __ABC_JSON_SCHEMA_PLACEHOLDER_ANALYTICS__ in each template. DO NOT reference this file directly \u2014 it is inlined into parent schemas at build time.", + "$comment": "SINGLE SOURCE OF TRUTH for analytics configuration. Used by scripts/assemble-schemas.js to replace __ABC_JSON_SCHEMA_PLACEHOLDER_ANALYTICS__ in each template. DO NOT reference this file directly — it is inlined into parent schemas at build time.", "type": "object", "properties": { "items": { @@ -203,7 +203,6 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", @@ -214,12 +213,27 @@ } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used" + "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "regionID": { "type": "string", @@ -729,9 +743,16 @@ "description": "Phased dosing frequency. Each phase defines a repeating cycle pattern. The last phase runs for the remainder of the treatment.", "properties": { "description": { - "type": ["string", "null"], "title": "Description", - "description": "Human-readable description of the dosing frequency (e.g., 'BID', 'capecitabine 14/7', 'weekly for 6 weeks then monthly'). Doubles as the AI generation prompt. null when created manually without AI." + "description": "Human-readable description of the dosing frequency (e.g., 'BID', 'capecitabine 14/7', 'weekly for 6 weeks then monthly'). Doubles as the AI generation prompt. null when created manually without AI.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "phases": { "type": "array", @@ -1194,16 +1215,30 @@ "additionalProperties": false }, "fromWeight": { - "type": ["number", "null"], "title": "From Weight", "description": "Minimum weight for this range (null for no lower bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "toWeight": { - "type": ["number", "null"], "title": "To Weight", "description": "Maximum weight for this range (null for no upper bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "expectedPercentage": { "type": "number", @@ -1271,16 +1306,30 @@ "additionalProperties": false }, "fromAge": { - "type": ["number", "null"], "title": "From Age", "description": "Minimum age for this range (null for no lower bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "toAge": { - "type": ["number", "null"], "title": "To Age", "description": "Maximum age for this range (null for no upper bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "expectedPercentage": { "type": "number", @@ -1467,28 +1516,56 @@ "additionalProperties": false }, "activationStartDate": { - "type": ["string", "null"], - "format": "date", "title": "Activation Start Date", - "description": "Default activation start date for child regions. Null means no default." + "description": "Default activation start date for child regions. Null means no default.", + "anyOf": [ + { + "type": "string", + "format": "date" + }, + { + "type": "null" + } + ] }, "screenRate": { - "type": ["number", "null"], "title": "Screen Rate", "description": "Default screen rate for child regions. Null means no default.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "siteActivationRate": { - "type": ["number", "null"], "title": "Site Activation Rate", "description": "Default site activation rate for child regions. Null means no default.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "maxEnrollmentPerSite": { - "type": ["number", "null"], "title": "Maximum Enrollment Per Site", "description": "Default max enrollment per site for child regions. Null means no default.", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "siteSeeding": { "oneOf": [ @@ -1533,28 +1610,56 @@ "minimum": 1 }, "activationStartDate": { - "type": ["string", "null"], - "format": "date", "title": "Activation Start Date", - "description": "Date when site activation begins. Null inherits from parent container." + "description": "Date when site activation begins. Null inherits from parent container.", + "anyOf": [ + { + "type": "string", + "format": "date" + }, + { + "type": "null" + } + ] }, "screenRate": { - "type": ["number", "null"], "title": "Screen Rate", "description": "Number of subjects screened per site per month. Null inherits from parent container.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "siteActivationRate": { - "type": ["number", "null"], "title": "Site Activation Rate", "description": "Number of sites activated per month. Null inherits from parent container.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "maxEnrollmentPerSite": { - "type": ["number", "null"], "title": "Maximum Enrollment Per Site", "description": "Maximum number of patients that can be enrolled per site. Null for unlimited or inherited.", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "siteSeeding": { "oneOf": [ @@ -1696,8 +1801,15 @@ "description": "Monthly kit demand values keyed by YYYY-MM-DD date." }, "placeboOf": { - "type": ["string", "null"], - "description": "Regimen ID this is placebo of, or null if active." + "description": "Regimen ID this is placebo of, or null if active.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["demand", "placeboOf"], @@ -1713,8 +1825,15 @@ "description": "Monthly kit item demand values keyed by YYYY-MM-DD date." }, "placeboOf": { - "type": ["string", "null"], - "description": "Regimen ID this is placebo of, or null if active." + "description": "Regimen ID this is placebo of, or null if active.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["demand", "placeboOf"], @@ -1723,7 +1842,7 @@ "ByArmSequenceKitDateMap": { "type": "object", "title": "By Arm Sequence Kit Date Map", - "description": "Mapping of treatment arm IDs to sequence periods to kit demand. Structure: arm \u2192 sequenceId \u2192 kit \u2192 KitDemandEntry. The sequence ID matches keys in dosingRegimenSequence.", + "description": "Mapping of treatment arm IDs to sequence periods to kit demand. Structure: arm → sequenceId → kit → KitDemandEntry. The sequence ID matches keys in dosingRegimenSequence.", "patternProperties": { ".*": { "type": "object", @@ -1748,7 +1867,7 @@ "ByArmSequenceKitItemDateMap": { "type": "object", "title": "By Arm Sequence Kit Item Date Map", - "description": "Mapping of treatment arm IDs to sequence periods to kit item consumption. Structure: arm \u2192 sequenceId \u2192 item \u2192 KitItemDemandEntry. The sequence ID matches keys in dosingRegimenSequence. Displayed as 'Dosing' in the UI.", + "description": "Mapping of treatment arm IDs to sequence periods to kit item consumption. Structure: arm → sequenceId → item → KitItemDemandEntry. The sequence ID matches keys in dosingRegimenSequence. Displayed as 'Dosing' in the UI.", "patternProperties": { ".*": { "type": "object", diff --git a/src/schemas/json/abc-clinical-demand-forecast-4.0.0.json b/src/schemas/json/abc-clinical-demand-forecast-4.0.0.json index 087beebf31e..21c7c2266c3 100644 --- a/src/schemas/json/abc-clinical-demand-forecast-4.0.0.json +++ b/src/schemas/json/abc-clinical-demand-forecast-4.0.0.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://json.schemastore.org/abc-clinical-demand-forecast-4.0.0.json", - "$comment": "AUTO-GENERATED by scripts/assemble-schemas.js \u2014 DO NOT EDIT BY HAND", + "$comment": "AUTO-GENERATED by scripts/assemble-schemas.js — DO NOT EDIT BY HAND", "title": "ABCClinicalDemandForecast JSON Schema", "description": "Schema defining the structure of ABCClinicalDemandForecast used for clinical trial demand forecasting in ABC-Plan.", "type": "object", @@ -19,7 +19,7 @@ "description": "Optional notes about the clinical demand forecast plan." }, "analytics": { - "$comment": "SINGLE SOURCE OF TRUTH for analytics configuration. Used by scripts/assemble-schemas.js to replace __ABC_JSON_SCHEMA_PLACEHOLDER_ANALYTICS__ in each template. DO NOT reference this file directly \u2014 it is inlined into parent schemas at build time.", + "$comment": "SINGLE SOURCE OF TRUTH for analytics configuration. Used by scripts/assemble-schemas.js to replace __ABC_JSON_SCHEMA_PLACEHOLDER_ANALYTICS__ in each template. DO NOT reference this file directly — it is inlined into parent schemas at build time.", "type": "object", "properties": { "items": { @@ -203,7 +203,6 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", @@ -214,12 +213,27 @@ } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used" + "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "regionID": { "type": "string", @@ -729,9 +743,16 @@ "description": "Phased dosing frequency. Each phase defines a repeating cycle pattern. The last phase runs for the remainder of the treatment.", "properties": { "description": { - "type": ["string", "null"], "title": "Description", - "description": "Human-readable description of the dosing frequency (e.g., 'BID', 'capecitabine 14/7', 'weekly for 6 weeks then monthly'). Doubles as the AI generation prompt. null when created manually without AI." + "description": "Human-readable description of the dosing frequency (e.g., 'BID', 'capecitabine 14/7', 'weekly for 6 weeks then monthly'). Doubles as the AI generation prompt. null when created manually without AI.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "phases": { "type": "array", @@ -1194,16 +1215,30 @@ "additionalProperties": false }, "fromWeight": { - "type": ["number", "null"], "title": "From Weight", "description": "Minimum weight for this range (null for no lower bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "toWeight": { - "type": ["number", "null"], "title": "To Weight", "description": "Maximum weight for this range (null for no upper bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "expectedPercentage": { "type": "number", @@ -1271,16 +1306,30 @@ "additionalProperties": false }, "fromAge": { - "type": ["number", "null"], "title": "From Age", "description": "Minimum age for this range (null for no lower bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "toAge": { - "type": ["number", "null"], "title": "To Age", "description": "Maximum age for this range (null for no upper bound).", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "expectedPercentage": { "type": "number", @@ -1467,28 +1516,56 @@ "additionalProperties": false }, "activationStartDate": { - "type": ["string", "null"], - "format": "date", "title": "Activation Start Date", - "description": "Default activation start date for child regions. Null means no default." + "description": "Default activation start date for child regions. Null means no default.", + "anyOf": [ + { + "type": "string", + "format": "date" + }, + { + "type": "null" + } + ] }, "screenRate": { - "type": ["number", "null"], "title": "Screen Rate", "description": "Default screen rate for child regions. Null means no default.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "siteActivationRate": { - "type": ["number", "null"], "title": "Site Activation Rate", "description": "Default site activation rate for child regions. Null means no default.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "maxEnrollmentPerSite": { - "type": ["number", "null"], "title": "Maximum Enrollment Per Site", "description": "Default max enrollment per site for child regions. Null means no default.", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "siteSeeding": { "oneOf": [ @@ -1507,11 +1584,18 @@ "description": "Default site seeding quantity per kit for child regions. Map of kitId to quantity, or null to inherit." }, "enrollmentStartOffset": { - "type": ["integer", "null"], - "minimum": 0, "default": 0, "title": "Enrollment Start Offset", - "description": "Default months from site activation until first enrollment (First Patient In lead time) for child regions. Null means inherit from parent. Defaults to 0 if no ancestor sets a value." + "description": "Default months from site activation until first enrollment (First Patient In lead time) for child regions. Null means inherit from parent. Defaults to 0 if no ancestor sets a value.", + "anyOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "type": "null" + } + ] } }, "required": ["nodeType", "regionName", "subregions"], @@ -1540,28 +1624,56 @@ "minimum": 1 }, "activationStartDate": { - "type": ["string", "null"], - "format": "date", "title": "Activation Start Date", - "description": "Date when site activation begins. Null inherits from parent container." + "description": "Date when site activation begins. Null inherits from parent container.", + "anyOf": [ + { + "type": "string", + "format": "date" + }, + { + "type": "null" + } + ] }, "screenRate": { - "type": ["number", "null"], "title": "Screen Rate", "description": "Number of subjects screened per site per month. Null inherits from parent container.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "siteActivationRate": { - "type": ["number", "null"], "title": "Site Activation Rate", "description": "Number of sites activated per month. Null inherits from parent container.", - "exclusiveMinimum": 0 + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "type": "null" + } + ] }, "maxEnrollmentPerSite": { - "type": ["number", "null"], "title": "Maximum Enrollment Per Site", "description": "Maximum number of patients that can be enrolled per site. Null for unlimited or inherited.", - "minimum": 0 + "anyOf": [ + { + "type": "number", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "siteSeeding": { "oneOf": [ @@ -1580,11 +1692,18 @@ "description": "Site seeding quantity per kit. Map of kitId to quantity, or null to inherit from parent." }, "enrollmentStartOffset": { - "type": ["integer", "null"], - "minimum": 0, "default": 0, "title": "Enrollment Start Offset", - "description": "Months from site activation until first enrollment (First Patient In lead time). Default 0. Null means inherit from parent." + "description": "Months from site activation until first enrollment (First Patient In lead time). Default 0. Null means inherit from parent.", + "anyOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "type": "null" + } + ] } }, "required": ["nodeType", "regionName", "numberOfSites"], @@ -1710,8 +1829,15 @@ "description": "Monthly kit demand values keyed by YYYY-MM-DD date." }, "placeboOf": { - "type": ["string", "null"], - "description": "Regimen ID this is placebo of, or null if active." + "description": "Regimen ID this is placebo of, or null if active.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["demand", "placeboOf"], @@ -1727,8 +1853,15 @@ "description": "Monthly kit item demand values keyed by YYYY-MM-DD date." }, "placeboOf": { - "type": ["string", "null"], - "description": "Regimen ID this is placebo of, or null if active." + "description": "Regimen ID this is placebo of, or null if active.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["demand", "placeboOf"], @@ -1737,7 +1870,7 @@ "ByArmSequenceKitDateMap": { "type": "object", "title": "By Arm Sequence Kit Date Map", - "description": "Mapping of treatment arm IDs to sequence periods to kit demand. Structure: arm \u2192 sequenceId \u2192 kit \u2192 KitDemandEntry. The sequence ID matches keys in dosingRegimenSequence.", + "description": "Mapping of treatment arm IDs to sequence periods to kit demand. Structure: arm → sequenceId → kit → KitDemandEntry. The sequence ID matches keys in dosingRegimenSequence.", "patternProperties": { ".*": { "type": "object", @@ -1762,7 +1895,7 @@ "ByArmSequenceKitItemDateMap": { "type": "object", "title": "By Arm Sequence Kit Item Date Map", - "description": "Mapping of treatment arm IDs to sequence periods to kit item consumption. Structure: arm \u2192 sequenceId \u2192 item \u2192 KitItemDemandEntry. The sequence ID matches keys in dosingRegimenSequence. Displayed as 'Dosing' in the UI.", + "description": "Mapping of treatment arm IDs to sequence periods to kit item consumption. Structure: arm → sequenceId → item → KitItemDemandEntry. The sequence ID matches keys in dosingRegimenSequence. Displayed as 'Dosing' in the UI.", "patternProperties": { ".*": { "type": "object", diff --git a/src/schemas/json/abc-inventory-module-data-1.0.0.json b/src/schemas/json/abc-inventory-module-data-1.0.0.json index a93c222b2dd..57a94b8841c 100644 --- a/src/schemas/json/abc-inventory-module-data-1.0.0.json +++ b/src/schemas/json/abc-inventory-module-data-1.0.0.json @@ -102,13 +102,27 @@ "type": "number" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "unitOfMeasure": { "type": "string" }, "vendorID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "additionalProperties": false @@ -224,7 +238,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "reasonCodeID": { "type": "string" @@ -307,7 +328,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -342,7 +370,14 @@ "upstreamProductIDs": { "type": "array", "items": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "upstreamQuantities": { @@ -417,7 +452,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "additionalProperties": false @@ -465,7 +507,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "additionalProperties": false @@ -514,7 +563,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -592,7 +648,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -675,7 +738,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -751,7 +821,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -810,7 +887,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -875,7 +959,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -971,7 +1062,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" diff --git a/src/schemas/json/abc-inventory-module-data-2.0.0.json b/src/schemas/json/abc-inventory-module-data-2.0.0.json index d311b6fdbc4..d00682d24f5 100644 --- a/src/schemas/json/abc-inventory-module-data-2.0.0.json +++ b/src/schemas/json/abc-inventory-module-data-2.0.0.json @@ -57,7 +57,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -178,12 +185,26 @@ } }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "upstreamProductIDs": { "type": "array", "items": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "notes": { @@ -258,7 +279,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -323,7 +351,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -385,7 +420,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -434,7 +476,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -485,7 +534,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -540,7 +596,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -593,7 +656,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -655,7 +725,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -716,7 +793,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -871,10 +955,24 @@ "type": "object", "properties": { "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "vendorID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" diff --git a/src/schemas/json/abc-inventory-module-data-3.0.0.json b/src/schemas/json/abc-inventory-module-data-3.0.0.json index ef5394a1a81..389da4804d4 100644 --- a/src/schemas/json/abc-inventory-module-data-3.0.0.json +++ b/src/schemas/json/abc-inventory-module-data-3.0.0.json @@ -59,7 +59,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -181,12 +188,26 @@ } }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "upstreamProductIDs": { "type": "array", "items": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "notes": { @@ -262,7 +283,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -328,7 +356,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -391,7 +426,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -441,7 +483,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -493,7 +542,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -549,7 +605,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -612,7 +675,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -635,15 +705,33 @@ }, "ABCInventoryTransaction": { "oneOf": [ - { "$ref": "#/definitions/ABCInventoryReceiveTransaction" }, - { "$ref": "#/definitions/ABCInventoryBuildTransaction" }, - { "$ref": "#/definitions/ABCInventoryTransferTransaction" }, - { "$ref": "#/definitions/ABCInventoryStatusChangeTransaction" }, - { "$ref": "#/definitions/ABCInventoryDistributeTransaction" }, - { "$ref": "#/definitions/ABCInventoryDestroyTransaction" }, - { "$ref": "#/definitions/ABCInventorySellTransaction" }, - { "$ref": "#/definitions/ABCInventoryAdjustTransaction" }, - { "$ref": "#/definitions/ABCInventoryChangeExpiryTransaction" } + { + "$ref": "#/definitions/ABCInventoryReceiveTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryBuildTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryTransferTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryStatusChangeTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryDistributeTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryDestroyTransaction" + }, + { + "$ref": "#/definitions/ABCInventorySellTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryAdjustTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryChangeExpiryTransaction" + } ] }, "ABCInventoryEntryWithoutUpstreams": { @@ -656,7 +744,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -718,7 +813,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -793,8 +895,12 @@ }, "ABCInventoryEntry": { "oneOf": [ - { "$ref": "#/definitions/ABCInventoryEntryWithoutUpstreams" }, - { "$ref": "#/definitions/ABCInventoryEntryWithUpstreams" } + { + "$ref": "#/definitions/ABCInventoryEntryWithoutUpstreams" + }, + { + "$ref": "#/definitions/ABCInventoryEntryWithUpstreams" + } ] } }, @@ -873,10 +979,24 @@ "type": "object", "properties": { "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "vendorID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" diff --git a/src/schemas/json/abc-inventory-module-data-4.0.0.json b/src/schemas/json/abc-inventory-module-data-4.0.0.json index fe24c9efd93..df53b9d3503 100644 --- a/src/schemas/json/abc-inventory-module-data-4.0.0.json +++ b/src/schemas/json/abc-inventory-module-data-4.0.0.json @@ -63,7 +63,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -195,12 +202,26 @@ } }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "upstreamProductIDs": { "type": "array", "items": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "notes": { @@ -278,7 +299,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -348,7 +376,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -415,7 +450,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -469,7 +511,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -525,7 +574,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -585,7 +641,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -652,7 +715,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -679,15 +749,33 @@ }, "ABCInventoryTransaction": { "oneOf": [ - { "$ref": "#/definitions/ABCInventoryReceiveTransaction" }, - { "$ref": "#/definitions/ABCInventoryBuildTransaction" }, - { "$ref": "#/definitions/ABCInventoryTransferTransaction" }, - { "$ref": "#/definitions/ABCInventoryStatusChangeTransaction" }, - { "$ref": "#/definitions/ABCInventoryDistributeTransaction" }, - { "$ref": "#/definitions/ABCInventoryDestroyTransaction" }, - { "$ref": "#/definitions/ABCInventorySellTransaction" }, - { "$ref": "#/definitions/ABCInventoryAdjustTransaction" }, - { "$ref": "#/definitions/ABCInventoryChangeExpiryTransaction" } + { + "$ref": "#/definitions/ABCInventoryReceiveTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryBuildTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryTransferTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryStatusChangeTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryDistributeTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryDestroyTransaction" + }, + { + "$ref": "#/definitions/ABCInventorySellTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryAdjustTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryChangeExpiryTransaction" + } ] }, "ABCInventoryEntryWithoutUpstreams": { @@ -703,7 +791,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -769,7 +864,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -845,8 +947,12 @@ }, "ABCInventoryEntry": { "oneOf": [ - { "$ref": "#/definitions/ABCInventoryEntryWithoutUpstreams" }, - { "$ref": "#/definitions/ABCInventoryEntryWithUpstreams" } + { + "$ref": "#/definitions/ABCInventoryEntryWithoutUpstreams" + }, + { + "$ref": "#/definitions/ABCInventoryEntryWithUpstreams" + } ] } }, @@ -925,10 +1031,24 @@ "type": "object", "properties": { "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "vendorID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" diff --git a/src/schemas/json/abc-inventory-module-data-5.1.0.json b/src/schemas/json/abc-inventory-module-data-5.1.0.json index f4134dfdb64..2d41f26ae46 100644 --- a/src/schemas/json/abc-inventory-module-data-5.1.0.json +++ b/src/schemas/json/abc-inventory-module-data-5.1.0.json @@ -69,7 +69,14 @@ } }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -202,12 +209,26 @@ } }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "upstreamProductIDs": { "type": "array", "items": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "notes": { @@ -280,7 +301,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -344,7 +372,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -405,7 +440,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -459,7 +501,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -515,7 +564,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -575,7 +631,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -642,7 +705,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -696,7 +766,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "locationID": { "type": "string" @@ -734,16 +811,36 @@ }, "ABCInventoryTransaction": { "oneOf": [ - { "$ref": "#/definitions/ABCInventoryReceiveTransaction" }, - { "$ref": "#/definitions/ABCInventoryBuildTransaction" }, - { "$ref": "#/definitions/ABCInventoryTransferTransaction" }, - { "$ref": "#/definitions/ABCInventoryStatusChangeTransaction" }, - { "$ref": "#/definitions/ABCInventoryDistributeTransaction" }, - { "$ref": "#/definitions/ABCInventoryDestroyTransaction" }, - { "$ref": "#/definitions/ABCInventorySellTransaction" }, - { "$ref": "#/definitions/ABCInventoryAdjustTransaction" }, - { "$ref": "#/definitions/ABCInventoryChangeExpiryTransaction" }, - { "$ref": "#/definitions/ABCInventoryChangeAttributesTransaction" } + { + "$ref": "#/definitions/ABCInventoryReceiveTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryBuildTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryTransferTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryStatusChangeTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryDistributeTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryDestroyTransaction" + }, + { + "$ref": "#/definitions/ABCInventorySellTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryAdjustTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryChangeExpiryTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryChangeAttributesTransaction" + } ] }, "ABCInventoryEntryWithoutUpstreams": { @@ -759,7 +856,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -832,7 +936,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -915,8 +1026,12 @@ }, "ABCInventoryEntry": { "oneOf": [ - { "$ref": "#/definitions/ABCInventoryEntryWithoutUpstreams" }, - { "$ref": "#/definitions/ABCInventoryEntryWithUpstreams" } + { + "$ref": "#/definitions/ABCInventoryEntryWithoutUpstreams" + }, + { + "$ref": "#/definitions/ABCInventoryEntryWithUpstreams" + } ] } }, @@ -995,10 +1110,24 @@ "type": "object", "properties": { "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "vendorID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" diff --git a/src/schemas/json/abc-inventory-module-data-5.2.0.json b/src/schemas/json/abc-inventory-module-data-5.2.0.json index afe3b20fac0..57c73347d12 100644 --- a/src/schemas/json/abc-inventory-module-data-5.2.0.json +++ b/src/schemas/json/abc-inventory-module-data-5.2.0.json @@ -70,7 +70,14 @@ } }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -203,12 +210,26 @@ } }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "upstreamProductIDs": { "type": "array", "items": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "notes": { @@ -281,7 +302,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -345,7 +373,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -406,7 +441,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -460,7 +502,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -516,7 +565,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -576,7 +632,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -643,7 +706,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -697,7 +767,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "locationID": { "type": "string" @@ -735,16 +812,36 @@ }, "ABCInventoryTransaction": { "oneOf": [ - { "$ref": "#/definitions/ABCInventoryReceiveTransaction" }, - { "$ref": "#/definitions/ABCInventoryBuildTransaction" }, - { "$ref": "#/definitions/ABCInventoryTransferTransaction" }, - { "$ref": "#/definitions/ABCInventoryStatusChangeTransaction" }, - { "$ref": "#/definitions/ABCInventoryDistributeTransaction" }, - { "$ref": "#/definitions/ABCInventoryDestroyTransaction" }, - { "$ref": "#/definitions/ABCInventorySellTransaction" }, - { "$ref": "#/definitions/ABCInventoryAdjustTransaction" }, - { "$ref": "#/definitions/ABCInventoryChangeExpiryTransaction" }, - { "$ref": "#/definitions/ABCInventoryChangeAttributesTransaction" } + { + "$ref": "#/definitions/ABCInventoryReceiveTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryBuildTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryTransferTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryStatusChangeTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryDistributeTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryDestroyTransaction" + }, + { + "$ref": "#/definitions/ABCInventorySellTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryAdjustTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryChangeExpiryTransaction" + }, + { + "$ref": "#/definitions/ABCInventoryChangeAttributesTransaction" + } ] }, "ABCInventoryEntryWithoutUpstreams": { @@ -760,7 +857,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -833,7 +937,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -916,8 +1027,12 @@ }, "ABCInventoryEntry": { "oneOf": [ - { "$ref": "#/definitions/ABCInventoryEntryWithoutUpstreams" }, - { "$ref": "#/definitions/ABCInventoryEntryWithUpstreams" } + { + "$ref": "#/definitions/ABCInventoryEntryWithoutUpstreams" + }, + { + "$ref": "#/definitions/ABCInventoryEntryWithUpstreams" + } ] } }, @@ -996,10 +1111,24 @@ "type": "object", "properties": { "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "vendorID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" diff --git a/src/schemas/json/abc-inventory-module-data-5.3.0.json b/src/schemas/json/abc-inventory-module-data-5.3.0.json index fc2eb223358..89841d3d00d 100644 --- a/src/schemas/json/abc-inventory-module-data-5.3.0.json +++ b/src/schemas/json/abc-inventory-module-data-5.3.0.json @@ -70,7 +70,14 @@ } }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -191,12 +198,26 @@ } }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "upstreamProductIDs": { "type": "array", "items": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "notes": { @@ -275,7 +296,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -345,7 +373,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -412,7 +447,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -466,7 +508,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -522,7 +571,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -582,7 +638,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -649,7 +712,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -703,7 +773,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "locationID": { "type": "string" @@ -790,7 +867,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -863,7 +947,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -1104,10 +1195,24 @@ "type": "object", "properties": { "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "vendorID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" diff --git a/src/schemas/json/abc-inventory-module-data-5.4.0.json b/src/schemas/json/abc-inventory-module-data-5.4.0.json index 829aa5921a2..a9b8dd02909 100644 --- a/src/schemas/json/abc-inventory-module-data-5.4.0.json +++ b/src/schemas/json/abc-inventory-module-data-5.4.0.json @@ -70,7 +70,14 @@ } }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "notes": { "type": "string" @@ -191,12 +198,26 @@ } }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "upstreamProductIDs": { "type": "array", "items": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "notes": { @@ -275,7 +296,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -345,7 +373,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -412,7 +447,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -466,7 +508,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -522,7 +571,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -582,7 +638,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -649,7 +712,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" @@ -703,7 +773,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "locationID": { "type": "string" @@ -790,7 +867,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -863,7 +947,14 @@ "type": "string" }, "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "quantity": { "type": "number" @@ -1104,10 +1195,24 @@ "type": "object", "properties": { "productID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "vendorID": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "materialCategoryID": { "type": "string" diff --git a/src/schemas/json/abc-supply-plan-10.0.0.json b/src/schemas/json/abc-supply-plan-10.0.0.json index 6f692b27695..d7d18a319dd 100644 --- a/src/schemas/json/abc-supply-plan-10.0.0.json +++ b/src/schemas/json/abc-supply-plan-10.0.0.json @@ -194,21 +194,37 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", "enum": ["Units", "Lots", "Monetary"] }, - { "type": "null" } + { + "type": "null" + } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used" + "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -226,36 +242,48 @@ { "if": { "properties": { - "metricType": { "const": "mfc" } + "metricType": { + "const": "mfc" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "otherDemand" } + "metricType": { + "const": "otherDemand" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "moh" } + "metricType": { + "const": "moh" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, @@ -269,14 +297,18 @@ }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "demand" } + "metricType": { + "const": "demand" + } } }, "then": { @@ -290,7 +322,9 @@ { "if": { "properties": { - "metricType": { "const": "actuals" } + "metricType": { + "const": "actuals" + } } }, "then": { @@ -304,7 +338,9 @@ { "if": { "properties": { - "metricType": { "const": "firmRelease" } + "metricType": { + "const": "firmRelease" + } } }, "then": { @@ -760,12 +796,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -813,7 +863,9 @@ { "if": { "properties": { - "timeDependentPlanningParameters": { "const": false } + "timeDependentPlanningParameters": { + "const": false + } } }, "then": { @@ -849,7 +901,9 @@ { "if": { "properties": { - "timeDependentPlanningParameters": { "const": true } + "timeDependentPlanningParameters": { + "const": true + } } }, "then": { diff --git a/src/schemas/json/abc-supply-plan-10.1.0.json b/src/schemas/json/abc-supply-plan-10.1.0.json index 146da947dfc..57ed347d338 100644 --- a/src/schemas/json/abc-supply-plan-10.1.0.json +++ b/src/schemas/json/abc-supply-plan-10.1.0.json @@ -195,21 +195,37 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", "enum": ["Units", "Lots", "Monetary"] }, - { "type": "null" } + { + "type": "null" + } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used" + "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -227,48 +243,64 @@ { "if": { "properties": { - "metricType": { "const": "mfc" } + "metricType": { + "const": "mfc" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "targetMFC" } + "metricType": { + "const": "targetMFC" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "otherDemand" } + "metricType": { + "const": "otherDemand" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "moh" } + "metricType": { + "const": "moh" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, @@ -282,14 +314,18 @@ }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "demand" } + "metricType": { + "const": "demand" + } } }, "then": { @@ -303,7 +339,9 @@ { "if": { "properties": { - "metricType": { "const": "actuals" } + "metricType": { + "const": "actuals" + } } }, "then": { @@ -317,7 +355,9 @@ { "if": { "properties": { - "metricType": { "const": "firmRelease" } + "metricType": { + "const": "firmRelease" + } } }, "then": { @@ -774,12 +814,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -827,7 +881,9 @@ { "if": { "properties": { - "timeDependentPlanningParameters": { "const": false } + "timeDependentPlanningParameters": { + "const": false + } } }, "then": { @@ -863,7 +919,9 @@ { "if": { "properties": { - "timeDependentPlanningParameters": { "const": true } + "timeDependentPlanningParameters": { + "const": true + } } }, "then": { diff --git a/src/schemas/json/abc-supply-plan-11.0.0.json b/src/schemas/json/abc-supply-plan-11.0.0.json index 83dda3fc211..31a146714d5 100644 --- a/src/schemas/json/abc-supply-plan-11.0.0.json +++ b/src/schemas/json/abc-supply-plan-11.0.0.json @@ -195,21 +195,37 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", "enum": ["Units", "Lots", "Monetary"] }, - { "type": "null" } + { + "type": "null" + } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used" + "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -227,48 +243,64 @@ { "if": { "properties": { - "metricType": { "const": "mfc" } + "metricType": { + "const": "mfc" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "targetMFC" } + "metricType": { + "const": "targetMFC" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "otherDemand" } + "metricType": { + "const": "otherDemand" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "moh" } + "metricType": { + "const": "moh" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, @@ -282,14 +314,18 @@ }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "demand" } + "metricType": { + "const": "demand" + } } }, "then": { @@ -303,7 +339,9 @@ { "if": { "properties": { - "metricType": { "const": "actuals" } + "metricType": { + "const": "actuals" + } } }, "then": { @@ -317,7 +355,9 @@ { "if": { "properties": { - "metricType": { "const": "firmRelease" } + "metricType": { + "const": "firmRelease" + } } }, "then": { @@ -866,12 +906,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -919,7 +973,9 @@ { "if": { "properties": { - "timeDependentPlanningParameters": { "const": false } + "timeDependentPlanningParameters": { + "const": false + } } }, "then": { @@ -955,7 +1011,9 @@ { "if": { "properties": { - "timeDependentPlanningParameters": { "const": true } + "timeDependentPlanningParameters": { + "const": true + } } }, "then": { diff --git a/src/schemas/json/abc-supply-plan-11.1.0.json b/src/schemas/json/abc-supply-plan-11.1.0.json index c03164f1c4c..83bbd8116e8 100644 --- a/src/schemas/json/abc-supply-plan-11.1.0.json +++ b/src/schemas/json/abc-supply-plan-11.1.0.json @@ -196,21 +196,37 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", "enum": ["Units", "Lots", "Monetary"] }, - { "type": "null" } + { + "type": "null" + } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used" + "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -228,36 +244,48 @@ { "if": { "properties": { - "metricType": { "const": "mfc" } + "metricType": { + "const": "mfc" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "targetMFC" } + "metricType": { + "const": "targetMFC" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "otherDemand" } + "metricType": { + "const": "otherDemand" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, @@ -271,14 +299,18 @@ }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "demand" } + "metricType": { + "const": "demand" + } } }, "then": { @@ -292,7 +324,9 @@ { "if": { "properties": { - "metricType": { "const": "actuals" } + "metricType": { + "const": "actuals" + } } }, "then": { @@ -306,7 +340,9 @@ { "if": { "properties": { - "metricType": { "const": "firmRelease" } + "metricType": { + "const": "firmRelease" + } } }, "then": { @@ -855,12 +891,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -908,7 +958,9 @@ { "if": { "properties": { - "timeDependentPlanningParameters": { "const": false } + "timeDependentPlanningParameters": { + "const": false + } } }, "then": { @@ -944,7 +996,9 @@ { "if": { "properties": { - "timeDependentPlanningParameters": { "const": true } + "timeDependentPlanningParameters": { + "const": true + } } }, "then": { diff --git a/src/schemas/json/abc-supply-plan-11.2.0.json b/src/schemas/json/abc-supply-plan-11.2.0.json index 20cb7b97def..3159e2832f9 100644 --- a/src/schemas/json/abc-supply-plan-11.2.0.json +++ b/src/schemas/json/abc-supply-plan-11.2.0.json @@ -212,21 +212,37 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", "enum": ["Units", "Lots", "Monetary"] }, - { "type": "null" } + { + "type": "null" + } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used" + "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -244,36 +260,48 @@ { "if": { "properties": { - "metricType": { "const": "mfc" } + "metricType": { + "const": "mfc" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "targetMFC" } + "metricType": { + "const": "targetMFC" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "otherDemand" } + "metricType": { + "const": "otherDemand" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, @@ -287,14 +315,18 @@ }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "demand" } + "metricType": { + "const": "demand" + } } }, "then": { @@ -308,7 +340,9 @@ { "if": { "properties": { - "metricType": { "const": "actuals" } + "metricType": { + "const": "actuals" + } } }, "then": { @@ -322,7 +356,9 @@ { "if": { "properties": { - "metricType": { "const": "firmRelease" } + "metricType": { + "const": "firmRelease" + } } }, "then": { @@ -871,12 +907,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -924,7 +974,9 @@ { "if": { "properties": { - "timeDependentPlanningParameters": { "const": false } + "timeDependentPlanningParameters": { + "const": false + } } }, "then": { @@ -960,7 +1012,9 @@ { "if": { "properties": { - "timeDependentPlanningParameters": { "const": true } + "timeDependentPlanningParameters": { + "const": true + } } }, "then": { diff --git a/src/schemas/json/abc-supply-plan-11.3.0.json b/src/schemas/json/abc-supply-plan-11.3.0.json index e4093d8ab3c..612344e96d7 100644 --- a/src/schemas/json/abc-supply-plan-11.3.0.json +++ b/src/schemas/json/abc-supply-plan-11.3.0.json @@ -214,7 +214,6 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", @@ -225,12 +224,27 @@ } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used" + "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "regionID": { "type": "string", @@ -920,12 +934,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ diff --git a/src/schemas/json/abc-supply-plan-11.4.0.json b/src/schemas/json/abc-supply-plan-11.4.0.json index 575f604b5f9..54bc5e8cdda 100644 --- a/src/schemas/json/abc-supply-plan-11.4.0.json +++ b/src/schemas/json/abc-supply-plan-11.4.0.json @@ -214,7 +214,6 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", @@ -225,12 +224,27 @@ } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used" + "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "regionID": { "type": "string", @@ -920,12 +934,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ diff --git a/src/schemas/json/abc-supply-plan-12.0.0.json b/src/schemas/json/abc-supply-plan-12.0.0.json index 00069e7945e..26700634115 100644 --- a/src/schemas/json/abc-supply-plan-12.0.0.json +++ b/src/schemas/json/abc-supply-plan-12.0.0.json @@ -214,7 +214,6 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", @@ -225,12 +224,27 @@ } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used" + "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "regionID": { "type": "string", @@ -925,12 +939,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ diff --git a/src/schemas/json/abc-supply-plan-13.0.0.json b/src/schemas/json/abc-supply-plan-13.0.0.json index ac6a70e97b8..3d0225f8819 100644 --- a/src/schemas/json/abc-supply-plan-13.0.0.json +++ b/src/schemas/json/abc-supply-plan-13.0.0.json @@ -214,7 +214,6 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", @@ -225,12 +224,27 @@ } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used" + "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "regionID": { "type": "string", @@ -925,12 +939,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -1194,29 +1222,64 @@ "description": "The region ID within the source Clinical Demand Forecast." }, "armID": { - "type": ["string", "null"], "title": "Arm ID", - "description": "The treatment arm ID. Null includes all arms." + "description": "The treatment arm ID. Null includes all arms.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "itemID": { - "type": ["string", "null"], "title": "Item ID", - "description": "The kit item ID. Null includes all items." + "description": "The kit item ID. Null includes all items.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "isPlacebo": { - "type": ["boolean", "null"], "title": "Is Placebo", - "description": "Whether this demand is for placebo kits. Null or false for commercial demand." + "description": "Whether this demand is for placebo kits. Null or false for commercial demand.", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "includeDemand": { - "type": ["boolean", "null"], "title": "Include Demand", - "description": "Whether kit demand (treatment-driven) is included." + "description": "Whether kit demand (treatment-driven) is included.", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "includeSiteSeeding": { - "type": ["boolean", "null"], "title": "Include Site Seeding", - "description": "Whether site seeding demand is included." + "description": "Whether site seeding demand is included.", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] } }, "required": ["planType", "planID", "kitID", "regionID"], diff --git a/src/schemas/json/abc-supply-plan-14.0.0.json b/src/schemas/json/abc-supply-plan-14.0.0.json index f1e2fffa324..b3b44432c9a 100644 --- a/src/schemas/json/abc-supply-plan-14.0.0.json +++ b/src/schemas/json/abc-supply-plan-14.0.0.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://json.schemastore.org/abc-supply-plan-14.0.0.json", - "$comment": "AUTO-GENERATED by scripts/src/assemble-schemas.ts \u2014 DO NOT EDIT BY HAND", + "$comment": "AUTO-GENERATED by scripts/src/assemble-schemas.ts — DO NOT EDIT BY HAND", "title": "ABCSupplyPlan JSON Schema", "description": "Schema defining the structure of ABCSupplyPlan used for managing plan data in ABC-Plan's MasterPlanner.", "properties": { @@ -26,7 +26,7 @@ "description": "Notes or comments about the plan in a specified format. Since there is no JSON Schema for draft-js, the underlying component for mui-rte, format abc-draft-js_RawDraftContentState is enforced by calling https://draftjs.org/docs/api-reference-data-conversion/#convertfromraw. see also: https://github.com/facebookarchive/draft-js/issues/2071 and https://github.com/facebookarchive/draft-js/issues/1544" }, "analytics": { - "$comment": "SINGLE SOURCE OF TRUTH for analytics configuration. Used by scripts/assemble-schemas.js to replace __ABC_JSON_SCHEMA_PLACEHOLDER_ANALYTICS__ in each template. DO NOT reference this file directly \u2014 it is inlined into parent schemas at build time.", + "$comment": "SINGLE SOURCE OF TRUTH for analytics configuration. Used by scripts/assemble-schemas.js to replace __ABC_JSON_SCHEMA_PLACEHOLDER_ANALYTICS__ in each template. DO NOT reference this file directly — it is inlined into parent schemas at build time.", "type": "object", "properties": { "items": { @@ -297,7 +297,7 @@ "targetMFCs": { "$ref": "#/definitions/ABCTargetMFCs", "title": "Target MFC", - "description": "Target Months Forward Coverage refers to a dynamic safety stock level\u2014a buffer quantity of inventory designed to mitigate the risk of stock-outs caused by variability in Demand. In essence, it represents the number of months of Demand that could be satisfied assuming no additional material is manufactured. Each value is defined for a specific period of time." + "description": "Target Months Forward Coverage refers to a dynamic safety stock level—a buffer quantity of inventory designed to mitigate the risk of stock-outs caused by variability in Demand. In essence, it represents the number of months of Demand that could be satisfied assuming no additional material is manufactured. Each value is defined for a specific period of time." }, "minimumInventories": { "$ref": "#/definitions/ABCMinimumInventories", @@ -396,12 +396,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -665,29 +679,64 @@ "description": "The region ID within the source Clinical Demand Forecast." }, "armID": { - "type": ["string", "null"], "title": "Arm ID", - "description": "The treatment arm ID. Null includes all arms." + "description": "The treatment arm ID. Null includes all arms.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "itemID": { - "type": ["string", "null"], "title": "Item ID", - "description": "The kit item ID. Null includes all items." + "description": "The kit item ID. Null includes all items.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "isPlacebo": { - "type": ["boolean", "null"], "title": "Is Placebo", - "description": "Whether this demand is for placebo kits. Null or false for commercial demand." + "description": "Whether this demand is for placebo kits. Null or false for commercial demand.", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "includeDemand": { - "type": ["boolean", "null"], "title": "Include Demand", - "description": "Whether kit demand (treatment-driven) is included." + "description": "Whether kit demand (treatment-driven) is included.", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "includeSiteSeeding": { - "type": ["boolean", "null"], "title": "Include Site Seeding", - "description": "Whether site seeding demand is included." + "description": "Whether site seeding demand is included.", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -1254,7 +1303,6 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", @@ -1265,37 +1313,87 @@ } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric. Null means quantity-display selection does not apply to this metric type." + "description": "How to display the quantities for this metric. Null means quantity-display selection does not apply to this metric type.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "ID of the comparison plan to overlay against this metric. Null means no comparison plan is attached." + "description": "ID of the comparison plan to overlay against this metric. Null means no comparison plan is attached.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "regionID": { - "type": ["string", "null"], "title": "Region ID", - "description": "Region filter for Clinical Demand Forecast metrics. Null means no region filter (Global)." + "description": "Region filter for Clinical Demand Forecast metrics. Null means no region filter (Global).", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "armID": { - "type": ["string", "null"], "title": "Arm ID", - "description": "Treatment-arm filter for Clinical Demand Forecast metrics. Null means no arm filter (Overall)." + "description": "Treatment-arm filter for Clinical Demand Forecast metrics. Null means no arm filter (Overall).", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "kitID": { - "type": ["string", "null"], "title": "Kit ID", - "description": "Kit filter for Clinical Demand Forecast metrics. Null means no kit filter (All kits)." + "description": "Kit filter for Clinical Demand Forecast metrics. Null means no kit filter (All kits).", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "itemID": { - "type": ["string", "null"], "title": "Item ID", - "description": "Kit-item filter for Clinical Demand Forecast metrics. Null means no item filter (All items)." + "description": "Kit-item filter for Clinical Demand Forecast metrics. Null means no item filter (All items).", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "isCumulative": { - "type": ["boolean", "null"], "title": "Is Cumulative", - "description": "Whether to display cumulative values for this metric. Null is treated as false (the cumulative toggle has not been set)." + "description": "Whether to display cumulative values for this metric. Null is treated as false (the cumulative toggle has not been set).", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -1483,9 +1581,16 @@ "description": "Hex color string for the note's background." }, "imageUrl": { - "type": ["string", "null"], "title": "Image URL", - "description": "URL of an image to display in the note. Null means no image is set." + "description": "URL of an image to display in the note. Null means no image is set.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "text": { "type": "object", @@ -1613,8 +1718,15 @@ "additionalProperties": false }, "planId": { - "type": ["string", "null"], - "description": "Optional plan ID for comparison" + "description": "Optional plan ID for comparison", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ diff --git a/src/schemas/json/abc-supply-plan-4.0.0.json b/src/schemas/json/abc-supply-plan-4.0.0.json index 8167fd75314..fecb01e0a17 100644 --- a/src/schemas/json/abc-supply-plan-4.0.0.json +++ b/src/schemas/json/abc-supply-plan-4.0.0.json @@ -270,12 +270,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ diff --git a/src/schemas/json/abc-supply-plan-5.0.0.json b/src/schemas/json/abc-supply-plan-5.0.0.json index 74a7ecc7b12..28d6ab1295a 100644 --- a/src/schemas/json/abc-supply-plan-5.0.0.json +++ b/src/schemas/json/abc-supply-plan-5.0.0.json @@ -270,12 +270,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ diff --git a/src/schemas/json/abc-supply-plan-6.0.0.json b/src/schemas/json/abc-supply-plan-6.0.0.json index 349790dddf4..d701f38677c 100644 --- a/src/schemas/json/abc-supply-plan-6.0.0.json +++ b/src/schemas/json/abc-supply-plan-6.0.0.json @@ -268,12 +268,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ diff --git a/src/schemas/json/abc-supply-plan-7.0.0.json b/src/schemas/json/abc-supply-plan-7.0.0.json index 91ab4592259..604c5505fe8 100644 --- a/src/schemas/json/abc-supply-plan-7.0.0.json +++ b/src/schemas/json/abc-supply-plan-7.0.0.json @@ -191,16 +191,25 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", "enum": ["Units", "Lots", "Cost"] }, - { "type": "null" } + { + "type": "null" + } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -599,12 +608,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ diff --git a/src/schemas/json/abc-supply-plan-8.0.0.json b/src/schemas/json/abc-supply-plan-8.0.0.json index 9be82df93b9..c0889767fde 100644 --- a/src/schemas/json/abc-supply-plan-8.0.0.json +++ b/src/schemas/json/abc-supply-plan-8.0.0.json @@ -191,16 +191,25 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", "enum": ["Units", "Lots", "Monetary"] }, - { "type": "null" } + { + "type": "null" + } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -217,36 +226,48 @@ { "if": { "properties": { - "metricType": { "const": "mfc" } + "metricType": { + "const": "mfc" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "otherDemand" } + "metricType": { + "const": "otherDemand" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "moh" } + "metricType": { + "const": "moh" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, @@ -260,14 +281,18 @@ }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "demand" } + "metricType": { + "const": "demand" + } } }, "then": { @@ -281,7 +306,9 @@ { "if": { "properties": { - "metricType": { "const": "actuals" } + "metricType": { + "const": "actuals" + } } }, "then": { @@ -295,7 +322,9 @@ { "if": { "properties": { - "metricType": { "const": "firmRelease" } + "metricType": { + "const": "firmRelease" + } } }, "then": { @@ -721,12 +750,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -773,7 +816,9 @@ { "if": { "properties": { - "timeDependentPlanningParameters": { "const": false } + "timeDependentPlanningParameters": { + "const": false + } } }, "then": { @@ -809,7 +854,9 @@ { "if": { "properties": { - "timeDependentPlanningParameters": { "const": true } + "timeDependentPlanningParameters": { + "const": true + } } }, "then": { diff --git a/src/schemas/json/abc-supply-plan-9.0.0.json b/src/schemas/json/abc-supply-plan-9.0.0.json index 9d4b5fbf6ee..041ec6129aa 100644 --- a/src/schemas/json/abc-supply-plan-9.0.0.json +++ b/src/schemas/json/abc-supply-plan-9.0.0.json @@ -194,21 +194,37 @@ "type": "string" }, "showQuantitiesAs": { - "type": ["string", "null"], "oneOf": [ { "type": "string", "enum": ["Units", "Lots", "Monetary"] }, - { "type": "null" } + { + "type": "null" + } ], "title": "Show Quantities As", - "description": "How to display the quantities for this metric" + "description": "How to display the quantities for this metric", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "comparisonPlanID": { - "type": ["string", "null"], "title": "Comparison Plan ID", - "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used" + "description": "The ID of the comparison plan to use for this metric or null if no comparison plan is used", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -226,36 +242,48 @@ { "if": { "properties": { - "metricType": { "const": "mfc" } + "metricType": { + "const": "mfc" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "otherDemand" } + "metricType": { + "const": "otherDemand" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "moh" } + "metricType": { + "const": "moh" + } } }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, @@ -269,14 +297,18 @@ }, "then": { "properties": { - "showQuantitiesAs": { "type": "null" } + "showQuantitiesAs": { + "type": "null" + } } } }, { "if": { "properties": { - "metricType": { "const": "demand" } + "metricType": { + "const": "demand" + } } }, "then": { @@ -290,7 +322,9 @@ { "if": { "properties": { - "metricType": { "const": "actuals" } + "metricType": { + "const": "actuals" + } } }, "then": { @@ -304,7 +338,9 @@ { "if": { "properties": { - "metricType": { "const": "firmRelease" } + "metricType": { + "const": "firmRelease" + } } }, "then": { @@ -731,12 +767,26 @@ "inventorySystemMaterialNumber": { "title": "Material Number in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inventorySystemLocationName": { "title": "Location in the inventory management system", "description": "For pulling inventory from the inventory management system into Initial Inventory and Firm Orders & Releases and filtering it by location", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -783,7 +833,9 @@ { "if": { "properties": { - "timeDependentPlanningParameters": { "const": false } + "timeDependentPlanningParameters": { + "const": false + } } }, "then": { @@ -819,7 +871,9 @@ { "if": { "properties": { - "timeDependentPlanningParameters": { "const": true } + "timeDependentPlanningParameters": { + "const": true + } } }, "then": { diff --git a/src/schemas/json/aio-wasm-graph-config-1.0.0.json b/src/schemas/json/aio-wasm-graph-config-1.0.0.json index 4575177ec9c..d8dc90ad069 100644 --- a/src/schemas/json/aio-wasm-graph-config-1.0.0.json +++ b/src/schemas/json/aio-wasm-graph-config-1.0.0.json @@ -49,10 +49,24 @@ "required": ["name"], "properties": { "default": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "description": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "name": { "type": "string" @@ -86,7 +100,14 @@ "type": "string" }, "value": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "additionalProperties": false @@ -99,10 +120,17 @@ "type": "string" }, "features": { - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/ModuleVersionFeature" - } + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ModuleVersionFeature" + } + }, + { + "type": "null" + } + ] }, "runtimeVersion": { "type": "string" @@ -156,7 +184,14 @@ "type": "string" }, "schemaName": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "additionalProperties": false @@ -189,7 +224,14 @@ "required": ["name", "operationType"], "properties": { "module": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "name": { "type": "string" @@ -208,13 +250,27 @@ "type": "string" }, "description": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "name": { "type": "string" }, "vendor": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "version": { "type": "string" diff --git a/src/schemas/json/aio-wasm-graph-config-1.1.0.json b/src/schemas/json/aio-wasm-graph-config-1.1.0.json index 11ad6d627b1..bbc7a85b0dc 100644 --- a/src/schemas/json/aio-wasm-graph-config-1.1.0.json +++ b/src/schemas/json/aio-wasm-graph-config-1.1.0.json @@ -62,10 +62,24 @@ "required": ["name"], "properties": { "default": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "description": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "name": { "type": "string" @@ -75,7 +89,14 @@ "type": "boolean" }, "schema": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } } }, @@ -102,7 +123,14 @@ "type": "string" }, "value": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "additionalProperties": false @@ -115,10 +143,17 @@ "type": "string" }, "features": { - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/ModuleVersionFeature" - } + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ModuleVersionFeature" + } + }, + { + "type": "null" + } + ] }, "runtimeVersion": { "type": "string" @@ -172,7 +207,14 @@ "type": "string" }, "schemaName": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "additionalProperties": false @@ -208,7 +250,14 @@ "$ref": "#/definitions/Arity" }, "module": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "name": { "type": "string" @@ -227,13 +276,27 @@ "type": "string" }, "description": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "name": { "type": "string" }, "vendor": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "version": { "type": "string" diff --git a/src/schemas/json/aiproj-1.0.json b/src/schemas/json/aiproj-1.0.json index 1b78370e4f4..76c01d09cac 100644 --- a/src/schemas/json/aiproj-1.0.json +++ b/src/schemas/json/aiproj-1.0.json @@ -9,253 +9,348 @@ }, "BlackBoxSettings": { "title": "black box options", - "type": ["object", "null"], "description": "Black box and autocheck options", - "additionalProperties": false, - "properties": { - "AdditionalHttpHeaders": { - "title": "HTTP headers", - "description": "Dictionary of additional HTTP headers", + "anyOf": [ + { "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "Authentication": { - "title": "authentication options", - "oneOf": [ - { + "properties": { + "AdditionalHttpHeaders": { + "title": "HTTP headers", + "description": "Dictionary of additional HTTP headers", "type": "object", - "properties": { - "Type": { - "const": "RawCookie" - }, - "Cookie": { - "type": "object" - } - }, - "required": ["Cookie", "Type"] + "additionalProperties": { + "type": "string" + } }, - { - "type": "object", - "properties": { - "Type": { - "const": "Form" + "Authentication": { + "title": "authentication options", + "oneOf": [ + { + "type": "object", + "properties": { + "Type": { + "const": "RawCookie" + }, + "Cookie": { + "type": "object" + } + }, + "required": ["Cookie", "Type"] }, - "Form": { - "type": "object" - } - }, - "required": ["Form", "Type"] - }, - { - "type": "object", - "properties": { - "Type": { - "const": "Http" + { + "type": "object", + "properties": { + "Type": { + "const": "Form" + }, + "Form": { + "type": "object" + } + }, + "required": ["Form", "Type"] }, - "Http": { - "type": "object" - } - }, - "required": ["Http", "Type"] - }, - { - "type": "object", - "properties": { - "Type": { - "const": "None" - } - }, - "required": ["Type"] - }, - { - "type": "null" - } - ], - "type": ["object", "null"], - "description": "Authentication options", - "additionalProperties": false, - "properties": { - "Cookie": { - "title": "cookie authentication options", - "type": ["object", "null"], - "description": "Cookie authentication options", - "required": ["Cookie", "ValidationAddress", "ValidationTemplate"], - "additionalProperties": false, - "properties": { - "Cookie": { - "description": "Cookie", - "type": "string" + { + "type": "object", + "properties": { + "Type": { + "const": "Http" + }, + "Http": { + "type": "object" + } + }, + "required": ["Http", "Type"] }, - "ValidationAddress": { - "description": "Verification address", - "type": "string" + { + "type": "object", + "properties": { + "Type": { + "const": "None" + } + }, + "required": ["Type"] }, - "ValidationTemplate": { - "description": "String to search for", - "type": "string" + { + "type": "null" } - } - }, - "Form": { - "title": "form authentication options", - "type": ["object", "null"], - "description": "Form-based authentication options", - "required": [ - "FormAddress", - "FormXPath", - "Login", - "LoginKey", - "Password", - "PasswordKey", - "ValidationTemplate" ], - "additionalProperties": false, - "properties": { - "FormAddress": { - "description": "Sign-in form URL", - "type": "string" - }, - "FormXPath": { - "description": "Sign-in form XPath", - "type": "string" + "description": "Authentication options", + "anyOf": [ + { + "type": "object", + "properties": { + "Cookie": { + "title": "cookie authentication options", + "description": "Cookie authentication options", + "anyOf": [ + { + "type": "object", + "properties": { + "Cookie": { + "description": "Cookie", + "type": "string" + }, + "ValidationAddress": { + "description": "Verification address", + "type": "string" + }, + "ValidationTemplate": { + "description": "String to search for", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "Cookie", + "ValidationAddress", + "ValidationTemplate" + ] + }, + { + "type": "null" + } + ] + }, + "Form": { + "title": "form authentication options", + "description": "Form-based authentication options", + "anyOf": [ + { + "type": "object", + "properties": { + "FormAddress": { + "description": "Sign-in form URL", + "type": "string" + }, + "FormXPath": { + "description": "Sign-in form XPath", + "type": "string" + }, + "Login": { + "description": "User", + "type": "string" + }, + "LoginKey": { + "description": "User identifier", + "type": "string" + }, + "Password": { + "description": "Password", + "type": "string" + }, + "PasswordKey": { + "description": "Password identifier", + "type": "string" + }, + "ValidationTemplate": { + "description": "String to search for", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "FormAddress", + "FormXPath", + "Login", + "LoginKey", + "Password", + "PasswordKey", + "ValidationTemplate" + ] + }, + { + "type": "null" + } + ] + }, + "Http": { + "title": "HTTP authentication options", + "description": "HTTP Basic authentication options", + "anyOf": [ + { + "type": "object", + "properties": { + "Login": { + "description": "User", + "type": "string" + }, + "Password": { + "description": "Password", + "type": "string" + }, + "ValidationAddress": { + "description": "Verification address", + "type": "string" + } + }, + "additionalProperties": false, + "required": ["Login", "Password", "ValidationAddress"] + }, + { + "type": "null" + } + ] + }, + "Type": { + "description": "Type of authentication", + "type": "string", + "enum": ["Form", "Http", "RawCookie", "None"] + } + }, + "additionalProperties": false }, - "Login": { - "description": "User", - "type": "string" - }, - "LoginKey": { - "description": "User identifier", - "type": "string" - }, - "Password": { - "description": "Password", - "type": "string" - }, - "PasswordKey": { - "description": "Password identifier", - "type": "string" - }, - "ValidationTemplate": { - "description": "String to search for", - "type": "string" + { + "type": "null" } - } + ] }, - "Http": { - "title": "HTTP authentication options", - "type": ["object", "null"], - "description": "HTTP Basic authentication options", - "required": ["Login", "Password", "ValidationAddress"], - "additionalProperties": false, - "properties": { - "Login": { - "description": "User", - "type": "string" - }, - "Password": { - "description": "Password", - "type": "string" + "Level": { + "description": "Search mode", + "type": "string", + "enum": ["None", "Fast", "Full", "Normal"] + }, + "ProxySettings": { + "title": "proxy options", + "description": "Proxy server settings", + "anyOf": [ + { + "type": "object", + "properties": { + "Enabled": { + "description": "Enabled", + "type": "boolean" + }, + "Host": { + "description": "Address", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "Login": { + "description": "User", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "Password": { + "description": "Password", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "Port": { + "description": "Port", + "type": "integer" + }, + "Type": { + "description": "Type of proxy", + "type": "string", + "enum": ["Http", "Socks4", "Socks5"] + } + }, + "additionalProperties": false }, - "ValidationAddress": { - "description": "Verification address", - "type": "string" + { + "type": "null" } - } + ] }, - "Type": { - "description": "Type of authentication", - "type": "string", - "enum": ["Form", "Http", "RawCookie", "None"] - } - } - }, - "Level": { - "description": "Search mode", - "type": "string", - "enum": ["None", "Fast", "Full", "Normal"] - }, - "ProxySettings": { - "title": "proxy options", - "type": ["object", "null"], - "description": "Proxy server settings", - "additionalProperties": false, - "properties": { - "Enabled": { - "description": "Enabled", + "RunAutocheckAfterScan": { + "description": "Autocheck vulnerabilities after scanning", "type": "boolean" }, - "Host": { - "description": "Address", - "type": ["string", "null"] - }, - "Login": { - "description": "User", - "type": ["string", "null"] - }, - "Password": { - "description": "Password", - "type": ["string", "null"] - }, - "Port": { - "description": "Port", - "type": "integer" - }, - "Type": { - "description": "Type of proxy", + "ScanScope": { + "description": "Scan scope", "type": "string", - "enum": ["Http", "Socks4", "Socks5"] + "enum": ["Domain", "Folder", "Path"] + }, + "Site": { + "description": "Website address", + "type": "string" } - } + }, + "additionalProperties": false }, - "RunAutocheckAfterScan": { - "description": "Autocheck vulnerabilities after scanning", - "type": "boolean" - }, - "ScanScope": { - "description": "Scan scope", - "type": "string", - "enum": ["Domain", "Folder", "Path"] - }, - "Site": { - "description": "Website address", - "type": "string" + { + "type": "null" } - } + ] }, "ComponentsSettings": { "title": "component settings", - "type": ["object", "null"], "description": "Vulnerable components scan options", - "additionalProperties": false, - "properties": { - "UseCustomYaraRules": { - "description": "Use custom yara rules", - "type": "boolean" + "anyOf": [ + { + "type": "object", + "properties": { + "UseCustomYaraRules": { + "description": "Use custom yara rules", + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "null" } - } + ] }, "CustomParameters": { "description": "Custom kernel startup parameters", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "DotNetSettings": { "title": ".NET options", - "type": ["object", "null"], "description": ".NET scan options", - "additionalProperties": false, - "properties": { - "ProjectType": { - "description": "Type of application", - "type": "string", - "enum": ["None", "Solution", "WebSite"] + "anyOf": [ + { + "type": "object", + "properties": { + "ProjectType": { + "description": "Type of application", + "type": "string", + "enum": ["None", "Solution", "WebSite"] + }, + "SolutionFile": { + "description": "Path to a solution or project", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false }, - "SolutionFile": { - "description": "Path to a solution or project", - "type": ["string", "null"] + { + "type": "null" } - } + ] }, "DownloadDependencies": { "description": "Download dependencies", @@ -263,28 +358,49 @@ }, "JavaSettings": { "title": "Java options", - "type": ["object", "null"], "description": "Java scan options", - "additionalProperties": false, - "properties": { - "Parameters": { - "description": "JVM start options", - "type": ["string", "null"] - }, - "UnpackUserPackages": { - "description": "Unpack custom JAR files", - "type": "boolean" - }, - "UserPackagePrefixes": { - "description": "Prefixes of custom packages", - "type": ["string", "null"] + "anyOf": [ + { + "type": "object", + "properties": { + "Parameters": { + "description": "JVM start options", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "UnpackUserPackages": { + "description": "Unpack custom JAR files", + "type": "boolean" + }, + "UserPackagePrefixes": { + "description": "Prefixes of custom packages", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "Version": { + "description": "JDK version", + "type": "string", + "enum": ["v1_8", "v1_11"] + } + }, + "additionalProperties": false }, - "Version": { - "description": "JDK version", - "type": "string", - "enum": ["v1_8", "v1_11"] + { + "type": "null" } - } + ] }, "ProgrammingLanguage": { "description": "Active scanning language", diff --git a/src/schemas/json/base-04.json b/src/schemas/json/base-04.json index 9603f259e40..652a5de117c 100644 --- a/src/schemas/json/base-04.json +++ b/src/schemas/json/base-04.json @@ -3,27 +3,69 @@ "definitions": { "nullable-array": { "id": "nullable-array", - "type": ["array", "null"] + "anyOf": [ + { + "type": "array" + }, + { + "type": "null" + } + ] }, "nullable-boolean": { "id": "nullable-boolean", - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "nullable-integer": { "id": "nullable-integer", - "type": ["integer", "null"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] }, "nullable-number": { "id": "nullable-number", - "type": ["number", "null"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] }, "nullable-object": { "id": "nullable-object", - "type": ["object", "null"] + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ] }, "nullable-string": { "id": "nullable-string", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "path": { "id": "path", diff --git a/src/schemas/json/base.json b/src/schemas/json/base.json index 99a02c2cb8c..03ed12b6dca 100644 --- a/src/schemas/json/base.json +++ b/src/schemas/json/base.json @@ -3,22 +3,64 @@ "$id": "https://json.schemastore.org/base.json", "definitions": { "nullable-array": { - "type": ["array", "null"] + "anyOf": [ + { + "type": "array" + }, + { + "type": "null" + } + ] }, "nullable-boolean": { - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "nullable-integer": { - "type": ["integer", "null"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] }, "nullable-number": { - "type": ["number", "null"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] }, "nullable-object": { - "type": ["object", "null"] + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ] }, "nullable-string": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "path": { "type": "string", diff --git a/src/schemas/json/cargo-mutants-config.json b/src/schemas/json/cargo-mutants-config.json index 8938e1e686f..340ea28e604 100644 --- a/src/schemas/json/cargo-mutants-config.json +++ b/src/schemas/json/cargo-mutants-config.json @@ -25,8 +25,15 @@ "build_timeout_multiplier": { "description": "Build timeout multiplier, relative to the baseline 'cargo build'.", "default": null, - "type": ["number", "null"], - "format": "double" + "anyOf": [ + { + "type": "number", + "format": "double" + }, + { + "type": "null" + } + ] }, "cap_lints": { "description": "Pass `--cap-lints` to rustc.", @@ -36,7 +43,14 @@ "copy_vcs": { "description": "Copy `.git` and other VCS directories to the build directory.", "default": null, - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "error_values": { "description": "Generate these error values from functions returning Result.", @@ -81,18 +95,39 @@ "minimum_test_timeout": { "description": "Minimum test timeout, in seconds, as a floor on the autoset value.", "default": null, - "type": ["number", "null"], - "format": "double" + "anyOf": [ + { + "type": "number", + "format": "double" + }, + { + "type": "null" + } + ] }, "output": { "description": "Output directory.", "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "profile": { "description": "Cargo profile.", "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "skip_calls": { "description": "Skip calls to functions or methods with these names.\n\nThis is combined with values from the --skip-calls argument.", @@ -105,7 +140,14 @@ "skip_calls_defaults": { "description": "Use built-in defaults for `skip_calls` in addition to any explicit values.", "default": null, - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "test_package": { "description": "Run tests from these packages for all mutants.", @@ -129,13 +171,27 @@ "test_workspace": { "description": "Run tests from all packages in the workspace, not just the mutated package.\n\nOverrides `test_package`.", "default": null, - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "timeout_multiplier": { "description": "Timeout multiplier, relative to the baseline 'cargo test'.", "default": null, - "type": ["number", "null"], - "format": "double" + "anyOf": [ + { + "type": "number", + "format": "double" + }, + { + "type": "null" + } + ] } }, "definitions": { diff --git a/src/schemas/json/cfgd-configsource-0.10.0.json b/src/schemas/json/cfgd-configsource-0.10.0.json index 2bd692c2e89..c60ab4ccf22 100644 --- a/src/schemas/json/cfgd-configsource-0.10.0.json +++ b/src/schemas/json/cfgd-configsource-0.10.0.json @@ -10,7 +10,14 @@ "file": { "default": null, "description": "Path to a package-list file to install from, one name per line.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "packages": { "default": [], @@ -38,7 +45,14 @@ "file": { "default": null, "description": "Path to a Brewfile to apply instead of (or alongside) `taps`,\n`formulae` and `casks`.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "formulae": { "default": [], @@ -65,7 +79,14 @@ "properties": { "file": { "description": "Path to a `Cargo.toml` whose binaries to install instead of `packages`.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "packages": { "default": [], @@ -85,7 +106,14 @@ "description": { "default": null, "description": "A one-line human summary of what this source provides.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "name": { "description": "The source's published name, as its maintainer spells it. Shown wherever\nthe manifest is displayed (`cfgd source show`, the summary a subscriber\napproves before trusting the source) and carried in `-o json` output.\nRequired. A subscriber registers the source under a local name of their\nown choosing, so this value identifies the source to a reader rather\nthan keying anything cfgd stores.", @@ -94,7 +122,14 @@ "version": { "default": null, "description": "The source manifest's own version, shown to subscribers.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["name"], @@ -181,7 +216,14 @@ "description": { "default": null, "description": "A one-line human summary of the profile.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inherits": { "default": [], @@ -198,7 +240,14 @@ "path": { "default": null, "description": "Path to the profile's manifest within the source repository, if not at\nthe conventional location.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["name"], @@ -348,7 +397,14 @@ "update": { "default": null, "description": "Command to refresh the manager's own package index/cache before installs.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["name", "check", "listInstalled", "install", "uninstall"], @@ -360,7 +416,14 @@ "properties": { "backend": { "description": "If set, restrict which backend is acceptable.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "mode": { "anyOf": [ @@ -483,7 +546,14 @@ "remote": { "default": null, "description": "Remote to install from (e.g. `flathub`). Falls back to Flatpak's\nconfigured default remote when omitted.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "type": "object" @@ -516,7 +586,14 @@ }, "permissions": { "description": "Unix permission bits (e.g. \"600\", \"644\") to apply after deployment.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "private": { "description": "When true, the source file is local-only: auto-added to .gitignore,\nsilently skipped on machines where it doesn't exist.", @@ -553,7 +630,14 @@ "file": { "default": null, "description": "Path to a `package.json` to install dependencies from.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "global": { "default": [], @@ -983,7 +1067,14 @@ }, "script": { "description": "A script path or an inline command that receives the target's current\ncontent on stdin and writes the new content to stdout. A relative path\nresolves against the module directory for a module file\n(`spec.files[]`) and against the config directory for a profile file\n(`spec.files.managed[]`); a value that resolves to no file is run as an\ninline command. Mutually exclusive with `ensure`.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "type": "object" @@ -1067,14 +1158,28 @@ "properties": { "backend": { "description": "Secret backend name to resolve `source` with. Falls back to\n`spec.secrets.backend` from `cfgd.yaml` when omitted.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "envs": { "description": "Environment variable names to export the decrypted value under. May be\ncombined with `target`.", - "items": { - "type": "string" - }, - "type": ["array", "null"] + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ] }, "source": { "description": "Backend-specific reference to the secret (a 1Password `op://` URI, a\nVault path, a sops-encrypted file key, …).", @@ -1082,11 +1187,25 @@ }, "target": { "description": "File path to write the decrypted secret to. May be combined with `envs`.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "template": { "description": "Template rendered around the resolved value before it is written to\n`target` or exported under `envs`: every `${secret:value}` in it is\nreplaced by the value (`template: \"token: ${secret:value}\"`). Only a\nprovider reference (`op://`, `vault://`, …) resolves to a single value,\nso `template` is rejected on a sops-encrypted file source.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["source"], diff --git a/src/schemas/json/cfgd-configsource-0.5.0.json b/src/schemas/json/cfgd-configsource-0.5.0.json index 0d167c3a601..0e719ccdb0f 100644 --- a/src/schemas/json/cfgd-configsource-0.5.0.json +++ b/src/schemas/json/cfgd-configsource-0.5.0.json @@ -8,7 +8,14 @@ "properties": { "file": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "packages": { "default": [], @@ -32,7 +39,14 @@ }, "file": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "formulae": { "default": [], @@ -56,7 +70,14 @@ "description": "Cargo package spec. Supports both list form (`cargo: [bat, ripgrep]`)\nand object form (`cargo: { file: Cargo.toml, packages: [...] }`) via the\nshared `list_or_struct` deserializer on the `PackagesSpec::cargo` field.", "properties": { "file": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "packages": { "default": [], @@ -73,14 +94,28 @@ "properties": { "description": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "name": { "type": "string" }, "version": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["name"], @@ -160,7 +195,14 @@ "properties": { "description": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "inherits": { "default": [], @@ -174,7 +216,14 @@ }, "path": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["name"], @@ -308,7 +357,14 @@ }, "update": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["name", "check", "listInstalled", "install", "uninstall"], @@ -320,7 +376,14 @@ "properties": { "backend": { "description": "If set, restrict which backend is acceptable.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "mode": { "anyOf": [ @@ -425,7 +488,14 @@ }, "remote": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "type": "object" @@ -446,7 +516,14 @@ }, "permissions": { "description": "Unix permission bits (e.g. \"600\", \"644\") to apply after deployment.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "private": { "description": "When true, the source file is local-only: auto-added to .gitignore,\nsilently skipped on machines where it doesn't exist.", @@ -478,7 +555,14 @@ "properties": { "file": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "global": { "default": [], @@ -721,22 +805,50 @@ "additionalProperties": false, "properties": { "backend": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "envs": { - "items": { - "type": "string" - }, - "type": ["array", "null"] + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ] }, "source": { "type": "string" }, "target": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "template": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["source"], diff --git a/src/schemas/json/cfgd-module-0.10.0.json b/src/schemas/json/cfgd-module-0.10.0.json index b0458d2e333..c29ef105948 100644 --- a/src/schemas/json/cfgd-module-0.10.0.json +++ b/src/schemas/json/cfgd-module-0.10.0.json @@ -114,7 +114,14 @@ }, "permissions": { "description": "Unix permission bits (e.g. \"600\", \"644\") to apply after deployment.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "private": { "description": "When true, the source file is local-only: auto-added to .gitignore,\nsilently skipped on machines where it doesn't exist.", @@ -150,7 +157,14 @@ "properties": { "description": { "description": "A one-line human summary shown in `cfgd module list` / `cfgd module show`.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "name": { "description": "The module's name, referenced from a profile's `modules:` list.", @@ -158,8 +172,15 @@ }, "version": { "description": "The module's own release version, as `MAJOR.MINOR.PATCH` with optional\npre-release and build metadata (`1.2.0`, `2.0.0-rc.1`). It names the\n`/v` release tag that the workflow from\n`cfgd workflow generate` cuts when the module changes, so bumping it is\nwhat publishes a new release. Absent on modules that are not released\nindependently.", - "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string", + "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$" + }, + { + "type": "null" + } + ] } }, "required": ["name"], @@ -178,7 +199,14 @@ }, "creates": { "description": "Skip the install script if this path already exists. A leading `~`\nexpands to the home directory; a relative path resolves against the\nscript's working directory. Existence follows symlinks. Only meaningful\nfor a `prefer: [script]` install; ignored otherwise.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "deny": { "description": "Package managers to never use for this package, even if otherwise\navailable and preferred by the profile.", @@ -189,7 +217,14 @@ }, "minVersion": { "description": "Minimum acceptable installed version, loosely parsed (`\"1.2\"`, `\"1\"`).\nA version below this is treated as not satisfying the module.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "name": { "default": "", @@ -198,7 +233,14 @@ }, "onlyIf": { "description": "Run the install script only if this command exits zero. A non-zero exit\nskips the install (the condition for installing was not met). Only\nmeaningful for a `prefer: [script]` install; ignored for manager-backed\ninstalls (those are idempotent via the manager's installed-package query).", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "platforms": { "description": "Platform tags gating this package alone. Empty means install on every\nplatform the module itself is not already gated off of.", @@ -216,11 +258,25 @@ }, "script": { "description": "Shell script to run instead of a manager install, selected via\n`prefer: [script]`.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "unless": { "description": "Run the install script only if this command exits NON-zero. A zero exit\n(success) skips the install (the package already appears present). Only\nmeaningful for a `prefer: [script]` install; ignored otherwise.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "type": "object" @@ -335,7 +391,14 @@ }, "script": { "description": "A script path or an inline command that receives the target's current\ncontent on stdin and writes the new content to stdout. A relative path\nresolves against the module directory for a module file\n(`spec.files[]`) and against the config directory for a profile file\n(`spec.files.managed[]`); a value that resolves to no file is run as an\ninline command. Mutually exclusive with `ensure`.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "type": "object" @@ -345,15 +408,36 @@ "properties": { "continueOnError": { "description": "Treat a non-zero exit as success and continue reconciliation instead\nof failing the run. Default: `false`.", - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "creates": { "description": "Skip the script if this path already exists. A leading `~` expands to\nthe home directory; a relative path resolves against the script's\nworking directory. Existence follows symlinks.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "idleTimeout": { "description": "Kill the script if it produces no stdout/stderr output for this duration.\nPrevents scripts from silently hanging on unresponsive resources.\nFormat: \"30s\", \"2m\", etc. If unset, no idle timeout is enforced.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "interactive": { "description": "Run the script attached to the terminal (inherited stdin/stdout/stderr,\nno spinner, no output capture, no idle timeout) so it can prompt the\nuser — e.g. `echo \"press Enter when done\"; read`. Requires a TTY: when\nstdin is not a terminal (CI, piped input, or any daemon-run phase) the\nscript is skipped with a warning rather than hanging on instant EOF.", @@ -361,7 +445,14 @@ }, "onlyIf": { "description": "Run the script only if this command exits zero. A non-zero exit skips\nthe script (the condition for running was not met). Evaluated with the\nsame shell, working directory, and environment as the body.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "run": { "description": "The command or script body to run.", @@ -373,15 +464,36 @@ }, "timeout": { "description": "Kill the script if it runs longer than this duration (`\"30s\"`, `\"2m\"`).\nUnset means no timeout.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "unless": { "description": "Run the script only if this command exits NON-zero. A zero exit\n(success) skips the script (the guarded state already holds).\nEvaluated with the same shell, working directory, and environment as\nthe body.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "workdir": { "description": "Working directory for the script. By default every lifecycle script\nruns in the user's home directory — never the config source tree — so\na relative write can't pollute the user's GitOps repo. Set `workdir`\nto override: a leading `~` expands to home and `$VAR`/`${VAR}` expand\nagainst the script environment (which always carries `$CFGD_MODULE_DIR`\nand `$CFGD_CONFIG_DIR`), so `workdir: ~/.local/share/app`,\n`workdir: $CFGD_MODULE_DIR`, or an absolute path all work.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["run"], diff --git a/src/schemas/json/cfgd-module-0.5.0.json b/src/schemas/json/cfgd-module-0.5.0.json index 17b23b1e822..e2f2669b246 100644 --- a/src/schemas/json/cfgd-module-0.5.0.json +++ b/src/schemas/json/cfgd-module-0.5.0.json @@ -87,7 +87,14 @@ }, "permissions": { "description": "Unix permission bits (e.g. \"600\", \"644\") to apply after deployment.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "private": { "description": "When true, the source file is local-only: auto-added to .gitignore,\nsilently skipped on machines where it doesn't exist.", @@ -118,7 +125,14 @@ "additionalProperties": false, "properties": { "description": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "name": { "type": "string" @@ -138,7 +152,14 @@ }, "creates": { "description": "Skip the install script if this path already exists. A leading `~`\nexpands to the home directory; a relative path resolves against the\nscript's working directory. Existence follows symlinks. Only meaningful\nfor a `prefer: [script]` install; ignored otherwise.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "deny": { "items": { @@ -147,7 +168,14 @@ "type": "array" }, "minVersion": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "name": { "default": "", @@ -155,7 +183,14 @@ }, "onlyIf": { "description": "Run the install script only if this command exits zero. A non-zero exit\nskips the install (the condition for installing was not met). Only\nmeaningful for a `prefer: [script]` install; ignored for manager-backed\ninstalls (those are idempotent via the manager's installed-package query).", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "platforms": { "items": { @@ -170,11 +205,25 @@ "type": "array" }, "script": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "unless": { "description": "Run the install script only if this command exits NON-zero. A zero exit\n(success) skips the install (the package already appears present). Only\nmeaningful for a `prefer: [script]` install; ignored otherwise.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "type": "object" @@ -245,15 +294,36 @@ { "properties": { "continueOnError": { - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "creates": { "description": "Skip the script if this path already exists. A leading `~` expands to\nthe home directory; a relative path resolves against the script's\nworking directory. Existence follows symlinks.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "idleTimeout": { "description": "Kill the script if it produces no stdout/stderr output for this duration.\nPrevents scripts from silently hanging on unresponsive resources.\nFormat: \"30s\", \"2m\", etc. If unset, no idle timeout is enforced.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "interactive": { "description": "Run the script attached to the terminal (inherited stdin/stdout/stderr,\nno spinner, no output capture, no idle timeout) so it can prompt the\nuser — e.g. `echo \"press Enter when done\"; read`. Requires a TTY: when\nstdin is not a terminal (CI, piped input, or any daemon-run phase) the\nscript is skipped with a warning rather than hanging on instant EOF.", @@ -261,7 +331,14 @@ }, "onlyIf": { "description": "Run the script only if this command exits zero. A non-zero exit skips\nthe script (the condition for running was not met). Evaluated with the\nsame shell, working directory, and environment as the body.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "run": { "type": "string" @@ -271,15 +348,36 @@ "description": "Interpreter to use for inline commands. Ignored (and rejected) on file scripts." }, "timeout": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "unless": { "description": "Run the script only if this command exits NON-zero. A zero exit\n(success) skips the script (the guarded state already holds).\nEvaluated with the same shell, working directory, and environment as\nthe body.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "workdir": { "description": "Working directory for the script. By default every lifecycle script\nruns in the user's home directory — never the config source tree — so\na relative write can't pollute the user's GitOps repo. Set `workdir`\nto override: a leading `~` expands to home and `$VAR`/`${VAR}` expand\nagainst the script environment (which always carries `$CFGD_MODULE_DIR`\nand `$CFGD_CONFIG_DIR`), so `workdir: ~/.local/share/app`,\n`workdir: $CFGD_MODULE_DIR`, or an absolute path all work.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["run"], diff --git a/src/schemas/json/cfgd-profile-0.5.0.json b/src/schemas/json/cfgd-profile-0.5.0.json index f4c4608b8b8..fafc3da0491 100644 --- a/src/schemas/json/cfgd-profile-0.5.0.json +++ b/src/schemas/json/cfgd-profile-0.5.0.json @@ -8,7 +8,14 @@ "properties": { "file": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "packages": { "default": [], @@ -32,7 +39,14 @@ }, "file": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "formulae": { "default": [], @@ -56,7 +70,14 @@ "description": "Cargo package spec. Supports both list form (`cargo: [bat, ripgrep]`)\nand object form (`cargo: { file: Cargo.toml, packages: [...] }`) via the\nshared `list_or_struct` deserializer on the `PackagesSpec::cargo` field.", "properties": { "file": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "packages": { "default": [], @@ -95,7 +116,14 @@ }, "update": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["name", "check", "listInstalled", "install", "uninstall"], @@ -222,7 +250,14 @@ }, "remote": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "type": "object" @@ -243,7 +278,14 @@ }, "permissions": { "description": "Unix permission bits (e.g. \"600\", \"644\") to apply after deployment.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "private": { "description": "When true, the source file is local-only: auto-added to .gitignore,\nsilently skipped on machines where it doesn't exist.", @@ -275,7 +317,14 @@ "properties": { "file": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "global": { "default": [], @@ -558,15 +607,36 @@ { "properties": { "continueOnError": { - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "creates": { "description": "Skip the script if this path already exists. A leading `~` expands to\nthe home directory; a relative path resolves against the script's\nworking directory. Existence follows symlinks.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "idleTimeout": { "description": "Kill the script if it produces no stdout/stderr output for this duration.\nPrevents scripts from silently hanging on unresponsive resources.\nFormat: \"30s\", \"2m\", etc. If unset, no idle timeout is enforced.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "interactive": { "description": "Run the script attached to the terminal (inherited stdin/stdout/stderr,\nno spinner, no output capture, no idle timeout) so it can prompt the\nuser — e.g. `echo \"press Enter when done\"; read`. Requires a TTY: when\nstdin is not a terminal (CI, piped input, or any daemon-run phase) the\nscript is skipped with a warning rather than hanging on instant EOF.", @@ -574,7 +644,14 @@ }, "onlyIf": { "description": "Run the script only if this command exits zero. A non-zero exit skips\nthe script (the condition for running was not met). Evaluated with the\nsame shell, working directory, and environment as the body.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "run": { "type": "string" @@ -584,15 +661,36 @@ "description": "Interpreter to use for inline commands. Ignored (and rejected) on file scripts." }, "timeout": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "unless": { "description": "Run the script only if this command exits NON-zero. A zero exit\n(success) skips the script (the guarded state already holds).\nEvaluated with the same shell, working directory, and environment as\nthe body.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "workdir": { "description": "Working directory for the script. By default every lifecycle script\nruns in the user's home directory — never the config source tree — so\na relative write can't pollute the user's GitOps repo. Set `workdir`\nto override: a leading `~` expands to home and `$VAR`/`${VAR}` expand\nagainst the script environment (which always carries `$CFGD_MODULE_DIR`\nand `$CFGD_CONFIG_DIR`), so `workdir: ~/.local/share/app`,\n`workdir: $CFGD_MODULE_DIR`, or an absolute path all work.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["run"], @@ -666,22 +764,50 @@ "additionalProperties": false, "properties": { "backend": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "envs": { - "items": { - "type": "string" - }, - "type": ["array", "null"] + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ] }, "source": { "type": "string" }, "target": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "template": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["source"], diff --git a/src/schemas/json/changepacks.json b/src/schemas/json/changepacks.json index 0c823ad89ed..53f824a5530 100644 --- a/src/schemas/json/changepacks.json +++ b/src/schemas/json/changepacks.json @@ -15,7 +15,14 @@ }, "latestPackage": { "default": null, - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "publish": { "additionalProperties": { diff --git a/src/schemas/json/devup.json b/src/schemas/json/devup.json index de16bb4e1b5..f49426220f5 100644 --- a/src/schemas/json/devup.json +++ b/src/schemas/json/devup.json @@ -245,10 +245,24 @@ "type": "object", "properties": { "fontFamily": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "fontSize": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "fontWeight": { "default": null, @@ -265,7 +279,14 @@ ] }, "letterSpacing": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "lineHeight": { "default": null, diff --git a/src/schemas/json/docker-bake.json b/src/schemas/json/docker-bake.json index 7aa0b2b8eeb..9cdc4958c79 100644 --- a/src/schemas/json/docker-bake.json +++ b/src/schemas/json/docker-bake.json @@ -33,7 +33,14 @@ "type": "object", "properties": { "default": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "additionalProperties": false @@ -98,7 +105,14 @@ "description": "Use the args attribute to define build arguments for the target. This has the same effect as passing a --build-arg flag to the build command.\nYou can set args attributes to use null values. Doing so forces the target to use the ARG value specified in the Dockerfile.", "type": "object", "additionalProperties": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "annotations": { @@ -168,7 +182,14 @@ "description": "Assigns image labels to the build. This is the same as the --label flag for docker build.\nt's possible to use a null value for labels. If you do, the builder uses the label value specified in the Dockerfile.", "type": "object", "additionalProperties": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "matrix": { diff --git a/src/schemas/json/dotnet-tools.json b/src/schemas/json/dotnet-tools.json index 6ec1cdd1d07..519e0efb206 100644 --- a/src/schemas/json/dotnet-tools.json +++ b/src/schemas/json/dotnet-tools.json @@ -29,19 +29,40 @@ "additionalProperties": true, "properties": { "version": { - "type": ["string", "null"], "title": "Tool NuGet Version", - "description": "Specifies the version of the NuGet package of the tool. If null, the latest version will be used." + "description": "Specifies the version of the NuGet package of the tool. If null, the latest version will be used.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "commands": { - "type": ["array", "null"], "title": "Available Tool Commands", "description": "Lists all of the available commands provided by this tool. The way to invoke a command depends on the naming format of its executable. If the command is in the format `dotnet-`, it should be invoked using 'dotnet '. If the command is in the format '', it can be directly invoked using just ''. If null, no specific commands are specified.", - "items": { - "type": ["string", "null"], - "title": "Tool Command", - "description": "A command made available by this tool which can be invoked according to the naming convention of its executable. If the command is in the format `dotnet-`, it should be invoked using 'dotnet '. If the command is in the format '', it can be directly invoked using just ''. If null, no specific commands are specified." - } + "anyOf": [ + { + "type": "array", + "items": { + "title": "Tool Command", + "description": "A command made available by this tool which can be invoked according to the naming convention of its executable. If the command is in the format `dotnet-`, it should be invoked using 'dotnet '. If the command is in the format '', it can be directly invoked using just ''. If null, no specific commands are specified.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + { + "type": "null" + } + ] }, "rollForward": { "type": "boolean", diff --git a/src/schemas/json/drupal-migration.json b/src/schemas/json/drupal-migration.json index 2c1030139df..925c6282bf6 100644 --- a/src/schemas/json/drupal-migration.json +++ b/src/schemas/json/drupal-migration.json @@ -47,7 +47,14 @@ "properties": { "plugin": { "title": "Destination plugin ID", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["plugin"] @@ -153,7 +160,14 @@ }, "class": { "title": "Class for migration implementation", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "title": "JSON schema for Drupal migration files", diff --git a/src/schemas/json/enonic-xp-cms-8.0.0-B4.json b/src/schemas/json/enonic-xp-cms-8.0.0-B4.json index 7f15ec13b7d..0e89bb6a9a2 100644 --- a/src/schemas/json/enonic-xp-cms-8.0.0-B4.json +++ b/src/schemas/json/enonic-xp-cms-8.0.0-B4.json @@ -149,27 +149,38 @@ "type": "string" }, "type": { + "type": "string", "const": "FormFragment" } }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "type": "object", + "properties": { + "name": true + }, "required": ["name"] }, { + "type": "object", + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], + "type": "object", "not": { - "required": ["include"] + "type": "object", + "properties": { + "include": true + } } } ], @@ -271,10 +282,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -311,6 +322,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -344,6 +356,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -385,6 +398,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -416,6 +430,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -443,6 +458,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -485,6 +501,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -527,6 +544,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -557,6 +575,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -599,14 +618,20 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "type": "object", + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "type": "object", + "properties": { + "service": true + }, "required": ["service"] } } @@ -615,6 +640,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -642,6 +668,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -669,6 +696,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -702,6 +730,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -729,6 +758,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -765,6 +795,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -801,6 +832,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -828,6 +860,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -867,6 +900,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -909,6 +943,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -940,6 +975,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -964,6 +1000,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-cms-8.0.0-B5.json b/src/schemas/json/enonic-xp-cms-8.0.0-B5.json index 5355c9fb89f..4ffcec69a44 100644 --- a/src/schemas/json/enonic-xp-cms-8.0.0-B5.json +++ b/src/schemas/json/enonic-xp-cms-8.0.0-B5.json @@ -154,21 +154,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -271,10 +278,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -311,6 +318,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -344,6 +352,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -385,6 +394,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -416,6 +426,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -443,6 +454,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -485,6 +497,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -527,6 +540,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -557,6 +571,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -599,14 +614,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -615,6 +634,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -642,6 +662,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -669,6 +690,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -702,6 +724,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -729,6 +752,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -765,6 +789,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -801,6 +826,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -828,6 +854,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -867,6 +894,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -909,6 +937,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -940,6 +969,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -964,6 +994,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-cms-8.0.0.json b/src/schemas/json/enonic-xp-cms-8.0.0.json index 34e1c5ec99a..6d31b7ad556 100644 --- a/src/schemas/json/enonic-xp-cms-8.0.0.json +++ b/src/schemas/json/enonic-xp-cms-8.0.0.json @@ -154,21 +154,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -271,10 +278,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -311,6 +318,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -344,6 +352,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -385,6 +394,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -416,6 +426,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -443,6 +454,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -485,6 +497,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -527,6 +540,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -557,6 +571,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -599,14 +614,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -615,6 +634,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -642,6 +662,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -669,6 +690,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -702,6 +724,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -729,6 +752,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -765,6 +789,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -801,6 +826,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -828,6 +854,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -867,6 +894,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -909,6 +937,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -940,6 +969,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -964,6 +994,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-content-type-8.0.0-B4.json b/src/schemas/json/enonic-xp-content-type-8.0.0-B4.json index c045511f9a6..32e2393e765 100644 --- a/src/schemas/json/enonic-xp-content-type-8.0.0-B4.json +++ b/src/schemas/json/enonic-xp-content-type-8.0.0-B4.json @@ -138,21 +138,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +262,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +302,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +336,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +378,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +410,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +438,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +481,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +524,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +555,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +598,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +618,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +646,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +674,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +708,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +736,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +773,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +810,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +838,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +878,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +921,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +953,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +978,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-content-type-8.0.0-B5.json b/src/schemas/json/enonic-xp-content-type-8.0.0-B5.json index cd622260f32..5e3347d7c0c 100644 --- a/src/schemas/json/enonic-xp-content-type-8.0.0-B5.json +++ b/src/schemas/json/enonic-xp-content-type-8.0.0-B5.json @@ -138,21 +138,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +262,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +302,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +336,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +378,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +410,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +438,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +481,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +524,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +555,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +598,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +618,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +646,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +674,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +708,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +736,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +773,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +810,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +838,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +878,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +921,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +953,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +978,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-content-type-8.0.0.json b/src/schemas/json/enonic-xp-content-type-8.0.0.json index e80228dcb1d..235e23a2da3 100644 --- a/src/schemas/json/enonic-xp-content-type-8.0.0.json +++ b/src/schemas/json/enonic-xp-content-type-8.0.0.json @@ -138,21 +138,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +262,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +302,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +336,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +378,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +410,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +438,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +481,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +524,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +555,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +598,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +618,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +646,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +674,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +708,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +736,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +773,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +810,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +838,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +878,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +921,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +953,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +978,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-form-fragment-8.0.0-B4.json b/src/schemas/json/enonic-xp-form-fragment-8.0.0-B4.json index 84fb0bb2f70..a8d96997831 100644 --- a/src/schemas/json/enonic-xp-form-fragment-8.0.0-B4.json +++ b/src/schemas/json/enonic-xp-form-fragment-8.0.0-B4.json @@ -130,21 +130,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -247,10 +254,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -287,6 +294,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -320,6 +328,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -361,6 +370,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -392,6 +402,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -419,6 +430,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -461,6 +473,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -503,6 +516,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -533,6 +547,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -575,14 +590,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -591,6 +610,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -618,6 +638,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -645,6 +666,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -678,6 +700,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -705,6 +728,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -741,6 +765,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -777,6 +802,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -804,6 +830,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -843,6 +870,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -885,6 +913,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -916,6 +945,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -940,6 +970,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-form-fragment-8.0.0-B5.json b/src/schemas/json/enonic-xp-form-fragment-8.0.0-B5.json index dba9c3aea47..7d27a352349 100644 --- a/src/schemas/json/enonic-xp-form-fragment-8.0.0-B5.json +++ b/src/schemas/json/enonic-xp-form-fragment-8.0.0-B5.json @@ -130,21 +130,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -247,10 +254,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -287,6 +294,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -320,6 +328,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -361,6 +370,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -392,6 +402,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -419,6 +430,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -461,6 +473,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -503,6 +516,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -533,6 +547,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -575,14 +590,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -591,6 +610,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -618,6 +638,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -645,6 +666,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -678,6 +700,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -705,6 +728,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -741,6 +765,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -777,6 +802,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -804,6 +830,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -843,6 +870,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -885,6 +913,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -916,6 +945,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -940,6 +970,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-form-fragment-8.0.0.json b/src/schemas/json/enonic-xp-form-fragment-8.0.0.json index 983a95c4b2c..087767c121a 100644 --- a/src/schemas/json/enonic-xp-form-fragment-8.0.0.json +++ b/src/schemas/json/enonic-xp-form-fragment-8.0.0.json @@ -130,21 +130,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -247,10 +254,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -287,6 +294,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -320,6 +328,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -361,6 +370,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -392,6 +402,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -419,6 +430,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -461,6 +473,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -503,6 +516,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -533,6 +547,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -575,14 +590,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -591,6 +610,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -618,6 +638,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -645,6 +666,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -678,6 +700,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -705,6 +728,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -741,6 +765,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -777,6 +802,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -804,6 +830,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -843,6 +870,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -885,6 +913,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -916,6 +945,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -940,6 +970,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-idprovider-8.0.0-B4.json b/src/schemas/json/enonic-xp-idprovider-8.0.0-B4.json index dccb5a09417..696472a5ae1 100644 --- a/src/schemas/json/enonic-xp-idprovider-8.0.0-B4.json +++ b/src/schemas/json/enonic-xp-idprovider-8.0.0-B4.json @@ -216,10 +216,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -256,6 +256,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -289,6 +290,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -330,6 +332,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -361,6 +364,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -388,6 +392,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -430,6 +435,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -472,6 +478,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -502,6 +509,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -544,14 +552,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -560,6 +572,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -587,6 +600,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -614,6 +628,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -647,6 +662,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -674,6 +690,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -710,6 +727,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -746,6 +764,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -773,6 +792,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +832,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -854,6 +875,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -885,6 +907,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -909,6 +932,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-idprovider-8.0.0-B5.json b/src/schemas/json/enonic-xp-idprovider-8.0.0-B5.json index 293548ffddf..99f436215a7 100644 --- a/src/schemas/json/enonic-xp-idprovider-8.0.0-B5.json +++ b/src/schemas/json/enonic-xp-idprovider-8.0.0-B5.json @@ -216,10 +216,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -256,6 +256,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -289,6 +290,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -330,6 +332,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -361,6 +364,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -388,6 +392,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -430,6 +435,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -472,6 +478,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -502,6 +509,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -544,14 +552,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -560,6 +572,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -587,6 +600,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -614,6 +628,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -647,6 +662,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -674,6 +690,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -710,6 +727,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -746,6 +764,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -773,6 +792,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +832,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -854,6 +875,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -885,6 +907,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -909,6 +932,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-idprovider-8.0.0.json b/src/schemas/json/enonic-xp-idprovider-8.0.0.json index c2958360a65..35f37bea74e 100644 --- a/src/schemas/json/enonic-xp-idprovider-8.0.0.json +++ b/src/schemas/json/enonic-xp-idprovider-8.0.0.json @@ -216,10 +216,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -256,6 +256,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -289,6 +290,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -330,6 +332,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -361,6 +364,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -388,6 +392,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -430,6 +435,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -472,6 +478,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -502,6 +509,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -544,14 +552,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -560,6 +572,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -587,6 +600,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -614,6 +628,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -647,6 +662,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -674,6 +690,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -710,6 +727,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -746,6 +764,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -773,6 +792,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +832,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -854,6 +875,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -885,6 +907,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -909,6 +932,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-layout-8.0.0-B4.json b/src/schemas/json/enonic-xp-layout-8.0.0-B4.json index 97ad96e4f04..18c3fb47232 100644 --- a/src/schemas/json/enonic-xp-layout-8.0.0-B4.json +++ b/src/schemas/json/enonic-xp-layout-8.0.0-B4.json @@ -138,21 +138,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +262,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +302,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +336,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +378,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +410,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +438,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +481,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +524,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +555,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +598,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +618,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +646,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +674,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +708,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +736,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +773,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +810,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +838,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +878,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +921,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +953,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +978,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-layout-8.0.0-B5.json b/src/schemas/json/enonic-xp-layout-8.0.0-B5.json index b9eb3c98346..8d71f753633 100644 --- a/src/schemas/json/enonic-xp-layout-8.0.0-B5.json +++ b/src/schemas/json/enonic-xp-layout-8.0.0-B5.json @@ -138,21 +138,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +262,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +302,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +336,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +378,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +410,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +438,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +481,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +524,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +555,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +598,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +618,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +646,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +674,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +708,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +736,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +773,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +810,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +838,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +878,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +921,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +953,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +978,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-layout-8.0.0.json b/src/schemas/json/enonic-xp-layout-8.0.0.json index e4f3fa5a3cf..bc2feb2314d 100644 --- a/src/schemas/json/enonic-xp-layout-8.0.0.json +++ b/src/schemas/json/enonic-xp-layout-8.0.0.json @@ -138,21 +138,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +262,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +302,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +336,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +378,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +410,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +438,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +481,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +524,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +555,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +598,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +618,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +646,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +674,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +708,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +736,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +773,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +810,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +838,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +878,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +921,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +953,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +978,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-macro-8.0.0-B4.json b/src/schemas/json/enonic-xp-macro-8.0.0-B4.json index a1ba9a0ec19..f5e28f111d6 100644 --- a/src/schemas/json/enonic-xp-macro-8.0.0-B4.json +++ b/src/schemas/json/enonic-xp-macro-8.0.0-B4.json @@ -137,10 +137,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -177,6 +177,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -210,6 +211,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -251,6 +253,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -282,6 +285,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -309,6 +313,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -351,6 +356,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -393,6 +399,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -423,6 +430,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -465,14 +473,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -481,6 +493,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -508,6 +521,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -535,6 +549,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -568,6 +583,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -595,6 +611,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -631,6 +648,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -667,6 +685,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -694,6 +713,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -733,6 +753,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -775,6 +796,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -806,6 +828,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -830,6 +853,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-macro-8.0.0-B5.json b/src/schemas/json/enonic-xp-macro-8.0.0-B5.json index a91e167cf60..6e5e3130062 100644 --- a/src/schemas/json/enonic-xp-macro-8.0.0-B5.json +++ b/src/schemas/json/enonic-xp-macro-8.0.0-B5.json @@ -137,10 +137,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -177,6 +177,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -210,6 +211,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -251,6 +253,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -282,6 +285,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -309,6 +313,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -351,6 +356,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -393,6 +399,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -423,6 +430,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -465,14 +473,20 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "type": "object", + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "type": "object", + "properties": { + "service": true + }, "required": ["service"] } } @@ -481,6 +495,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -508,6 +523,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -535,6 +551,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -568,6 +585,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -595,6 +613,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -631,6 +650,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -667,6 +687,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -694,6 +715,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -733,6 +755,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -775,6 +798,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -806,6 +830,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -830,6 +855,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-macro-8.0.0.json b/src/schemas/json/enonic-xp-macro-8.0.0.json index 4f33426d312..7ce48b68ad0 100644 --- a/src/schemas/json/enonic-xp-macro-8.0.0.json +++ b/src/schemas/json/enonic-xp-macro-8.0.0.json @@ -137,10 +137,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -177,6 +177,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -210,6 +211,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -251,6 +253,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -282,6 +285,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -309,6 +313,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -351,6 +356,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -393,6 +399,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -423,6 +430,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -465,14 +473,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -481,6 +493,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -508,6 +521,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -535,6 +549,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -568,6 +583,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -595,6 +611,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -631,6 +648,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -667,6 +685,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -694,6 +713,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -733,6 +753,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -775,6 +796,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -806,6 +828,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -830,6 +853,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-mixin-8.0.0-B4.json b/src/schemas/json/enonic-xp-mixin-8.0.0-B4.json index 0c571adf818..bdee8f46295 100644 --- a/src/schemas/json/enonic-xp-mixin-8.0.0-B4.json +++ b/src/schemas/json/enonic-xp-mixin-8.0.0-B4.json @@ -138,21 +138,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +262,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +302,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +336,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +378,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +410,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +438,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +481,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +524,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +555,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +598,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +618,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +646,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +674,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +708,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +736,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +773,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +810,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +838,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +878,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +921,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +953,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +978,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-mixin-8.0.0-B5.json b/src/schemas/json/enonic-xp-mixin-8.0.0-B5.json index 620698cbf58..97ca408da8c 100644 --- a/src/schemas/json/enonic-xp-mixin-8.0.0-B5.json +++ b/src/schemas/json/enonic-xp-mixin-8.0.0-B5.json @@ -138,21 +138,31 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "type": "object", + "properties": { + "name": true + }, "required": ["name"] }, { + "type": "object", + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "type": "object", + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +265,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +305,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +339,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +381,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +413,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +441,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +484,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +527,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +558,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +601,20 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "type": "object", + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "type": "object", + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +623,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +651,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +679,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +713,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +741,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +778,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +815,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +843,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +883,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +926,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +958,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +983,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-mixin-8.0.0.json b/src/schemas/json/enonic-xp-mixin-8.0.0.json index 1d65990b323..b702e859f0e 100644 --- a/src/schemas/json/enonic-xp-mixin-8.0.0.json +++ b/src/schemas/json/enonic-xp-mixin-8.0.0.json @@ -138,21 +138,31 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "type": "object", + "properties": { + "name": true + }, "required": ["name"] }, { + "type": "object", + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "type": "object", + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +265,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +305,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +339,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +381,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +413,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +441,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +484,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +527,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +558,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +601,20 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "type": "object", + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "type": "object", + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +623,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +651,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +679,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +713,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +741,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +778,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +815,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +843,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +883,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +926,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +958,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +983,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-page-8.0.0-B4.json b/src/schemas/json/enonic-xp-page-8.0.0-B4.json index 87b0bb00cc8..94b430cc97c 100644 --- a/src/schemas/json/enonic-xp-page-8.0.0-B4.json +++ b/src/schemas/json/enonic-xp-page-8.0.0-B4.json @@ -138,21 +138,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +262,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +302,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +336,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +378,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +410,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +438,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +481,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +524,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +555,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +598,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +618,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +646,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +674,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +708,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +736,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +773,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +810,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +838,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +878,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +921,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +953,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +978,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-page-8.0.0-B5.json b/src/schemas/json/enonic-xp-page-8.0.0-B5.json index 11fc367991f..434406a0644 100644 --- a/src/schemas/json/enonic-xp-page-8.0.0-B5.json +++ b/src/schemas/json/enonic-xp-page-8.0.0-B5.json @@ -138,21 +138,31 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "type": "object", + "properties": { + "name": true + }, "required": ["name"] }, { + "type": "object", + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "type": "object", + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +265,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +305,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +339,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +381,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +413,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +441,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +484,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +527,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +558,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +601,20 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "type": "object", + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "type": "object", + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +623,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +651,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +679,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +713,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +741,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +778,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +815,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +843,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +883,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +926,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +958,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +983,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-page-8.0.0.json b/src/schemas/json/enonic-xp-page-8.0.0.json index f6c8e86d3eb..6c4e31ec8e4 100644 --- a/src/schemas/json/enonic-xp-page-8.0.0.json +++ b/src/schemas/json/enonic-xp-page-8.0.0.json @@ -138,21 +138,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +262,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +302,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +336,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +378,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +410,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +438,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +481,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +524,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +555,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +598,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +618,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +646,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +674,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +708,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +736,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +773,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +810,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +838,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +878,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +921,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +953,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +978,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-part-8.0.0-B4.json b/src/schemas/json/enonic-xp-part-8.0.0-B4.json index 6bc9d1fa518..950fb84b680 100644 --- a/src/schemas/json/enonic-xp-part-8.0.0-B4.json +++ b/src/schemas/json/enonic-xp-part-8.0.0-B4.json @@ -138,21 +138,31 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "type": "object", + "properties": { + "name": true + }, "required": ["name"] }, { + "type": "object", + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "type": "object", + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +265,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +305,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +339,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +381,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +413,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +441,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +484,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +527,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +558,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +601,20 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "type": "object", + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "type": "object", + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +623,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +651,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +679,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +713,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +741,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +778,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +815,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +843,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +883,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +926,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +958,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +983,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-part-8.0.0-B5.json b/src/schemas/json/enonic-xp-part-8.0.0-B5.json index 3fd2c5286dd..8ea3f0f102c 100644 --- a/src/schemas/json/enonic-xp-part-8.0.0-B5.json +++ b/src/schemas/json/enonic-xp-part-8.0.0-B5.json @@ -138,21 +138,28 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "properties": { + "name": true + }, "required": ["name"] }, { + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +262,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +302,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +336,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +378,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +410,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +438,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +481,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +524,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +555,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +598,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +618,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +646,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +674,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +708,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +736,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +773,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +810,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +838,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +878,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +921,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +953,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +978,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-part-8.0.0.json b/src/schemas/json/enonic-xp-part-8.0.0.json index 4e0a0f278d4..2cd9f72d9fb 100644 --- a/src/schemas/json/enonic-xp-part-8.0.0.json +++ b/src/schemas/json/enonic-xp-part-8.0.0.json @@ -138,21 +138,31 @@ }, "oneOf": [ { - "required": ["include"], "not": { "anyOf": [ { + "type": "object", + "properties": { + "name": true + }, "required": ["name"] }, { + "type": "object", + "properties": { + "type": true + }, "required": ["type"] } ] } }, { - "required": ["type", "name"], "not": { + "type": "object", + "properties": { + "include": true + }, "required": ["include"] } } @@ -255,10 +265,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -295,6 +305,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -328,6 +339,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -369,6 +381,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -400,6 +413,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -427,6 +441,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -469,6 +484,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -511,6 +527,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -541,6 +558,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -583,14 +601,20 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "type": "object", + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "type": "object", + "properties": { + "service": true + }, "required": ["service"] } } @@ -599,6 +623,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -626,6 +651,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -653,6 +679,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -686,6 +713,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -713,6 +741,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -749,6 +778,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -785,6 +815,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +843,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -851,6 +883,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -893,6 +926,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -924,6 +958,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -948,6 +983,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-site-8.0.0-B4.json b/src/schemas/json/enonic-xp-site-8.0.0-B4.json index 03720914910..05920cacecb 100644 --- a/src/schemas/json/enonic-xp-site-8.0.0-B4.json +++ b/src/schemas/json/enonic-xp-site-8.0.0-B4.json @@ -40,31 +40,34 @@ "type": "integer" } }, - "allOf": [ - { - "oneOf": [ - { - "required": ["controller"] - }, - { - "required": ["filter"] - } - ] - }, + "oneOf": [ { "not": { - "required": ["controller", "filter"] + "properties": { + "controller": true + }, + "required": ["controller"] } }, { - "if": { - "required": ["invertPattern"] - }, - "then": { - "required": ["pattern"] + "not": { + "properties": { + "filter": true + }, + "required": ["filter"] } } ], + "dependencies": { + "invertPattern": { + "properties": { + "pattern": { + "$ref": "#/$defs/controllerMapping/properties/pattern" + } + }, + "required": ["pattern"] + } + }, "additionalProperties": false }, "genericValueDef": { diff --git a/src/schemas/json/enonic-xp-site-8.0.0-B5.json b/src/schemas/json/enonic-xp-site-8.0.0-B5.json index 7147aa98b13..d285d036294 100644 --- a/src/schemas/json/enonic-xp-site-8.0.0-B5.json +++ b/src/schemas/json/enonic-xp-site-8.0.0-B5.json @@ -40,31 +40,34 @@ "type": "integer" } }, - "allOf": [ - { - "oneOf": [ - { - "required": ["controller"] - }, - { - "required": ["filter"] - } - ] - }, + "oneOf": [ { "not": { - "required": ["controller", "filter"] + "properties": { + "controller": true + }, + "required": ["controller"] } }, { - "if": { - "required": ["invertPattern"] - }, - "then": { - "required": ["pattern"] + "not": { + "properties": { + "filter": true + }, + "required": ["filter"] } } ], + "dependencies": { + "invertPattern": { + "properties": { + "pattern": { + "$ref": "#/$defs/controllerMapping/properties/pattern" + } + }, + "required": ["pattern"] + } + }, "additionalProperties": false }, "genericValueDef": { diff --git a/src/schemas/json/enonic-xp-site-8.0.0.json b/src/schemas/json/enonic-xp-site-8.0.0.json index b75c2bf2a91..1831b10b24f 100644 --- a/src/schemas/json/enonic-xp-site-8.0.0.json +++ b/src/schemas/json/enonic-xp-site-8.0.0.json @@ -40,31 +40,34 @@ "type": "integer" } }, - "allOf": [ - { - "oneOf": [ - { - "required": ["controller"] - }, - { - "required": ["filter"] - } - ] - }, + "oneOf": [ { "not": { - "required": ["controller", "filter"] + "properties": { + "controller": true + }, + "required": ["controller"] } }, { - "if": { - "required": ["invertPattern"] - }, - "then": { - "required": ["pattern"] + "not": { + "properties": { + "filter": true + }, + "required": ["filter"] } } ], + "dependencies": { + "invertPattern": { + "properties": { + "pattern": { + "$ref": "#/$defs/controllerMapping/properties/pattern" + } + }, + "required": ["pattern"] + } + }, "additionalProperties": false }, "genericValueDef": { diff --git a/src/schemas/json/enonic-xp-style-8.0.0-B4.json b/src/schemas/json/enonic-xp-style-8.0.0-B4.json index a1c219a627e..aa15b2c2870 100644 --- a/src/schemas/json/enonic-xp-style-8.0.0-B4.json +++ b/src/schemas/json/enonic-xp-style-8.0.0-B4.json @@ -21,11 +21,8 @@ "required": ["name", "type"] }, "imageStyleDef": { - "allOf": [ - { - "$ref": "#/$defs/styleItemDef" - } - ], + "$ref": "#/$defs/styleItemDef", + "type": "object", "properties": { "type": { "type": "string", diff --git a/src/schemas/json/enonic-xp-style-8.0.0-B5.json b/src/schemas/json/enonic-xp-style-8.0.0-B5.json index 644097f94bd..11f40ff3d90 100644 --- a/src/schemas/json/enonic-xp-style-8.0.0-B5.json +++ b/src/schemas/json/enonic-xp-style-8.0.0-B5.json @@ -21,11 +21,8 @@ "required": ["name", "type"] }, "imageStyleDef": { - "allOf": [ - { - "$ref": "#/$defs/styleItemDef" - } - ], + "$ref": "#/$defs/styleItemDef", + "type": "object", "properties": { "type": { "type": "string", diff --git a/src/schemas/json/enonic-xp-style-8.0.0.json b/src/schemas/json/enonic-xp-style-8.0.0.json index 261f61f23c4..53e0a7d9c09 100644 --- a/src/schemas/json/enonic-xp-style-8.0.0.json +++ b/src/schemas/json/enonic-xp-style-8.0.0.json @@ -21,11 +21,8 @@ "required": ["name", "type"] }, "imageStyleDef": { - "allOf": [ - { - "$ref": "#/$defs/styleItemDef" - } - ], + "$ref": "#/$defs/styleItemDef", + "type": "object", "properties": { "type": { "type": "string", diff --git a/src/schemas/json/enonic-xp-task-8.0.0-B4.json b/src/schemas/json/enonic-xp-task-8.0.0-B4.json index e70b4b643f3..91063d4ac32 100644 --- a/src/schemas/json/enonic-xp-task-8.0.0-B4.json +++ b/src/schemas/json/enonic-xp-task-8.0.0-B4.json @@ -216,10 +216,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -256,6 +256,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -289,6 +290,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -330,6 +332,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -361,6 +364,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -388,6 +392,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -430,6 +435,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -472,6 +478,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -502,6 +509,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -544,14 +552,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -560,6 +572,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -587,6 +600,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -614,6 +628,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -647,6 +662,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -674,6 +690,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -710,6 +727,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -746,6 +764,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -773,6 +792,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +832,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -854,6 +875,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -885,6 +907,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -909,6 +932,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-task-8.0.0-B5.json b/src/schemas/json/enonic-xp-task-8.0.0-B5.json index 6f13085cb43..c485ac06e1c 100644 --- a/src/schemas/json/enonic-xp-task-8.0.0-B5.json +++ b/src/schemas/json/enonic-xp-task-8.0.0-B5.json @@ -216,10 +216,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -256,6 +256,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -289,6 +290,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -330,6 +332,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -361,6 +364,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -388,6 +392,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -430,6 +435,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -472,6 +478,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -502,6 +509,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -544,14 +552,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -560,6 +572,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -587,6 +600,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -614,6 +628,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -647,6 +662,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -674,6 +690,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -710,6 +727,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -746,6 +764,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -773,6 +792,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +832,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -854,6 +875,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -885,6 +907,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -909,6 +932,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/enonic-xp-task-8.0.0.json b/src/schemas/json/enonic-xp-task-8.0.0.json index 644208c05ee..e0a6e98edf2 100644 --- a/src/schemas/json/enonic-xp-task-8.0.0.json +++ b/src/schemas/json/enonic-xp-task-8.0.0.json @@ -216,10 +216,10 @@ "type": "array", "items": { "$ref": "#/$defs/formItemsDef" - }, - "additionalProperties": false + } }, "textLineDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -256,6 +256,7 @@ "additionalProperties": false }, "textAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -289,6 +290,7 @@ "additionalProperties": false }, "radioButtonDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -330,6 +332,7 @@ "additionalProperties": false }, "checkBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -361,6 +364,7 @@ "additionalProperties": false }, "attachmentUploaderDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -388,6 +392,7 @@ "additionalProperties": false }, "comboBoxDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -430,6 +435,7 @@ "additionalProperties": false }, "contentSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -472,6 +478,7 @@ "additionalProperties": false }, "contentTypeFilterDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -502,6 +509,7 @@ "additionalProperties": false }, "customSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -544,14 +552,18 @@ }, "oneOf": [ { - "required": ["service"], "not": { + "properties": { + "extension": true + }, "required": ["extension"] } }, { - "required": ["extension"], "not": { + "properties": { + "service": true + }, "required": ["service"] } } @@ -560,6 +572,7 @@ "additionalProperties": false }, "dateDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -587,6 +600,7 @@ "additionalProperties": false }, "dateTimeDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -614,6 +628,7 @@ "additionalProperties": false }, "doubleDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -647,6 +662,7 @@ "additionalProperties": false }, "geoPointDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -674,6 +690,7 @@ "additionalProperties": false }, "htmlAreaDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -710,6 +727,7 @@ "additionalProperties": false }, "imageSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -746,6 +764,7 @@ "additionalProperties": false }, "instantDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -773,6 +792,7 @@ "additionalProperties": false }, "longDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -812,6 +832,7 @@ "additionalProperties": false }, "mediaSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -854,6 +875,7 @@ "additionalProperties": false }, "principalSelectorDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -885,6 +907,7 @@ "additionalProperties": false }, "tagDef": { + "type": "object", "properties": { "name": { "type": "string" @@ -909,6 +932,7 @@ "additionalProperties": false }, "timeDef": { + "type": "object", "properties": { "name": { "type": "string" diff --git a/src/schemas/json/evolving-resolutive-process-notation-1.0.json b/src/schemas/json/evolving-resolutive-process-notation-1.0.json index cd21d4e8fc7..55c9c8af818 100644 --- a/src/schemas/json/evolving-resolutive-process-notation-1.0.json +++ b/src/schemas/json/evolving-resolutive-process-notation-1.0.json @@ -8,26 +8,43 @@ "type": "object", "additionalProperties": true, "properties": { - "name": { "type": "string", "description": "Standard name" }, - "version": { "$ref": "#/definitions/semver" } + "name": { + "type": "string", + "description": "Standard name" + }, + "version": { + "$ref": "#/definitions/semver" + } }, "required": ["name", "version"] }, - "content": { "$ref": "#/definitions/contentObject" } + "content": { + "$ref": "#/definitions/contentObject" + } }, "type": "object", - "definitions": { "contentObject": { "type": "object", "properties": { "link": { - "type": ["string", "null"], - "format": "uri", - "description": "Where to gather info. If exists, other properties are ignored" + "description": "Where to gather info. If exists, other properties are ignored", + "anyOf": [ + { + "type": "string", + "format": "uri" + }, + { + "type": "null" + } + ] + }, + "name": { + "type": "string" + }, + "version": { + "$ref": "#/definitions/semver" }, - "name": { "type": "string" }, - "version": { "$ref": "#/definitions/semver" }, "essence": { "type": "object", "additionalProperties": true, @@ -55,26 +72,36 @@ "type": "object", "additionalProperties": true, "properties": { - "space": { "type": "string" }, + "space": { + "type": "string" + }, "limitations": { "type": "array", - "items": { "type": "string" } + "items": { + "type": "string" + } }, "actors": { "type": "array", - "items": { "type": "string" } + "items": { + "type": "string" + } } }, "description": "Where is the problem and where can we act" }, "tradeoff": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "Limits to make path curved for solving problem" }, "resources": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "What we have before solving problem" } }, @@ -90,12 +117,16 @@ }, "resources": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "What we need to realize solution" }, "advantages": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "What else we will get from solution beside problem solving" } }, @@ -107,22 +138,30 @@ "properties": { "input": { "type": "array", - "items": { "$ref": "#/definitions/commonObject" }, + "items": { + "$ref": "#/definitions/commonObject" + }, "description": "What we have to get from outer space for sustainable functionality" }, "output": { "type": "array", - "items": { "$ref": "#/definitions/commonObject" }, + "items": { + "$ref": "#/definitions/commonObject" + }, "description": "What we produce" }, "resources": { "type": "array", - "items": { "$ref": "#/definitions/commonObject" }, + "items": { + "$ref": "#/definitions/commonObject" + }, "description": "Our manipulated objects" }, "value": { "type": "array", - "items": { "$ref": "#/definitions/commonObject" }, + "items": { + "$ref": "#/definitions/commonObject" + }, "description": "What we produce for main purpose or valuable to outer external world" }, "commonDescription": { @@ -139,20 +178,44 @@ "type": "object", "additionalProperties": true, "properties": { - "start": { "type": ["string", "null"], "format": "date-time" }, - "end": { "type": ["string", "null"], "format": "date-time" }, + "start": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] + }, + "end": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] + }, "impactPercent": { "$ref": "#/definitions/percent", "description": "How much this version affects reality versus old ones" }, "authors": { "type": "array", - "items": { "$ref": "#/definitions/person" }, + "items": { + "$ref": "#/definitions/person" + }, "description": "Who did it" }, "source": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "description": "What is the reason of changing" } }, @@ -160,12 +223,16 @@ }, "content": { "type": "array", - "items": { "$ref": "#/definitions/contentObject" }, + "items": { + "$ref": "#/definitions/contentObject" + }, "description": "Sub level objects" }, "history": { "type": "array", - "items": { "$ref": "#/definitions/contentObject" }, + "items": { + "$ref": "#/definitions/contentObject" + }, "description": "Old versions of object with only changed properties" } }, @@ -175,11 +242,15 @@ "type": "object", "additionalProperties": true, "properties": { - "name": { "type": "string" }, + "name": { + "type": "string" + }, "type": { "$ref": "#/definitions/propertyType" }, - "describe": { "type": "string" } + "describe": { + "type": "string" + } }, "description": "Common object for various reality flashes" }, @@ -202,10 +273,19 @@ "type": "object", "additionalProperties": true, "properties": { - "name": { "type": "string" }, - "impactPercent": { "$ref": "#/definitions/percent" }, - "position": { "type": "string", "description": "Role in organization" }, - "comment": { "type": "string" } + "name": { + "type": "string" + }, + "impactPercent": { + "$ref": "#/definitions/percent" + }, + "position": { + "type": "string", + "description": "Role in organization" + }, + "comment": { + "type": "string" + } }, "description": "Person description" } diff --git a/src/schemas/json/gadget-yaml.json b/src/schemas/json/gadget-yaml.json index 95e59587ce0..9d240474fd0 100644 --- a/src/schemas/json/gadget-yaml.json +++ b/src/schemas/json/gadget-yaml.json @@ -10,8 +10,15 @@ "type": "string" }, "title_url": { - "type": ["string", "null"], - "format": "uri" + "anyOf": [ + { + "type": "string", + "format": "uri" + }, + { + "type": "null" + } + ] }, "description": { "type": "string" @@ -193,7 +200,14 @@ "type": "string" }, "value": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "required": ["display_value"], diff --git a/src/schemas/json/git-cliff.json b/src/schemas/json/git-cliff.json index 4944d230b5e..e39f44dc70d 100644 --- a/src/schemas/json/git-cliff.json +++ b/src/schemas/json/git-cliff.json @@ -173,8 +173,15 @@ }, "limit_commits": { "description": "Maximum number of commits included in the generated changelog.", - "type": ["integer", "null"], - "minimum": 1 + "anyOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "type": "null" + } + ] }, "recurse_submodules": { "$ref": "#/definitions/optionalBoolean", @@ -377,10 +384,24 @@ } }, "optionalString": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "optionalBoolean": { - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] } } } diff --git a/src/schemas/json/github-cli-config.json b/src/schemas/json/github-cli-config.json index de0a335df01..ff6cf9a1d7e 100644 --- a/src/schemas/json/github-cli-config.json +++ b/src/schemas/json/github-cli-config.json @@ -25,8 +25,15 @@ }, "editor": { "description": "Text editor command used by GitHub CLI.\nhttps://cli.github.com/manual/gh_config", - "type": ["string", "null"], - "default": null + "default": null, + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "prompt": { "description": "Whether interactive prompting is enabled.\nhttps://cli.github.com/manual/gh_config", @@ -42,25 +49,53 @@ }, "pager": { "description": "Terminal pager command used by GitHub CLI.\nhttps://cli.github.com/manual/gh_config", - "type": ["string", "null"], - "default": null + "default": null, + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "aliases": { "description": "GitHub CLI aliases, keyed by alias name with command expansions as values.\nhttps://cli.github.com/manual/gh_alias", - "type": ["object", "null"], - "additionalProperties": { - "type": "string" - } + "anyOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + { + "type": "null" + } + ] }, "http_unix_socket": { "description": "Path to a Unix domain socket to use for HTTP connections.\nhttps://cli.github.com/manual/gh_config", - "type": ["string", "null"], - "default": null + "default": null, + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "browser": { "description": "Web browser command used to open URLs.\nhttps://cli.github.com/manual/gh_config", - "type": ["string", "null"], - "default": null + "default": null, + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "color_labels": { "description": "Whether label colors are displayed using their RGB values.\nhttps://cli.github.com/manual/gh_config", diff --git a/src/schemas/json/github-cli-hosts.json b/src/schemas/json/github-cli-hosts.json index 96e77fccbac..3e15ecd69db 100644 --- a/src/schemas/json/github-cli-hosts.json +++ b/src/schemas/json/github-cli-hosts.json @@ -20,7 +20,14 @@ }, "editor": { "description": "Text editor command used for this host.\nhttps://cli.github.com/manual/gh_config", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "prompt": { "description": "Whether interactive prompting is enabled for this host.\nhttps://cli.github.com/manual/gh_config", @@ -34,15 +41,36 @@ }, "pager": { "description": "Terminal pager command used for this host.\nhttps://cli.github.com/manual/gh_config", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "http_unix_socket": { "description": "Path to a Unix domain socket used for HTTP connections to this host.\nhttps://cli.github.com/manual/gh_config", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "browser": { "description": "Web browser command used for this host.\nhttps://cli.github.com/manual/gh_config", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "color_labels": { "description": "Whether label colors are displayed using their RGB values for this host.\nhttps://cli.github.com/manual/gh_config", diff --git a/src/schemas/json/hugo.json b/src/schemas/json/hugo.json index 65d90696580..58f1b27f76c 100644 --- a/src/schemas/json/hugo.json +++ b/src/schemas/json/hugo.json @@ -1532,18 +1532,32 @@ }, "extensions": { "description": "https://gohugo.io/getting-started/configuration-markup#blackfriday", - "type": ["array", "null"], "default": null, - "uniqueItems": true, - "items": { - "type": "string", - "minLength": 1 - } + "anyOf": [ + { + "type": "array", + "items": { + "type": "string", + "minLength": 1 + }, + "uniqueItems": true + }, + { + "type": "null" + } + ] }, "extensionsMask": { "description": "https://gohugo.io/getting-started/configuration-markup#blackfriday", - "type": ["string", "null"], - "default": null + "default": null, + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "footnoteAnchorPrefix": { "description": "https://gohugo.io/getting-started/configuration-markup#blackfriday", diff --git a/src/schemas/json/jekyll.json b/src/schemas/json/jekyll.json index c99eefe106c..813228b5bf1 100644 --- a/src/schemas/json/jekyll.json +++ b/src/schemas/json/jekyll.json @@ -5,7 +5,14 @@ "definitions": { "nullable-boolean": { "description": "Copy of definition from https://www.schemastore.org/base.json#/definitions/nullable-boolean", - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "nullable-timezone": { "description": "Copy of definition from https://www.schemastore.org/base.json#/definitions/nullable-timezone", @@ -803,9 +810,16 @@ }, "syntax_highlighter": { "description": "The syntax highlighter\nhttps://kramdown.gettalong.org/converter/html.html", - "type": ["string", "null"], "default": "rouge", - "minLength": 1 + "anyOf": [ + { + "type": "string", + "minLength": 1 + }, + { + "type": "null" + } + ] }, "syntax_highlighter_opts": { "title": "syntax highlighter options", diff --git a/src/schemas/json/knowledge-unit.json b/src/schemas/json/knowledge-unit.json index 351477318ce..5e9c5009fdf 100644 --- a/src/schemas/json/knowledge-unit.json +++ b/src/schemas/json/knowledge-unit.json @@ -66,20 +66,28 @@ "type": "array", "items": { "oneOf": [ - { "type": "string" }, + { + "type": "string" + }, { "type": "object", "required": ["claim"], "properties": { - "claim": { "type": "string" }, + "claim": { + "type": "string" + }, "confidence": { "type": "string", "enum": ["high", "medium", "low"] }, - "evidence": { "type": "string" }, + "evidence": { + "type": "string" + }, "source_refs": { "type": "array", - "items": { "type": "string" } + "items": { + "type": "string" + } } } } @@ -93,10 +101,14 @@ "type": "object", "required": ["claim", "positions"], "properties": { - "claim": { "type": "string" }, + "claim": { + "type": "string" + }, "positions": { "type": "object", - "additionalProperties": { "type": "string" } + "additionalProperties": { + "type": "string" + } }, "significance": { "type": "string", @@ -110,13 +122,19 @@ "type": "array", "items": { "oneOf": [ - { "type": "string" }, + { + "type": "string" + }, { "type": "object", "required": ["claim"], "properties": { - "claim": { "type": "string" }, - "reason": { "type": "string" } + "claim": { + "type": "string" + }, + "reason": { + "type": "string" + } } } ] @@ -129,7 +147,9 @@ }, "models_used": { "type": "array", - "items": { "type": "string" }, + "items": { + "type": "string" + }, "minItems": 2, "description": "Model identifiers (provider/model format)." }, @@ -164,8 +184,12 @@ "type": "object", "required": ["uri", "content_hash", "ingested_at"], "properties": { - "uri": { "type": "string" }, - "title": { "type": "string" }, + "uri": { + "type": "string" + }, + "title": { + "type": "string" + }, "content_hash": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" @@ -204,14 +228,28 @@ "description": "Expected rate of change for this knowledge domain." }, "supersedes": { - "type": ["string", "null"], - "pattern": "^ku-[a-z0-9]{12}$", - "description": "ID of the KU this KU replaces." + "description": "ID of the KU this KU replaces.", + "anyOf": [ + { + "type": "string", + "pattern": "^ku-[a-z0-9]{12}$" + }, + { + "type": "null" + } + ] }, "parent_ku_id": { - "type": ["string", "null"], - "pattern": "^ku-[a-z0-9]{12}$", - "description": "ID of a parent KU from which this question was derived." + "description": "ID of a parent KU from which this question was derived.", + "anyOf": [ + { + "type": "string", + "pattern": "^ku-[a-z0-9]{12}$" + }, + { + "type": "null" + } + ] }, "published_at": { "type": "string", @@ -254,7 +292,9 @@ }, "claims": { "type": "array", - "items": { "type": "string" } + "items": { + "type": "string" + } } } }, diff --git a/src/schemas/json/lsd-config.json b/src/schemas/json/lsd-config.json index 1ef2418b5bb..b0b90ece577 100644 --- a/src/schemas/json/lsd-config.json +++ b/src/schemas/json/lsd-config.json @@ -9,8 +9,15 @@ "properties": { "classic": { "description": "Use classic ls-compatible output defaults.", - "type": ["boolean", "null"], - "default": false + "default": false, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "blocks": { "description": "Columns and their order when using the long or tree layout.", @@ -52,8 +59,15 @@ }, "theme": { "description": "How to colorize output. Use `custom` to load colors.yaml, `default` for the built-in theme, or a custom theme file path supported by lsd.", - "type": ["string", "null"], - "default": "default" + "default": "default", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } } }, @@ -64,13 +78,27 @@ }, "date": { "description": "Date display format. Built-in values include `date`, `locale`, and `relative`; strftime-style custom formats start with `+`.", - "type": ["string", "null"], - "default": "date" + "default": "date", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "dereference": { "description": "Dereference symbolic links.", - "type": ["boolean", "null"], - "default": false + "default": false, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "display": { "description": "Which filesystem entries to display.", @@ -101,8 +129,15 @@ }, "separator": { "description": "Separator between icon and filename.", - "type": ["string", "null"], - "default": " " + "default": " ", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } } }, @@ -127,8 +162,15 @@ }, "indicators": { "description": "Add indicator characters to certain listed files.", - "type": ["boolean", "null"], - "default": false + "default": false, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "layout": { "description": "Output layout.", @@ -143,13 +185,27 @@ "properties": { "enabled": { "description": "Enable recursion.", - "type": ["boolean", "null"], - "default": false + "default": false, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "depth": { "description": "Maximum recursion depth.", - "type": ["integer", "null"], - "minimum": 0 + "anyOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "type": "null" + } + ] } } }, @@ -189,8 +245,15 @@ }, "reverse": { "description": "Reverse sort order.", - "type": ["boolean", "null"], - "default": false + "default": false, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "dir-grouping": { "description": "Where to group directories.", @@ -206,18 +269,39 @@ }, "no-symlink": { "description": "Omit showing symlink targets.", - "type": ["boolean", "null"], - "default": false + "default": false, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "total-size": { "description": "Display total directory sizes.", - "type": ["boolean", "null"], - "default": false + "default": false, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "symlink-arrow": { "description": "Text shown between symlink and target.", - "type": ["string", "null"], - "default": "⇒" + "default": "⇒", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "hyperlink": { "description": "When to attach hyperlinks to filenames.", @@ -226,13 +310,27 @@ }, "header": { "description": "Display block headers.", - "type": ["boolean", "null"], - "default": false + "default": false, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "literal": { "description": "Show quotes on filenames.", - "type": ["boolean", "null"], - "default": false + "default": false, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "truncate-owner": { "description": "Username and group-name truncation settings.", @@ -242,13 +340,27 @@ "properties": { "after": { "description": "Number of characters to keep before truncating owner or group names.", - "type": ["integer", "null"], - "minimum": 0 + "anyOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "marker": { "description": "String appended to truncated owner or group names.", - "type": ["string", "null"], - "default": "" + "default": "", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } } }, diff --git a/src/schemas/json/prometheus-alertmanager.json b/src/schemas/json/prometheus-alertmanager.json index 5c8b249939f..604e7400c58 100644 --- a/src/schemas/json/prometheus-alertmanager.json +++ b/src/schemas/json/prometheus-alertmanager.json @@ -1,7 +1,6 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://www.schemastore.org/prometheus-alertmanager.json", - "additionalProperties": false, "description": "Prometheus Alertmanager configuration file", "definitions": { "duration": { @@ -1601,161 +1600,197 @@ } } }, - "properties": { - "global": { + "anyOf": [ + { "type": "object", - "additionalProperties": false, "properties": { - "smtp_from": { - "type": "string", - "description": "The default SMTP From header field" - }, - "smtp_smarthost": { - "type": "string", - "description": "The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS).", - "examples": ["smtp.example.org:587"] - }, - "smtp_hello": { - "type": "string", - "description": "The default hostname to identify to the SMTP server", - "default": "localhost" - }, - "smtp_auth_username": { - "type": "string" - }, - "smtp_auth_password": { - "type": "string" - }, - "smtp_auth_password_file": { - "type": "string" - }, - "smtp_auth_identity": { - "type": "string" - }, - "smtp_auth_secret": { - "type": "string" - }, - "smtp_require_tls": { - "type": "boolean", - "description": "The default SMTP TLS requirement", - "default": true - }, - "smtp_tls_config": { - "$ref": "#/definitions/tls_config", - "description": "The default TLS configuration for SMTP receivers" - }, - "jira_api_url": { - "type": "string" - }, - "slack_api_url": { - "type": "string" - }, - "slack_api_url_file": { - "type": "string" - }, - "victorops_api_key": { - "type": "string" - }, - "victorops_api_key_file": { - "type": "string" - }, - "victorops_api_url": { - "type": "string", - "default": "https://alert.victorops.com/integrations/generic/20131114/alert/" - }, - "pagerduty_url": { - "type": "string", - "default": "https://events.pagerduty.com/v2/enqueue" - }, - "opsgenie_api_key": { - "type": "string" - }, - "opsgenie_api_key_file": { - "type": "string" - }, - "opsgenie_api_url": { - "type": "string", - "default": "https://api.opsgenie.com/" - }, - "rocketchat_api_url": { - "type": "string", - "default": "https://open.rocket.chat/" - }, - "rocketchat_token": { - "type": "string" - }, - "rocketchat_token_file": { - "type": "string" - }, - "rocketchat_token_id": { - "type": "string" - }, - "rocketchat_token_id_file": { - "type": "string" - }, - "wechat_api_url": { - "type": "string", - "default": "https://qyapi.weixin.qq.com/cgi-bin/" + "global": { + "type": "object", + "additionalProperties": false, + "properties": { + "smtp_from": { + "type": "string", + "description": "The default SMTP From header field" + }, + "smtp_smarthost": { + "type": "string", + "description": "The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS).", + "examples": ["smtp.example.org:587"] + }, + "smtp_hello": { + "type": "string", + "description": "The default hostname to identify to the SMTP server", + "default": "localhost" + }, + "smtp_auth_username": { + "type": "string" + }, + "smtp_auth_password": { + "type": "string" + }, + "smtp_auth_password_file": { + "type": "string" + }, + "smtp_auth_identity": { + "type": "string" + }, + "smtp_auth_secret": { + "type": "string" + }, + "smtp_require_tls": { + "type": "boolean", + "description": "The default SMTP TLS requirement", + "default": true + }, + "smtp_tls_config": { + "$ref": "#/definitions/tls_config", + "description": "The default TLS configuration for SMTP receivers" + }, + "jira_api_url": { + "type": "string" + }, + "slack_api_url": { + "type": "string" + }, + "slack_api_url_file": { + "type": "string" + }, + "victorops_api_key": { + "type": "string" + }, + "victorops_api_key_file": { + "type": "string" + }, + "victorops_api_url": { + "type": "string", + "default": "https://alert.victorops.com/integrations/generic/20131114/alert/" + }, + "pagerduty_url": { + "type": "string", + "default": "https://events.pagerduty.com/v2/enqueue" + }, + "opsgenie_api_key": { + "type": "string" + }, + "opsgenie_api_key_file": { + "type": "string" + }, + "opsgenie_api_url": { + "type": "string", + "default": "https://api.opsgenie.com/" + }, + "rocketchat_api_url": { + "type": "string", + "default": "https://open.rocket.chat/" + }, + "rocketchat_token": { + "type": "string" + }, + "rocketchat_token_file": { + "type": "string" + }, + "rocketchat_token_id": { + "type": "string" + }, + "rocketchat_token_id_file": { + "type": "string" + }, + "wechat_api_url": { + "type": "string", + "default": "https://qyapi.weixin.qq.com/cgi-bin/" + }, + "wechat_api_secret": { + "type": "string" + }, + "wechat_api_corp_id": { + "type": "string" + }, + "telegram_api_url": { + "type": "string", + "default": "https://api.telegram.org" + }, + "webex_api_url": { + "type": "string", + "default": "https://webexapis.com/v1/messages" + }, + "http_config": { + "$ref": "#/definitions/http_config", + "description": "The default HTTP client configuration" + }, + "resolve_timeout": { + "$ref": "#/definitions/duration", + "default": "5m" + } + } }, - "wechat_api_secret": { - "type": "string" + "templates": { + "description": "Files from which custom notification template definitions are read. The last component may use a wildcard matcher, e.g. 'templates/*.tmpl'.", + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ] }, - "wechat_api_corp_id": { - "type": "string" + "route": { + "$ref": "#/definitions/route" }, - "telegram_api_url": { - "type": "string", - "default": "https://api.telegram.org" + "receivers": { + "type": "array", + "items": { + "$ref": "#/definitions/receiver" + } }, - "webex_api_url": { - "type": "string", - "default": "https://webexapis.com/v1/messages" + "inhibit_rules": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/inhibit_rule" + } + }, + { + "type": "null" + } + ] }, - "http_config": { - "$ref": "#/definitions/http_config", - "description": "The default HTTP client configuration" + "mute_time_intervals": { + "description": "DEPRECATED. A list of mute time intervals for muting routes. Use time_intervals", + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/time_interval" + } + }, + { + "type": "null" + } + ] }, - "resolve_timeout": { - "$ref": "#/definitions/duration", - "default": "5m" + "time_intervals": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/time_interval" + } + }, + { + "type": "null" + } + ] } - } - }, - "templates": { - "type": ["array", "null"], - "items": { - "type": "string" - }, - "description": "Files from which custom notification template definitions are read. The last component may use a wildcard matcher, e.g. 'templates/*.tmpl'." - }, - "route": { - "$ref": "#/definitions/route" - }, - "receivers": { - "type": "array", - "items": { - "$ref": "#/definitions/receiver" - } - }, - "inhibit_rules": { - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/inhibit_rule" - } - }, - "mute_time_intervals": { - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/time_interval" }, - "description": "DEPRECATED. A list of mute time intervals for muting routes. Use time_intervals" + "additionalProperties": false }, - "time_intervals": { - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/time_interval" - } + { + "type": "null" } - }, - "type": ["object", "null"] + ] } diff --git a/src/schemas/json/prometheus.rules.json b/src/schemas/json/prometheus.rules.json index 7db9dc96bc5..b8fdbc29ae2 100644 --- a/src/schemas/json/prometheus.rules.json +++ b/src/schemas/json/prometheus.rules.json @@ -1,12 +1,18 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://json.schemastore.org/prometheus.rules.json", - "additionalProperties": false, "definitions": { "duration": { - "type": ["string", "null"], - "pattern": "^((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)$", - "minLength": 1 + "anyOf": [ + { + "type": "string", + "minLength": 1, + "pattern": "^((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)$" + }, + { + "type": "null" + } + ] }, "label_name": { "type": "string", @@ -16,26 +22,40 @@ "type": "string" }, "labels": { - "type": ["object", "null"], - "patternProperties": { - "^[a-zA-Z_][a-zA-Z0-9_]*$": { - "$ref": "#/definitions/label_value" + "anyOf": [ + { + "type": "object", + "patternProperties": { + "^[a-zA-Z_][a-zA-Z0-9_]*$": { + "$ref": "#/definitions/label_value" + } + }, + "additionalProperties": false + }, + { + "type": "null" } - }, - "additionalProperties": false + ] }, "tmpl_string": { "description": "A string which is template-expanded before usage.", "type": "string" }, "annotations": { - "type": ["object", "null"], - "patternProperties": { - "^[a-zA-Z_][a-zA-Z0-9_]*$": { - "$ref": "#/definitions/tmpl_string" + "anyOf": [ + { + "type": "object", + "patternProperties": { + "^[a-zA-Z_][a-zA-Z0-9_]*$": { + "$ref": "#/definitions/tmpl_string" + } + }, + "additionalProperties": false + }, + { + "type": "null" } - }, - "additionalProperties": false + ] }, "recording_rule": { "type": "object", @@ -46,7 +66,14 @@ }, "expr": { "description": "The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and the result recorded as a new set of time series with the metric name as given by 'record'.", - "anyOf": [{ "type": "string" }, { "type": "integer" }] + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] }, "labels": { "$ref": "#/definitions/labels", @@ -65,7 +92,14 @@ }, "expr": { "description": "The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts.", - "anyOf": [{ "type": "string" }, { "type": "integer" }] + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] }, "for": { "$ref": "#/definitions/duration", @@ -89,52 +123,81 @@ } }, "description": "Prometheus rules file", - "properties": { - "groups": { - "type": ["array", "null"], - "items": { - "type": "object", - "properties": { - "name": { - "description": "The name of the group. Must be unique within a file.", - "type": "string" - }, - "interval": { - "$ref": "#/definitions/duration", - "description": "How often rules in the group are evaluated." - }, - "query_offset": { - "$ref": "#/definitions/duration", - "description": "Offset the rule evaluation timestamp of this particular group by the specified duration into the past." - }, - "labels": { - "$ref": "#/definitions/labels", - "description": "Labels to add or overwrite before storing the result for its rules. Labels defined in will override the key if it has a collision." - }, - "limit": { - "description": "Limit the number of alerts an alerting rule and series a recording rule can produce. 0 is no limit.", - "type": ["integer", "null"], - "default": 0 - }, - "rules": { - "type": ["array", "null"], - "items": { - "oneOf": [ - { - "$ref": "#/definitions/recording_rule" + "title": "Prometheus Rules", + "anyOf": [ + { + "type": "object", + "properties": { + "groups": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "description": "The name of the group. Must be unique within a file.", + "type": "string" + }, + "interval": { + "$ref": "#/definitions/duration", + "description": "How often rules in the group are evaluated." + }, + "query_offset": { + "$ref": "#/definitions/duration", + "description": "Offset the rule evaluation timestamp of this particular group by the specified duration into the past." + }, + "labels": { + "$ref": "#/definitions/labels", + "description": "Labels to add or overwrite before storing the result for its rules. Labels defined in will override the key if it has a collision." + }, + "limit": { + "description": "Limit the number of alerts an alerting rule and series a recording rule can produce. 0 is no limit.", + "default": 0, + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "rules": { + "anyOf": [ + { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/recording_rule" + }, + { + "$ref": "#/definitions/alerting_rule" + } + ] + } + }, + { + "type": "null" + } + ] + } }, - { - "$ref": "#/definitions/alerting_rule" - } - ] + "required": ["name"], + "additionalProperties": false + } + }, + { + "type": "null" } - } - }, - "required": ["name"], - "additionalProperties": false - } + ] + } + }, + "additionalProperties": false + }, + { + "type": "null" } - }, - "title": "Prometheus Rules", - "type": ["object", "null"] + ] } diff --git a/src/schemas/json/prometheus.rules.test.json b/src/schemas/json/prometheus.rules.test.json index 77037394106..ec57b4dc5d3 100644 --- a/src/schemas/json/prometheus.rules.test.json +++ b/src/schemas/json/prometheus.rules.test.json @@ -40,21 +40,35 @@ "type": "object" }, "duration": { - "minLength": 1, - "pattern": "^([0-9]+y)?([0-9]+w)?([0-9]+d)?([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?$", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string", + "minLength": 1, + "pattern": "^([0-9]+y)?([0-9]+w)?([0-9]+d)?([0-9]+h)?([0-9]+m)?([0-9]+s)?([0-9]+ms)?$" + }, + { + "type": "null" + } + ] }, "label_value": { "type": "string" }, "labels": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z_][a-zA-Z0-9_]*$": { - "$ref": "#/definitions/label_value" + "anyOf": [ + { + "type": "object", + "patternProperties": { + "^[a-zA-Z_][a-zA-Z0-9_]*$": { + "$ref": "#/definitions/label_value" + } + }, + "additionalProperties": false + }, + { + "type": "null" } - }, - "type": ["object", "null"] + ] }, "promql_test_case": { "additionalProperties": false, @@ -72,7 +86,14 @@ }, "expr": { "description": "PromQL expression to evaluate", - "anyOf": [{ "type": "string" }, { "type": "integer" }] + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] } }, "required": ["expr", "eval_time"], @@ -157,14 +178,28 @@ "evaluation_interval": { "default": "1m", "description": "The evaluation interval for the tests. [duration] format.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "group_eval_order": { "description": "The order in which group names are listed below will be the order of evaluation of rule groups (at a given evaluation time).", - "items": { - "type": "string" - }, - "type": ["array", "null"] + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ] }, "rule_files": { "description": "List of rule files to consider for testing. Globs are supported.", diff --git a/src/schemas/json/pubspec.json b/src/schemas/json/pubspec.json index e1ff3a0fab3..12e4cb0b956 100644 --- a/src/schemas/json/pubspec.json +++ b/src/schemas/json/pubspec.json @@ -175,9 +175,16 @@ }, "homepage": { "description": "A URL pointing to the website for your package. [Learn more](https://dart.dev/tools/pub/pubspec#homepage)", - "type": ["string", "null"], - "format": "uri", - "examples": ["https://flutter.dev", "https://dart.dev/"] + "examples": ["https://flutter.dev", "https://dart.dev/"], + "anyOf": [ + { + "type": "string", + "format": "uri" + }, + { + "type": "null" + } + ] }, "repository": { "description": "The optional repository field should contain the URL for your package's source code repository. [Learn more](https://dart.dev/tools/pub/pubspec#repository)", @@ -333,7 +340,9 @@ }, "workspace": { "type": "array", - "items": { "type": "string" } + "items": { + "type": "string" + } }, "resolution": { "type": "string", @@ -350,167 +359,174 @@ }, "flutter": { "description": "Flutter-specific metadata. [Learn more.](https://docs.flutter.dev/tools/pubspec)", - "type": ["object", "null"], - "properties": { - "uses-material-design": { - "description": "Whether this project uses the Material Design package. Required if you use the Material icon font", - "type": "boolean", - "default": true - }, - "generate": { - "description": "Enables generation of localized strings from arb files", - "type": "boolean", - "default": false - }, - "assets": { - "description": "A list of directories or files that contain images or other assets. [Learn more.](https://flutter.dev/docs/development/ui/assets-and-images)", - "type": "array", - "items": { - "oneOf": [ - { - "description": "A directory or a file containing assets. A directory has a trailing slash. [Learn more.](https://flutter.dev/docs/development/ui/assets-and-images)", - "type": "string" + "anyOf": [ + { + "type": "object", + "properties": { + "uses-material-design": { + "description": "Whether this project uses the Material Design package. Required if you use the Material icon font", + "type": "boolean", + "default": true + }, + "generate": { + "description": "Enables generation of localized strings from arb files", + "type": "boolean", + "default": false + }, + "assets": { + "description": "A list of directories or files that contain images or other assets. [Learn more.](https://flutter.dev/docs/development/ui/assets-and-images)", + "type": "array", + "items": { + "oneOf": [ + { + "description": "A directory or a file containing assets. A directory has a trailing slash. [Learn more.](https://flutter.dev/docs/development/ui/assets-and-images)", + "type": "string" + }, + { + "type": "object", + "properties": { + "path": { + "type": "string", + "examples": ["images/", "postscript_tiger.svg"] + }, + "flavors": { + "title": "Asset Flavors", + "description": "A list of flavors that include the asset. [Learn more.](https://docs.flutter.dev/deployment/flavors#conditionally-bundling-assets-based-on-flavor)", + "type": "array", + "items": { + "description": "The name of the flavor", + "type": "string" + } + }, + "transformers": { + "title": "Asset Transformers", + "description": "A list of transformers to apply to the asset. [Learn more.](https://docs.flutter.dev/ui/assets/asset-transformation)", + "type": "array", + "items": { + "type": "object", + "properties": { + "package": { + "description": "A Dart command-line app that is invoked with dart run with at least two arguments: --input, which contains the path to the file to transform and --output, which is the location where the transformer code must write its output to", + "type": "string", + "examples": ["vector_graphics_compiler"] + }, + "args": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1, + "examples": [["--tessellate", "--font-size=14"]] + } + }, + "required": ["package"], + "examples": [] + }, + "examples": [ + [ + { + "package": "vector_graphics_compiler", + "args": ["--tessellate", "--font-size=14"] + } + ] + ] + }, + "platforms": { + "title": "Asset Platforms", + "description": "A list of platforms that include the asset. [Learn more.](https://docs.flutter.dev/tools/pubspec#assets)", + "type": "array", + "items": { + "type": "string", + "enum": [ + "android", + "ios", + "linux", + "macos", + "web", + "windows" + ] + } + } + }, + "required": ["path"], + "additionalProperties": false + } + ] }, - { + "examples": [ + ["images/", "fonts/"], + [ + "my_icon.png", + { + "path": "svg/", + "transformers": [ + { + "package": "vector_graphics_compiler", + "args": ["--tessellate", "--font-size=14"] + } + ] + } + ] + ] + }, + "fonts": { + "title": "Fonts", + "description": "A list of font families and their fonts. [Learn more.](https://docs.flutter.dev/cookbook/design/fonts#declare-the-font-in-the-pubspec-yaml-file)", + "type": "array", + "items": { "type": "object", "properties": { - "path": { - "type": "string", - "examples": ["images/", "postscript_tiger.svg"] + "family": { + "description": "The name of the typeface. You use this name in the `fontFamily` property of a `TextStyle` object.", + "type": "string" }, - "flavors": { - "title": "Asset Flavors", - "description": "A list of flavors that include the asset. [Learn more.](https://docs.flutter.dev/deployment/flavors#conditionally-bundling-assets-based-on-flavor)", - "type": "array", - "items": { - "description": "The name of the flavor", - "type": "string" - } - }, - "transformers": { - "title": "Asset Transformers", - "description": "A list of transformers to apply to the asset. [Learn more.](https://docs.flutter.dev/ui/assets/asset-transformation)", + "fonts": { "type": "array", + "minItems": 1, "items": { "type": "object", "properties": { - "package": { - "description": "A Dart command-line app that is invoked with dart run with at least two arguments: --input, which contains the path to the file to transform and --output, which is the location where the transformer code must write its output to", + "asset": { + "description": "The path to the font file. Flutter supports the following font formats: OpenType font collections: .ttc, TrueType fonts: .ttf, OpenType fonts: .otf. Flutter does not support fonts in the Web Open Font Format, .woff and .woff2, on desktop platforms.", "type": "string", - "examples": ["vector_graphics_compiler"] + "pattern": "^.+\\.(ttf|otf|ttc)$" }, - "args": { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1, - "examples": [["--tessellate", "--font-size=14"]] + "style": { + "description": "The style property specifies whether the glyphs in the font file display as either italic or normal. These values correspond to the FontStyle. You can use these styles in the fontStyle property of a TextStyle object. [Learn more.](https://docs.flutter.dev/cookbook/design/fonts#set-font-weight)", + "type": "string", + "enum": ["normal", "italic"] + }, + "weight": { + "description": "The weight property specifies the weight of the outlines in the file. These values correspond to the FontWeight and can be used in the fontWeight property of a TextStyle object. You can't use the weight property to override the weight of the font. [Learn more.](https://docs.flutter.dev/cookbook/design/fonts#specify-the-font-weight)", + "type": "integer", + "enum": [100, 200, 300, 400, 500, 600, 700, 800, 900] } }, - "required": ["package"], - "examples": [] - }, - "examples": [ - [ - { - "package": "vector_graphics_compiler", - "args": ["--tessellate", "--font-size=14"] - } - ] - ] - }, - "platforms": { - "title": "Asset Platforms", - "description": "A list of platforms that include the asset. [Learn more.](https://docs.flutter.dev/tools/pubspec#assets)", - "type": "array", - "items": { - "type": "string", - "enum": [ - "android", - "ios", - "linux", - "macos", - "web", - "windows" - ] + "required": ["asset"] } } }, - "required": ["path"], - "additionalProperties": false - } - ] - }, - "examples": [ - ["images/", "fonts/"], - [ - "my_icon.png", - { - "path": "svg/", - "transformers": [ - { - "package": "vector_graphics_compiler", - "args": ["--tessellate", "--font-size=14"] - } - ] - } - ] - ] - }, - "fonts": { - "title": "Fonts", - "description": "A list of font families and their fonts. [Learn more.](https://docs.flutter.dev/cookbook/design/fonts#declare-the-font-in-the-pubspec-yaml-file)", - "type": "array", - "items": { - "type": "object", - "properties": { - "family": { - "description": "The name of the typeface. You use this name in the `fontFamily` property of a `TextStyle` object.", - "type": "string" - }, - "fonts": { - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "properties": { - "asset": { - "description": "The path to the font file. Flutter supports the following font formats: OpenType font collections: .ttc, TrueType fonts: .ttf, OpenType fonts: .otf. Flutter does not support fonts in the Web Open Font Format, .woff and .woff2, on desktop platforms.", - "type": "string", - "pattern": "^.+\\.(ttf|otf|ttc)$" - }, - "style": { - "description": "The style property specifies whether the glyphs in the font file display as either italic or normal. These values correspond to the FontStyle. You can use these styles in the fontStyle property of a TextStyle object. [Learn more.](https://docs.flutter.dev/cookbook/design/fonts#set-font-weight)", - "type": "string", - "enum": ["normal", "italic"] - }, - "weight": { - "description": "The weight property specifies the weight of the outlines in the file. These values correspond to the FontWeight and can be used in the fontWeight property of a TextStyle object. You can't use the weight property to override the weight of the font. [Learn more.](https://docs.flutter.dev/cookbook/design/fonts#specify-the-font-weight)", - "type": "integer", - "enum": [100, 200, 300, 400, 500, 600, 700, 800, 900] - } - }, - "required": ["asset"] - } + "required": ["family", "fonts"] } }, - "required": ["family", "fonts"] + "shaders": { + "title": "Fragment Shaders", + "description": "Shaders, in the form of GLSL files with the .frag extension. The Flutter command-line tool compiles the shader to its appropriate backend format, and generates its necessary runtime metadata. The compiled shader is then included in the application just like an asset. [Learn more](https://docs.flutter.dev/ui/design/graphics/fragment-shaders#adding-shaders-to-an-application)", + "type": "array", + "items": { + "type": "string", + "description": "Path to a GLSL shader", + "pattern": "\\.frag$", + "examples": ["shaders/myshader.frag"] + }, + "examples": [["shaders/triangle.frag", "glsl/motion_blur.frag"]] + } } }, - "shaders": { - "title": "Fragment Shaders", - "description": "Shaders, in the form of GLSL files with the .frag extension. The Flutter command-line tool compiles the shader to its appropriate backend format, and generates its necessary runtime metadata. The compiled shader is then included in the application just like an asset. [Learn more](https://docs.flutter.dev/ui/design/graphics/fragment-shaders#adding-shaders-to-an-application)", - "type": "array", - "items": { - "type": "string", - "description": "Path to a GLSL shader", - "pattern": "\\.frag$", - "examples": ["shaders/myshader.frag"] - }, - "examples": [["shaders/triangle.frag", "glsl/motion_blur.frag"]] + { + "type": "null" } - } + ] } }, "required": ["name"], diff --git a/src/schemas/json/pulumi.json b/src/schemas/json/pulumi.json index 04f339e926a..693892c4563 100644 --- a/src/schemas/json/pulumi.json +++ b/src/schemas/json/pulumi.json @@ -85,19 +85,47 @@ }, "description": { "description": "Description of the project.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "author": { "description": "Author is an optional author that created this project.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "website": { "description": "Website is an optional website for additional info about this project.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "license": { "description": "License is the optional license governing this project's usage.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "runtime": { "title": "ProjectRuntimeInfo", @@ -127,104 +155,188 @@ }, "main": { "description": "Path to the Pulumi program. The default is the working directory.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "config": { "description": "A map of configuration keys to their types. Using config directory location relative to the location of Pulumi.yaml is a deprecated use of this key. Use stackConfigDir instead.", - "type": ["object", "null"], - "properties": { - "secret": { - "description": "If true this configuration value should be encrypted.", - "type": "boolean", - "default": false - } - }, - "additionalProperties": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "integer" - }, - { - "type": "boolean" - }, - { - "type": "array" + "anyOf": [ + { + "type": "object", + "properties": { + "secret": { + "description": "If true this configuration value should be encrypted.", + "type": "boolean", + "default": false + } }, - { - "$ref": "#/$defs/configTypeDeclaration" + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "boolean" + }, + { + "type": "array" + }, + { + "$ref": "#/$defs/configTypeDeclaration" + } + ] } - ] - } + }, + { + "type": "null" + } + ] }, "stackConfigDir": { "description": "Config directory location relative to the location of Pulumi.yaml.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "backend": { "description": "Backend of the project.", - "type": ["object", "null"], - "properties": { - "url": { - "description": "URL is optional field to explicitly set backend url", - "type": "string" + "anyOf": [ + { + "type": "object", + "properties": { + "url": { + "description": "URL is optional field to explicitly set backend url", + "type": "string" + } + }, + "additionalProperties": false + }, + { + "type": "null" } - }, - "additionalProperties": false + ] }, "options": { "description": "Additional project options.", - "type": ["object", "null"], - "properties": { - "refresh": { - "description": "Set to \"always\" to refresh the state before performing a Pulumi operation.", - "type": "string", - "const": "always" + "anyOf": [ + { + "type": "object", + "properties": { + "refresh": { + "description": "Set to \"always\" to refresh the state before performing a Pulumi operation.", + "type": "string", + "const": "always" + } + }, + "additionalProperties": false + }, + { + "type": "null" } - }, - "additionalProperties": false + ] }, "template": { "title": "ProjectTemplate", "description": "ProjectTemplate is a Pulumi project template manifest.", - "type": ["object", "null"], - "properties": { - "description": { - "description": "Description of the template.", - "type": ["string", "null"] - }, - "quickstart": { - "description": "Quickstart contains optional text to be displayed after template creation.", - "type": ["string", "null"] - }, - "important": { - "description": "Important indicates the template is important and should be listed by default.", - "type": ["boolean", "null"] - }, - "config": { - "description": "Config to apply to each stack in the project.", - "type": ["object", "null"], - "additionalProperties": { - "type": "object", - "properties": { - "description": { - "description": "Description of the config.", - "type": ["string", "null"] - }, - "default": { - "description": "Default value of the config." - }, - "secret": { - "description": "Boolean indicating if the configuration is labeled as a secret.", - "type": ["boolean", "null"] - } + "anyOf": [ + { + "type": "object", + "properties": { + "description": { + "description": "Description of the template.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "quickstart": { + "description": "Quickstart contains optional text to be displayed after template creation.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "important": { + "description": "Important indicates the template is important and should be listed by default.", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "config": { + "description": "Config to apply to each stack in the project.", + "anyOf": [ + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "description": { + "description": "Description of the config.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "default": { + "description": "Default value of the config." + }, + "secret": { + "description": "Boolean indicating if the configuration is labeled as a secret.", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + } + } + }, + { + "type": "null" + } + ] } - } + }, + "additionalProperties": false + }, + { + "type": "null" } - }, - "additionalProperties": false + ] }, "plugins": { "description": "Override for the plugin selection. Intended for use in developing pulumi plugins.", diff --git a/src/schemas/json/quikrun.json b/src/schemas/json/quikrun.json index fa144800d54..e4ed54369ac 100644 --- a/src/schemas/json/quikrun.json +++ b/src/schemas/json/quikrun.json @@ -63,9 +63,16 @@ "default": true }, "temp_dir": { - "type": ["string", "null"], "description": "Directory to store temporary execution files", - "default": null + "default": null, + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "cd_to_file_dir": { "type": "boolean", diff --git a/src/schemas/json/rumdl.json b/src/schemas/json/rumdl.json index e42bd213769..e900639e828 100644 --- a/src/schemas/json/rumdl.json +++ b/src/schemas/json/rumdl.json @@ -7,7 +7,14 @@ "properties": { "extends": { "description": "Path to a base config file to inherit settings from.\nSupports relative paths, absolute paths, `~/` for the home directory, and\n`$VAR` / `${VAR}` environment-variable expansion (a literal `$` is written `$$`).\nExample: `extends = \"../base.rumdl.toml\"` or `extends = \"$GEM_PATH/base.rumdl.toml\"`", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "global": { "$ref": "#/definitions/GlobalConfig", @@ -116,7 +123,14 @@ }, "output-format": { "description": "Output format for linting results (e.g., \"text\", \"json\", \"pylint\", etc.)", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "fixable": { "description": "Rules that are allowed to be fixed when --fix is used\nIf specified, only these rules will be fixed", @@ -147,7 +161,14 @@ }, "cache-dir": { "description": "Directory to store cache files (default: .rumdl_cache).\nA leading `~/` expands to the home directory; a relative path resolves\nagainst the project root.\nCan also be set via --cache-dir CLI flag or RUMDL_CACHE_DIR environment variable", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "cache": { "description": "Whether caching is enabled (default: true)\nCan also be disabled via --no-cache CLI flag", @@ -179,8 +200,15 @@ }, "LineLength": { "description": "A line length value that can be 0 (meaning no limit) or a positive value (≥1)\n\nMany configuration values for line length need to support both:\n- 0: Special value meaning \"no line length limit\"\n- ≥1: Actual line length limit\n\nThis type enforces those constraints at deserialization time.", - "type": ["integer", "null"], - "minimum": 0 + "anyOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "type": "null" + } + ] }, "MarkdownFlavor": { "description": "Markdown flavor/dialect. Accepts: standard, gfm, mkdocs, mdx, pandoc, quarto, obsidian, kramdown, azure_devops, myst, hugo, mdg, gh-aw (preview). Aliases: commonmark/github map to standard, qmd/rmd/rmarkdown map to quarto, jekyll maps to kramdown, azure/ado map to azure_devops, mystmd maps to myst, goldmark maps to hugo, markdown_with_gherkin maps to mdg.", diff --git a/src/schemas/json/solarxy-config.json b/src/schemas/json/solarxy-config.json index 77fc1a8e263..018701016ef 100644 --- a/src/schemas/json/solarxy-config.json +++ b/src/schemas/json/solarxy-config.json @@ -12,22 +12,22 @@ "properties": { "default": { "default": 30000, - "minimum": 0.0, + "minimum": 0, "type": "integer" }, "environment": { "default": 50000, - "minimum": 0.0, + "minimum": 0, "type": "integer" }, "hero": { "default": 100000, - "minimum": 0.0, + "minimum": 0, "type": "integer" }, "prop": { "default": 20000, - "minimum": 0.0, + "minimum": 0, "type": "integer" } }, @@ -66,7 +66,14 @@ "sidecar_dir": { "default": null, "description": "Override location of the `.solarxy-review.json` sidecar. `None` (default) ⇒ sibling to the model file. Relative paths are resolved against the model's parent directory (so `\".solarxy\"` produces `/.solarxy/.solarxy-review.json`). Absolute paths are used as-is.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } }, "type": "object" @@ -121,7 +128,7 @@ "type": "number" }, "triangle_budget_tolerance_percent": { - "default": 20.0, + "default": 20, "type": "number" } }, @@ -154,7 +161,7 @@ }, "format_version": { "default": 1, - "minimum": 0.0, + "minimum": 0, "type": "integer" }, "review": { @@ -175,7 +182,7 @@ ], "default": { "flipped_normal_dot": -0.5, - "triangle_budget_tolerance_percent": 20.0 + "triangle_budget_tolerance_percent": 20 } }, "validation": { diff --git a/src/schemas/json/tfpowershell-datasource.json b/src/schemas/json/tfpowershell-datasource.json index 4c45babe522..5f2198ae1b3 100644 --- a/src/schemas/json/tfpowershell-datasource.json +++ b/src/schemas/json/tfpowershell-datasource.json @@ -306,7 +306,14 @@ "type": "object", "properties": { "default": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } } } @@ -326,7 +333,14 @@ "type": "object", "properties": { "default": { - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] } } } @@ -346,7 +360,14 @@ "type": "object", "properties": { "default": { - "type": ["integer", "null"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] } } } @@ -366,7 +387,14 @@ "type": "object", "properties": { "default": { - "type": ["number", "null"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] } } } @@ -386,7 +414,14 @@ "type": "object", "properties": { "default": { - "type": ["object", "null"] + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ] } } } @@ -406,7 +441,14 @@ "type": "object", "properties": { "default": { - "type": ["array", "null"] + "anyOf": [ + { + "type": "array" + }, + { + "type": "null" + } + ] } } } diff --git a/src/schemas/json/tfpowershell-provider.json b/src/schemas/json/tfpowershell-provider.json index cfa2449db18..d3a580e23ff 100644 --- a/src/schemas/json/tfpowershell-provider.json +++ b/src/schemas/json/tfpowershell-provider.json @@ -309,7 +309,14 @@ "type": "object", "properties": { "default": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } } } @@ -329,7 +336,14 @@ "type": "object", "properties": { "default": { - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] } } } @@ -349,7 +363,14 @@ "type": "object", "properties": { "default": { - "type": ["integer", "null"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] } } } @@ -369,7 +390,14 @@ "type": "object", "properties": { "default": { - "type": ["number", "null"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] } } } @@ -389,7 +417,14 @@ "type": "object", "properties": { "default": { - "type": ["object", "null"] + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ] } } } @@ -409,7 +444,14 @@ "type": "object", "properties": { "default": { - "type": ["array", "null"] + "anyOf": [ + { + "type": "array" + }, + { + "type": "null" + } + ] } } } diff --git a/src/schemas/json/tfpowershell-resource.json b/src/schemas/json/tfpowershell-resource.json index a63a5690ecb..a0fcc70e8fc 100644 --- a/src/schemas/json/tfpowershell-resource.json +++ b/src/schemas/json/tfpowershell-resource.json @@ -339,7 +339,14 @@ "type": "object", "properties": { "default": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } } } @@ -359,7 +366,14 @@ "type": "object", "properties": { "default": { - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] } } } @@ -379,7 +393,14 @@ "type": "object", "properties": { "default": { - "type": ["integer", "null"] + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] } } } @@ -399,7 +420,14 @@ "type": "object", "properties": { "default": { - "type": ["number", "null"] + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] } } } @@ -419,7 +447,14 @@ "type": "object", "properties": { "default": { - "type": ["object", "null"] + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ] } } } @@ -439,7 +474,14 @@ "type": "object", "properties": { "default": { - "type": ["array", "null"] + "anyOf": [ + { + "type": "array" + }, + { + "type": "null" + } + ] } } } diff --git a/src/schemas/json/tizen_workspace.json b/src/schemas/json/tizen_workspace.json index 0030c6b3a75..e0647fe9fd5 100644 --- a/src/schemas/json/tizen_workspace.json +++ b/src/schemas/json/tizen_workspace.json @@ -79,7 +79,14 @@ "pattern": "^((?:.?[0-9]+){3,}(?:[-a-z]+)?)$" }, "working_folder": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "chrome_path": { "type": "string" diff --git a/src/schemas/json/tombi.json b/src/schemas/json/tombi.json index 98dca83e403..46f82b080c6 100644 --- a/src/schemas/json/tombi.json +++ b/src/schemas/json/tombi.json @@ -70,17 +70,31 @@ }, "schemas": { "title": "Schema items", - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/SchemaItem" - } + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SchemaItem" + } + }, + { + "type": "null" + } + ] }, "overrides": { "title": "Override config items", - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/OverrideItem" - } + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/OverrideItem" + } + }, + { + "type": "null" + } + ] }, "extensions": { "anyOf": [ @@ -118,20 +132,34 @@ "include": { "title": "File patterns to include", "description": "The file match pattern to include in formatting and linting.\nSupports glob pattern.", - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/GlobPattern" - }, - "minItems": 1, - "default": ["**/*.toml"] + "default": ["**/*.toml"], + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GlobPattern" + }, + "minItems": 1 + }, + { + "type": "null" + } + ] }, "exclude": { "title": "File patterns to exclude", "description": "The file match pattern to exclude from formatting and linting.\nSupports glob pattern.", - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/GlobPattern" - } + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GlobPattern" + } + }, + { + "type": "null" + } + ] }, "respect-ignore-files": { "title": "Respect repository ignore files", @@ -259,14 +287,28 @@ "indent-sub-tables": { "title": "Whether to indent the sub-tables", "description": "If `true`, the sub-table will be indented.\n\n```toml\n[table]\n [table.sub-table]\n key = \"value\"\n# ^^ <- this\n```", - "type": ["boolean", "null"], - "default": false + "default": false, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "indent-table-key-value-pairs": { "title": "Whether to indent the table key-value pairs", "description": "If `true`, the table key-value pairs will be indented.\n\n```toml\n[table]\n key = \"value\"\n# ^^ <- this\n```", - "type": ["boolean", "null"], - "default": false + "default": false, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "indent-width": { "title": "The number of spaces per indentation level", @@ -310,8 +352,15 @@ "key-value-equals-sign-alignment": { "title": "Whether to align the equals sign in the key-value pairs.", "description": "If `true`, the equals sign in the key-value pairs will be aligned.\n\n⚠️ **WARNING** ⚠️\\\nThis feature does **not** apply to key-value pairs inside single line inline tables.\n\n```toml\n# BEFORE\nkey = \"value1\"\nkey2 = \"value2\"\nkey3.key4 = \"value3\"\n\n# AFTER\nkey = \"value1\"\nkey2 = \"value2\"\nkey3.key4 = \"value3\"\n```", - "type": ["boolean", "null"], - "default": false + "default": false, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "key-quote-style": { "title": "The preferred quote character for keys", @@ -342,8 +391,15 @@ "trailing-comment-alignment": { "title": "Whether to align the trailing comments in the key-value pairs.", "description": "If `true`, the trailing comments in value/key-value pairs will be aligned.\n\n**📝 NOTE 📝**\\\nThe trailing comments of table header are not targeted by alignment.\n\n```toml\n# BEFORE\nkey = \"value1\" # comment 1\nkey2 = \"value2\" # comment 2\nkey3.key4 = \"value3\" # comment 3\n\n# AFTER\nkey = \"value1\" # comment 1\nkey2 = \"value2\" # comment 2\nkey3.key4 = \"value3\" # comment 3\n```", - "type": ["boolean", "null"], - "default": false + "default": false, + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "key-value-equals-sign-space-width": { "title": "The number of spaces around the equals sign in a key-value pair.", @@ -958,13 +1014,20 @@ "paths": { "title": "The schema catalog path/url array", "description": "The catalog is evaluated after the schemas specified by [[schemas]].\\\nSchemas are loaded in order from the beginning of the catalog list.", - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/SchemaCatalogPath" - }, "default": [ "tombi://www.schemastore.org/api/json/catalog.json", "https://www.schemastore.org/api/json/catalog.json" + ], + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SchemaCatalogPath" + } + }, + { + "type": "null" + } ] } }, @@ -1027,10 +1090,17 @@ "exclude": { "title": "The file match pattern to exclude the schema", "description": "The file match pattern to exclude the target from applying the schema.\nSupports glob pattern.", - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/GlobPattern" - } + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GlobPattern" + } + }, + { + "type": "null" + } + ] }, "strict": { "title": "Enable strict schema validation", @@ -1068,10 +1138,17 @@ }, "overrides": { "title": "Schema-specific overrides", - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/SchemaOverrideItem" - } + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SchemaOverrideItem" + } + }, + { + "type": "null" + } + ] } }, "additionalProperties": false, @@ -1392,10 +1469,17 @@ "exclude": { "title": "The file match pattern to exclude the sub schema", "description": "The file match pattern to exclude the target from applying the sub schema.\nSupports glob pattern.", - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/GlobPattern" - } + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GlobPattern" + } + }, + { + "type": "null" + } + ] }, "strict": { "title": "Enable strict schema validation", @@ -1433,10 +1517,17 @@ }, "overrides": { "title": "Schema-specific overrides", - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/SchemaOverrideItem" - } + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SchemaOverrideItem" + } + }, + { + "type": "null" + } + ] } }, "additionalProperties": false, @@ -1498,10 +1589,17 @@ "exclude": { "title": "File patterns to exclude", "description": "The file match pattern to exclude from formatting and linting.\nSupports glob pattern.", - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/GlobPattern" - } + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GlobPattern" + } + }, + { + "type": "null" + } + ] } }, "additionalProperties": false, diff --git a/src/schemas/json/ty.json b/src/schemas/json/ty.json index 19bbd549e1c..909f2667479 100644 --- a/src/schemas/json/ty.json +++ b/src/schemas/json/ty.json @@ -75,29 +75,64 @@ "properties": { "allowed-unresolved-imports": { "description": "A list of module glob patterns for which `unresolved-import` diagnostics should be suppressed.\n\nDetails on supported glob patterns:\n- `*` matches zero or more characters except `.`. For example, `foo.*` matches `foo.bar` but\n not `foo.bar.baz`; `foo*` matches `foo` and `foobar` but not `foo.bar` or `barfoo`; and `*foo`\n matches `foo` and `barfoo` but not `foo.bar` or `foobar`.\n- `**` matches any number of module components (e.g., `foo.**` matches `foo`, `foo.bar`, etc.)\n- Prefix a pattern with `!` to exclude matching modules\n\nWhen multiple patterns match, later entries take precedence.\n\nGlob patterns can be used in combinations with each other. For example, to suppress errors for\nany module where the first component contains the substring `test`, use `*test*.**`.", - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/string" - } + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/string" + } + }, + { + "type": "null" + } + ] }, "replace-imports-with-any": { "description": "A list of module glob patterns whose imports should be replaced with `typing.Any`.\n\nUnlike `allowed-unresolved-imports`, this setting replaces the module's type information\nwith `typing.Any` even if the module can be resolved. Import diagnostics are\nunconditionally suppressed for matching modules.\n\n- Prefix a pattern with `!` to exclude matching modules\n\nWhen multiple patterns match, later entries take precedence.\n\nGlob patterns can be used in combinations with each other. For example, to suppress errors for\nany module where the first component contains the substring `test`, use `*test*.**`.\n\nWhen multiple patterns match, later entries take precedence.", - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/string" - } + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/string" + } + }, + { + "type": "null" + } + ] }, "respect-type-ignore-comments": { "description": "Whether ty should respect `type: ignore` comments.\n\nWhen set to `false`, `type: ignore` comments are treated like any other normal\ncomment and can't be used to suppress ty errors (you have to use `ty: ignore` instead).\n\nSetting this option can be useful when using ty alongside other type checkers or when\nyou prefer using `ty: ignore` over `type: ignore`.\n\nDefaults to `true`.", - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "strict-equality-semantics": { "description": "Configure ty's behavior regarding type inference and narrowing of equality\nchecks. Defaults to `false`.\n\nBy default, ty makes various assumptions about equality checks that match the\nintuitions of most Python programmers, but may not be fully sound in all situations.\nEnabling this option makes ty more conservative about these assumptions, making it\nless likely to infer `Literal[True]` or `Literal[False]` as the result of an\nequality check. This has various effects on type checking, including fewer type\nnarrowing opportunities and more conservative assumptions regarding control flow.\n\nOne way in which ty will by default make unsound assumptions is by narrowing an\nobject `x` of type `str` to `Literal[\"a\"]` after an `if x == \"a\"` check. This is\nunsound because a subclass of `str` with value `\"a\"` will (by default) compare equal\nto `\"a\"`, but will not be of type `Literal[\"a\"]`:\n\n```pycon\n>>> # `Literal[\"a\"]` can only be inhabited by instances of exactly `str`, not\n>>> # subclasses, but str subclasses compare equal by default:\n>>> class StringSubclass(str): ...\n...\n>>> StringSubclass(\"a\") == \"a\"\nTrue\n>>>\n>>> # This also applies to `StrEnum`s:\n>>> from enum import StrEnum\n>>> class MyEnum(StrEnum):\n... A = \"a\"\n...\n>>> MyEnum.A == \"a\"\nTrue\n```\n\nEnabling this option prevents the unsound narrowing of `x` to `Literal[\"a\"]`,\nand instead keeps it as `str`:\n\n```python\nfrom typing import Literal\n\ndef parse(value: str) -> Literal[\"a\"] | None:\n # with `strict-equality-semantics = true`, no narrowing will occur here,\n # and an error will be emitted on the `return` statement.\n if value == \"a\":\n return value\n return None\n```\n\nAnother assumption ty makes by default is that subclasses will never override `__eq__` or\n`__ne__`. This allows ty to narrow the following union based on an equality check, despite\nthe fact that an instance of a subclass of `Foo` could compare equal to `None`, and it's\nperfectly valid to pass an instance of a subclass into the `x` parameter of this function:\n\n```python\ndef narrow(x: Foo | None, other: Foo) -> None:\n if x == other:\n # with this option enabled, `x` will still have type `Foo | None` here,\n # since it is legal to subclass `Foo` and override its `__eq__` method.\n reveal_type(x)\n```\n\nMany operations in Python implicitly call `__eq__` under the hood; enabling this option\nwill also impact those operations. For example, this option will also impact narrowing from\n`in` checks, and narrowing in `match` statements that use value patterns:\n\n```python\ndef narrow_in(x: Foo | None, other: list[Foo]) -> None:\n if x in other:\n # with this option enabled, `x` will still have type `Foo | None` here,\n # since the `in` operator implicitly calls `__eq__` on each element of `other`.\n reveal_type(x)\n\n\ndef narrow_match(x: str) -> None:\n match x:\n case \"a\":\n # with this option enabled, `x` will still have type `str` here,\n # since this `case` branch will be taken by any object that compares\n # equal to `\"a\"`, including subclasses of `str`.\n reveal_type(x)\n```", - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "strict-generic-narrowing": { "description": "Whether ty should use strict narrowing for unspecialized generic classes in\n`isinstance()` and `issubclass()` checks, as well as `match` class patterns.\n\nWhen enabled, ty narrows to the top materialization of the class. For example,\n`isinstance(value, list)` narrows a value of type `object` to `Top[list[Unknown]]`,\nrepresenting the (infinite) union of all possible `list` specializations. Iterating\nover the list would yield values of type `object`.\n\nWhen disabled, ty uses gradual generic narrowing, preserving compatible type\narguments from the original type where possible. For example,\n`isinstance(value, list)` narrows a value of type `Sequence[int]` to `list[int]`.\nIf no specialization is available, the same check narrows a value of type `object`\nto `list[Unknown]`; items of any type can then be appended to the list. Class\npatterns such as `case list():` follow the same behavior.\n\nDefaults to `false`.", - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] } }, "additionalProperties": false @@ -113,10 +148,17 @@ "properties": { "extra-paths": { "description": "User-provided paths that should take first priority in module resolution.\n\nThis is an advanced option that should usually only be used for first-party or third-party\nmodules that are not installed into your Python environment in a conventional way.\nUse the `python` option to specify the location of your Python environment.\n\nThis option is similar to mypy's `MYPYPATH` environment variable and pyright's `stubPath`\nconfiguration setting.", - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/RelativePathBuf" - } + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RelativePathBuf" + } + }, + { + "type": "null" + } + ] }, "python": { "description": "Path to your project's Python environment or interpreter.\n\nty uses the `site-packages` directory of your project's Python environment\nto resolve third-party (and, in some cases, first-party) imports in your code.\n\nThis can be a path to:\n\n- A Python interpreter, e.g. `.venv/bin/python3`\n- A virtual environment directory, e.g. `.venv`\n- A system Python [`sys.prefix`] directory, e.g. `/usr`\n\nIf you're using a project management tool such as uv, you should not generally need to\nspecify this option, as commands such as `uv run` will set the `VIRTUAL_ENV` environment\nvariable to point to your project's virtual environment. ty can also infer the location of\nyour environment from an activated Conda environment, and will look for a `.venv` directory\nin the project root if none of the above apply. Failing that, ty will look for a `python3`\nor `python` binary available in `PATH`.\n\n[`sys.prefix`]: https://docs.python.org/3/library/sys.html#sys.prefix", @@ -153,10 +195,17 @@ }, "root": { "description": "The root paths of the project, used for finding first-party modules.\n\nAccepts a list of directory paths searched in priority order (first has highest priority).\n\nIf left unspecified, ty will try to detect common project layouts and initialize `root` accordingly.\nThe project root (`.`) is always included. Additionally, the following directories are included\nif they exist and are not packages (i.e. they do not contain `__init__.py` or `__init__.pyi` files):\n\n* `./src`\n* `./` (if a `.//` directory exists)\n* `./python`", - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/RelativePathBuf" - } + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RelativePathBuf" + } + }, + { + "type": "null" + } + ] }, "typeshed": { "description": "Optional path to a \"typeshed\" directory on disk for us to use for standard-library types.\nIf this is not provided, we will fallback to our vendored typeshed stubs for the stdlib,\nbundled as a zip file in the binary", @@ -1575,7 +1624,14 @@ }, "exclude-scripts": { "description": "Whether to exclude files containing PEP 723 inline script metadata unless they are\nexplicitly passed on the command line.", - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "include": { "description": "A list of files and directories to check. The `include` option\nfollows a similar syntax to `.gitignore` but reversed:\nIncluding a file or directory will make it so that it (and its contents)\nare type checked.\n\n- `./src/` matches only a directory\n- `./src` matches both files and directories\n- `src` matches a file or directory named `src`\n- `*` matches any (possibly empty) sequence of characters (except `/`).\n- `**` matches zero or more path components.\n This sequence **must** form a single path component, so both `**a` and `b**` are invalid and will result in an error.\n A sequence of more than two consecutive `*` characters is also invalid.\n- `?` matches any single character except `/`\n- `[abc]` matches any character inside the brackets. Character sequences can also specify ranges of characters, as ordered by Unicode,\n so e.g. `[0-9]` specifies any character between `0` and `9` inclusive. An unclosed bracket is invalid.\n\nAll paths are anchored relative to the project root (`src` only\nmatches `/src` and not `/test/src`).\n\n`exclude` takes precedence over `include`.", @@ -1590,7 +1646,14 @@ }, "respect-ignore-files": { "description": "Whether to automatically exclude files that are ignored by `.ignore`,\n`.gitignore`, `.git/info/exclude`, and global `gitignore` files.\nEnabled by default.", - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] } }, "additionalProperties": false @@ -1654,7 +1717,14 @@ "properties": { "error-on-warning": { "description": "Use exit code 1, even if all diagnostics only had `warning` severity.\n\nDefaults to `true`.", - "type": ["boolean", "null"] + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] }, "output-format": { "description": "The format to use for printing diagnostic messages.\n\nDefaults to `full`.", diff --git a/src/schemas/json/vespertide-migration.json b/src/schemas/json/vespertide-migration.json index 9b2da433a6d..d0538fa8f0a 100644 --- a/src/schemas/json/vespertide-migration.json +++ b/src/schemas/json/vespertide-migration.json @@ -6,7 +6,14 @@ "type": "object", "properties": { "comment": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "default": { "anyOf": [ @@ -293,7 +300,14 @@ }, "fill_with": { "description": "Optional fill value to backfill existing rows when adding NOT NULL without default.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "table": { "type": "string" @@ -367,7 +381,14 @@ }, "fill_with": { "description": "Required when changing from nullable to non-nullable to backfill existing NULL values.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "nullable": { "type": "boolean" @@ -390,7 +411,14 @@ }, "new_default": { "description": "The new default value, or None to remove the default.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "table": { "type": "string" @@ -410,7 +438,14 @@ }, "new_comment": { "description": "The new comment, or None to remove the comment.", - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "table": { "type": "string" @@ -595,7 +630,14 @@ } }, "name": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "type": { "type": "string", @@ -614,7 +656,14 @@ } }, "name": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "on_delete": { "anyOf": [ @@ -678,7 +727,14 @@ } }, "name": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "type": { "type": "string", @@ -700,11 +756,25 @@ } }, "comment": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "created_at": { - "type": ["string", "null"], - "default": null + "default": null, + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "version": { "type": "integer", diff --git a/src/schemas/json/vespertide-model.json b/src/schemas/json/vespertide-model.json index 732621a76c5..95bb59cbca2 100644 --- a/src/schemas/json/vespertide-model.json +++ b/src/schemas/json/vespertide-model.json @@ -6,7 +6,14 @@ "type": "object", "properties": { "comment": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "default": { "anyOf": [ @@ -355,7 +362,14 @@ } }, "name": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "type": { "type": "string", @@ -374,7 +388,14 @@ } }, "name": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "on_delete": { "anyOf": [ @@ -438,7 +459,14 @@ } }, "name": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "type": { "type": "string", @@ -466,7 +494,14 @@ } }, "description": { - "type": ["string", "null"] + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] }, "name": { "type": "string" diff --git a/src/schemas/json/winget-pkgs-locale-1.0.0.json b/src/schemas/json/winget-pkgs-locale-1.0.0.json index 70869f9b23c..7d76b55bc83 100644 --- a/src/schemas/json/winget-pkgs-locale-1.0.0.json +++ b/src/schemas/json/winget-pkgs-locale-1.0.0.json @@ -3,16 +3,30 @@ "$id": "https://aka.ms/winget-manifest.locale.1.0.0.schema.json", "definitions": { "Url": { - "type": ["string", "null"], - "pattern": "^([Hh][Tt][Tt][Pp][Ss]?)://.+$", - "maxLength": 2000, - "description": "Optional Url type" + "description": "Optional Url type", + "anyOf": [ + { + "type": "string", + "maxLength": 2000, + "pattern": "^([Hh][Tt][Tt][Pp][Ss]?)://.+$" + }, + { + "type": "null" + } + ] }, "Tag": { - "type": ["string", "null"], - "minLength": 1, - "maxLength": 40, - "description": "Package moniker or tag" + "description": "Package moniker or tag", + "anyOf": [ + { + "type": "string", + "minLength": 1, + "maxLength": 40 + }, + { + "type": "null" + } + ] } }, "description": "A representation of a multiple-file manifest representing app metadata in other locale in the OWC. v1.0.0", @@ -36,10 +50,17 @@ "description": "The package meta-data locale" }, "Publisher": { - "type": ["string", "null"], - "minLength": 2, - "maxLength": 256, - "description": "The publisher name" + "description": "The publisher name", + "anyOf": [ + { + "type": "string", + "minLength": 2, + "maxLength": 256 + }, + { + "type": "null" + } + ] }, "PublisherUrl": { "$ref": "#/definitions/Url", @@ -54,65 +75,114 @@ "description": "The publisher privacy page or the package privacy page" }, "Author": { - "type": ["string", "null"], - "minLength": 2, - "maxLength": 256, - "description": "The package author" + "description": "The package author", + "anyOf": [ + { + "type": "string", + "minLength": 2, + "maxLength": 256 + }, + { + "type": "null" + } + ] }, "PackageName": { - "type": ["string", "null"], - "minLength": 2, - "maxLength": 256, - "description": "The package name" + "description": "The package name", + "anyOf": [ + { + "type": "string", + "minLength": 2, + "maxLength": 256 + }, + { + "type": "null" + } + ] }, "PackageUrl": { "$ref": "#/definitions/Url", "description": "The package home page" }, "License": { - "type": ["string", "null"], - "minLength": 3, - "maxLength": 512, - "description": "The package license" + "description": "The package license", + "anyOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 512 + }, + { + "type": "null" + } + ] }, "LicenseUrl": { "$ref": "#/definitions/Url", "description": "The license page" }, "Copyright": { - "type": ["string", "null"], - "minLength": 3, - "maxLength": 512, - "description": "The package copyright" + "description": "The package copyright", + "anyOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 512 + }, + { + "type": "null" + } + ] }, "CopyrightUrl": { "$ref": "#/definitions/Url", "description": "The package copyright page" }, "ShortDescription": { - "type": ["string", "null"], - "minLength": 3, - "maxLength": 256, - "description": "The short package description" + "description": "The short package description", + "anyOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 256 + }, + { + "type": "null" + } + ] }, "Description": { - "type": ["string", "null"], - "minLength": 3, - "maxLength": 10000, - "description": "The full package description" + "description": "The full package description", + "anyOf": [ + { + "type": "string", + "minLength": 3, + "maxLength": 10000 + }, + { + "type": "null" + } + ] }, "Moniker": { "$ref": "#/definitions/Tag", "description": "The most common package term" }, "Tags": { - "type": ["array", "null"], - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 16, - "uniqueItems": true, - "description": "List of additional package search terms" + "description": "List of additional package search terms", + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 16, + "uniqueItems": true + }, + { + "type": "null" + } + ] }, "ManifestType": { "type": "string",