removedInput schema / properties / rule / properties / actions / items / anyOf
Removed value: -[
- {
- "properties": {
- "targets": {
- "items": {
- "anyOf": [
- {
- "properties": {
- "questionId": {
- "description": "Any element with isHidden (question/paragraph/header/image/embed/list-item/table/row/column). Name kept for back-compat.",
- "type": "string"
- },
- "scope": {
- "const": "question",
- "type": "string"
- }
- },
- "required": [
- "scope",
- "questionId"
- ],
- "type": "object"
- },
- {
- "properties": {
- "optionId": {
- "type": "string"
- },
- "questionId": {
- "type": "string"
- },
- "scope": {
- "const": "option",
- "type": "string"
- }
- },
- "required": [
- "scope",
- "questionId",
- "optionId"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "type": {
- "enum": [
- "show",
- "hide"
- ],
- "type": "string"
- }
- },
- "required": [
- "type",
- "targets"
- ],
- "type": "object"
- },
- {
- "properties": {
- "questionIds": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "type": {
- "enum": [
- "require",
- "optional"
- ],
- "type": "string"
- }
- },
- "required": [
- "type",
- "questionIds"
- ],
- "type": "object"
- },
- {
- "properties": {
- "pageId": {
- "type": "string"
- },
- "type": {
- "const": "setNextPage",
- "type": "string"
- }
- },
- "required": [
- "type",
- "pageId"
- ],
- "type": "object"
- },
- {
- "properties": {
- "message": {
- "type": "string"
- },
- "type": {
- "const": "preventNextPageNavigation",
- "type": "string"
- }
- },
- "required": [
- "type"
- ],
- "type": "object"
- },
- {
- "properties": {
- "message": {
- "type": "string"
- },
- "type": {
- "const": "preventFormSubmit",
- "type": "string"
- }
- },
- "required": [
- "type"
- ],
- "type": "object"
- },
- {
- "properties": {
- "fieldId": {
- "description": "Target field id to mutate. Pass the nodeId of a calculated-field element (hidden-field targets are rejected).",
- "type": "string"
- },
- "operation": {
- "properties": {
- "op": {
- "description": "Number fields: add/subtract/multiply/divide/set/reset (use set, never assign, for the first step of a numeric chain). Text fields: assign/concatenate/prepend/reset. Divide by literal 0 is rejected; empty, non-numeric, or zero fieldRef divisors are runtime no-ops.",
- "enum": [
- "add",
- "subtract",
- "multiply",
- "divide",
- "set",
- "reset",
- "assign",
- "concatenate",
- "prepend"
- ],
- "type": "string"
- },
- "value": {
- "anyOf": [
- {
- "properties": {
- "kind": {
- "const": "literal",
- "type": "string"
- },
- "value": {}
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "properties": {
- "fieldId": {
- "type": "string"
- },
- "kind": {
- "const": "fieldRef",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "fieldId"
- ],
- "type": "object"
- }
- ],
- "description": "Omit for reset."
- }
- },
- "required": [
- "op"
- ],
- "type": "object"
- },
- "type": {
- "const": "calculateValue",
- "type": "string"
- }
- },
- "required": [
- "type",
- "fieldId",
- "operation"
- ],
- "type": "object"
- },
- {
- "properties": {
- "inputId": {
- "description": "Target payment input id — the nodeId of a payment-input element (not the question id).",
- "type": "string"
- },
- "op": {
- "description": "How to apply value (default 'set'): 'set' replaces the amount; 'increase'/'decrease' adjust the configured base price. Adjustments stack across rules in document order and clamp at 0.",
- "enum": [
- "set",
- "increase",
- "decrease"
- ],
- "type": "string"
- },
- "type": {
- "const": "setPaymentAmount",
- "type": "string"
- },
- "value": {
- "anyOf": [
- {
- "properties": {
- "kind": {
- "const": "literal",
- "type": "string"
- },
- "value": {}
- },
- "required": [
- "kind",
- "value"
- ],
- "type": "object"
- },
- {
- "properties": {
- "fieldId": {
- "type": "string"
- },
- "kind": {
- "const": "fieldRef",
- "type": "string"
- }
- },
- "required": [
- "kind",
- "fieldId"
- ],
- "type": "object"
- }
- ],
- "description": "Amount: a literal number, or a fieldRef to a field / calculated value. For increase/decrease this is the delta."
- }
- },
- "required": [
- "type",
- "inputId",
- "value"
- ],
- "type": "object"
- }
-]
addedInput schema / properties / rule / properties / actions / items / oneOf
Added value: +[
+ {
+ "properties": {
+ "targets": {
+ "items": {
+ "oneOf": [
+ {
+ "properties": {
+ "questionId": {
+ "description": "Any element with isHidden (question/paragraph/header/image/embed/list-item/table/row/column). Name kept for back-compat.",
+ "type": "string"
+ },
+ "scope": {
+ "const": "question",
+ "type": "string"
+ }
+ },
+ "required": [
+ "scope",
+ "questionId"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "optionId": {
+ "type": "string"
+ },
+ "questionId": {
+ "type": "string"
+ },
+ "scope": {
+ "const": "option",
+ "type": "string"
+ }
+ },
+ "required": [
+ "scope",
+ "questionId",
+ "optionId"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "type": {
+ "enum": [
+ "show",
+ "hide"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "targets"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "questionIds": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": {
+ "enum": [
+ "require",
+ "optional"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "questionIds"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "pageId": {
+ "type": "string"
+ },
+ "type": {
+ "const": "setNextPage",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "pageId"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "message": {
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "preventNextPageNavigation",
+ "preventFormSubmit"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "fieldId": {
+ "description": "Target field id to mutate. Pass the nodeId of a calculated-field element (hidden-field targets are rejected).",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Number fields: add/subtract/multiply/divide/set/reset (use set, never assign, for the first step of a numeric chain). Text fields: assign/concatenate/prepend/reset. Divide: literal 0 is rejected; a 0, empty or non-numeric fieldRef skips the step.",
+ "oneOf": [
+ {
+ "properties": {
+ "op": {
+ "const": "reset",
+ "type": "string"
+ }
+ },
+ "required": [
+ "op"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "op": {
+ "enum": [
+ "add",
+ "subtract",
+ "multiply",
+ "divide",
+ "set",
+ "assign",
+ "concatenate",
+ "prepend"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "oneOf": [
+ {
+ "properties": {
+ "kind": {
+ "const": "literal",
+ "type": "string"
+ },
+ "value": {
+ "type": [
+ "number",
+ "string",
+ "boolean"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "fieldId": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "fieldRef",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "fieldId"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "op",
+ "value"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": {
+ "const": "calculateValue",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "fieldId",
+ "operation"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "inputId": {
+ "description": "Target payment input id — the nodeId of a payment-input element (not the question id).",
+ "type": "string"
+ },
+ "op": {
+ "description": "How to apply value (default 'set'): 'set' replaces the amount; 'increase'/'decrease' adjust the configured base price. Adjustments stack across rules in document order and clamp at 0.",
+ "enum": [
+ "set",
+ "increase",
+ "decrease"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "const": "setPaymentAmount",
+ "type": "string"
+ },
+ "value": {
+ "description": "Amount: a literal number, or a fieldRef to a field / calculated value. For increase/decrease this is the delta.",
+ "oneOf": [
+ {
+ "properties": {
+ "kind": {
+ "const": "literal",
+ "type": "string"
+ },
+ "value": {
+ "type": [
+ "number",
+ "string",
+ "boolean"
+ ]
+ }
+ },
+ "required": [
+ "kind",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "fieldId": {
+ "type": "string"
+ },
+ "kind": {
+ "const": "fieldRef",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "fieldId"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "type",
+ "inputId",
+ "value"
+ ],
+ "type": "object"
+ }
+]