From 24b2e8cbbed5a3ddcfad067abd046fdf5e4de759 Mon Sep 17 00:00:00 2001 From: Lilleman auf Larv Date: Sun, 13 Sep 2026 15:40:34 +0200 Subject: [PATCH] 11a: the vendored schema --- spec/adf-schema/LICENSE | 13 + spec/adf-schema/LICENSE-2.0.txt | 202 ++ spec/adf-schema/README.md | 6 + spec/adf-schema/full.json | 2984 ++++++++++++++++++++++++ spec/adf-schema/stage-0.json | 3875 +++++++++++++++++++++++++++++++ src/adf-schema.test.ts | 14 + 6 files changed, 7094 insertions(+) create mode 100644 spec/adf-schema/LICENSE create mode 100644 spec/adf-schema/LICENSE-2.0.txt create mode 100644 spec/adf-schema/README.md create mode 100644 spec/adf-schema/full.json create mode 100644 spec/adf-schema/stage-0.json create mode 100644 src/adf-schema.test.ts diff --git a/spec/adf-schema/LICENSE b/spec/adf-schema/LICENSE new file mode 100644 index 0000000..742041f --- /dev/null +++ b/spec/adf-schema/LICENSE @@ -0,0 +1,13 @@ +Copyright 2019 Atlassian Pty Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/spec/adf-schema/LICENSE-2.0.txt b/spec/adf-schema/LICENSE-2.0.txt new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/spec/adf-schema/LICENSE-2.0.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/spec/adf-schema/README.md b/spec/adf-schema/README.md new file mode 100644 index 0000000..23246e8 --- /dev/null +++ b/spec/adf-schema/README.md @@ -0,0 +1,6 @@ +# Atlassian's ADF JSON Schemas + +`full.json` and `stage-0.json` are byte-exact from `dist/json-schema/v1/` in +[`@atlaskit/adf-schema` 57.4.9](https://registry.npmjs.org/@atlaskit/adf-schema/-/adf-schema-57.4.9.tgz) +(© Atlassian Pty Ltd, Apache-2.0: `LICENSE` is the package's own notice, `LICENSE-2.0.txt` the +licence it names). diff --git a/spec/adf-schema/full.json b/spec/adf-schema/full.json new file mode 100644 index 0000000..6014946 --- /dev/null +++ b/spec/adf-schema/full.json @@ -0,0 +1,2984 @@ +{ + "$ref": "#/definitions/doc_node", + "description": "Schema for Atlassian Document Format.", + "$schema": "http://json-schema.org/draft-04/schema#", + "definitions": { + "alignment_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["alignment"] + }, + "attrs": { + "type": "object", + "properties": { + "align": { + "enum": ["center", "end"] + } + }, + "required": ["align"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "annotation_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["annotation"] + }, + "attrs": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "annotationType": { + "enum": ["inlineComment"] + } + }, + "required": ["id", "annotationType"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "backgroundColor_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["backgroundColor"] + }, + "attrs": { + "type": "object", + "properties": { + "color": { + "pattern": "^#[0-9a-fA-F]{6}$", + "type": "string" + } + }, + "required": ["color"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "block_content": { + "anyOf": [ + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_alignment_node" + }, + { + "$ref": "#/definitions/paragraph_with_indentation_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/heading_with_alignment_node" + }, + { + "$ref": "#/definitions/heading_with_indentation_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/panel_node" + }, + { + "$ref": "#/definitions/blockquote_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + }, + { + "$ref": "#/definitions/embedCard_node" + }, + { + "$ref": "#/definitions/table_node" + }, + { + "$ref": "#/definitions/expand_node" + }, + { + "$ref": "#/definitions/bodiedExtension_with_marks_node" + } + ] + }, + "blockCard_node": { + "type": "object", + "properties": { + "type": { + "enum": ["blockCard"] + }, + "attrs": { + "anyOf": [ + { + "type": "object", + "properties": { + "localId": { + "type": "string" + }, + "url": { + "type": "string" + }, + "datasource": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "parameters": {}, + "views": { + "items": { + "type": "object", + "properties": { + "properties": {}, + "type": { + "type": "string" + } + }, + "required": ["type"], + "additionalProperties": false + }, + "minItems": 1, + "type": "array" + } + }, + "required": ["id", "parameters", "views"] + }, + "width": { + "type": "number" + }, + "layout": { + "enum": [ + "wide", + "full-width", + "center", + "wrap-right", + "wrap-left", + "align-end", + "align-start" + ] + } + }, + "required": ["datasource"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["url"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "data": {}, + "localId": { + "type": "string" + } + }, + "required": ["data"], + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "blockquote_node": { + "type": "object", + "properties": { + "type": { + "enum": ["blockquote"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "blockTaskItem_node": { + "type": "object", + "properties": { + "type": { + "enum": ["blockTaskItem"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + }, + "state": { + "enum": ["TODO", "DONE"] + } + }, + "required": ["localId", "state"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": [ + { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + }, + { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + } + ], + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "bodiedExtension_node": { + "type": "object", + "properties": { + "type": { + "enum": ["bodiedExtension"] + }, + "marks": { + "type": "array" + }, + "attrs": { + "type": "object", + "properties": { + "extensionKey": { + "minLength": 1, + "type": "string" + }, + "extensionType": { + "minLength": 1, + "type": "string" + }, + "parameters": {}, + "text": { + "type": "string" + }, + "layout": { + "enum": ["wide", "full-width", "default"] + }, + "localId": { + "minLength": 1, + "type": "string" + } + }, + "required": ["extensionKey", "extensionType"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/non_nestable_block_content" + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "bodiedExtension_with_marks_node": { + "allOf": [ + { + "$ref": "#/definitions/bodiedExtension_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/dataConsumer_mark" + }, + { + "$ref": "#/definitions/fragment_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "bodiedSyncBlock_node": { + "type": "object", + "properties": { + "type": { + "enum": ["bodiedSyncBlock"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "resourceId": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["resourceId", "localId"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_node" + }, + { + "$ref": "#/definitions/paragraph_with_alignment_node" + }, + { + "$ref": "#/definitions/paragraph_with_indentation_node" + }, + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/blockquote_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/embedCard_node" + }, + { + "$ref": "#/definitions/expand_node" + }, + { + "$ref": "#/definitions/heading_node" + }, + { + "$ref": "#/definitions/heading_with_alignment_node" + }, + { + "$ref": "#/definitions/heading_with_indentation_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/layoutSection_node" + }, + { + "$ref": "#/definitions/layoutSection_full_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/mediaSingle_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/panel_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/table_node" + }, + { + "$ref": "#/definitions/taskList_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "border_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["border"] + }, + "attrs": { + "type": "object", + "properties": { + "size": { + "type": "number", + "minimum": 1, + "maximum": 3 + }, + "color": { + "pattern": "^#[0-9a-fA-F]{8}$|^#[0-9a-fA-F]{6}$", + "type": "string" + } + }, + "required": ["size", "color"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "breakout_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["breakout"] + }, + "attrs": { + "type": "object", + "properties": { + "mode": { + "enum": ["wide", "full-width"] + }, + "width": { + "type": "number" + } + }, + "required": ["mode"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "bulletList_node": { + "type": "object", + "properties": { + "type": { + "enum": ["bulletList"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/listItem_node" + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "caption_node": { + "type": "object", + "properties": { + "type": { + "enum": ["caption"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/hardBreak_node" + }, + { + "$ref": "#/definitions/mention_node" + }, + { + "$ref": "#/definitions/emoji_node" + }, + { + "$ref": "#/definitions/date_node" + }, + { + "$ref": "#/definitions/placeholder_node" + }, + { + "$ref": "#/definitions/inlineCard_node" + }, + { + "$ref": "#/definitions/status_node" + }, + { + "$ref": "#/definitions/formatted_text_inline_node" + }, + { + "$ref": "#/definitions/code_inline_node" + } + ] + } + } + }, + "additionalProperties": false, + "required": ["type"] + }, + "code_inline_node": { + "allOf": [ + { + "$ref": "#/definitions/text_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/code_mark" + }, + { + "$ref": "#/definitions/link_mark" + }, + { + "$ref": "#/definitions/annotation_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "code_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["code"] + } + }, + "required": ["type"], + "additionalProperties": false + }, + "codeBlock_node": { + "type": "object", + "properties": { + "type": { + "enum": ["codeBlock"] + }, + "marks": { + "type": "array", + "maxItems": 0 + }, + "attrs": { + "type": "object", + "properties": { + "language": { + "type": "string" + }, + "uniqueId": { + "type": "string" + }, + "localId": { + "type": "string" + }, + "wrap": { + "type": "boolean" + }, + "hideLineNumbers": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/text_with_no_marks_node" + } + } + }, + "additionalProperties": false, + "required": ["type"] + }, + "codeBlock_root_only_node": { + "type": "object", + "properties": { + "type": { + "enum": ["codeBlock"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "language": { + "type": "string" + }, + "uniqueId": { + "type": "string" + }, + "localId": { + "type": "string" + }, + "wrap": { + "type": "boolean" + }, + "hideLineNumbers": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/text_with_no_marks_node" + } + } + }, + "additionalProperties": false, + "required": ["type"] + }, + "dataConsumer_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["dataConsumer"] + }, + "attrs": { + "type": "object", + "properties": { + "sources": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": ["sources"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "date_node": { + "type": "object", + "properties": { + "type": { + "enum": ["date"] + }, + "attrs": { + "type": "object", + "properties": { + "timestamp": { + "minLength": 1, + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["timestamp"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "decisionItem_node": { + "type": "object", + "properties": { + "type": { + "enum": ["decisionItem"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "required": ["localId", "state"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/inline_node" + } + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "decisionList_node": { + "type": "object", + "properties": { + "type": { + "enum": ["decisionList"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "required": ["localId"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/decisionItem_node" + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "doc_node": { + "type": "object", + "properties": { + "type": { + "enum": ["doc"] + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/paragraph_with_alignment_node" + }, + { + "$ref": "#/definitions/paragraph_with_indentation_node" + }, + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/blockquote_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/embedCard_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + }, + { + "$ref": "#/definitions/heading_with_indentation_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/heading_with_alignment_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/panel_node" + }, + { + "$ref": "#/definitions/table_node" + }, + { + "$ref": "#/definitions/bodiedExtension_with_marks_node" + }, + { + "$ref": "#/definitions/expand_node" + }, + { + "$ref": "#/definitions/codeBlock_root_only_node" + }, + { + "$ref": "#/definitions/layoutSection_full_node" + }, + { + "$ref": "#/definitions/expand_root_only_node" + }, + { + "$ref": "#/definitions/syncBlock_node" + }, + { + "$ref": "#/definitions/bodiedSyncBlock_node" + } + ] + } + }, + "version": { + "enum": [1] + } + }, + "additionalProperties": false, + "required": ["version", "type", "content"] + }, + "em_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["em"] + } + }, + "required": ["type"], + "additionalProperties": false + }, + "embedCard_node": { + "type": "object", + "properties": { + "type": { + "enum": ["embedCard"] + }, + "attrs": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "layout": { + "enum": [ + "wide", + "full-width", + "center", + "wrap-right", + "wrap-left", + "align-end", + "align-start" + ] + }, + "width": { + "type": "number", + "maximum": 100, + "minimum": 0 + }, + "originalHeight": { + "type": "number" + }, + "originalWidth": { + "type": "number" + }, + "localId": { + "type": "string" + } + }, + "required": ["url", "layout"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "emoji_node": { + "type": "object", + "properties": { + "type": { + "enum": ["emoji"] + }, + "attrs": { + "type": "object", + "properties": { + "shortName": { + "type": "string" + }, + "id": { + "type": "string" + }, + "text": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["shortName"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "expand_node": { + "type": "object", + "properties": { + "type": { + "enum": ["expand"] + }, + "marks": { + "type": "array", + "maxItems": 0 + }, + "attrs": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/non_nestable_block_content" + }, + { + "$ref": "#/definitions/nestedExpand_with_no_marks_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "expand_root_only_node": { + "type": "object", + "properties": { + "type": { + "enum": ["expand"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/non_nestable_block_content" + }, + { + "$ref": "#/definitions/nestedExpand_with_no_marks_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "extension_node": { + "type": "object", + "properties": { + "type": { + "enum": ["extension"] + }, + "marks": { + "type": "array" + }, + "attrs": { + "type": "object", + "properties": { + "extensionKey": { + "minLength": 1, + "type": "string" + }, + "extensionType": { + "minLength": 1, + "type": "string" + }, + "parameters": {}, + "text": { + "type": "string" + }, + "layout": { + "enum": ["wide", "full-width", "default"] + }, + "localId": { + "minLength": 1, + "type": "string" + } + }, + "required": ["extensionKey", "extensionType"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "extension_with_marks_node": { + "allOf": [ + { + "$ref": "#/definitions/extension_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/dataConsumer_mark" + }, + { + "$ref": "#/definitions/fragment_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "fontSize_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["fontSize"] + }, + "attrs": { + "type": "object", + "properties": { + "fontSize": { + "enum": ["small"] + } + }, + "required": ["fontSize"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "formatted_text_inline_node": { + "allOf": [ + { + "$ref": "#/definitions/text_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/link_mark" + }, + { + "$ref": "#/definitions/em_mark" + }, + { + "$ref": "#/definitions/strong_mark" + }, + { + "$ref": "#/definitions/strike_mark" + }, + { + "$ref": "#/definitions/subsup_mark" + }, + { + "$ref": "#/definitions/underline_mark" + }, + { + "$ref": "#/definitions/textColor_mark" + }, + { + "$ref": "#/definitions/annotation_mark" + }, + { + "$ref": "#/definitions/backgroundColor_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "fragment_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["fragment"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "minLength": 1, + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": ["localId"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "hardBreak_node": { + "type": "object", + "properties": { + "type": { + "enum": ["hardBreak"] + }, + "attrs": { + "type": "object", + "properties": { + "text": { + "enum": ["\n"] + }, + "localId": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type"] + }, + "heading_node": { + "type": "object", + "properties": { + "type": { + "enum": ["heading"] + }, + "marks": { + "type": "array" + }, + "attrs": { + "type": "object", + "properties": { + "level": { + "type": "number", + "minimum": 1, + "maximum": 6 + }, + "localId": { + "type": "string" + } + }, + "required": ["level"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/inline_node" + } + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "heading_with_alignment_node": { + "allOf": [ + { + "$ref": "#/definitions/heading_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/alignment_mark" + } + } + }, + "additionalProperties": true + } + ] + }, + "heading_with_indentation_node": { + "allOf": [ + { + "$ref": "#/definitions/heading_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/indentation_mark" + } + } + }, + "additionalProperties": true + } + ] + }, + "heading_with_no_marks_node": { + "allOf": [ + { + "$ref": "#/definitions/heading_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "maxItems": 0 + } + }, + "additionalProperties": true + } + ] + }, + "indentation_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["indentation"] + }, + "attrs": { + "type": "object", + "properties": { + "level": { + "type": "number", + "minimum": 1, + "maximum": 6 + } + }, + "required": ["level"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "inline_node": { + "anyOf": [ + { + "$ref": "#/definitions/formatted_text_inline_node" + }, + { + "$ref": "#/definitions/code_inline_node" + }, + { + "$ref": "#/definitions/date_node" + }, + { + "$ref": "#/definitions/emoji_node" + }, + { + "$ref": "#/definitions/hardBreak_node" + }, + { + "$ref": "#/definitions/inlineCard_node" + }, + { + "$ref": "#/definitions/mention_node" + }, + { + "$ref": "#/definitions/placeholder_node" + }, + { + "$ref": "#/definitions/status_node" + }, + { + "$ref": "#/definitions/inlineExtension_with_marks_node" + }, + { + "$ref": "#/definitions/mediaInline_node" + } + ] + }, + "inlineCard_node": { + "type": "object", + "properties": { + "type": { + "enum": ["inlineCard"] + }, + "attrs": { + "anyOf": [ + { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["url"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "data": {}, + "localId": { + "type": "string" + } + }, + "required": ["data"], + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "inlineExtension_node": { + "type": "object", + "properties": { + "type": { + "enum": ["inlineExtension"] + }, + "marks": { + "type": "array" + }, + "attrs": { + "type": "object", + "properties": { + "extensionKey": { + "minLength": 1, + "type": "string" + }, + "extensionType": { + "minLength": 1, + "type": "string" + }, + "parameters": {}, + "text": { + "type": "string" + }, + "localId": { + "minLength": 1, + "type": "string" + } + }, + "required": ["extensionKey", "extensionType"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "inlineExtension_with_marks_node": { + "allOf": [ + { + "$ref": "#/definitions/inlineExtension_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/dataConsumer_mark" + }, + { + "$ref": "#/definitions/fragment_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "layoutColumn_node": { + "type": "object", + "properties": { + "type": { + "enum": ["layoutColumn"] + }, + "attrs": { + "type": "object", + "properties": { + "width": { + "type": "number", + "minimum": 0, + "maximum": 100 + }, + "localId": { + "type": "string" + }, + "valign": { + "enum": ["top", "middle", "bottom"] + } + }, + "required": ["width"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/block_content" + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "layoutSection_full_node": { + "allOf": [ + { + "$ref": "#/definitions/layoutSection_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/layoutColumn_node" + }, + "minItems": 2, + "maxItems": 3 + } + }, + "required": ["content"], + "additionalProperties": true + } + ] + }, + "layoutSection_node": { + "type": "object", + "properties": { + "type": { + "enum": ["layoutSection"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/layoutColumn_node" + } + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "link_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["link"] + }, + "attrs": { + "type": "object", + "properties": { + "href": { + "type": "string" + }, + "title": { + "type": "string" + }, + "id": { + "type": "string" + }, + "collection": { + "type": "string" + }, + "occurrenceKey": { + "type": "string" + } + }, + "required": ["href"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "listItem_node": { + "type": "object", + "properties": { + "type": { + "enum": ["listItem"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "media_node": { + "type": "object", + "properties": { + "type": { + "enum": ["media"] + }, + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/dataConsumer_mark" + }, + { + "$ref": "#/definitions/link_mark" + }, + { + "$ref": "#/definitions/annotation_mark" + }, + { + "$ref": "#/definitions/border_mark" + } + ] + } + }, + "attrs": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "enum": ["link", "file"] + }, + "localId": { + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "alt": { + "type": "string" + }, + "collection": { + "type": "string" + }, + "height": { + "type": "number" + }, + "occurrenceKey": { + "minLength": 1, + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": ["type", "id", "collection"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": ["external"] + }, + "localId": { + "type": "string" + }, + "alt": { + "type": "string" + }, + "height": { + "type": "number" + }, + "width": { + "type": "number" + }, + "url": { + "type": "string" + } + }, + "required": ["type", "url"], + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "mediaGroup_node": { + "type": "object", + "properties": { + "type": { + "enum": ["mediaGroup"] + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/media_node" + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "mediaInline_node": { + "type": "object", + "properties": { + "type": { + "enum": ["mediaInline"] + }, + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/dataConsumer_mark" + }, + { + "$ref": "#/definitions/link_mark" + }, + { + "$ref": "#/definitions/annotation_mark" + }, + { + "$ref": "#/definitions/border_mark" + } + ] + } + }, + "attrs": { + "type": "object", + "properties": { + "type": { + "enum": ["link", "file", "image"] + }, + "localId": { + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "alt": { + "type": "string" + }, + "collection": { + "type": "string" + }, + "occurrenceKey": { + "minLength": 1, + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "data": {} + }, + "required": ["id", "collection"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "mediaSingle_caption_node": { + "allOf": [ + { + "$ref": "#/definitions/mediaSingle_node" + }, + { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": [ + { + "$ref": "#/definitions/media_node" + }, + { + "$ref": "#/definitions/caption_node" + } + ], + "minItems": 1, + "maxItems": 2 + } + }, + "required": ["content"], + "additionalProperties": true + } + ] + }, + "mediaSingle_full_node": { + "allOf": [ + { + "$ref": "#/definitions/mediaSingle_node" + }, + { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/media_node" + }, + "minItems": 1, + "maxItems": 1 + } + }, + "required": ["content"], + "additionalProperties": true + } + ] + }, + "mediaSingle_node": { + "type": "object", + "properties": { + "type": { + "enum": ["mediaSingle"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/link_mark" + } + }, + "attrs": { + "anyOf": [ + { + "type": "object", + "properties": { + "localId": { + "type": "string" + }, + "width": { + "type": "number", + "minimum": 0, + "maximum": 100 + }, + "layout": { + "enum": [ + "wide", + "full-width", + "center", + "wrap-right", + "wrap-left", + "align-end", + "align-start" + ] + }, + "widthType": { + "enum": ["percentage"] + } + }, + "required": ["layout"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "localId": { + "type": "string" + }, + "width": { + "type": "number", + "minimum": 0 + }, + "widthType": { + "enum": ["pixel"] + }, + "layout": { + "enum": [ + "wide", + "full-width", + "center", + "wrap-right", + "wrap-left", + "align-end", + "align-start" + ] + } + }, + "required": ["width", "widthType", "layout"], + "additionalProperties": false + } + ] + } + }, + "additionalProperties": true, + "required": ["type"] + }, + "mention_node": { + "type": "object", + "properties": { + "type": { + "enum": ["mention"] + }, + "attrs": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "localId": { + "type": "string" + }, + "text": { + "type": "string" + }, + "accessLevel": { + "type": "string" + }, + "userType": { + "enum": ["DEFAULT", "SPECIAL", "APP"] + } + }, + "required": ["id"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "nestedExpand_content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/panel_node" + }, + { + "$ref": "#/definitions/blockquote_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + }, + "minItems": 1 + }, + "nestedExpand_node": { + "type": "object", + "properties": { + "type": { + "enum": ["nestedExpand"] + }, + "attrs": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "$ref": "#/definitions/nestedExpand_content" + } + }, + "additionalProperties": false, + "required": ["type", "content", "attrs"] + }, + "nestedExpand_with_no_marks_node": { + "allOf": [ + { + "$ref": "#/definitions/nestedExpand_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "maxItems": 0 + } + }, + "additionalProperties": true + } + ] + }, + "non_nestable_block_content": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/panel_node" + }, + { + "$ref": "#/definitions/blockquote_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/table_node" + }, + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/embedCard_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + }, + "orderedList_node": { + "type": "object", + "properties": { + "type": { + "enum": ["orderedList"] + }, + "attrs": { + "type": "object", + "properties": { + "order": { + "type": "number", + "minimum": 0 + }, + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/listItem_node" + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "panel_node": { + "type": "object", + "properties": { + "type": { + "enum": ["panel"] + }, + "attrs": { + "type": "object", + "properties": { + "panelType": { + "enum": [ + "info", + "note", + "tip", + "warning", + "error", + "success", + "custom" + ] + }, + "panelIcon": { + "type": "string" + }, + "panelIconId": { + "type": "string" + }, + "panelIconText": { + "type": "string" + }, + "panelColor": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["panelType"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "paragraph_node": { + "type": "object", + "properties": { + "type": { + "enum": ["paragraph"] + }, + "marks": { + "type": "array" + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/inline_node" + } + } + }, + "additionalProperties": false, + "required": ["type"] + }, + "paragraph_with_alignment_node": { + "allOf": [ + { + "$ref": "#/definitions/paragraph_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/fontSize_mark" + }, + { + "$ref": "#/definitions/alignment_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "paragraph_with_font_size_node": { + "allOf": [ + { + "$ref": "#/definitions/paragraph_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/fontSize_mark" + } + } + }, + "additionalProperties": true + } + ] + }, + "paragraph_with_indentation_node": { + "allOf": [ + { + "$ref": "#/definitions/paragraph_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/fontSize_mark" + }, + { + "$ref": "#/definitions/indentation_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "paragraph_with_no_marks_node": { + "allOf": [ + { + "$ref": "#/definitions/paragraph_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "maxItems": 0 + } + }, + "additionalProperties": true + } + ] + }, + "placeholder_node": { + "type": "object", + "properties": { + "type": { + "enum": ["placeholder"] + }, + "attrs": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["text"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "rule_node": { + "type": "object", + "properties": { + "type": { + "enum": ["rule"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type"] + }, + "status_node": { + "type": "object", + "properties": { + "type": { + "enum": ["status"] + }, + "attrs": { + "type": "object", + "properties": { + "text": { + "minLength": 1, + "type": "string" + }, + "color": { + "enum": ["neutral", "purple", "blue", "red", "yellow", "green"] + }, + "localId": { + "type": "string" + }, + "style": { + "type": "string" + } + }, + "required": ["text", "color"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "strike_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["strike"] + } + }, + "required": ["type"], + "additionalProperties": false + }, + "strong_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["strong"] + } + }, + "required": ["type"], + "additionalProperties": false + }, + "subsup_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["subsup"] + }, + "attrs": { + "type": "object", + "properties": { + "type": { + "enum": ["sub", "sup"] + } + }, + "required": ["type"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "syncBlock_node": { + "type": "object", + "properties": { + "type": { + "enum": ["syncBlock"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "resourceId": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["resourceId", "localId"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "table_cell_content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_alignment_node" + }, + { + "$ref": "#/definitions/panel_node" + }, + { + "$ref": "#/definitions/blockquote_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/heading_with_alignment_node" + }, + { + "$ref": "#/definitions/heading_with_indentation_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/embedCard_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + }, + { + "$ref": "#/definitions/nestedExpand_with_no_marks_node" + } + ] + }, + "minItems": 1 + }, + "table_cell_node": { + "type": "object", + "properties": { + "type": { + "enum": ["tableCell"] + }, + "attrs": { + "type": "object", + "properties": { + "colspan": { + "type": "number" + }, + "rowspan": { + "type": "number" + }, + "colwidth": { + "type": "array", + "items": { + "type": "number" + } + }, + "background": { + "type": "string" + }, + "localId": { + "type": "string" + }, + "valign": { + "enum": ["top", "middle", "bottom"] + } + }, + "additionalProperties": false + }, + "content": { + "$ref": "#/definitions/table_cell_content" + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "table_header_node": { + "type": "object", + "properties": { + "type": { + "enum": ["tableHeader"] + }, + "attrs": { + "type": "object", + "properties": { + "colspan": { + "type": "number" + }, + "rowspan": { + "type": "number" + }, + "colwidth": { + "type": "array", + "items": { + "type": "number" + } + }, + "background": { + "type": "string" + }, + "localId": { + "type": "string" + }, + "valign": { + "enum": ["top", "middle", "bottom"] + } + }, + "additionalProperties": false + }, + "content": { + "$ref": "#/definitions/table_cell_content" + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "table_node": { + "type": "object", + "properties": { + "type": { + "enum": ["table"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/fragment_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "displayMode": { + "enum": ["default", "fixed"] + }, + "isNumberColumnEnabled": { + "type": "boolean" + }, + "layout": { + "enum": [ + "wide", + "full-width", + "center", + "align-end", + "align-start", + "default" + ] + }, + "localId": { + "type": "string", + "minLength": 1 + }, + "width": { + "type": "number" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/table_row_node" + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "table_row_node": { + "type": "object", + "properties": { + "type": { + "enum": ["tableRow"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/table_cell_node" + }, + { + "$ref": "#/definitions/table_header_node" + } + ] + } + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "taskItem_node": { + "type": "object", + "properties": { + "type": { + "enum": ["taskItem"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + }, + "state": { + "enum": ["TODO", "DONE"] + } + }, + "required": ["localId", "state"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/inline_node" + } + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "taskList_node": { + "type": "object", + "properties": { + "type": { + "enum": ["taskList"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "required": ["localId"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/taskItem_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/blockTaskItem_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "text_node": { + "type": "object", + "properties": { + "type": { + "enum": ["text"] + }, + "marks": { + "type": "array" + }, + "text": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false, + "required": ["type", "text"] + }, + "text_with_no_marks_node": { + "allOf": [ + { + "$ref": "#/definitions/text_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "maxItems": 0 + } + }, + "additionalProperties": true + } + ] + }, + "textColor_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["textColor"] + }, + "attrs": { + "type": "object", + "properties": { + "color": { + "type": "string", + "pattern": "^#[0-9a-fA-F]{6}$" + } + }, + "required": ["color"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "underline_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["underline"] + } + }, + "required": ["type"], + "additionalProperties": false + } + } +} diff --git a/spec/adf-schema/stage-0.json b/spec/adf-schema/stage-0.json new file mode 100644 index 0000000..56b6a4c --- /dev/null +++ b/spec/adf-schema/stage-0.json @@ -0,0 +1,3875 @@ +{ + "$ref": "#/definitions/doc_node", + "description": "Schema for Atlassian Document Format.", + "$schema": "http://json-schema.org/draft-04/schema#", + "definitions": { + "alignment_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["alignment"] + }, + "attrs": { + "type": "object", + "properties": { + "align": { + "enum": ["center", "end"] + } + }, + "required": ["align"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "annotation_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["annotation"] + }, + "attrs": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "annotationType": { + "enum": ["inlineComment"] + } + }, + "required": ["id", "annotationType"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "backgroundColor_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["backgroundColor"] + }, + "attrs": { + "type": "object", + "properties": { + "color": { + "pattern": "^#[0-9a-fA-F]{6}$", + "type": "string" + } + }, + "required": ["color"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "block_content": { + "anyOf": [ + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_alignment_node" + }, + { + "$ref": "#/definitions/paragraph_with_indentation_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/heading_with_alignment_node" + }, + { + "$ref": "#/definitions/heading_with_indentation_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/rule_with_attrs_node" + }, + { + "$ref": "#/definitions/bodiedRule_node" + }, + { + "$ref": "#/definitions/panel_node" + }, + { + "$ref": "#/definitions/blockquote_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + }, + { + "$ref": "#/definitions/embedCard_node" + }, + { + "$ref": "#/definitions/table_node" + }, + { + "$ref": "#/definitions/expand_node" + }, + { + "$ref": "#/definitions/bodiedExtension_with_marks_node" + } + ] + }, + "blockCard_node": { + "type": "object", + "properties": { + "type": { + "enum": ["blockCard"] + }, + "attrs": { + "anyOf": [ + { + "type": "object", + "properties": { + "localId": { + "type": "string" + }, + "url": { + "type": "string" + }, + "datasource": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "parameters": {}, + "views": { + "items": { + "type": "object", + "properties": { + "properties": {}, + "type": { + "type": "string" + } + }, + "required": ["type"], + "additionalProperties": false + }, + "minItems": 1, + "type": "array" + } + }, + "required": ["id", "parameters", "views"] + }, + "width": { + "type": "number" + }, + "layout": { + "enum": [ + "wide", + "full-width", + "center", + "wrap-right", + "wrap-left", + "align-end", + "align-start" + ] + } + }, + "required": ["datasource"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["url"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "data": {}, + "localId": { + "type": "string" + } + }, + "required": ["data"], + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "blockquote_node": { + "type": "object", + "properties": { + "type": { + "enum": ["blockquote"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "blockTaskItem_node": { + "type": "object", + "properties": { + "type": { + "enum": ["blockTaskItem"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + }, + "state": { + "enum": ["TODO", "DONE"] + } + }, + "required": ["localId", "state"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": [ + { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + }, + { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + } + ], + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "bodiedExtension_node": { + "type": "object", + "properties": { + "type": { + "enum": ["bodiedExtension"] + }, + "marks": { + "type": "array" + }, + "attrs": { + "type": "object", + "properties": { + "extensionKey": { + "minLength": 1, + "type": "string" + }, + "extensionType": { + "minLength": 1, + "type": "string" + }, + "parameters": {}, + "text": { + "type": "string" + }, + "layout": { + "enum": ["wide", "full-width", "default"] + }, + "localId": { + "minLength": 1, + "type": "string" + } + }, + "required": ["extensionKey", "extensionType"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/non_nestable_block_content" + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "bodiedExtension_root_only_node": { + "allOf": [ + { + "$ref": "#/definitions/bodiedExtension_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/breakout_mark" + }, + { + "$ref": "#/definitions/dataConsumer_mark" + }, + { + "$ref": "#/definitions/fragment_mark" + } + ] + } + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/non_nestable_block_content" + }, + "minItems": 1 + } + }, + "required": ["content"], + "additionalProperties": true + } + ] + }, + "bodiedExtension_with_marks_node": { + "allOf": [ + { + "$ref": "#/definitions/bodiedExtension_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/dataConsumer_mark" + }, + { + "$ref": "#/definitions/fragment_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "bodiedRule_node": { + "type": "object", + "properties": { + "type": { + "enum": ["bodiedRule"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string", + "minLength": 1 + }, + "alignment": { + "enum": ["start", "center", "end"] + }, + "color": { + "type": "string", + "pattern": "^#[0-9a-fA-F]{6}$" + }, + "style": { + "enum": ["solid", "dashed", "dotted", "sketch", "fade"] + }, + "weight": { + "type": "number", + "minimum": 1, + "maximum": 3 + } + }, + "required": ["localId"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + } + ] + }, + "minItems": 1, + "maxItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "bodiedRule_root_only_node": { + "type": "object", + "properties": { + "type": { + "enum": ["bodiedRule"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string", + "minLength": 1 + }, + "alignment": { + "enum": ["start", "center", "end"] + }, + "color": { + "type": "string", + "pattern": "^#[0-9a-fA-F]{6}$" + }, + "style": { + "enum": ["solid", "dashed", "dotted", "sketch", "fade"] + }, + "weight": { + "type": "number", + "minimum": 1, + "maximum": 3 + } + }, + "required": ["localId"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + } + ] + }, + "minItems": 1, + "maxItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "bodiedSyncBlock_node": { + "type": "object", + "properties": { + "type": { + "enum": ["bodiedSyncBlock"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "resourceId": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["resourceId", "localId"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_node" + }, + { + "$ref": "#/definitions/paragraph_with_alignment_node" + }, + { + "$ref": "#/definitions/paragraph_with_indentation_node" + }, + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/blockquote_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/embedCard_node" + }, + { + "$ref": "#/definitions/expand_node" + }, + { + "$ref": "#/definitions/heading_node" + }, + { + "$ref": "#/definitions/heading_with_alignment_node" + }, + { + "$ref": "#/definitions/heading_with_indentation_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/layoutSection_node" + }, + { + "$ref": "#/definitions/layoutSection_with_single_column_node" + }, + { + "$ref": "#/definitions/layoutSection_full_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/mediaSingle_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/panel_c1_node" + }, + { + "$ref": "#/definitions/panel_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/rule_with_attrs_node" + }, + { + "$ref": "#/definitions/bodiedRule_node" + }, + { + "$ref": "#/definitions/table_node" + }, + { + "$ref": "#/definitions/taskList_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "border_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["border"] + }, + "attrs": { + "type": "object", + "properties": { + "size": { + "type": "number", + "minimum": 1, + "maximum": 3 + }, + "color": { + "pattern": "^#[0-9a-fA-F]{8}$|^#[0-9a-fA-F]{6}$", + "type": "string" + } + }, + "required": ["size", "color"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "breakout_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["breakout"] + }, + "attrs": { + "type": "object", + "properties": { + "mode": { + "enum": ["wide", "full-width"] + }, + "width": { + "type": "number" + } + }, + "required": ["mode"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "bulletList_node": { + "type": "object", + "properties": { + "type": { + "enum": ["bulletList"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/listItem_node" + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "caption_node": { + "type": "object", + "properties": { + "type": { + "enum": ["caption"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/hardBreak_node" + }, + { + "$ref": "#/definitions/mention_node" + }, + { + "$ref": "#/definitions/emoji_node" + }, + { + "$ref": "#/definitions/date_node" + }, + { + "$ref": "#/definitions/placeholder_node" + }, + { + "$ref": "#/definitions/inlineCard_node" + }, + { + "$ref": "#/definitions/status_node" + }, + { + "$ref": "#/definitions/formatted_text_inline_node" + }, + { + "$ref": "#/definitions/code_inline_node" + } + ] + } + } + }, + "additionalProperties": false, + "required": ["type"] + }, + "code_inline_node": { + "allOf": [ + { + "$ref": "#/definitions/text_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/code_mark" + }, + { + "$ref": "#/definitions/link_mark" + }, + { + "$ref": "#/definitions/annotation_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "code_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["code"] + } + }, + "required": ["type"], + "additionalProperties": false + }, + "codeBlock_node": { + "type": "object", + "properties": { + "type": { + "enum": ["codeBlock"] + }, + "marks": { + "type": "array", + "maxItems": 0 + }, + "attrs": { + "type": "object", + "properties": { + "language": { + "type": "string" + }, + "uniqueId": { + "type": "string" + }, + "localId": { + "type": "string" + }, + "wrap": { + "type": "boolean" + }, + "hideLineNumbers": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/text_with_no_marks_node" + } + } + }, + "additionalProperties": false, + "required": ["type"] + }, + "codeBlock_root_only_node": { + "type": "object", + "properties": { + "type": { + "enum": ["codeBlock"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "language": { + "type": "string" + }, + "uniqueId": { + "type": "string" + }, + "localId": { + "type": "string" + }, + "wrap": { + "type": "boolean" + }, + "hideLineNumbers": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/text_with_no_marks_node" + } + } + }, + "additionalProperties": false, + "required": ["type"] + }, + "dataConsumer_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["dataConsumer"] + }, + "attrs": { + "type": "object", + "properties": { + "sources": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": ["sources"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "date_node": { + "type": "object", + "properties": { + "type": { + "enum": ["date"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/annotation_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "timestamp": { + "minLength": 1, + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["timestamp"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "decisionItem_node": { + "type": "object", + "properties": { + "type": { + "enum": ["decisionItem"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "required": ["localId", "state"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/inline_node" + } + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "decisionList_node": { + "type": "object", + "properties": { + "type": { + "enum": ["decisionList"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "required": ["localId"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/decisionItem_node" + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "doc_node": { + "type": "object", + "properties": { + "type": { + "enum": ["doc"] + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/paragraph_with_alignment_node" + }, + { + "$ref": "#/definitions/paragraph_with_indentation_node" + }, + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/blockquote_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/embedCard_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + }, + { + "$ref": "#/definitions/heading_with_indentation_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/heading_with_alignment_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/rule_with_attrs_node" + }, + { + "$ref": "#/definitions/bodiedRule_node" + }, + { + "$ref": "#/definitions/panel_node" + }, + { + "$ref": "#/definitions/panel_c1_node" + }, + { + "$ref": "#/definitions/table_node" + }, + { + "$ref": "#/definitions/bodiedExtension_with_marks_node" + }, + { + "$ref": "#/definitions/expand_node" + }, + { + "$ref": "#/definitions/codeBlock_root_only_node" + }, + { + "$ref": "#/definitions/panel_root_only_node" + }, + { + "$ref": "#/definitions/panel_c1_root_only_node" + }, + { + "$ref": "#/definitions/rule_root_only_node" + }, + { + "$ref": "#/definitions/rule_with_attrs_root_only_node" + }, + { + "$ref": "#/definitions/bodiedRule_root_only_node" + }, + { + "$ref": "#/definitions/extension_root_only_node" + }, + { + "$ref": "#/definitions/bodiedExtension_root_only_node" + }, + { + "$ref": "#/definitions/multiBodiedExtension_root_only_node" + }, + { + "$ref": "#/definitions/layoutSection_with_single_column_node" + }, + { + "$ref": "#/definitions/layoutSection_full_node" + }, + { + "$ref": "#/definitions/multiBodiedExtension_node" + }, + { + "$ref": "#/definitions/expand_root_only_node" + }, + { + "$ref": "#/definitions/syncBlock_node" + }, + { + "$ref": "#/definitions/bodiedSyncBlock_node" + } + ] + } + }, + "version": { + "enum": [1] + } + }, + "additionalProperties": false, + "required": ["version", "type", "content"] + }, + "em_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["em"] + } + }, + "required": ["type"], + "additionalProperties": false + }, + "embedCard_node": { + "type": "object", + "properties": { + "type": { + "enum": ["embedCard"] + }, + "attrs": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "layout": { + "enum": [ + "wide", + "full-width", + "center", + "wrap-right", + "wrap-left", + "align-end", + "align-start" + ] + }, + "width": { + "type": "number", + "maximum": 100, + "minimum": 0 + }, + "originalHeight": { + "type": "number" + }, + "originalWidth": { + "type": "number" + }, + "localId": { + "type": "string" + } + }, + "required": ["url", "layout"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "emoji_node": { + "type": "object", + "properties": { + "type": { + "enum": ["emoji"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/annotation_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "shortName": { + "type": "string" + }, + "id": { + "type": "string" + }, + "text": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["shortName"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "expand_node": { + "type": "object", + "properties": { + "type": { + "enum": ["expand"] + }, + "marks": { + "type": "array", + "maxItems": 0 + }, + "attrs": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/non_nestable_block_content" + }, + { + "$ref": "#/definitions/nestedExpand_with_no_marks_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "expand_root_only_node": { + "type": "object", + "properties": { + "type": { + "enum": ["expand"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/non_nestable_block_content" + }, + { + "$ref": "#/definitions/nestedExpand_with_no_marks_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "extension_node": { + "type": "object", + "properties": { + "type": { + "enum": ["extension"] + }, + "marks": { + "type": "array" + }, + "attrs": { + "type": "object", + "properties": { + "extensionKey": { + "minLength": 1, + "type": "string" + }, + "extensionType": { + "minLength": 1, + "type": "string" + }, + "parameters": {}, + "text": { + "type": "string" + }, + "layout": { + "enum": ["wide", "full-width", "default"] + }, + "localId": { + "minLength": 1, + "type": "string" + } + }, + "required": ["extensionKey", "extensionType"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "extension_root_only_node": { + "allOf": [ + { + "$ref": "#/definitions/extension_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/breakout_mark" + }, + { + "$ref": "#/definitions/dataConsumer_mark" + }, + { + "$ref": "#/definitions/fragment_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "extension_with_marks_node": { + "allOf": [ + { + "$ref": "#/definitions/extension_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/dataConsumer_mark" + }, + { + "$ref": "#/definitions/fragment_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "extensionFrame_node": { + "type": "object", + "properties": { + "type": { + "enum": ["extensionFrame"] + }, + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/dataConsumer_mark" + }, + { + "$ref": "#/definitions/fragment_mark" + } + ] + } + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/panel_node" + }, + { + "$ref": "#/definitions/blockquote_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/rule_with_attrs_node" + }, + { + "$ref": "#/definitions/bodiedRule_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/table_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + }, + { + "$ref": "#/definitions/bodiedExtension_with_marks_node" + }, + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/embedCard_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "fontSize_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["fontSize"] + }, + "attrs": { + "type": "object", + "properties": { + "fontSize": { + "enum": ["small"] + } + }, + "required": ["fontSize"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "formatted_text_inline_node": { + "allOf": [ + { + "$ref": "#/definitions/text_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/link_mark" + }, + { + "$ref": "#/definitions/em_mark" + }, + { + "$ref": "#/definitions/strong_mark" + }, + { + "$ref": "#/definitions/strike_mark" + }, + { + "$ref": "#/definitions/subsup_mark" + }, + { + "$ref": "#/definitions/underline_mark" + }, + { + "$ref": "#/definitions/textColor_mark" + }, + { + "$ref": "#/definitions/annotation_mark" + }, + { + "$ref": "#/definitions/backgroundColor_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "fragment_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["fragment"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "minLength": 1, + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": ["localId"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "hardBreak_node": { + "type": "object", + "properties": { + "type": { + "enum": ["hardBreak"] + }, + "attrs": { + "type": "object", + "properties": { + "text": { + "enum": ["\n"] + }, + "localId": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type"] + }, + "heading_node": { + "type": "object", + "properties": { + "type": { + "enum": ["heading"] + }, + "marks": { + "type": "array" + }, + "attrs": { + "type": "object", + "properties": { + "level": { + "type": "number", + "minimum": 1, + "maximum": 6 + }, + "localId": { + "type": "string" + } + }, + "required": ["level"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/inline_node" + } + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "heading_with_alignment_node": { + "allOf": [ + { + "$ref": "#/definitions/heading_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/alignment_mark" + } + } + }, + "additionalProperties": true + } + ] + }, + "heading_with_indentation_node": { + "allOf": [ + { + "$ref": "#/definitions/heading_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/indentation_mark" + } + } + }, + "additionalProperties": true + } + ] + }, + "heading_with_no_marks_node": { + "allOf": [ + { + "$ref": "#/definitions/heading_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "maxItems": 0 + } + }, + "additionalProperties": true + } + ] + }, + "indentation_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["indentation"] + }, + "attrs": { + "type": "object", + "properties": { + "level": { + "type": "number", + "minimum": 1, + "maximum": 6 + } + }, + "required": ["level"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "inline_node": { + "anyOf": [ + { + "$ref": "#/definitions/formatted_text_inline_node" + }, + { + "$ref": "#/definitions/code_inline_node" + }, + { + "$ref": "#/definitions/date_node" + }, + { + "$ref": "#/definitions/emoji_node" + }, + { + "$ref": "#/definitions/hardBreak_node" + }, + { + "$ref": "#/definitions/inlineCard_node" + }, + { + "$ref": "#/definitions/mention_node" + }, + { + "$ref": "#/definitions/placeholder_node" + }, + { + "$ref": "#/definitions/status_node" + }, + { + "$ref": "#/definitions/inlineExtension_with_marks_node" + }, + { + "$ref": "#/definitions/mediaInline_node" + } + ] + }, + "inlineCard_node": { + "type": "object", + "properties": { + "type": { + "enum": ["inlineCard"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/annotation_mark" + } + }, + "attrs": { + "anyOf": [ + { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["url"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "data": {}, + "localId": { + "type": "string" + } + }, + "required": ["data"], + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "inlineExtension_node": { + "type": "object", + "properties": { + "type": { + "enum": ["inlineExtension"] + }, + "marks": { + "type": "array" + }, + "attrs": { + "type": "object", + "properties": { + "extensionKey": { + "minLength": 1, + "type": "string" + }, + "extensionType": { + "minLength": 1, + "type": "string" + }, + "parameters": {}, + "text": { + "type": "string" + }, + "localId": { + "minLength": 1, + "type": "string" + } + }, + "required": ["extensionKey", "extensionType"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "inlineExtension_with_marks_node": { + "allOf": [ + { + "$ref": "#/definitions/inlineExtension_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/dataConsumer_mark" + }, + { + "$ref": "#/definitions/fragment_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "layoutColumn_node": { + "type": "object", + "properties": { + "type": { + "enum": ["layoutColumn"] + }, + "attrs": { + "type": "object", + "properties": { + "width": { + "type": "number", + "minimum": 0, + "maximum": 100 + }, + "localId": { + "type": "string" + }, + "valign": { + "enum": ["top", "middle", "bottom"] + } + }, + "required": ["width"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/panel_c1_node" + }, + { + "$ref": "#/definitions/block_content" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "layoutSection_full_node": { + "allOf": [ + { + "$ref": "#/definitions/layoutSection_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/layoutColumn_node" + }, + "minItems": 2, + "maxItems": 3 + } + }, + "required": ["content"], + "additionalProperties": true + } + ] + }, + "layoutSection_node": { + "type": "object", + "properties": { + "type": { + "enum": ["layoutSection"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/layoutColumn_node" + } + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "layoutSection_with_single_column_node": { + "type": "object", + "properties": { + "type": { + "enum": ["layoutSection"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "columnRuleStyle": { + "enum": ["solid"] + }, + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/layoutColumn_node" + }, + "minItems": 1, + "maxItems": 5 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "link_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["link"] + }, + "attrs": { + "type": "object", + "properties": { + "href": { + "type": "string" + }, + "title": { + "type": "string" + }, + "id": { + "type": "string" + }, + "collection": { + "type": "string" + }, + "occurrenceKey": { + "type": "string" + } + }, + "required": ["href"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "listItem_node": { + "type": "object", + "properties": { + "type": { + "enum": ["listItem"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "media_node": { + "type": "object", + "properties": { + "type": { + "enum": ["media"] + }, + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/dataConsumer_mark" + }, + { + "$ref": "#/definitions/link_mark" + }, + { + "$ref": "#/definitions/annotation_mark" + }, + { + "$ref": "#/definitions/border_mark" + } + ] + } + }, + "attrs": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "enum": ["link", "file"] + }, + "localId": { + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "alt": { + "type": "string" + }, + "collection": { + "type": "string" + }, + "height": { + "type": "number" + }, + "occurrenceKey": { + "minLength": 1, + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": ["type", "id", "collection"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "enum": ["external"] + }, + "localId": { + "type": "string" + }, + "alt": { + "type": "string" + }, + "height": { + "type": "number" + }, + "width": { + "type": "number" + }, + "url": { + "type": "string" + } + }, + "required": ["type", "url"], + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "mediaGroup_node": { + "type": "object", + "properties": { + "type": { + "enum": ["mediaGroup"] + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/media_node" + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "mediaInline_node": { + "type": "object", + "properties": { + "type": { + "enum": ["mediaInline"] + }, + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/dataConsumer_mark" + }, + { + "$ref": "#/definitions/link_mark" + }, + { + "$ref": "#/definitions/annotation_mark" + }, + { + "$ref": "#/definitions/border_mark" + } + ] + } + }, + "attrs": { + "type": "object", + "properties": { + "type": { + "enum": ["link", "file", "image"] + }, + "localId": { + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "alt": { + "type": "string" + }, + "collection": { + "type": "string" + }, + "occurrenceKey": { + "minLength": 1, + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "data": {} + }, + "required": ["id", "collection"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "mediaSingle_caption_node": { + "allOf": [ + { + "$ref": "#/definitions/mediaSingle_node" + }, + { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": [ + { + "$ref": "#/definitions/media_node" + }, + { + "$ref": "#/definitions/caption_node" + } + ], + "minItems": 1, + "maxItems": 2 + } + }, + "required": ["content"], + "additionalProperties": true + } + ] + }, + "mediaSingle_full_node": { + "allOf": [ + { + "$ref": "#/definitions/mediaSingle_node" + }, + { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/media_node" + }, + "minItems": 1, + "maxItems": 1 + } + }, + "required": ["content"], + "additionalProperties": true + } + ] + }, + "mediaSingle_node": { + "type": "object", + "properties": { + "type": { + "enum": ["mediaSingle"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/link_mark" + } + }, + "attrs": { + "anyOf": [ + { + "type": "object", + "properties": { + "localId": { + "type": "string" + }, + "width": { + "type": "number", + "minimum": 0, + "maximum": 100 + }, + "layout": { + "enum": [ + "wide", + "full-width", + "center", + "wrap-right", + "wrap-left", + "align-end", + "align-start" + ] + }, + "widthType": { + "enum": ["percentage"] + } + }, + "required": ["layout"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "localId": { + "type": "string" + }, + "width": { + "type": "number", + "minimum": 0 + }, + "widthType": { + "enum": ["pixel"] + }, + "layout": { + "enum": [ + "wide", + "full-width", + "center", + "wrap-right", + "wrap-left", + "align-end", + "align-start" + ] + } + }, + "required": ["width", "widthType", "layout"], + "additionalProperties": false + } + ] + } + }, + "additionalProperties": true, + "required": ["type"] + }, + "mention_node": { + "type": "object", + "properties": { + "type": { + "enum": ["mention"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/annotation_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "localId": { + "type": "string" + }, + "text": { + "type": "string" + }, + "accessLevel": { + "type": "string" + }, + "userType": { + "enum": ["DEFAULT", "SPECIAL", "APP"] + } + }, + "required": ["id"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "multiBodiedExtension_node": { + "type": "object", + "properties": { + "type": { + "enum": ["multiBodiedExtension"] + }, + "marks": { + "type": "array", + "maxItems": 0 + }, + "attrs": { + "type": "object", + "properties": { + "extensionKey": { + "type": "string", + "minLength": 1 + }, + "extensionType": { + "type": "string", + "minLength": 1 + }, + "parameters": {}, + "text": { + "type": "string" + }, + "layout": { + "enum": ["default", "wide", "full-width"] + }, + "localId": { + "type": "string", + "minLength": 1 + } + }, + "required": ["extensionKey", "extensionType"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/extensionFrame_node" + } + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "multiBodiedExtension_root_only_node": { + "type": "object", + "properties": { + "type": { + "enum": ["multiBodiedExtension"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "extensionKey": { + "type": "string", + "minLength": 1 + }, + "extensionType": { + "type": "string", + "minLength": 1 + }, + "parameters": {}, + "text": { + "type": "string" + }, + "layout": { + "enum": ["default", "wide", "full-width"] + }, + "localId": { + "type": "string", + "minLength": 1 + } + }, + "required": ["extensionKey", "extensionType"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/extensionFrame_node" + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "nestedExpand_content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/rule_with_attrs_node" + }, + { + "$ref": "#/definitions/bodiedRule_node" + }, + { + "$ref": "#/definitions/panel_node" + }, + { + "$ref": "#/definitions/blockquote_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + }, + "minItems": 1 + }, + "nestedExpand_node": { + "type": "object", + "properties": { + "type": { + "enum": ["nestedExpand"] + }, + "attrs": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "$ref": "#/definitions/nestedExpand_content" + } + }, + "additionalProperties": false, + "required": ["type", "content", "attrs"] + }, + "nestedExpand_with_no_marks_node": { + "allOf": [ + { + "$ref": "#/definitions/nestedExpand_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "maxItems": 0 + } + }, + "additionalProperties": true + } + ] + }, + "non_nestable_block_content": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/panel_node" + }, + { + "$ref": "#/definitions/blockquote_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/rule_with_attrs_node" + }, + { + "$ref": "#/definitions/bodiedRule_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/table_node" + }, + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/embedCard_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + }, + "orderedList_node": { + "type": "object", + "properties": { + "type": { + "enum": ["orderedList"] + }, + "attrs": { + "type": "object", + "properties": { + "order": { + "type": "number", + "minimum": 0 + }, + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/listItem_node" + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "panel_c1_node": { + "type": "object", + "properties": { + "type": { + "enum": ["panel"] + }, + "attrs": { + "type": "object", + "properties": { + "panelType": { + "enum": [ + "info", + "note", + "tip", + "warning", + "error", + "success", + "custom" + ] + }, + "panelIcon": { + "type": "string" + }, + "panelIconId": { + "type": "string" + }, + "panelIconText": { + "type": "string" + }, + "panelColor": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["panelType"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/rule_with_attrs_node" + }, + { + "$ref": "#/definitions/bodiedRule_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + }, + { + "$ref": "#/definitions/table_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "panel_c1_root_only_node": { + "type": "object", + "properties": { + "type": { + "enum": ["panel"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "panelType": { + "enum": [ + "info", + "note", + "tip", + "warning", + "error", + "success", + "custom" + ] + }, + "panelIcon": { + "type": "string" + }, + "panelIconId": { + "type": "string" + }, + "panelIconText": { + "type": "string" + }, + "panelColor": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["panelType"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/rule_with_attrs_node" + }, + { + "$ref": "#/definitions/bodiedRule_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + }, + { + "$ref": "#/definitions/table_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "panel_node": { + "type": "object", + "properties": { + "type": { + "enum": ["panel"] + }, + "attrs": { + "type": "object", + "properties": { + "panelType": { + "enum": [ + "info", + "note", + "tip", + "warning", + "error", + "success", + "custom" + ] + }, + "panelIcon": { + "type": "string" + }, + "panelIconId": { + "type": "string" + }, + "panelIconText": { + "type": "string" + }, + "panelColor": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["panelType"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/rule_with_attrs_node" + }, + { + "$ref": "#/definitions/bodiedRule_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "panel_root_only_node": { + "allOf": [ + { + "$ref": "#/definitions/panel_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_font_size_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/rule_with_attrs_node" + }, + { + "$ref": "#/definitions/bodiedRule_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + } + ] + }, + "minItems": 1 + } + }, + "required": ["content"], + "additionalProperties": true + } + ] + }, + "paragraph_node": { + "type": "object", + "properties": { + "type": { + "enum": ["paragraph"] + }, + "marks": { + "type": "array" + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/inline_node" + } + } + }, + "additionalProperties": false, + "required": ["type"] + }, + "paragraph_with_alignment_node": { + "allOf": [ + { + "$ref": "#/definitions/paragraph_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/fontSize_mark" + }, + { + "$ref": "#/definitions/alignment_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "paragraph_with_font_size_node": { + "allOf": [ + { + "$ref": "#/definitions/paragraph_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/fontSize_mark" + } + } + }, + "additionalProperties": true + } + ] + }, + "paragraph_with_indentation_node": { + "allOf": [ + { + "$ref": "#/definitions/paragraph_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/fontSize_mark" + }, + { + "$ref": "#/definitions/indentation_mark" + } + ] + } + } + }, + "additionalProperties": true + } + ] + }, + "paragraph_with_no_marks_node": { + "allOf": [ + { + "$ref": "#/definitions/paragraph_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "maxItems": 0 + } + }, + "additionalProperties": true + } + ] + }, + "placeholder_node": { + "type": "object", + "properties": { + "type": { + "enum": ["placeholder"] + }, + "attrs": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["text"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "rule_node": { + "type": "object", + "properties": { + "type": { + "enum": ["rule"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type"] + }, + "rule_root_only_node": { + "allOf": [ + { + "$ref": "#/definitions/rule_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + } + }, + "additionalProperties": true + } + ] + }, + "rule_with_attrs_node": { + "type": "object", + "properties": { + "type": { + "enum": ["rule"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + }, + "color": { + "type": "string", + "pattern": "^#[0-9a-fA-F]{6}$" + }, + "style": { + "enum": ["solid", "dashed", "dotted", "sketch", "fade"] + }, + "weight": { + "type": "number", + "minimum": 1, + "maximum": 3 + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type"] + }, + "rule_with_attrs_root_only_node": { + "type": "object", + "properties": { + "type": { + "enum": ["rule"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + }, + "color": { + "type": "string", + "pattern": "^#[0-9a-fA-F]{6}$" + }, + "style": { + "enum": ["solid", "dashed", "dotted", "sketch", "fade"] + }, + "weight": { + "type": "number", + "minimum": 1, + "maximum": 3 + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type"] + }, + "status_node": { + "type": "object", + "properties": { + "type": { + "enum": ["status"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/annotation_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "text": { + "minLength": 1, + "type": "string" + }, + "color": { + "type": "string", + "pattern": "^(neutral|purple|blue|red|yellow|green|#[0-9a-fA-F]{6})$" + }, + "localId": { + "type": "string" + }, + "style": { + "type": "string" + } + }, + "required": ["text", "color"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "strike_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["strike"] + } + }, + "required": ["type"], + "additionalProperties": false + }, + "strong_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["strong"] + } + }, + "required": ["type"], + "additionalProperties": false + }, + "subsup_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["subsup"] + }, + "attrs": { + "type": "object", + "properties": { + "type": { + "enum": ["sub", "sup"] + } + }, + "required": ["type"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "syncBlock_node": { + "type": "object", + "properties": { + "type": { + "enum": ["syncBlock"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/breakout_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "resourceId": { + "type": "string" + }, + "localId": { + "type": "string" + } + }, + "required": ["resourceId", "localId"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "table_cell_content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/paragraph_with_no_marks_node" + }, + { + "$ref": "#/definitions/paragraph_with_alignment_node" + }, + { + "$ref": "#/definitions/panel_node" + }, + { + "$ref": "#/definitions/blockquote_node" + }, + { + "$ref": "#/definitions/orderedList_node" + }, + { + "$ref": "#/definitions/bulletList_node" + }, + { + "$ref": "#/definitions/rule_node" + }, + { + "$ref": "#/definitions/rule_with_attrs_node" + }, + { + "$ref": "#/definitions/bodiedRule_node" + }, + { + "$ref": "#/definitions/heading_with_no_marks_node" + }, + { + "$ref": "#/definitions/heading_with_alignment_node" + }, + { + "$ref": "#/definitions/heading_with_indentation_node" + }, + { + "$ref": "#/definitions/codeBlock_node" + }, + { + "$ref": "#/definitions/mediaSingle_caption_node" + }, + { + "$ref": "#/definitions/mediaSingle_full_node" + }, + { + "$ref": "#/definitions/mediaGroup_node" + }, + { + "$ref": "#/definitions/decisionList_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/blockCard_node" + }, + { + "$ref": "#/definitions/embedCard_node" + }, + { + "$ref": "#/definitions/extension_with_marks_node" + }, + { + "$ref": "#/definitions/nestedExpand_with_no_marks_node" + } + ] + }, + "minItems": 1 + }, + "table_cell_node": { + "type": "object", + "properties": { + "type": { + "enum": ["tableCell"] + }, + "attrs": { + "type": "object", + "properties": { + "colspan": { + "type": "number" + }, + "rowspan": { + "type": "number" + }, + "colwidth": { + "type": "array", + "items": { + "type": "number" + } + }, + "background": { + "type": "string" + }, + "localId": { + "type": "string" + }, + "valign": { + "enum": ["top", "middle", "bottom"] + } + }, + "additionalProperties": false + }, + "content": { + "$ref": "#/definitions/table_cell_content" + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "table_header_node": { + "type": "object", + "properties": { + "type": { + "enum": ["tableHeader"] + }, + "attrs": { + "type": "object", + "properties": { + "colspan": { + "type": "number" + }, + "rowspan": { + "type": "number" + }, + "colwidth": { + "type": "array", + "items": { + "type": "number" + } + }, + "background": { + "type": "string" + }, + "localId": { + "type": "string" + }, + "valign": { + "enum": ["top", "middle", "bottom"] + } + }, + "additionalProperties": false + }, + "content": { + "$ref": "#/definitions/table_cell_content" + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "table_node": { + "type": "object", + "properties": { + "type": { + "enum": ["table"] + }, + "marks": { + "type": "array", + "items": { + "$ref": "#/definitions/fragment_mark" + } + }, + "attrs": { + "type": "object", + "properties": { + "displayMode": { + "enum": ["default", "fixed"] + }, + "isNumberColumnEnabled": { + "type": "boolean" + }, + "layout": { + "enum": [ + "wide", + "full-width", + "center", + "align-end", + "align-start", + "default" + ] + }, + "localId": { + "type": "string", + "minLength": 1 + }, + "width": { + "type": "number" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/table_row_node" + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "table_row_node": { + "type": "object", + "properties": { + "type": { + "enum": ["tableRow"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/table_cell_node" + }, + { + "$ref": "#/definitions/table_header_node" + } + ] + } + } + }, + "additionalProperties": false, + "required": ["type", "content"] + }, + "taskItem_node": { + "type": "object", + "properties": { + "type": { + "enum": ["taskItem"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + }, + "state": { + "enum": ["TODO", "DONE"] + } + }, + "required": ["localId", "state"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "$ref": "#/definitions/inline_node" + } + } + }, + "additionalProperties": false, + "required": ["type", "attrs"] + }, + "taskList_node": { + "type": "object", + "properties": { + "type": { + "enum": ["taskList"] + }, + "attrs": { + "type": "object", + "properties": { + "localId": { + "type": "string" + } + }, + "required": ["localId"], + "additionalProperties": false + }, + "content": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/taskItem_node" + }, + { + "$ref": "#/definitions/taskList_node" + }, + { + "$ref": "#/definitions/blockTaskItem_node" + } + ] + }, + "minItems": 1 + } + }, + "additionalProperties": false, + "required": ["type", "attrs", "content"] + }, + "text_node": { + "type": "object", + "properties": { + "type": { + "enum": ["text"] + }, + "marks": { + "type": "array" + }, + "text": { + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false, + "required": ["type", "text"] + }, + "text_with_no_marks_node": { + "allOf": [ + { + "$ref": "#/definitions/text_node" + }, + { + "type": "object", + "properties": { + "marks": { + "type": "array", + "maxItems": 0 + } + }, + "additionalProperties": true + } + ] + }, + "textColor_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["textColor"] + }, + "attrs": { + "type": "object", + "properties": { + "color": { + "type": "string", + "pattern": "^#[0-9a-fA-F]{6}$" + } + }, + "required": ["color"], + "additionalProperties": false + } + }, + "required": ["type", "attrs"], + "additionalProperties": false + }, + "underline_mark": { + "type": "object", + "properties": { + "type": { + "enum": ["underline"] + } + }, + "required": ["type"], + "additionalProperties": false + } + } +} diff --git a/src/adf-schema.test.ts b/src/adf-schema.test.ts new file mode 100644 index 0000000..515f864 --- /dev/null +++ b/src/adf-schema.test.ts @@ -0,0 +1,14 @@ +import assert from 'node:assert/strict' +import { createHash } from 'node:crypto' +import { readFileSync } from 'node:fs' +import { dirname, join } from 'node:path' +import test from 'node:test' +import { fileURLToPath } from 'node:url' + +const root = join(dirname(fileURLToPath(import.meta.url)), '..', 'spec', 'adf-schema') + +test('the ADF JSON Schemas are @atlaskit/adf-schema 57.4.9, vendored byte-exact', () => { + const digest = (name: string) => createHash('sha256').update(readFileSync(join(root, name))).digest('hex') + assert.equal(digest('full.json'), '75f080928a970250eb8289e9cae5374e3c2a6c0ac3ca22478acaa9d3f39484a3') + assert.equal(digest('stage-0.json'), '56747e5a71c0d5f8c58f94180d69e4482f62c08020d66aaf327333681fcc1c8f') +})