{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "assigned-lens", "producer-run-id", "context-package-ref", "context-package-sha256", "competitors-and-substitutes", "current-alternatives", "strengths-weaknesses", "differentiation-hypotheses", "evidence-urls" ], "properties": { "assigned-lens": {"const": "LENS-REVENUE"}, "producer-run-id": {"type": "string", "minLength": 1}, "context-package-ref": {"type": "string", "minLength": 1}, "context-package-sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}, "competitors-and-substitutes": { "type": "array", "minItems": 2, "items": { "type": "object", "required": ["name", "type", "evidence-urls"], "properties": { "name": {"type": "string", "minLength": 1}, "type": {"enum": ["competitor", "substitute"]}, "evidence-urls": {"type": "array", "minItems": 1, "items": {"type": "string", "pattern": "^https?://"}} } } }, "current-alternatives": {"type": "array", "minItems": 1}, "strengths-weaknesses": { "type": "array", "minItems": 1, "items": { "type": "object", "required": ["subject", "strengths", "weaknesses"], "properties": { "subject": {"type": "string", "minLength": 1}, "strengths": {"type": "array", "minItems": 1}, "weaknesses": {"type": "array", "minItems": 1} } } }, "differentiation-hypotheses": {"type": "array", "minItems": 1}, "evidence-urls": { "type": "array", "minItems": 2, "uniqueItems": true, "items": {"type": "string", "pattern": "^https?://"} } }, "allOf": [ {"properties": {"competitors-and-substitutes": {"contains": {"type": "object", "properties": {"type": {"const": "competitor"}}, "required": ["type"]}}}}, {"properties": {"competitors-and-substitutes": {"contains": {"type": "object", "properties": {"type": {"const": "substitute"}}, "required": ["type"]}}}} ] }