@elastic/isomer-sdk 0.0.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +93 -0
- package/NOTICE.txt +1861 -0
- package/README.md +69 -0
- package/THIRD_PARTY_LICENSES.md +957 -0
- package/dist/author/authored_fields.d.ts +153 -0
- package/dist/author/authored_fields.d.ts.map +1 -0
- package/dist/author/authored_fields.js +227 -0
- package/dist/author/authored_fields.js.map +1 -0
- package/dist/author/authoring_input.d.ts +7 -0
- package/dist/author/authoring_input.d.ts.map +1 -0
- package/dist/author/authoring_input.js +60 -0
- package/dist/author/authoring_input.js.map +1 -0
- package/dist/author/authoring_model.d.ts +27 -0
- package/dist/author/authoring_model.d.ts.map +1 -0
- package/dist/author/authoring_model.js +98 -0
- package/dist/author/authoring_model.js.map +1 -0
- package/dist/author/declarations.d.ts +13 -0
- package/dist/author/declarations.d.ts.map +1 -0
- package/dist/author/declarations.js +277 -0
- package/dist/author/declarations.js.map +1 -0
- package/dist/author/index.d.ts +7 -0
- package/dist/author/index.d.ts.map +1 -0
- package/dist/author/index.js +12 -0
- package/dist/author/index.js.map +1 -0
- package/dist/author/jsx.d.ts +21 -0
- package/dist/author/jsx.d.ts.map +1 -0
- package/dist/author/jsx.js +20 -0
- package/dist/author/jsx.js.map +1 -0
- package/dist/author/jsx_shim.d.ts +117 -0
- package/dist/author/jsx_shim.d.ts.map +1 -0
- package/dist/author/jsx_shim.js +270 -0
- package/dist/author/jsx_shim.js.map +1 -0
- package/dist/author/prompt.d.ts +58 -0
- package/dist/author/prompt.d.ts.map +1 -0
- package/dist/author/prompt.js +148 -0
- package/dist/author/prompt.js.map +1 -0
- package/dist/author/schema_to_typescript.d.ts +37 -0
- package/dist/author/schema_to_typescript.d.ts.map +1 -0
- package/dist/author/schema_to_typescript.js +286 -0
- package/dist/author/schema_to_typescript.js.map +1 -0
- package/dist/cjs/author/authored_fields.js +233 -0
- package/dist/cjs/author/authored_fields.js.map +1 -0
- package/dist/cjs/author/authoring_input.js +64 -0
- package/dist/cjs/author/authoring_input.js.map +1 -0
- package/dist/cjs/author/authoring_model.js +104 -0
- package/dist/cjs/author/authoring_model.js.map +1 -0
- package/dist/cjs/author/declarations.js +281 -0
- package/dist/cjs/author/declarations.js.map +1 -0
- package/dist/cjs/author/index.js +25 -0
- package/dist/cjs/author/index.js.map +1 -0
- package/dist/cjs/author/jsx.js +24 -0
- package/dist/cjs/author/jsx.js.map +1 -0
- package/dist/cjs/author/jsx_shim.js +276 -0
- package/dist/cjs/author/jsx_shim.js.map +1 -0
- package/dist/cjs/author/prompt.js +153 -0
- package/dist/cjs/author/prompt.js.map +1 -0
- package/dist/cjs/author/schema_to_typescript.js +295 -0
- package/dist/cjs/author/schema_to_typescript.js.map +1 -0
- package/dist/cjs/composition/action_event.js +9 -0
- package/dist/cjs/composition/action_event.js.map +1 -0
- package/dist/cjs/composition/body_node_base.js +112 -0
- package/dist/cjs/composition/body_node_base.js.map +1 -0
- package/dist/cjs/composition/composition.js +9 -0
- package/dist/cjs/composition/composition.js.map +1 -0
- package/dist/cjs/composition/error.js +73 -0
- package/dist/cjs/composition/error.js.map +1 -0
- package/dist/cjs/composition/index.js +32 -0
- package/dist/cjs/composition/index.js.map +1 -0
- package/dist/cjs/composition/map_nodes.js +85 -0
- package/dist/cjs/composition/map_nodes.js.map +1 -0
- package/dist/cjs/composition/named_color.js +20 -0
- package/dist/cjs/composition/named_color.js.map +1 -0
- package/dist/cjs/composition/node.js +9 -0
- package/dist/cjs/composition/node.js.map +1 -0
- package/dist/cjs/composition/one_line.js +23 -0
- package/dist/cjs/composition/one_line.js.map +1 -0
- package/dist/cjs/composition/structured_value.js +21 -0
- package/dist/cjs/composition/structured_value.js.map +1 -0
- package/dist/cjs/composition/validation_error.js +40 -0
- package/dist/cjs/composition/validation_error.js.map +1 -0
- package/dist/cjs/define/frame.js +31 -0
- package/dist/cjs/define/frame.js.map +1 -0
- package/dist/cjs/define/index.js +31 -0
- package/dist/cjs/define/index.js.map +1 -0
- package/dist/cjs/define/markdown_content.js +12 -0
- package/dist/cjs/define/markdown_content.js.map +1 -0
- package/dist/cjs/define/primitive_example.js +26 -0
- package/dist/cjs/define/primitive_example.js.map +1 -0
- package/dist/cjs/define/primitive_icon.js +17 -0
- package/dist/cjs/define/primitive_icon.js.map +1 -0
- package/dist/cjs/define/primitive_module.js +118 -0
- package/dist/cjs/define/primitive_module.js.map +1 -0
- package/dist/cjs/define/slack_assets.js +9 -0
- package/dist/cjs/define/slack_assets.js.map +1 -0
- package/dist/cjs/define/slack_blocks.js +9 -0
- package/dist/cjs/define/slack_blocks.js.map +1 -0
- package/dist/cjs/define/zod_format.js +122 -0
- package/dist/cjs/define/zod_format.js.map +1 -0
- package/dist/cjs/define/zod_helpers.js +26 -0
- package/dist/cjs/define/zod_helpers.js.map +1 -0
- package/dist/cjs/entries/html.js +12 -0
- package/dist/cjs/entries/html.js.map +1 -0
- package/dist/cjs/entries/index.js +80 -0
- package/dist/cjs/entries/index.js.map +1 -0
- package/dist/cjs/entries/markdown.js +14 -0
- package/dist/cjs/entries/markdown.js.map +1 -0
- package/dist/cjs/entries/react.js +20 -0
- package/dist/cjs/entries/react.js.map +1 -0
- package/dist/cjs/entries/slack.js +25 -0
- package/dist/cjs/entries/slack.js.map +1 -0
- package/dist/cjs/entries/text.js +12 -0
- package/dist/cjs/entries/text.js.map +1 -0
- package/dist/cjs/pack/capabilities.js +40 -0
- package/dist/cjs/pack/capabilities.js.map +1 -0
- package/dist/cjs/pack/compose.js +59 -0
- package/dist/cjs/pack/compose.js.map +1 -0
- package/dist/cjs/pack/enhancements.js +65 -0
- package/dist/cjs/pack/enhancements.js.map +1 -0
- package/dist/cjs/pack/index.js +18 -0
- package/dist/cjs/pack/index.js.map +1 -0
- package/dist/cjs/pack/primitive_pack.js +97 -0
- package/dist/cjs/pack/primitive_pack.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/render/anchors.js +167 -0
- package/dist/cjs/render/anchors.js.map +1 -0
- package/dist/cjs/render/context_view.js +54 -0
- package/dist/cjs/render/context_view.js.map +1 -0
- package/dist/cjs/render/format_display_value.js +143 -0
- package/dist/cjs/render/format_display_value.js.map +1 -0
- package/dist/cjs/render/format_number.js +46 -0
- package/dist/cjs/render/format_number.js.map +1 -0
- package/dist/cjs/render/html/enhancements.js +30 -0
- package/dist/cjs/render/html/enhancements.js.map +1 -0
- package/dist/cjs/render/html/envelope.js +218 -0
- package/dist/cjs/render/html/envelope.js.map +1 -0
- package/dist/cjs/render/html/index.js +12 -0
- package/dist/cjs/render/html/index.js.map +1 -0
- package/dist/cjs/render/index.js +25 -0
- package/dist/cjs/render/index.js.map +1 -0
- package/dist/cjs/render/layout_check.js +133 -0
- package/dist/cjs/render/layout_check.js.map +1 -0
- package/dist/cjs/render/markdown/builder.js +195 -0
- package/dist/cjs/render/markdown/builder.js.map +1 -0
- package/dist/cjs/render/markdown/envelope.js +33 -0
- package/dist/cjs/render/markdown/envelope.js.map +1 -0
- package/dist/cjs/render/markdown/format.js +208 -0
- package/dist/cjs/render/markdown/format.js.map +1 -0
- package/dist/cjs/render/markdown/index.js +15 -0
- package/dist/cjs/render/markdown/index.js.map +1 -0
- package/dist/cjs/render/measure_dom.js +61 -0
- package/dist/cjs/render/measure_dom.js.map +1 -0
- package/dist/cjs/render/payload.js +13 -0
- package/dist/cjs/render/payload.js.map +1 -0
- package/dist/cjs/render/primitive_dispatch.js +173 -0
- package/dist/cjs/render/primitive_dispatch.js.map +1 -0
- package/dist/cjs/render/react/content.js +44 -0
- package/dist/cjs/render/react/content.js.map +1 -0
- package/dist/cjs/render/react/enhancements.js +32 -0
- package/dist/cjs/render/react/enhancements.js.map +1 -0
- package/dist/cjs/render/react/index.js +15 -0
- package/dist/cjs/render/react/index.js.map +1 -0
- package/dist/cjs/render/slack/assets.js +45 -0
- package/dist/cjs/render/slack/assets.js.map +1 -0
- package/dist/cjs/render/slack/blocks.js +80 -0
- package/dist/cjs/render/slack/blocks.js.map +1 -0
- package/dist/cjs/render/slack/envelope.js +551 -0
- package/dist/cjs/render/slack/envelope.js.map +1 -0
- package/dist/cjs/render/slack/format.js +225 -0
- package/dist/cjs/render/slack/format.js.map +1 -0
- package/dist/cjs/render/slack/index.js +30 -0
- package/dist/cjs/render/slack/index.js.map +1 -0
- package/dist/cjs/render/slack/markdown_content.js +409 -0
- package/dist/cjs/render/slack/markdown_content.js.map +1 -0
- package/dist/cjs/render/text/envelope.js +21 -0
- package/dist/cjs/render/text/envelope.js.map +1 -0
- package/dist/cjs/render/text/index.js +12 -0
- package/dist/cjs/render/text/index.js.map +1 -0
- package/dist/cjs/testing/conformance.js +312 -0
- package/dist/cjs/testing/conformance.js.map +1 -0
- package/dist/cjs/testing/icon.js +248 -0
- package/dist/cjs/testing/icon.js.map +1 -0
- package/dist/cjs/testing/index.js +18 -0
- package/dist/cjs/testing/index.js.map +1 -0
- package/dist/cjs/testing/registration.js +142 -0
- package/dist/cjs/testing/registration.js.map +1 -0
- package/dist/cjs/validate/authoring_schema.js +312 -0
- package/dist/cjs/validate/authoring_schema.js.map +1 -0
- package/dist/cjs/validate/composition_schema.js +135 -0
- package/dist/cjs/validate/composition_schema.js.map +1 -0
- package/dist/cjs/validate/index.js +53 -0
- package/dist/cjs/validate/index.js.map +1 -0
- package/dist/cjs/validate/input_budget.js +156 -0
- package/dist/cjs/validate/input_budget.js.map +1 -0
- package/dist/cjs/validate/json_schema.js +72 -0
- package/dist/cjs/validate/json_schema.js.map +1 -0
- package/dist/cjs/validate/node_issues.js +65 -0
- package/dist/cjs/validate/node_issues.js.map +1 -0
- package/dist/cjs/validate/url.js +116 -0
- package/dist/cjs/validate/url.js.map +1 -0
- package/dist/cjs/validate/validation.js +165 -0
- package/dist/cjs/validate/validation.js.map +1 -0
- package/dist/cjs/validate/value_schemas.js +53 -0
- package/dist/cjs/validate/value_schemas.js.map +1 -0
- package/dist/composition/action_event.d.ts +13 -0
- package/dist/composition/action_event.d.ts.map +1 -0
- package/dist/composition/action_event.js +8 -0
- package/dist/composition/action_event.js.map +1 -0
- package/dist/composition/body_node_base.d.ts +72 -0
- package/dist/composition/body_node_base.d.ts.map +1 -0
- package/dist/composition/body_node_base.js +104 -0
- package/dist/composition/body_node_base.js.map +1 -0
- package/dist/composition/composition.d.ts +71 -0
- package/dist/composition/composition.d.ts.map +1 -0
- package/dist/composition/composition.js +8 -0
- package/dist/composition/composition.js.map +1 -0
- package/dist/composition/error.d.ts +61 -0
- package/dist/composition/error.d.ts.map +1 -0
- package/dist/composition/error.js +69 -0
- package/dist/composition/error.js.map +1 -0
- package/dist/composition/index.d.ts +11 -0
- package/dist/composition/index.d.ts.map +1 -0
- package/dist/composition/index.js +14 -0
- package/dist/composition/index.js.map +1 -0
- package/dist/composition/map_nodes.d.ts +16 -0
- package/dist/composition/map_nodes.d.ts.map +1 -0
- package/dist/composition/map_nodes.js +81 -0
- package/dist/composition/map_nodes.js.map +1 -0
- package/dist/composition/named_color.d.ts +9 -0
- package/dist/composition/named_color.d.ts.map +1 -0
- package/dist/composition/named_color.js +17 -0
- package/dist/composition/named_color.js.map +1 -0
- package/dist/composition/node.d.ts +11 -0
- package/dist/composition/node.d.ts.map +1 -0
- package/dist/composition/node.js +8 -0
- package/dist/composition/node.js.map +1 -0
- package/dist/composition/one_line.d.ts +7 -0
- package/dist/composition/one_line.d.ts.map +1 -0
- package/dist/composition/one_line.js +17 -0
- package/dist/composition/one_line.js.map +1 -0
- package/dist/composition/structured_value.d.ts +27 -0
- package/dist/composition/structured_value.d.ts.map +1 -0
- package/dist/composition/structured_value.js +18 -0
- package/dist/composition/structured_value.js.map +1 -0
- package/dist/composition/validation_error.d.ts +33 -0
- package/dist/composition/validation_error.d.ts.map +1 -0
- package/dist/composition/validation_error.js +35 -0
- package/dist/composition/validation_error.js.map +1 -0
- package/dist/define/frame.d.ts +155 -0
- package/dist/define/frame.d.ts.map +1 -0
- package/dist/define/frame.js +27 -0
- package/dist/define/frame.js.map +1 -0
- package/dist/define/index.d.ts +10 -0
- package/dist/define/index.d.ts.map +1 -0
- package/dist/define/index.js +13 -0
- package/dist/define/index.js.map +1 -0
- package/dist/define/markdown_content.d.ts +15 -0
- package/dist/define/markdown_content.d.ts.map +1 -0
- package/dist/define/markdown_content.js +9 -0
- package/dist/define/markdown_content.js.map +1 -0
- package/dist/define/primitive_example.d.ts +30 -0
- package/dist/define/primitive_example.d.ts.map +1 -0
- package/dist/define/primitive_example.js +21 -0
- package/dist/define/primitive_example.js.map +1 -0
- package/dist/define/primitive_icon.d.ts +11 -0
- package/dist/define/primitive_icon.d.ts.map +1 -0
- package/dist/define/primitive_icon.js +14 -0
- package/dist/define/primitive_icon.js.map +1 -0
- package/dist/define/primitive_module.d.ts +435 -0
- package/dist/define/primitive_module.d.ts.map +1 -0
- package/dist/define/primitive_module.js +112 -0
- package/dist/define/primitive_module.js.map +1 -0
- package/dist/define/slack_assets.d.ts +28 -0
- package/dist/define/slack_assets.d.ts.map +1 -0
- package/dist/define/slack_assets.js +8 -0
- package/dist/define/slack_assets.js.map +1 -0
- package/dist/define/slack_blocks.d.ts +234 -0
- package/dist/define/slack_blocks.d.ts.map +1 -0
- package/dist/define/slack_blocks.js +8 -0
- package/dist/define/slack_blocks.js.map +1 -0
- package/dist/define/zod_format.d.ts +33 -0
- package/dist/define/zod_format.d.ts.map +1 -0
- package/dist/define/zod_format.js +114 -0
- package/dist/define/zod_format.js.map +1 -0
- package/dist/define/zod_helpers.d.ts +10 -0
- package/dist/define/zod_helpers.d.ts.map +1 -0
- package/dist/define/zod_helpers.js +22 -0
- package/dist/define/zod_helpers.js.map +1 -0
- package/dist/entries/html.d.ts +3 -0
- package/dist/entries/html.d.ts.map +1 -0
- package/dist/entries/html.js +8 -0
- package/dist/entries/html.js.map +1 -0
- package/dist/entries/index.d.ts +6 -0
- package/dist/entries/index.d.ts.map +1 -0
- package/dist/entries/index.js +12 -0
- package/dist/entries/index.js.map +1 -0
- package/dist/entries/markdown.d.ts +3 -0
- package/dist/entries/markdown.d.ts.map +1 -0
- package/dist/entries/markdown.js +8 -0
- package/dist/entries/markdown.js.map +1 -0
- package/dist/entries/react.d.ts +5 -0
- package/dist/entries/react.d.ts.map +1 -0
- package/dist/entries/react.js +11 -0
- package/dist/entries/react.js.map +1 -0
- package/dist/entries/slack.d.ts +2 -0
- package/dist/entries/slack.d.ts.map +1 -0
- package/dist/entries/slack.js +8 -0
- package/dist/entries/slack.js.map +1 -0
- package/dist/entries/text.d.ts +2 -0
- package/dist/entries/text.d.ts.map +1 -0
- package/dist/entries/text.js +8 -0
- package/dist/entries/text.js.map +1 -0
- package/dist/pack/capabilities.d.ts +41 -0
- package/dist/pack/capabilities.d.ts.map +1 -0
- package/dist/pack/capabilities.js +36 -0
- package/dist/pack/capabilities.js.map +1 -0
- package/dist/pack/compose.d.ts +24 -0
- package/dist/pack/compose.d.ts.map +1 -0
- package/dist/pack/compose.js +55 -0
- package/dist/pack/compose.js.map +1 -0
- package/dist/pack/enhancements.d.ts +65 -0
- package/dist/pack/enhancements.d.ts.map +1 -0
- package/dist/pack/enhancements.js +59 -0
- package/dist/pack/enhancements.js.map +1 -0
- package/dist/pack/index.d.ts +5 -0
- package/dist/pack/index.d.ts.map +1 -0
- package/dist/pack/index.js +11 -0
- package/dist/pack/index.js.map +1 -0
- package/dist/pack/primitive_pack.d.ts +164 -0
- package/dist/pack/primitive_pack.d.ts.map +1 -0
- package/dist/pack/primitive_pack.js +92 -0
- package/dist/pack/primitive_pack.js.map +1 -0
- package/dist/render/anchors.d.ts +82 -0
- package/dist/render/anchors.d.ts.map +1 -0
- package/dist/render/anchors.js +153 -0
- package/dist/render/anchors.js.map +1 -0
- package/dist/render/context_view.d.ts +10 -0
- package/dist/render/context_view.d.ts.map +1 -0
- package/dist/render/context_view.js +49 -0
- package/dist/render/context_view.js.map +1 -0
- package/dist/render/format_display_value.d.ts +20 -0
- package/dist/render/format_display_value.d.ts.map +1 -0
- package/dist/render/format_display_value.js +137 -0
- package/dist/render/format_display_value.js.map +1 -0
- package/dist/render/format_number.d.ts +9 -0
- package/dist/render/format_number.d.ts.map +1 -0
- package/dist/render/format_number.js +42 -0
- package/dist/render/format_number.js.map +1 -0
- package/dist/render/html/enhancements.d.ts +10 -0
- package/dist/render/html/enhancements.d.ts.map +1 -0
- package/dist/render/html/enhancements.js +25 -0
- package/dist/render/html/enhancements.js.map +1 -0
- package/dist/render/html/envelope.d.ts +182 -0
- package/dist/render/html/envelope.d.ts.map +1 -0
- package/dist/render/html/envelope.js +214 -0
- package/dist/render/html/envelope.js.map +1 -0
- package/dist/render/html/index.d.ts +3 -0
- package/dist/render/html/index.d.ts.map +1 -0
- package/dist/render/html/index.js +8 -0
- package/dist/render/html/index.js.map +1 -0
- package/dist/render/index.d.ts +6 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.js +11 -0
- package/dist/render/index.js.map +1 -0
- package/dist/render/layout_check.d.ts +43 -0
- package/dist/render/layout_check.d.ts.map +1 -0
- package/dist/render/layout_check.js +129 -0
- package/dist/render/layout_check.js.map +1 -0
- package/dist/render/markdown/builder.d.ts +46 -0
- package/dist/render/markdown/builder.d.ts.map +1 -0
- package/dist/render/markdown/builder.js +190 -0
- package/dist/render/markdown/builder.js.map +1 -0
- package/dist/render/markdown/envelope.d.ts +20 -0
- package/dist/render/markdown/envelope.d.ts.map +1 -0
- package/dist/render/markdown/envelope.js +29 -0
- package/dist/render/markdown/envelope.js.map +1 -0
- package/dist/render/markdown/format.d.ts +10 -0
- package/dist/render/markdown/format.d.ts.map +1 -0
- package/dist/render/markdown/format.js +202 -0
- package/dist/render/markdown/format.js.map +1 -0
- package/dist/render/markdown/index.d.ts +3 -0
- package/dist/render/markdown/index.d.ts.map +1 -0
- package/dist/render/markdown/index.js +9 -0
- package/dist/render/markdown/index.js.map +1 -0
- package/dist/render/measure_dom.d.ts +10 -0
- package/dist/render/measure_dom.d.ts.map +1 -0
- package/dist/render/measure_dom.js +57 -0
- package/dist/render/measure_dom.js.map +1 -0
- package/dist/render/payload.d.ts +16 -0
- package/dist/render/payload.d.ts.map +1 -0
- package/dist/render/payload.js +9 -0
- package/dist/render/payload.js.map +1 -0
- package/dist/render/primitive_dispatch.d.ts +72 -0
- package/dist/render/primitive_dispatch.d.ts.map +1 -0
- package/dist/render/primitive_dispatch.js +169 -0
- package/dist/render/primitive_dispatch.js.map +1 -0
- package/dist/render/react/content.d.ts +40 -0
- package/dist/render/react/content.d.ts.map +1 -0
- package/dist/render/react/content.js +39 -0
- package/dist/render/react/content.js.map +1 -0
- package/dist/render/react/enhancements.d.ts +15 -0
- package/dist/render/react/enhancements.d.ts.map +1 -0
- package/dist/render/react/enhancements.js +28 -0
- package/dist/render/react/enhancements.js.map +1 -0
- package/dist/render/react/index.d.ts +3 -0
- package/dist/render/react/index.d.ts.map +1 -0
- package/dist/render/react/index.js +9 -0
- package/dist/render/react/index.js.map +1 -0
- package/dist/render/slack/assets.d.ts +16 -0
- package/dist/render/slack/assets.d.ts.map +1 -0
- package/dist/render/slack/assets.js +40 -0
- package/dist/render/slack/assets.js.map +1 -0
- package/dist/render/slack/blocks.d.ts +72 -0
- package/dist/render/slack/blocks.d.ts.map +1 -0
- package/dist/render/slack/blocks.js +77 -0
- package/dist/render/slack/blocks.js.map +1 -0
- package/dist/render/slack/envelope.d.ts +52 -0
- package/dist/render/slack/envelope.d.ts.map +1 -0
- package/dist/render/slack/envelope.js +547 -0
- package/dist/render/slack/envelope.js.map +1 -0
- package/dist/render/slack/format.d.ts +70 -0
- package/dist/render/slack/format.d.ts.map +1 -0
- package/dist/render/slack/format.js +209 -0
- package/dist/render/slack/format.js.map +1 -0
- package/dist/render/slack/index.d.ts +6 -0
- package/dist/render/slack/index.d.ts.map +1 -0
- package/dist/render/slack/index.js +12 -0
- package/dist/render/slack/index.js.map +1 -0
- package/dist/render/slack/markdown_content.d.ts +17 -0
- package/dist/render/slack/markdown_content.d.ts.map +1 -0
- package/dist/render/slack/markdown_content.js +404 -0
- package/dist/render/slack/markdown_content.js.map +1 -0
- package/dist/render/text/envelope.d.ts +15 -0
- package/dist/render/text/envelope.d.ts.map +1 -0
- package/dist/render/text/envelope.js +17 -0
- package/dist/render/text/envelope.js.map +1 -0
- package/dist/render/text/index.d.ts +2 -0
- package/dist/render/text/index.d.ts.map +1 -0
- package/dist/render/text/index.js +8 -0
- package/dist/render/text/index.js.map +1 -0
- package/dist/testing/conformance.d.ts +145 -0
- package/dist/testing/conformance.d.ts.map +1 -0
- package/dist/testing/conformance.js +303 -0
- package/dist/testing/conformance.js.map +1 -0
- package/dist/testing/icon.d.ts +11 -0
- package/dist/testing/icon.d.ts.map +1 -0
- package/dist/testing/icon.js +244 -0
- package/dist/testing/icon.js.map +1 -0
- package/dist/testing/index.d.ts +4 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +10 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/registration.d.ts +32 -0
- package/dist/testing/registration.d.ts.map +1 -0
- package/dist/testing/registration.js +105 -0
- package/dist/testing/registration.js.map +1 -0
- package/dist/validate/authoring_schema.d.ts +33 -0
- package/dist/validate/authoring_schema.d.ts.map +1 -0
- package/dist/validate/authoring_schema.js +306 -0
- package/dist/validate/authoring_schema.js.map +1 -0
- package/dist/validate/composition_schema.d.ts +80 -0
- package/dist/validate/composition_schema.d.ts.map +1 -0
- package/dist/validate/composition_schema.js +127 -0
- package/dist/validate/composition_schema.js.map +1 -0
- package/dist/validate/index.d.ts +9 -0
- package/dist/validate/index.d.ts.map +1 -0
- package/dist/validate/index.js +15 -0
- package/dist/validate/index.js.map +1 -0
- package/dist/validate/input_budget.d.ts +35 -0
- package/dist/validate/input_budget.d.ts.map +1 -0
- package/dist/validate/input_budget.js +151 -0
- package/dist/validate/input_budget.js.map +1 -0
- package/dist/validate/json_schema.d.ts +32 -0
- package/dist/validate/json_schema.d.ts.map +1 -0
- package/dist/validate/json_schema.js +68 -0
- package/dist/validate/json_schema.js.map +1 -0
- package/dist/validate/node_issues.d.ts +12 -0
- package/dist/validate/node_issues.d.ts.map +1 -0
- package/dist/validate/node_issues.js +61 -0
- package/dist/validate/node_issues.js.map +1 -0
- package/dist/validate/url.d.ts +50 -0
- package/dist/validate/url.d.ts.map +1 -0
- package/dist/validate/url.js +107 -0
- package/dist/validate/url.js.map +1 -0
- package/dist/validate/validation.d.ts +95 -0
- package/dist/validate/validation.d.ts.map +1 -0
- package/dist/validate/validation.js +157 -0
- package/dist/validate/validation.js.map +1 -0
- package/dist/validate/value_schemas.d.ts +53 -0
- package/dist/validate/value_schemas.d.ts.map +1 -0
- package/dist/validate/value_schemas.js +50 -0
- package/dist/validate/value_schemas.js.map +1 -0
- package/package.json +119 -5
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
4
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
5
|
+
* 2.0; you may not use this file except in compliance with the Elastic License
|
|
6
|
+
* 2.0.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.createTypePrinter = exports.jsDoc = exports.pascalCase = exports.ownDef = exports.parseDefRef = exports.isJsonObject = exports.IDENTIFIER = exports.ANONYMOUS_DEF = exports.DEF_PREFIX = void 0;
|
|
10
|
+
exports.DEF_PREFIX = '#/$defs/';
|
|
11
|
+
/** Ids `z.toJSONSchema` gives a def no one named. */
|
|
12
|
+
exports.ANONYMOUS_DEF = /^__schema\d+$/;
|
|
13
|
+
const STRUCTURAL_KEYS = [
|
|
14
|
+
'type',
|
|
15
|
+
'const',
|
|
16
|
+
'enum',
|
|
17
|
+
'properties',
|
|
18
|
+
'additionalProperties',
|
|
19
|
+
'patternProperties',
|
|
20
|
+
'propertyNames',
|
|
21
|
+
'items',
|
|
22
|
+
'prefixItems',
|
|
23
|
+
'oneOf',
|
|
24
|
+
'anyOf',
|
|
25
|
+
'allOf',
|
|
26
|
+
];
|
|
27
|
+
const INDENT = ' ';
|
|
28
|
+
exports.IDENTIFIER = /^[A-Za-z_$][\w$]*$/;
|
|
29
|
+
const isJsonObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
30
|
+
exports.isJsonObject = isJsonObject;
|
|
31
|
+
const parseDefRef = (ref) => typeof ref === 'string' && ref.startsWith(exports.DEF_PREFIX)
|
|
32
|
+
? ref.slice(exports.DEF_PREFIX.length)
|
|
33
|
+
: undefined;
|
|
34
|
+
exports.parseDefRef = parseDefRef;
|
|
35
|
+
const ownDef = (defs, id) => Object.hasOwn(defs, id) ? defs[id] : undefined;
|
|
36
|
+
exports.ownDef = ownDef;
|
|
37
|
+
/** `slideStats` becomes `SlideStats`; anything but letters and digits splits words. */
|
|
38
|
+
const pascalCase = (value) => {
|
|
39
|
+
const name = value
|
|
40
|
+
.split(/[^A-Za-z0-9]+/)
|
|
41
|
+
.filter(Boolean)
|
|
42
|
+
.map((word) => `${word.slice(0, 1).toUpperCase()}${word.slice(1)}`)
|
|
43
|
+
.join('');
|
|
44
|
+
if (name === '') {
|
|
45
|
+
return 'Type';
|
|
46
|
+
}
|
|
47
|
+
return /^\d/.test(name) ? `_${name}` : name;
|
|
48
|
+
};
|
|
49
|
+
exports.pascalCase = pascalCase;
|
|
50
|
+
/** A JSDoc block for `lines`, or `''` when there are none. */
|
|
51
|
+
const jsDoc = (lines, pad) => {
|
|
52
|
+
const text = lines
|
|
53
|
+
.flatMap((line) => line.split('\n'))
|
|
54
|
+
.map((line) => line.replaceAll('*/', '*\\/').trimEnd());
|
|
55
|
+
while (text[0] === '') {
|
|
56
|
+
text.shift();
|
|
57
|
+
}
|
|
58
|
+
while (text.at(-1) === '') {
|
|
59
|
+
text.pop();
|
|
60
|
+
}
|
|
61
|
+
if (text.length === 0) {
|
|
62
|
+
return '';
|
|
63
|
+
}
|
|
64
|
+
const [only] = text;
|
|
65
|
+
if (text.length === 1 && only !== undefined) {
|
|
66
|
+
return `${pad}/** ${only} */\n`;
|
|
67
|
+
}
|
|
68
|
+
return `${pad}/**\n${text
|
|
69
|
+
.map((line) => (line === '' ? `${pad} *` : `${pad} * ${line}`))
|
|
70
|
+
.join('\n')}\n${pad} */\n`;
|
|
71
|
+
};
|
|
72
|
+
exports.jsDoc = jsDoc;
|
|
73
|
+
const propertyKey = (key) => exports.IDENTIFIER.test(key) ? key : JSON.stringify(key);
|
|
74
|
+
const literal = (value) => {
|
|
75
|
+
if (value === null) {
|
|
76
|
+
return 'null';
|
|
77
|
+
}
|
|
78
|
+
switch (typeof value) {
|
|
79
|
+
case 'string':
|
|
80
|
+
return JSON.stringify(value);
|
|
81
|
+
case 'number':
|
|
82
|
+
case 'boolean':
|
|
83
|
+
return String(value);
|
|
84
|
+
default:
|
|
85
|
+
return 'unknown';
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
const atom = (text) => ({ text, kind: 'atom' });
|
|
89
|
+
const union = (members) => {
|
|
90
|
+
if (members.some(({ text }) => text === 'unknown'))
|
|
91
|
+
return atom('unknown');
|
|
92
|
+
const unique = new Map(members.map((member) => [member.text, member]));
|
|
93
|
+
const [only] = [...unique.values()];
|
|
94
|
+
if (unique.size === 0) {
|
|
95
|
+
return atom('never');
|
|
96
|
+
}
|
|
97
|
+
return unique.size === 1 && only
|
|
98
|
+
? only
|
|
99
|
+
: { text: [...unique.keys()].join(' | '), kind: 'union' };
|
|
100
|
+
};
|
|
101
|
+
const intersection = (members) => {
|
|
102
|
+
const unique = new Map(members.map((member) => [member.text, member]));
|
|
103
|
+
const [only] = [...unique.values()];
|
|
104
|
+
if (!only)
|
|
105
|
+
return atom('unknown');
|
|
106
|
+
if (unique.size === 1 && only) {
|
|
107
|
+
return only;
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
text: [...unique.values()]
|
|
111
|
+
.map(({ text, kind }) => (kind === 'union' ? `(${text})` : text))
|
|
112
|
+
.join(' & '),
|
|
113
|
+
kind: 'intersection',
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
const arrayOf = ({ text, kind }) => atom(kind === 'atom' ? `${text}[]` : `(${text})[]`);
|
|
117
|
+
/** A TypeScript printer over the subset of JSON Schema `z.toJSONSchema` emits. */
|
|
118
|
+
const createTypePrinter = ({ defs, names, claim, }) => {
|
|
119
|
+
const promotedNames = new Map();
|
|
120
|
+
const printRef = (id, depth, active) => {
|
|
121
|
+
const named = names.get(id);
|
|
122
|
+
if (named !== undefined) {
|
|
123
|
+
return atom(named);
|
|
124
|
+
}
|
|
125
|
+
const target = (0, exports.ownDef)(defs, id);
|
|
126
|
+
if (target === undefined) {
|
|
127
|
+
return atom('unknown');
|
|
128
|
+
}
|
|
129
|
+
if (active.has(id)) {
|
|
130
|
+
const name = promotedNames.get(id) ?? claim((0, exports.pascalCase)(id));
|
|
131
|
+
promotedNames.set(id, name);
|
|
132
|
+
return atom(name);
|
|
133
|
+
}
|
|
134
|
+
return printNode(target, depth, new Set([...active, id]));
|
|
135
|
+
};
|
|
136
|
+
const printNode = (node, depth, active) => {
|
|
137
|
+
if (node === false) {
|
|
138
|
+
return atom('never');
|
|
139
|
+
}
|
|
140
|
+
if (!(0, exports.isJsonObject)(node)) {
|
|
141
|
+
return atom('unknown');
|
|
142
|
+
}
|
|
143
|
+
const parts = [];
|
|
144
|
+
const ref = (0, exports.parseDefRef)(node.$ref);
|
|
145
|
+
if (ref !== undefined) {
|
|
146
|
+
parts.push(printRef(ref, depth, active));
|
|
147
|
+
}
|
|
148
|
+
if (STRUCTURAL_KEYS.some((key) => Object.hasOwn(node, key))) {
|
|
149
|
+
parts.push(printStructure(node, depth, active));
|
|
150
|
+
}
|
|
151
|
+
return parts.length === 0 ? atom('unknown') : intersection(parts);
|
|
152
|
+
};
|
|
153
|
+
const printStructure = (node, depth, active) => {
|
|
154
|
+
const parts = [];
|
|
155
|
+
const own = printOwn(node, depth, active);
|
|
156
|
+
if (own) {
|
|
157
|
+
parts.push(own);
|
|
158
|
+
}
|
|
159
|
+
for (const key of ['oneOf', 'anyOf']) {
|
|
160
|
+
const members = node[key];
|
|
161
|
+
if (Array.isArray(members)) {
|
|
162
|
+
parts.push(union(members.map((member) => printNode(member, depth, active))));
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (Array.isArray(node.allOf)) {
|
|
166
|
+
parts.push(intersection(node.allOf.map((member) => printNode(member, depth, active))));
|
|
167
|
+
}
|
|
168
|
+
return parts.length === 0 ? atom('unknown') : intersection(parts);
|
|
169
|
+
};
|
|
170
|
+
// `undefined` when the node only combines other schemas.
|
|
171
|
+
const printOwn = (node, depth, active) => {
|
|
172
|
+
if (Object.hasOwn(node, 'const')) {
|
|
173
|
+
return atom(literal(node.const));
|
|
174
|
+
}
|
|
175
|
+
if (Array.isArray(node.enum)) {
|
|
176
|
+
return union(node.enum.map((value) => atom(literal(value))));
|
|
177
|
+
}
|
|
178
|
+
const { type } = node;
|
|
179
|
+
if (Array.isArray(type)) {
|
|
180
|
+
return union(type.map((member) => printTyped(member, node, depth, active)));
|
|
181
|
+
}
|
|
182
|
+
if (typeof type === 'string') {
|
|
183
|
+
return printTyped(type, node, depth, active);
|
|
184
|
+
}
|
|
185
|
+
if (Object.hasOwn(node, 'properties') ||
|
|
186
|
+
Object.hasOwn(node, 'additionalProperties')) {
|
|
187
|
+
return printObject(node, depth, active);
|
|
188
|
+
}
|
|
189
|
+
if (Object.hasOwn(node, 'items') || Object.hasOwn(node, 'prefixItems')) {
|
|
190
|
+
return printArray(node, depth, active);
|
|
191
|
+
}
|
|
192
|
+
return undefined;
|
|
193
|
+
};
|
|
194
|
+
const printTyped = (type, node, depth, active) => {
|
|
195
|
+
switch (type) {
|
|
196
|
+
case 'string':
|
|
197
|
+
return atom('string');
|
|
198
|
+
case 'number':
|
|
199
|
+
case 'integer':
|
|
200
|
+
return atom('number');
|
|
201
|
+
case 'boolean':
|
|
202
|
+
return atom('boolean');
|
|
203
|
+
case 'null':
|
|
204
|
+
return atom('null');
|
|
205
|
+
case 'array':
|
|
206
|
+
return printArray(node, depth, active);
|
|
207
|
+
case 'object':
|
|
208
|
+
return printObject(node, depth, active);
|
|
209
|
+
default:
|
|
210
|
+
return atom('unknown');
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
const printArray = (node, depth, active) => {
|
|
214
|
+
const { prefixItems, items } = node;
|
|
215
|
+
if (Array.isArray(prefixItems)) {
|
|
216
|
+
const required = typeof node.minItems === 'number' ? node.minItems : 0;
|
|
217
|
+
const elements = prefixItems.map((item, index) => {
|
|
218
|
+
const printed = printNode(item, depth, active);
|
|
219
|
+
return index < required
|
|
220
|
+
? printed.text
|
|
221
|
+
: `${printed.kind === 'atom' ? printed.text : `(${printed.text})`}?`;
|
|
222
|
+
});
|
|
223
|
+
if (items !== undefined && items !== false) {
|
|
224
|
+
elements.push(`...${arrayOf(printNode(items, depth, active)).text}`);
|
|
225
|
+
}
|
|
226
|
+
return atom(`[${elements.join(', ')}]`);
|
|
227
|
+
}
|
|
228
|
+
return arrayOf(items === undefined ? atom('unknown') : printNode(items, depth, active));
|
|
229
|
+
};
|
|
230
|
+
const printObject = (node, depth, active) => {
|
|
231
|
+
const properties = (0, exports.isJsonObject)(node.properties) ? node.properties : {};
|
|
232
|
+
const lines = printMembers(node, depth, active, {});
|
|
233
|
+
const extra = node.additionalProperties;
|
|
234
|
+
const patterns = (0, exports.isJsonObject)(node.patternProperties)
|
|
235
|
+
? Object.values(node.patternProperties)
|
|
236
|
+
: [];
|
|
237
|
+
const open = extra !== false;
|
|
238
|
+
const values = [
|
|
239
|
+
...patterns.map((schema) => printNode(schema, depth, active)),
|
|
240
|
+
];
|
|
241
|
+
if (open)
|
|
242
|
+
values.push(extra === undefined || extra === true
|
|
243
|
+
? atom('unknown')
|
|
244
|
+
: printNode(extra, depth, active));
|
|
245
|
+
const index = values.length === 0
|
|
246
|
+
? Object.keys(properties).length === 0
|
|
247
|
+
? `${INDENT.repeat(depth + 1)}[key: string]: never;\n`
|
|
248
|
+
: ''
|
|
249
|
+
: `${INDENT.repeat(depth + 1)}[key: string]: ${union([
|
|
250
|
+
...values,
|
|
251
|
+
...Object.values(properties).map((schema) => printNode(schema, depth, active)),
|
|
252
|
+
...(Object.keys(properties).some((key) => !Array.isArray(node.required) || !node.required.includes(key))
|
|
253
|
+
? [atom('undefined')]
|
|
254
|
+
: []),
|
|
255
|
+
]).text};\n`;
|
|
256
|
+
return atom(`{\n${lines}${index}${INDENT.repeat(depth)}}`);
|
|
257
|
+
};
|
|
258
|
+
const printMembers = (node, depth, active, { omit, optional }) => {
|
|
259
|
+
const pad = INDENT.repeat(depth + 1);
|
|
260
|
+
const required = new Set(Array.isArray(node.required)
|
|
261
|
+
? node.required.filter((key) => typeof key === 'string')
|
|
262
|
+
: []);
|
|
263
|
+
const properties = (0, exports.isJsonObject)(node.properties) ? node.properties : {};
|
|
264
|
+
return Object.entries(properties)
|
|
265
|
+
.filter(([key]) => !omit?.has(key))
|
|
266
|
+
.map(([key, property]) => {
|
|
267
|
+
const doc = (0, exports.isJsonObject)(property)
|
|
268
|
+
? (0, exports.jsDoc)([
|
|
269
|
+
typeof property.description === 'string'
|
|
270
|
+
? property.description
|
|
271
|
+
: '',
|
|
272
|
+
...(Object.hasOwn(property, 'default')
|
|
273
|
+
? [`@default ${JSON.stringify(property.default)}`]
|
|
274
|
+
: []),
|
|
275
|
+
], pad)
|
|
276
|
+
: '';
|
|
277
|
+
const mark = required.has(key) && !optional?.has(key) ? '' : '?';
|
|
278
|
+
return `${doc}${pad}${propertyKey(key)}${mark}: ${printNode(property, depth + 1, active).text};\n`;
|
|
279
|
+
})
|
|
280
|
+
.join('');
|
|
281
|
+
};
|
|
282
|
+
return {
|
|
283
|
+
print: (schema, depth = 0) => printNode(schema, depth, new Set()).text,
|
|
284
|
+
members: (schema, depth, options = {}) => printMembers(schema, depth, new Set(), options),
|
|
285
|
+
promoted: () => {
|
|
286
|
+
const aliases = [];
|
|
287
|
+
for (const [id, name] of promotedNames) {
|
|
288
|
+
aliases.push(`type ${name} = ${printNode((0, exports.ownDef)(defs, id), 0, new Set([id])).text};`);
|
|
289
|
+
}
|
|
290
|
+
return aliases;
|
|
291
|
+
},
|
|
292
|
+
};
|
|
293
|
+
};
|
|
294
|
+
exports.createTypePrinter = createTypePrinter;
|
|
295
|
+
//# sourceMappingURL=schema_to_typescript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema_to_typescript.js","sourceRoot":"","sources":["../../../src/author/schema_to_typescript.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0; you may not use this file except in compliance with the Elastic License\n * 2.0.\n */\n\nexport type JsonObject = Record<string, unknown>;\n\nexport const DEF_PREFIX = '#/$defs/';\n\n/** Ids `z.toJSONSchema` gives a def no one named. */\nexport const ANONYMOUS_DEF = /^__schema\\d+$/;\n\nconst STRUCTURAL_KEYS = [\n 'type',\n 'const',\n 'enum',\n 'properties',\n 'additionalProperties',\n 'patternProperties',\n 'propertyNames',\n 'items',\n 'prefixItems',\n 'oneOf',\n 'anyOf',\n 'allOf',\n] as const;\n\nconst INDENT = ' ';\n\nexport const IDENTIFIER = /^[A-Za-z_$][\\w$]*$/;\n\nexport const isJsonObject = (value: unknown): value is JsonObject =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport const parseDefRef = (ref: unknown): string | undefined =>\n typeof ref === 'string' && ref.startsWith(DEF_PREFIX)\n ? ref.slice(DEF_PREFIX.length)\n : undefined;\n\nexport const ownDef = (defs: JsonObject, id: string): unknown =>\n Object.hasOwn(defs, id) ? defs[id] : undefined;\n\n/** `slideStats` becomes `SlideStats`; anything but letters and digits splits words. */\nexport const pascalCase = (value: string): string => {\n const name = value\n .split(/[^A-Za-z0-9]+/)\n .filter(Boolean)\n .map((word) => `${word.slice(0, 1).toUpperCase()}${word.slice(1)}`)\n .join('');\n if (name === '') {\n return 'Type';\n }\n return /^\\d/.test(name) ? `_${name}` : name;\n};\n\n/** A JSDoc block for `lines`, or `''` when there are none. */\nexport const jsDoc = (lines: readonly string[], pad: string): string => {\n const text = lines\n .flatMap((line) => line.split('\\n'))\n .map((line) => line.replaceAll('*/', '*\\\\/').trimEnd());\n while (text[0] === '') {\n text.shift();\n }\n while (text.at(-1) === '') {\n text.pop();\n }\n if (text.length === 0) {\n return '';\n }\n const [only] = text;\n if (text.length === 1 && only !== undefined) {\n return `${pad}/** ${only} */\\n`;\n }\n return `${pad}/**\\n${text\n .map((line) => (line === '' ? `${pad} *` : `${pad} * ${line}`))\n .join('\\n')}\\n${pad} */\\n`;\n};\n\nconst propertyKey = (key: string): string =>\n IDENTIFIER.test(key) ? key : JSON.stringify(key);\n\nconst literal = (value: unknown): string => {\n if (value === null) {\n return 'null';\n }\n switch (typeof value) {\n case 'string':\n return JSON.stringify(value);\n case 'number':\n case 'boolean':\n return String(value);\n default:\n return 'unknown';\n }\n};\n\ninterface Printed {\n text: string;\n kind: 'atom' | 'union' | 'intersection';\n}\n\nconst atom = (text: string): Printed => ({ text, kind: 'atom' });\n\nconst union = (members: readonly Printed[]): Printed => {\n if (members.some(({ text }) => text === 'unknown')) return atom('unknown');\n const unique = new Map(members.map((member) => [member.text, member]));\n const [only] = [...unique.values()];\n if (unique.size === 0) {\n return atom('never');\n }\n return unique.size === 1 && only\n ? only\n : { text: [...unique.keys()].join(' | '), kind: 'union' };\n};\n\nconst intersection = (members: readonly Printed[]): Printed => {\n const unique = new Map(members.map((member) => [member.text, member]));\n const [only] = [...unique.values()];\n if (!only) return atom('unknown');\n if (unique.size === 1 && only) {\n return only;\n }\n return {\n text: [...unique.values()]\n .map(({ text, kind }) => (kind === 'union' ? `(${text})` : text))\n .join(' & '),\n kind: 'intersection',\n };\n};\n\nconst arrayOf = ({ text, kind }: Printed): Printed =>\n atom(kind === 'atom' ? `${text}[]` : `(${text})[]`);\n\n/** What {@link TypePrinter.members} prints and how. */\nexport interface MemberOptions {\n /** Properties left out. */\n omit?: ReadonlySet<string>;\n /** Properties printed optional whether or not the schema requires them. */\n optional?: ReadonlySet<string>;\n}\n\nexport interface TypePrinterOptions {\n defs: JsonObject;\n /** TypeScript names for defs printed by reference; every other def is inlined. */\n names: ReadonlyMap<string, string>;\n /** A fresh, unused name, for a def inlining cannot express. */\n claim: (base: string) => string;\n}\n\nexport interface TypePrinter {\n /** `schema` as a TypeScript type, written at `depth` levels of indent. */\n print: (schema: unknown, depth?: number) => string;\n /** The `key?: Type;` members of an object schema, with their JSDoc, at `depth + 1`. */\n members: (\n schema: JsonObject,\n depth: number,\n options?: MemberOptions\n ) => string;\n /** Type aliases for the anonymous defs that refer to themselves. Call last. */\n promoted: () => string[];\n}\n\n/** A TypeScript printer over the subset of JSON Schema `z.toJSONSchema` emits. */\nexport const createTypePrinter = ({\n defs,\n names,\n claim,\n}: TypePrinterOptions): TypePrinter => {\n const promotedNames = new Map<string, string>();\n\n const printRef = (\n id: string,\n depth: number,\n active: ReadonlySet<string>\n ): Printed => {\n const named = names.get(id);\n if (named !== undefined) {\n return atom(named);\n }\n const target = ownDef(defs, id);\n if (target === undefined) {\n return atom('unknown');\n }\n if (active.has(id)) {\n const name = promotedNames.get(id) ?? claim(pascalCase(id));\n promotedNames.set(id, name);\n return atom(name);\n }\n return printNode(target, depth, new Set([...active, id]));\n };\n\n const printNode = (\n node: unknown,\n depth: number,\n active: ReadonlySet<string>\n ): Printed => {\n if (node === false) {\n return atom('never');\n }\n if (!isJsonObject(node)) {\n return atom('unknown');\n }\n const parts: Printed[] = [];\n const ref = parseDefRef(node.$ref);\n if (ref !== undefined) {\n parts.push(printRef(ref, depth, active));\n }\n if (STRUCTURAL_KEYS.some((key) => Object.hasOwn(node, key))) {\n parts.push(printStructure(node, depth, active));\n }\n return parts.length === 0 ? atom('unknown') : intersection(parts);\n };\n\n const printStructure = (\n node: JsonObject,\n depth: number,\n active: ReadonlySet<string>\n ): Printed => {\n const parts: Printed[] = [];\n const own = printOwn(node, depth, active);\n if (own) {\n parts.push(own);\n }\n for (const key of ['oneOf', 'anyOf'] as const) {\n const members = node[key];\n if (Array.isArray(members)) {\n parts.push(\n union(members.map((member) => printNode(member, depth, active)))\n );\n }\n }\n if (Array.isArray(node.allOf)) {\n parts.push(\n intersection(\n node.allOf.map((member) => printNode(member, depth, active))\n )\n );\n }\n return parts.length === 0 ? atom('unknown') : intersection(parts);\n };\n\n // `undefined` when the node only combines other schemas.\n const printOwn = (\n node: JsonObject,\n depth: number,\n active: ReadonlySet<string>\n ): Printed | undefined => {\n if (Object.hasOwn(node, 'const')) {\n return atom(literal(node.const));\n }\n if (Array.isArray(node.enum)) {\n return union(node.enum.map((value) => atom(literal(value))));\n }\n const { type } = node;\n if (Array.isArray(type)) {\n return union(\n type.map((member) => printTyped(member, node, depth, active))\n );\n }\n if (typeof type === 'string') {\n return printTyped(type, node, depth, active);\n }\n if (\n Object.hasOwn(node, 'properties') ||\n Object.hasOwn(node, 'additionalProperties')\n ) {\n return printObject(node, depth, active);\n }\n if (Object.hasOwn(node, 'items') || Object.hasOwn(node, 'prefixItems')) {\n return printArray(node, depth, active);\n }\n return undefined;\n };\n\n const printTyped = (\n type: unknown,\n node: JsonObject,\n depth: number,\n active: ReadonlySet<string>\n ): Printed => {\n switch (type) {\n case 'string':\n return atom('string');\n case 'number':\n case 'integer':\n return atom('number');\n case 'boolean':\n return atom('boolean');\n case 'null':\n return atom('null');\n case 'array':\n return printArray(node, depth, active);\n case 'object':\n return printObject(node, depth, active);\n default:\n return atom('unknown');\n }\n };\n\n const printArray = (\n node: JsonObject,\n depth: number,\n active: ReadonlySet<string>\n ): Printed => {\n const { prefixItems, items } = node;\n if (Array.isArray(prefixItems)) {\n const required = typeof node.minItems === 'number' ? node.minItems : 0;\n const elements = prefixItems.map((item, index) => {\n const printed = printNode(item, depth, active);\n return index < required\n ? printed.text\n : `${printed.kind === 'atom' ? printed.text : `(${printed.text})`}?`;\n });\n if (items !== undefined && items !== false) {\n elements.push(`...${arrayOf(printNode(items, depth, active)).text}`);\n }\n return atom(`[${elements.join(', ')}]`);\n }\n return arrayOf(\n items === undefined ? atom('unknown') : printNode(items, depth, active)\n );\n };\n\n const printObject = (\n node: JsonObject,\n depth: number,\n active: ReadonlySet<string>\n ): Printed => {\n const properties = isJsonObject(node.properties) ? node.properties : {};\n const lines = printMembers(node, depth, active, {});\n const extra = node.additionalProperties;\n const patterns = isJsonObject(node.patternProperties)\n ? Object.values(node.patternProperties)\n : [];\n const open = extra !== false;\n const values = [\n ...patterns.map((schema) => printNode(schema, depth, active)),\n ];\n if (open)\n values.push(\n extra === undefined || extra === true\n ? atom('unknown')\n : printNode(extra, depth, active)\n );\n const index =\n values.length === 0\n ? Object.keys(properties).length === 0\n ? `${INDENT.repeat(depth + 1)}[key: string]: never;\\n`\n : ''\n : `${INDENT.repeat(depth + 1)}[key: string]: ${\n union([\n ...values,\n ...Object.values(properties).map((schema) =>\n printNode(schema, depth, active)\n ),\n ...(Object.keys(properties).some(\n (key) =>\n !Array.isArray(node.required) || !node.required.includes(key)\n )\n ? [atom('undefined')]\n : []),\n ]).text\n };\\n`;\n return atom(`{\\n${lines}${index}${INDENT.repeat(depth)}}`);\n };\n\n const printMembers = (\n node: JsonObject,\n depth: number,\n active: ReadonlySet<string>,\n { omit, optional }: MemberOptions\n ): string => {\n const pad = INDENT.repeat(depth + 1);\n const required = new Set(\n Array.isArray(node.required)\n ? node.required.filter((key) => typeof key === 'string')\n : []\n );\n const properties = isJsonObject(node.properties) ? node.properties : {};\n return Object.entries(properties)\n .filter(([key]) => !omit?.has(key))\n .map(([key, property]) => {\n const doc = isJsonObject(property)\n ? jsDoc(\n [\n typeof property.description === 'string'\n ? property.description\n : '',\n ...(Object.hasOwn(property, 'default')\n ? [`@default ${JSON.stringify(property.default)}`]\n : []),\n ],\n pad\n )\n : '';\n const mark = required.has(key) && !optional?.has(key) ? '' : '?';\n return `${doc}${pad}${propertyKey(key)}${mark}: ${\n printNode(property, depth + 1, active).text\n };\\n`;\n })\n .join('');\n };\n\n return {\n print: (schema, depth = 0) => printNode(schema, depth, new Set()).text,\n members: (schema, depth, options = {}) =>\n printMembers(schema, depth, new Set(), options),\n promoted: () => {\n const aliases: string[] = [];\n for (const [id, name] of promotedNames) {\n aliases.push(\n `type ${name} = ${printNode(ownDef(defs, id), 0, new Set([id])).text};`\n );\n }\n return aliases;\n },\n };\n};\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
4
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
5
|
+
* 2.0; you may not use this file except in compliance with the Elastic License
|
|
6
|
+
* 2.0.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=action_event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action_event.js","sourceRoot":"","sources":["../../../src/composition/action_event.ts"],"names":[],"mappings":";AAAA;;;;;GAKG","sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0; you may not use this file except in compliance with the Elastic License\n * 2.0.\n */\n\n/**\n * A named event a node can raise, for the host to interpret.\n *\n * The SDK carries the reference and never dispatches it: side effects are the\n * host's, so `name` means whatever its handler decides.\n */\nexport interface ActionEventRef {\n /** Agreed between the composition's author and the host's handler. */\n name: string;\n /** Payload passed through untouched, so it must be JSON-serializable. */\n context?: Record<string, unknown>;\n}\n"]}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
4
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
5
|
+
* 2.0; you may not use this file except in compliance with the Elastic License
|
|
6
|
+
* 2.0.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.rendersOnSurface = exports.isVisibleOnSurface = exports.someBodyNode = exports.childNodePath = exports.createChildNodeWalker = exports.BODY_NODE_SURFACES = exports.SURFACE_NAMES = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Every surface a node renders on or is hidden from, in render order.
|
|
12
|
+
*
|
|
13
|
+
* `html` is not here: the runtime's `html` surface wraps `react` output in a
|
|
14
|
+
* document, and no node targets it.
|
|
15
|
+
*/
|
|
16
|
+
exports.SURFACE_NAMES = [
|
|
17
|
+
'react',
|
|
18
|
+
'snapshot',
|
|
19
|
+
'text',
|
|
20
|
+
'markdown',
|
|
21
|
+
'slack',
|
|
22
|
+
];
|
|
23
|
+
/** @deprecated Use {@link SURFACE_NAMES}. */
|
|
24
|
+
exports.BODY_NODE_SURFACES = exports.SURFACE_NAMES;
|
|
25
|
+
/**
|
|
26
|
+
* Builds the {@link ChildNodeWalker} for one composition's inventory.
|
|
27
|
+
*
|
|
28
|
+
* Pass every pack's definitions: a walker missing one cannot see children of a
|
|
29
|
+
* container that pack defines, and a tree walk would stop at its boundary.
|
|
30
|
+
*/
|
|
31
|
+
const createChildNodeWalker = (definitions) => {
|
|
32
|
+
const childrenByType = new Map();
|
|
33
|
+
const ownContentByType = new Map();
|
|
34
|
+
for (const definition of definitions) {
|
|
35
|
+
if (typeof definition.children === 'function') {
|
|
36
|
+
childrenByType.set(definition.type, definition.children);
|
|
37
|
+
}
|
|
38
|
+
if (typeof definition.hasOwnContent === 'function') {
|
|
39
|
+
ownContentByType.set(definition.type, definition.hasOwnContent);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const walk = ((node) => {
|
|
43
|
+
if (!node || typeof node !== 'object') {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
const { type } = node;
|
|
47
|
+
if (typeof type !== 'string') {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
return [...(childrenByType.get(type)?.(node) ?? [])];
|
|
51
|
+
});
|
|
52
|
+
walk.hasOwnContent = (node) => {
|
|
53
|
+
if (!node || typeof node !== 'object') {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
const { type } = node;
|
|
57
|
+
if (typeof type !== 'string') {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
return ownContentByType.get(type)?.(node) ?? false;
|
|
61
|
+
};
|
|
62
|
+
return walk;
|
|
63
|
+
};
|
|
64
|
+
exports.createChildNodeWalker = createChildNodeWalker;
|
|
65
|
+
/** Joins a parent path with a {@link ChildNodeRef.path} fragment. */
|
|
66
|
+
const childNodePath = (parent, child) => `${parent}.${child}`;
|
|
67
|
+
exports.childNodePath = childNodePath;
|
|
68
|
+
/**
|
|
69
|
+
* Whether any node visible on `surface` matches, descending through container
|
|
70
|
+
* children via `walk`. A node (or a container ancestor) hidden from `surface`
|
|
71
|
+
* is skipped along with its children.
|
|
72
|
+
*
|
|
73
|
+
* `walk` must span every pack in the composition: a walker built from one
|
|
74
|
+
* pack's definitions cannot see children of a container defined in another.
|
|
75
|
+
*/
|
|
76
|
+
const someBodyNode = (nodes, surface, predicate, walk) => nodes.some((node) => {
|
|
77
|
+
if (!(0, exports.isVisibleOnSurface)(node, surface)) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
return (predicate(node) ||
|
|
81
|
+
(0, exports.someBodyNode)(walk(node).map((child) => child.node), surface, predicate, walk));
|
|
82
|
+
});
|
|
83
|
+
exports.someBodyNode = someBodyNode;
|
|
84
|
+
/** Whether `node`'s own `surfaces` hint admits `surface`, ignoring its children. */
|
|
85
|
+
const isVisibleOnSurface = (node, surface) => {
|
|
86
|
+
if (!node || typeof node !== 'object') {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
const { surfaces } = node;
|
|
90
|
+
return !Array.isArray(surfaces) || surfaces.includes(surface);
|
|
91
|
+
};
|
|
92
|
+
exports.isVisibleOnSurface = isVisibleOnSurface;
|
|
93
|
+
/**
|
|
94
|
+
* Whether `node` puts anything on `surface` — itself or through a descendant.
|
|
95
|
+
*
|
|
96
|
+
* Stronger than {@link isVisibleOnSurface}: a container every one of whose
|
|
97
|
+
* children is hidden renders nothing, even though its own hint allows the
|
|
98
|
+
* surface. A hybrid container that also owns string fields declares
|
|
99
|
+
* {@link ChildNodeWalker.hasOwnContent} and keeps rendering regardless.
|
|
100
|
+
*/
|
|
101
|
+
const rendersOnSurface = (node, surface, walk) => {
|
|
102
|
+
if (!(0, exports.isVisibleOnSurface)(node, surface)) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
const children = walk(node);
|
|
106
|
+
if (children.length === 0 || walk.hasOwnContent?.(node)) {
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
return children.some(({ node: child }) => (0, exports.rendersOnSurface)(child, surface, walk));
|
|
110
|
+
};
|
|
111
|
+
exports.rendersOnSurface = rendersOnSurface;
|
|
112
|
+
//# sourceMappingURL=body_node_base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body_node_base.js","sourceRoot":"","sources":["../../../src/composition/body_node_base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0; you may not use this file except in compliance with the Elastic License\n * 2.0.\n */\n\n/**\n * Every surface a node renders on or is hidden from, in render order.\n *\n * `html` is not here: the runtime's `html` surface wraps `react` output in a\n * document, and no node targets it.\n */\nexport const SURFACE_NAMES = [\n 'react',\n 'snapshot',\n 'text',\n 'markdown',\n 'slack',\n] as const;\n\n/** One of the {@link SURFACE_NAMES}. */\nexport type SurfaceName = (typeof SURFACE_NAMES)[number];\n\n/** @deprecated Use {@link SURFACE_NAMES}. */\nexport const BODY_NODE_SURFACES: readonly SurfaceName[] = SURFACE_NAMES;\n\n/** The two fields every primitive node carries, whatever its pack. */\nexport interface BodyNodeBase {\n /** Unique within a composition, which `validate` enforces and `parse` does not. */\n id?: string;\n /** Surfaces this node appears on. Absent means every surface. */\n surfaces?: SurfaceName[];\n}\n\n/**\n * A child node together with the field path locating it inside its parent, so\n * an error path can name the field a child actually lives under. A container\n * that returned bare nodes would leave every caller guessing the field name.\n */\nexport interface ChildNodeRef {\n /** Erased: one walker spans every pack's node types, so it can name none of them. */\n node: unknown;\n /** Relative to the parent, e.g. `items[0].node`, `items[2].description`. */\n path: string;\n}\n\n/**\n * Walks nested nodes and, for a hybrid container, reports whether the parent\n * still produces output of its own. A non-empty `children` result is the\n * complete source of rendered content unless\n * {@link ChildNodeWalker.hasOwnContent} is true for that node.\n */\nexport type ChildNodeWalker = ((node: unknown) => ChildNodeRef[]) & {\n hasOwnContent?(node: unknown): boolean;\n};\n\n/**\n * Builds the {@link ChildNodeWalker} for one composition's inventory.\n *\n * Pass every pack's definitions: a walker missing one cannot see children of a\n * container that pack defines, and a tree walk would stop at its boundary.\n */\nexport const createChildNodeWalker = (\n definitions: readonly {\n type: string;\n children?: unknown;\n hasOwnContent?: unknown;\n }[]\n): ChildNodeWalker => {\n const childrenByType = new Map<\n string,\n (node: unknown) => readonly ChildNodeRef[]\n >();\n const ownContentByType = new Map<string, (node: unknown) => boolean>();\n for (const definition of definitions) {\n if (typeof definition.children === 'function') {\n childrenByType.set(\n definition.type,\n definition.children as (node: unknown) => readonly ChildNodeRef[]\n );\n }\n if (typeof definition.hasOwnContent === 'function') {\n ownContentByType.set(\n definition.type,\n definition.hasOwnContent as (node: unknown) => boolean\n );\n }\n }\n const walk = ((node: unknown) => {\n if (!node || typeof node !== 'object') {\n return [];\n }\n const { type } = node as { type?: unknown };\n if (typeof type !== 'string') {\n return [];\n }\n return [...(childrenByType.get(type)?.(node) ?? [])];\n }) as ChildNodeWalker;\n walk.hasOwnContent = (node) => {\n if (!node || typeof node !== 'object') {\n return false;\n }\n const { type } = node as { type?: unknown };\n if (typeof type !== 'string') {\n return false;\n }\n return ownContentByType.get(type)?.(node) ?? false;\n };\n return walk;\n};\n\n/** Joins a parent path with a {@link ChildNodeRef.path} fragment. */\nexport const childNodePath = (parent: string, child: string): string =>\n `${parent}.${child}`;\n\n/**\n * Whether any node visible on `surface` matches, descending through container\n * children via `walk`. A node (or a container ancestor) hidden from `surface`\n * is skipped along with its children.\n *\n * `walk` must span every pack in the composition: a walker built from one\n * pack's definitions cannot see children of a container defined in another.\n */\nexport const someBodyNode = (\n nodes: readonly unknown[],\n surface: SurfaceName,\n predicate: (node: unknown) => boolean,\n walk: ChildNodeWalker\n): boolean =>\n nodes.some((node) => {\n if (!isVisibleOnSurface(node, surface)) {\n return false;\n }\n return (\n predicate(node) ||\n someBodyNode(\n walk(node).map((child) => child.node),\n surface,\n predicate,\n walk\n )\n );\n });\n\n/** Whether `node`'s own `surfaces` hint admits `surface`, ignoring its children. */\nexport const isVisibleOnSurface = (\n node: unknown,\n surface: SurfaceName\n): boolean => {\n if (!node || typeof node !== 'object') {\n return false;\n }\n const { surfaces } = node as { surfaces?: unknown };\n return !Array.isArray(surfaces) || surfaces.includes(surface);\n};\n\n/**\n * Whether `node` puts anything on `surface` — itself or through a descendant.\n *\n * Stronger than {@link isVisibleOnSurface}: a container every one of whose\n * children is hidden renders nothing, even though its own hint allows the\n * surface. A hybrid container that also owns string fields declares\n * {@link ChildNodeWalker.hasOwnContent} and keeps rendering regardless.\n */\nexport const rendersOnSurface = (\n node: unknown,\n surface: SurfaceName,\n walk: ChildNodeWalker\n): boolean => {\n if (!isVisibleOnSurface(node, surface)) {\n return false;\n }\n const children = walk(node);\n if (children.length === 0 || walk.hasOwnContent?.(node)) {\n return true;\n }\n return children.some(({ node: child }) =>\n rendersOnSurface(child, surface, walk)\n );\n};\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
4
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
5
|
+
* 2.0; you may not use this file except in compliance with the Elastic License
|
|
6
|
+
* 2.0.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=composition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition.js","sourceRoot":"","sources":["../../../src/composition/composition.ts"],"names":[],"mappings":";AAAA;;;;;GAKG","sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0; you may not use this file except in compliance with the Elastic License\n * 2.0.\n */\n\nimport type { RenderTheme } from './named_color';\nimport type { PrimitiveNode } from './node';\n\n/**\n * The wire format: one typed document that every surface renders from.\n *\n * Crosses process and vendor boundaries, so the JSON shape is the contract and\n * the TypeScript name is not: {@link Composition.type} reads `view`, the\n * discriminator an agent is prompted on.\n */\nexport interface Composition<TNode extends PrimitiveNode = PrimitiveNode> {\n /** Root marker. Always `view`; see the note on {@link Composition}. */\n type: 'view';\n /**\n * Wire-format version. A literal rather than `number` so an unknown future\n * version cannot parse as valid, and optional with no default because absent\n * already means v1 — writing one in would rewrite stored documents.\n */\n version?: 1;\n title?: string;\n subtitle?: string;\n /** Light/dark preference, not a resolved value; `auto` resolves light. */\n theme?: RenderTheme;\n /** At least one node, which the schema enforces via `.min(1)`. */\n body: TNode[];\n meta?: CompositionMeta;\n}\n\n/**\n * Context a host may surface beside the render.\n *\n * Advisory and pass-through throughout: nothing here changes what the body\n * renders to, and the SDK reads none of it. Timestamps are plain strings by\n * convention ISO 8601, which the schema does not enforce — a host that parses\n * one should tolerate anything.\n */\nexport interface CompositionMeta {\n /** Origin of the composition itself, e.g. the agent or feature that composed it. */\n source?: string;\n /** When the composition was produced. */\n generatedAt?: string;\n /** Overrides the accessible name a surface derives from `title`. */\n ariaLabel?: string;\n /** Where the underlying data came from, as opposed to who composed it. */\n provenance?: {\n /** Data origin, e.g. an index or dataset name. */\n source?: string;\n /** The query that produced the data, for a host that offers \"show me how\". */\n query?: string;\n /** Service or connector that answered the query. */\n provider?: string;\n };\n /** How current the data is, for a host that shows an as-of or staleness badge. */\n freshness?: {\n /** When the data was current, which may precede `generatedAt`. */\n asOf?: string;\n /** Asserted by the producer rather than derived, so a host should prefer it to comparing `asOf`. */\n stale?: boolean;\n /** How long `asOf` stays current. Not range-checked. */\n ttlSeconds?: number;\n };\n /**\n * Set when the composition rendered anyway despite losing some data, so a\n * host can mark it incomplete rather than presenting it as whole.\n */\n partialFailure?: {\n /** True when some of the data behind the composition was lost before it rendered. */\n degraded?: boolean;\n /** Human-readable cause, safe to show a user. */\n reason?: string;\n };\n}\n"]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
4
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
5
|
+
* 2.0; you may not use this file except in compliance with the Elastic License
|
|
6
|
+
* 2.0.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.IsomerError = exports.ISOMER_ERROR_CODES = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Stable codes for {@link IsomerError}, {@link CompositionValidationError},
|
|
12
|
+
* and the runtime's `RegisteredViewInputError`. Hosts branch on `code`, not
|
|
13
|
+
* on `message`. Codes name the condition, not the throwing module: duplicate
|
|
14
|
+
* type at `definePrimitivePack`, `composePacks`, and `createIsomerRuntime` is the same
|
|
15
|
+
* `DUPLICATE_PRIMITIVE_TYPE`; the message names the layer.
|
|
16
|
+
*/
|
|
17
|
+
exports.ISOMER_ERROR_CODES = {
|
|
18
|
+
AMBIGUOUS_FRAME: 'AMBIGUOUS_FRAME',
|
|
19
|
+
AMBIGUOUS_STYLE_ADAPTER: 'AMBIGUOUS_STYLE_ADAPTER',
|
|
20
|
+
AUTHOR_TYPE_MISMATCH: 'AUTHOR_TYPE_MISMATCH',
|
|
21
|
+
AUTHORED_SCHEMA_REUSED: 'AUTHORED_SCHEMA_REUSED',
|
|
22
|
+
COMPOSITION_INVALID: 'COMPOSITION_INVALID',
|
|
23
|
+
CYCLIC_COMPOSITION: 'CYCLIC_COMPOSITION',
|
|
24
|
+
DUPLICATE_AUTHORED_CHILD: 'DUPLICATE_AUTHORED_CHILD',
|
|
25
|
+
DUPLICATE_ENHANCEMENT: 'DUPLICATE_ENHANCEMENT',
|
|
26
|
+
DUPLICATE_FORMAT: 'DUPLICATE_FORMAT',
|
|
27
|
+
DUPLICATE_PACK_ID: 'DUPLICATE_PACK_ID',
|
|
28
|
+
DUPLICATE_PRIMITIVE_TYPE: 'DUPLICATE_PRIMITIVE_TYPE',
|
|
29
|
+
DUPLICATE_VIEW: 'DUPLICATE_VIEW',
|
|
30
|
+
EMPTY_FRAMES: 'EMPTY_FRAMES',
|
|
31
|
+
EMPTY_PACK: 'EMPTY_PACK',
|
|
32
|
+
EMPTY_PACKS: 'EMPTY_PACKS',
|
|
33
|
+
EMPTY_PAGES: 'EMPTY_PAGES',
|
|
34
|
+
EMPTY_VOCABULARY: 'EMPTY_VOCABULARY',
|
|
35
|
+
ENHANCEMENT_ROOT_MISSING: 'ENHANCEMENT_ROOT_MISSING',
|
|
36
|
+
EXPECTED_AUTHOR_COMPONENT: 'EXPECTED_AUTHOR_COMPONENT',
|
|
37
|
+
EXPECTED_JSX_ELEMENT: 'EXPECTED_JSX_ELEMENT',
|
|
38
|
+
EXPECTED_TEXT_CHILDREN: 'EXPECTED_TEXT_CHILDREN',
|
|
39
|
+
INCOMPATIBLE_STYLE_COLLECTOR: 'INCOMPATIBLE_STYLE_COLLECTOR',
|
|
40
|
+
INPUT_NOT_PLAIN_DATA: 'INPUT_NOT_PLAIN_DATA',
|
|
41
|
+
INPUT_OVER_BUDGET: 'INPUT_OVER_BUDGET',
|
|
42
|
+
INVALID_BODY_NODE: 'INVALID_BODY_NODE',
|
|
43
|
+
INVALID_FRAME_BODY: 'INVALID_FRAME_BODY',
|
|
44
|
+
MISSING_AUTHORED_TEXT: 'MISSING_AUTHORED_TEXT',
|
|
45
|
+
MISSING_STYLE_ADAPTER: 'MISSING_STYLE_ADAPTER',
|
|
46
|
+
RESERVED_NODE_FIELD: 'RESERVED_NODE_FIELD',
|
|
47
|
+
UNEXPECTED_CHILDREN: 'UNEXPECTED_CHILDREN',
|
|
48
|
+
UNKNOWN_FRAME: 'UNKNOWN_FRAME',
|
|
49
|
+
UNKNOWN_PRIMITIVE_TYPE: 'UNKNOWN_PRIMITIVE_TYPE',
|
|
50
|
+
UNKNOWN_SURFACE: 'UNKNOWN_SURFACE',
|
|
51
|
+
UNKNOWN_VIEW: 'UNKNOWN_VIEW',
|
|
52
|
+
UNSUPPORTED_CHILD_PATH: 'UNSUPPORTED_CHILD_PATH',
|
|
53
|
+
VIEW_INPUT_INVALID: 'VIEW_INPUT_INVALID',
|
|
54
|
+
VOCABULARY_UNRESOLVED: 'VOCABULARY_UNRESOLVED',
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Thrown for construction and authoring failures that are not a
|
|
58
|
+
* `CompositionValidationError`.
|
|
59
|
+
*
|
|
60
|
+
* Identify it by `name` and `code`, never `instanceof`: the SDK ships both
|
|
61
|
+
* ESM and CJS builds, so a host can hold two copies of this class and an
|
|
62
|
+
* identity check would miss one.
|
|
63
|
+
*/
|
|
64
|
+
class IsomerError extends Error {
|
|
65
|
+
code;
|
|
66
|
+
constructor(code, message) {
|
|
67
|
+
super(message);
|
|
68
|
+
this.name = 'IsomerError';
|
|
69
|
+
this.code = code;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.IsomerError = IsomerError;
|
|
73
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/composition/error.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;;;;;GAMG;AACU,QAAA,kBAAkB,GAAG;IAChC,eAAe,EAAE,iBAAiB;IAClC,uBAAuB,EAAE,yBAAyB;IAClD,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,wBAAwB;IAChD,mBAAmB,EAAE,qBAAqB;IAC1C,kBAAkB,EAAE,oBAAoB;IACxC,wBAAwB,EAAE,0BAA0B;IACpD,qBAAqB,EAAE,uBAAuB;IAC9C,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,wBAAwB,EAAE,0BAA0B;IACpD,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,gBAAgB,EAAE,kBAAkB;IACpC,wBAAwB,EAAE,0BAA0B;IACpD,yBAAyB,EAAE,2BAA2B;IACtD,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,wBAAwB;IAChD,4BAA4B,EAAE,8BAA8B;IAC5D,oBAAoB,EAAE,sBAAsB;IAC5C,iBAAiB,EAAE,mBAAmB;IACtC,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,qBAAqB,EAAE,uBAAuB;IAC9C,qBAAqB,EAAE,uBAAuB;IAC9C,mBAAmB,EAAE,qBAAqB;IAC1C,mBAAmB,EAAE,qBAAqB;IAC1C,aAAa,EAAE,eAAe;IAC9B,sBAAsB,EAAE,wBAAwB;IAChD,eAAe,EAAE,iBAAiB;IAClC,YAAY,EAAE,cAAc;IAC5B,sBAAsB,EAAE,wBAAwB;IAChD,kBAAkB,EAAE,oBAAoB;IACxC,qBAAqB,EAAE,uBAAuB;CACtC,CAAC;AAMX;;;;;;;GAOG;AACH,MAAa,WAAY,SAAQ,KAAK;IAC3B,IAAI,CAAkB;IAE/B,YAAY,IAAqB,EAAE,OAAe;QAChD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AARD,kCAQC","sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0; you may not use this file except in compliance with the Elastic License\n * 2.0.\n */\n\n/**\n * Stable codes for {@link IsomerError}, {@link CompositionValidationError},\n * and the runtime's `RegisteredViewInputError`. Hosts branch on `code`, not\n * on `message`. Codes name the condition, not the throwing module: duplicate\n * type at `definePrimitivePack`, `composePacks`, and `createIsomerRuntime` is the same\n * `DUPLICATE_PRIMITIVE_TYPE`; the message names the layer.\n */\nexport const ISOMER_ERROR_CODES = {\n AMBIGUOUS_FRAME: 'AMBIGUOUS_FRAME',\n AMBIGUOUS_STYLE_ADAPTER: 'AMBIGUOUS_STYLE_ADAPTER',\n AUTHOR_TYPE_MISMATCH: 'AUTHOR_TYPE_MISMATCH',\n AUTHORED_SCHEMA_REUSED: 'AUTHORED_SCHEMA_REUSED',\n COMPOSITION_INVALID: 'COMPOSITION_INVALID',\n CYCLIC_COMPOSITION: 'CYCLIC_COMPOSITION',\n DUPLICATE_AUTHORED_CHILD: 'DUPLICATE_AUTHORED_CHILD',\n DUPLICATE_ENHANCEMENT: 'DUPLICATE_ENHANCEMENT',\n DUPLICATE_FORMAT: 'DUPLICATE_FORMAT',\n DUPLICATE_PACK_ID: 'DUPLICATE_PACK_ID',\n DUPLICATE_PRIMITIVE_TYPE: 'DUPLICATE_PRIMITIVE_TYPE',\n DUPLICATE_VIEW: 'DUPLICATE_VIEW',\n EMPTY_FRAMES: 'EMPTY_FRAMES',\n EMPTY_PACK: 'EMPTY_PACK',\n EMPTY_PACKS: 'EMPTY_PACKS',\n EMPTY_PAGES: 'EMPTY_PAGES',\n EMPTY_VOCABULARY: 'EMPTY_VOCABULARY',\n ENHANCEMENT_ROOT_MISSING: 'ENHANCEMENT_ROOT_MISSING',\n EXPECTED_AUTHOR_COMPONENT: 'EXPECTED_AUTHOR_COMPONENT',\n EXPECTED_JSX_ELEMENT: 'EXPECTED_JSX_ELEMENT',\n EXPECTED_TEXT_CHILDREN: 'EXPECTED_TEXT_CHILDREN',\n INCOMPATIBLE_STYLE_COLLECTOR: 'INCOMPATIBLE_STYLE_COLLECTOR',\n INPUT_NOT_PLAIN_DATA: 'INPUT_NOT_PLAIN_DATA',\n INPUT_OVER_BUDGET: 'INPUT_OVER_BUDGET',\n INVALID_BODY_NODE: 'INVALID_BODY_NODE',\n INVALID_FRAME_BODY: 'INVALID_FRAME_BODY',\n MISSING_AUTHORED_TEXT: 'MISSING_AUTHORED_TEXT',\n MISSING_STYLE_ADAPTER: 'MISSING_STYLE_ADAPTER',\n RESERVED_NODE_FIELD: 'RESERVED_NODE_FIELD',\n UNEXPECTED_CHILDREN: 'UNEXPECTED_CHILDREN',\n UNKNOWN_FRAME: 'UNKNOWN_FRAME',\n UNKNOWN_PRIMITIVE_TYPE: 'UNKNOWN_PRIMITIVE_TYPE',\n UNKNOWN_SURFACE: 'UNKNOWN_SURFACE',\n UNKNOWN_VIEW: 'UNKNOWN_VIEW',\n UNSUPPORTED_CHILD_PATH: 'UNSUPPORTED_CHILD_PATH',\n VIEW_INPUT_INVALID: 'VIEW_INPUT_INVALID',\n VOCABULARY_UNRESOLVED: 'VOCABULARY_UNRESOLVED',\n} as const;\n\n/** One of {@link ISOMER_ERROR_CODES}. */\nexport type IsomerErrorCode =\n (typeof ISOMER_ERROR_CODES)[keyof typeof ISOMER_ERROR_CODES];\n\n/**\n * Thrown for construction and authoring failures that are not a\n * `CompositionValidationError`.\n *\n * Identify it by `name` and `code`, never `instanceof`: the SDK ships both\n * ESM and CJS builds, so a host can hold two copies of this class and an\n * identity check would miss one.\n */\nexport class IsomerError extends Error {\n readonly code: IsomerErrorCode;\n\n constructor(code: IsomerErrorCode, message: string) {\n super(message);\n this.name = 'IsomerError';\n this.code = code;\n }\n}\n"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
4
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
5
|
+
* 2.0; you may not use this file except in compliance with the Elastic License
|
|
6
|
+
* 2.0.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.formatValidationError = exports.CompositionValidationError = exports.STRUCTURED_VALUE_FORMATS = exports.quoteText = exports.oneLine = exports.nameText = exports.ALL_NAMED_COLORS = exports.mapCompositionNodes = exports.IsomerError = exports.ISOMER_ERROR_CODES = exports.someBodyNode = exports.isVisibleOnSurface = exports.createChildNodeWalker = exports.SURFACE_NAMES = exports.BODY_NODE_SURFACES = void 0;
|
|
10
|
+
var body_node_base_1 = require("./body_node_base");
|
|
11
|
+
Object.defineProperty(exports, "BODY_NODE_SURFACES", { enumerable: true, get: function () { return body_node_base_1.BODY_NODE_SURFACES; } });
|
|
12
|
+
Object.defineProperty(exports, "SURFACE_NAMES", { enumerable: true, get: function () { return body_node_base_1.SURFACE_NAMES; } });
|
|
13
|
+
Object.defineProperty(exports, "createChildNodeWalker", { enumerable: true, get: function () { return body_node_base_1.createChildNodeWalker; } });
|
|
14
|
+
Object.defineProperty(exports, "isVisibleOnSurface", { enumerable: true, get: function () { return body_node_base_1.isVisibleOnSurface; } });
|
|
15
|
+
Object.defineProperty(exports, "someBodyNode", { enumerable: true, get: function () { return body_node_base_1.someBodyNode; } });
|
|
16
|
+
var error_1 = require("./error");
|
|
17
|
+
Object.defineProperty(exports, "ISOMER_ERROR_CODES", { enumerable: true, get: function () { return error_1.ISOMER_ERROR_CODES; } });
|
|
18
|
+
Object.defineProperty(exports, "IsomerError", { enumerable: true, get: function () { return error_1.IsomerError; } });
|
|
19
|
+
var map_nodes_1 = require("./map_nodes");
|
|
20
|
+
Object.defineProperty(exports, "mapCompositionNodes", { enumerable: true, get: function () { return map_nodes_1.mapCompositionNodes; } });
|
|
21
|
+
var named_color_1 = require("./named_color");
|
|
22
|
+
Object.defineProperty(exports, "ALL_NAMED_COLORS", { enumerable: true, get: function () { return named_color_1.ALL_NAMED_COLORS; } });
|
|
23
|
+
var one_line_1 = require("./one_line");
|
|
24
|
+
Object.defineProperty(exports, "nameText", { enumerable: true, get: function () { return one_line_1.nameText; } });
|
|
25
|
+
Object.defineProperty(exports, "oneLine", { enumerable: true, get: function () { return one_line_1.oneLine; } });
|
|
26
|
+
Object.defineProperty(exports, "quoteText", { enumerable: true, get: function () { return one_line_1.quoteText; } });
|
|
27
|
+
var structured_value_1 = require("./structured_value");
|
|
28
|
+
Object.defineProperty(exports, "STRUCTURED_VALUE_FORMATS", { enumerable: true, get: function () { return structured_value_1.STRUCTURED_VALUE_FORMATS; } });
|
|
29
|
+
var validation_error_1 = require("./validation_error");
|
|
30
|
+
Object.defineProperty(exports, "CompositionValidationError", { enumerable: true, get: function () { return validation_error_1.CompositionValidationError; } });
|
|
31
|
+
Object.defineProperty(exports, "formatValidationError", { enumerable: true, get: function () { return validation_error_1.formatValidationError; } });
|
|
32
|
+
//# sourceMappingURL=index.js.map
|