@qoretechnologies/reqraft 0.10.62 → 0.10.63-pr.142.g0b675cd
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/README.md +21 -1
- package/dist/components/Description/describedControl.d.ts +48 -0
- package/dist/components/Description/describedControl.d.ts.map +1 -0
- package/dist/components/Description/describedControl.js +81 -0
- package/dist/components/Description/describedControl.js.map +1 -0
- package/dist/components/Description/index.d.ts.map +1 -1
- package/dist/components/Description/index.js +3 -2
- package/dist/components/Description/index.js.map +1 -1
- package/dist/components/colorValue/colorValue.d.ts +59 -0
- package/dist/components/colorValue/colorValue.d.ts.map +1 -0
- package/dist/components/colorValue/colorValue.js +245 -0
- package/dist/components/colorValue/colorValue.js.map +1 -0
- package/dist/components/colorValue/index.d.ts +34 -0
- package/dist/components/colorValue/index.d.ts.map +1 -0
- package/dist/components/colorValue/index.js +136 -0
- package/dist/components/colorValue/index.js.map +1 -0
- package/dist/components/colorValue/labels.d.ts +12 -0
- package/dist/components/colorValue/labels.d.ts.map +1 -0
- package/dist/components/colorValue/labels.js +11 -0
- package/dist/components/colorValue/labels.js.map +1 -0
- package/dist/components/composer/Composer.d.ts +1 -1
- package/dist/components/composer/Composer.d.ts.map +1 -1
- package/dist/components/composer/Composer.js +2 -2
- package/dist/components/composer/Composer.js.map +1 -1
- package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
- package/dist/components/dpqlEditor/DpqlEditor.js +25 -5
- package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts +10 -1
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlHelpers.js +30 -13
- package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.d.ts +11 -7
- package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.js +11 -6
- package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
- package/dist/components/dpqlEditor/types.d.ts +47 -8
- package/dist/components/dpqlEditor/types.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.d.ts +2 -2
- package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.js +16 -7
- package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
- package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
- package/dist/components/form/engine/CompactRow.js +151 -83
- package/dist/components/form/engine/CompactRow.js.map +1 -1
- package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
- package/dist/components/form/engine/CompactToolbar.js +29 -3
- package/dist/components/form/engine/CompactToolbar.js.map +1 -1
- package/dist/components/form/engine/FormEngine.d.ts +34 -1
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +487 -87
- package/dist/components/form/engine/FormEngine.js.map +1 -1
- package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
- package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
- package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
- package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
- package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
- package/dist/components/form/engine/OptionFieldMessages.js +24 -3
- package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
- package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
- package/dist/components/form/engine/compactRowContext.d.ts +19 -0
- package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowContext.js.map +1 -1
- package/dist/components/form/engine/compactRowStyles.d.ts +0 -1
- package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowStyles.js +12 -20
- package/dist/components/form/engine/compactRowStyles.js.map +1 -1
- package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
- package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
- package/dist/components/form/engine/compactToolbarColors.js +21 -0
- package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
- package/dist/components/form/engine/readFirst.d.ts +24 -8
- package/dist/components/form/engine/readFirst.d.ts.map +1 -1
- package/dist/components/form/engine/readFirst.js +77 -109
- package/dist/components/form/engine/readFirst.js.map +1 -1
- package/dist/components/form/engine/readFirstColors.d.ts +30 -0
- package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
- package/dist/components/form/engine/readFirstColors.js +51 -0
- package/dist/components/form/engine/readFirstColors.js.map +1 -0
- package/dist/components/form/engine/rowFocus.d.ts +2 -0
- package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
- package/dist/components/form/engine/rowFocus.js +26 -3
- package/dist/components/form/engine/rowFocus.js.map +1 -1
- package/dist/components/form/engine/typeChoices.d.ts +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.js +2 -1
- package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
- package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
- package/dist/components/form/engine/variants/variantParts.js +25 -17
- package/dist/components/form/engine/variants/variantParts.js.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.js +3 -3
- package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
- package/dist/components/form/expressions/ExpressionField.d.ts +41 -3
- package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
- package/dist/components/form/expressions/ExpressionField.js +396 -99
- package/dist/components/form/expressions/ExpressionField.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
- package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentLabel.js +27 -9
- package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentWrapper.js +4 -2
- package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +5 -4
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +6 -3
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
- package/dist/components/form/expressions/builder/index.d.ts +24 -2
- package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/index.js +121 -77
- package/dist/components/form/expressions/builder/index.js.map +1 -1
- package/dist/components/form/expressions/builder/item.d.ts +6 -2
- package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/item.js +19 -5
- package/dist/components/form/expressions/builder/item.js.map +1 -1
- package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
- package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
- package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
- package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
- package/dist/components/form/expressions/expressionOperands.js +97 -0
- package/dist/components/form/expressions/expressionOperands.js.map +1 -0
- package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
- package/dist/components/form/expressions/mockExpressions.js +22 -5
- package/dist/components/form/expressions/mockExpressions.js.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
- package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.js +35 -9
- package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
- package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
- package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
- package/dist/components/form/expressions/textOfExpression.js +37 -0
- package/dist/components/form/expressions/textOfExpression.js.map +1 -0
- package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
- package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
- package/dist/components/form/expressions/useExpressionType.js +181 -0
- package/dist/components/form/expressions/useExpressionType.js.map +1 -0
- package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
- package/dist/components/form/expressions/useRenderExpression.js +7 -7
- package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
- package/dist/components/form/fields/Field.d.ts.map +1 -1
- package/dist/components/form/fields/Field.js +20 -7
- package/dist/components/form/fields/Field.js.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.js +17 -4
- package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
- package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
- package/dist/components/form/fields/array/ArrayAuto.js +24 -0
- package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
- package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
- package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
- package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts +20 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.js +81 -36
- package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
- package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
- package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
- package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
- package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
- package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
- package/dist/components/form/fields/binary/Binary.js +23 -3
- package/dist/components/form/fields/binary/Binary.js.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
- package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.js +9 -1
- package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
- package/dist/components/form/fields/color/Color.d.ts +103 -16
- package/dist/components/form/fields/color/Color.d.ts.map +1 -1
- package/dist/components/form/fields/color/Color.js +611 -16
- package/dist/components/form/fields/color/Color.js.map +1 -1
- package/dist/components/form/fields/emittedValues.d.ts +34 -3
- package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
- package/dist/components/form/fields/emittedValues.js +24 -1
- package/dist/components/form/fields/emittedValues.js.map +1 -1
- package/dist/components/form/fields/file/File.d.ts +1 -1
- package/dist/components/form/fields/file/File.d.ts.map +1 -1
- package/dist/components/form/fields/file/File.js +4 -2
- package/dist/components/form/fields/file/File.js.map +1 -1
- package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
- package/dist/components/form/fields/long-string/LongString.js +17 -3
- package/dist/components/form/fields/long-string/LongString.js.map +1 -1
- package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js +4 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
- package/dist/components/form/fields/number/Number.d.ts +6 -0
- package/dist/components/form/fields/number/Number.d.ts.map +1 -1
- package/dist/components/form/fields/number/Number.js +41 -6
- package/dist/components/form/fields/number/Number.js.map +1 -1
- package/dist/components/form/fields/object/Object.d.ts +1 -1
- package/dist/components/form/fields/object/Object.d.ts.map +1 -1
- package/dist/components/form/fields/object/Object.js +4 -2
- package/dist/components/form/fields/object/Object.js.map +1 -1
- package/dist/components/form/fields/pendingEdit.d.ts +52 -0
- package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
- package/dist/components/form/fields/pendingEdit.js +79 -0
- package/dist/components/form/fields/pendingEdit.js.map +1 -0
- package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
- package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
- package/dist/components/form/fields/rich-text/RichText.js +190 -81
- package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
- package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.js +49 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
- package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
- package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
- package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/index.js +8 -4
- package/dist/components/form/fields/schema-definition/index.js.map +1 -1
- package/dist/components/form/fields/select/Select.d.ts +2 -0
- package/dist/components/form/fields/select/Select.d.ts.map +1 -1
- package/dist/components/form/fields/select/Select.js +19 -10
- package/dist/components/form/fields/select/Select.js.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.js +8 -2
- package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
- package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
- package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
- package/dist/components/form/fields/select/unavailableRow.js +55 -0
- package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +5 -5
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +11 -4
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
- package/dist/components/form/fields/template/TemplateBrowser.d.ts +22 -0
- package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
- package/dist/components/form/fields/template/TemplateBrowser.js +54 -0
- package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
- package/dist/components/form/fields/template/TemplateField.d.ts +83 -1
- package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateField.js +535 -85
- package/dist/components/form/fields/template/TemplateField.js.map +1 -1
- package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
- package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateText.js +8 -4
- package/dist/components/form/fields/template/TemplateText.js.map +1 -1
- package/dist/components/form/fields/template/writtenAsText.d.ts +55 -0
- package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
- package/dist/components/form/fields/template/writtenAsText.js +188 -0
- package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
- package/dist/components/form/index.d.ts +10 -0
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +23 -1
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
- package/dist/components/imageLightbox/ImageLightbox.js +19 -7
- package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
- package/dist/components/log/Log.d.ts.map +1 -1
- package/dist/components/log/Log.js +15 -7
- package/dist/components/log/Log.js.map +1 -1
- package/dist/components/menu/Menu.d.ts.map +1 -1
- package/dist/components/menu/Menu.js +19 -10
- package/dist/components/menu/Menu.js.map +1 -1
- package/dist/components/smartEditor/CompletionMenu.d.ts +43 -0
- package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
- package/dist/components/smartEditor/CompletionMenu.js +196 -0
- package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
- package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
- package/dist/components/smartEditor/MarkdownDoc.js +1 -1
- package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
- package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
- package/dist/components/smartEditor/SmartEditor.js +51 -136
- package/dist/components/smartEditor/SmartEditor.js.map +1 -1
- package/dist/components/smartEditor/completionStyle.d.ts +27 -0
- package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
- package/dist/components/smartEditor/completionStyle.js +66 -0
- package/dist/components/smartEditor/completionStyle.js.map +1 -0
- package/dist/components/smartEditor/index.d.ts +5 -1
- package/dist/components/smartEditor/index.d.ts.map +1 -1
- package/dist/components/smartEditor/index.js +19 -1
- package/dist/components/smartEditor/index.js.map +1 -1
- package/dist/components/smartEditor/templateCompletions.d.ts +18 -0
- package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
- package/dist/components/smartEditor/templateCompletions.js +94 -0
- package/dist/components/smartEditor/templateCompletions.js.map +1 -0
- package/dist/components/smartEditor/types.d.ts +12 -1
- package/dist/components/smartEditor/types.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspAutocomplete.d.ts +32 -0
- package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspAutocomplete.js +228 -118
- package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
- package/dist/components/smartEditor/useLspHover.d.ts +22 -7
- package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspHover.js +86 -17
- package/dist/components/smartEditor/useLspHover.js.map +1 -1
- package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
- package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
- package/dist/components/smartEditor/useLspSession.d.ts +6 -0
- package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspSession.js +7 -6
- package/dist/components/smartEditor/useLspSession.js.map +1 -1
- package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
- package/dist/components/supportTicket/AttachmentChips.js +15 -5
- package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
- package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.js +27 -6
- package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
- package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
- package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
- package/dist/components/supportTicket/TicketHeader.js +20 -2
- package/dist/components/supportTicket/TicketHeader.js.map +1 -1
- package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
- package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
- package/dist/components/ticketReferences/TicketReferences.js +9 -4
- package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
- package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
- package/dist/components/ticketThread/TicketThread.js +36 -11
- package/dist/components/ticketThread/TicketThread.js.map +1 -1
- package/dist/helpers/descriptionTooltip.d.ts +43 -0
- package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
- package/dist/helpers/descriptionTooltip.js +70 -0
- package/dist/helpers/descriptionTooltip.js.map +1 -0
- package/dist/helpers/domProps.d.ts +5 -0
- package/dist/helpers/domProps.d.ts.map +1 -0
- package/dist/helpers/domProps.js +47 -0
- package/dist/helpers/domProps.js.map +1 -0
- package/dist/helpers/expressions.d.ts +107 -2
- package/dist/helpers/expressions.d.ts.map +1 -1
- package/dist/helpers/expressions.js +223 -8
- package/dist/helpers/expressions.js.map +1 -1
- package/dist/helpers/hoveringPointer.d.ts +26 -0
- package/dist/helpers/hoveringPointer.d.ts.map +1 -0
- package/dist/helpers/hoveringPointer.js +29 -0
- package/dist/helpers/hoveringPointer.js.map +1 -0
- package/dist/helpers/markdownText.d.ts +14 -0
- package/dist/helpers/markdownText.d.ts.map +1 -0
- package/dist/helpers/markdownText.js +160 -0
- package/dist/helpers/markdownText.js.map +1 -0
- package/dist/helpers/qorusTypeCatalogue.d.ts +53 -0
- package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
- package/dist/helpers/qorusTypeCatalogue.js +262 -0
- package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
- package/dist/helpers/readableColors.d.ts +36 -0
- package/dist/helpers/readableColors.d.ts.map +1 -0
- package/dist/helpers/readableColors.js +116 -0
- package/dist/helpers/readableColors.js.map +1 -0
- package/dist/helpers/templateItems.d.ts +2 -2
- package/dist/helpers/templateItems.d.ts.map +1 -1
- package/dist/helpers/templateItems.js +6 -4
- package/dist/helpers/templateItems.js.map +1 -1
- package/dist/helpers/templates.d.ts +26 -1
- package/dist/helpers/templates.d.ts.map +1 -1
- package/dist/helpers/templates.js +41 -6
- package/dist/helpers/templates.js.map +1 -1
- package/dist/helpers/validations.d.ts +9 -0
- package/dist/helpers/validations.d.ts.map +1 -1
- package/dist/helpers/validations.js +139 -33
- package/dist/helpers/validations.js.map +1 -1
- package/dist/hooks/useQorusTypes.d.ts +7 -15
- package/dist/hooks/useQorusTypes.d.ts.map +1 -1
- package/dist/hooks/useQorusTypes.js +25 -166
- package/dist/hooks/useQorusTypes.js.map +1 -1
- package/dist/hooks/useReadableIntentShade.d.ts +9 -0
- package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
- package/dist/hooks/useReadableIntentShade.js +23 -0
- package/dist/hooks/useReadableIntentShade.js.map +1 -0
- package/dist/hooks/useReadableOpacity.d.ts +6 -0
- package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
- package/dist/hooks/useReadableOpacity.js +17 -0
- package/dist/hooks/useReadableOpacity.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
- package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
- package/dist/tracking/ui/ExperimentCard.js +26 -10
- package/dist/tracking/ui/ExperimentCard.js.map +1 -1
- package/dist/tracking/ui/card.d.ts +2 -2
- package/dist/tracking/ui/card.d.ts.map +1 -1
- package/dist/tracking/ui/card.js +2 -2
- package/dist/tracking/ui/card.js.map +1 -1
- package/dist/tracking/ui/readable.d.ts +14 -0
- package/dist/tracking/ui/readable.d.ts.map +1 -0
- package/dist/tracking/ui/readable.js +60 -0
- package/dist/tracking/ui/readable.js.map +1 -0
- package/package.json +14 -5
- package/.claude/CLAUDE.md +0 -317
- package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
- package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
- package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
- package/.tasks/FIELD_STACK_REPORT.md +0 -234
- package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
- package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
- package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
- package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
- package/.tasks/INDEX.md +0 -111
- package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
- package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
- package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
- package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
- package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
- package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
- package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
- package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
- package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
- package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
- package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
- package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
- package/CODE_OF_CONDUCT.md +0 -105
- package/CONTRIBUTING.MD +0 -78
- package/SECURITY.md +0 -3
- package/chromatic.config.json +0 -5
- package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
- package/design/COMPACT_INFO_DISPLAY.md +0 -87
- package/design/COMPACT_PARITY.md +0 -85
- package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
- package/design/FORM_ENGINE_COMPACT.md +0 -300
- package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
- package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
- package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
- package/design/IDE_INTEGRATION.md +0 -64
- package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
- package/design/SELECT_DIALOG_FLOOR.md +0 -86
- package/design/SMART_EDITOR_UX.md +0 -438
- package/design/TRACKING.md +0 -290
- package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
- package/src/components/Description/index.tsx +0 -254
- package/src/components/Description/markdownRendererContext.tsx +0 -29
- package/src/components/FocusedEditing/index.tsx +0 -50
- package/src/components/codeSize/index.tsx +0 -79
- package/src/components/composer/Composer.stories.tsx +0 -238
- package/src/components/composer/Composer.tsx +0 -554
- package/src/components/composer/helpers.ts +0 -74
- package/src/components/composer/index.ts +0 -2
- package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
- package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
- package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
- package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
- package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
- package/src/components/dpqlEditor/dpqlTags.ts +0 -114
- package/src/components/dpqlEditor/index.ts +0 -41
- package/src/components/dpqlEditor/types.ts +0 -203
- package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
- package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
- package/src/components/form/engine/CompactRow.tsx +0 -2620
- package/src/components/form/engine/CompactToolbar.tsx +0 -330
- package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
- package/src/components/form/engine/FormEngine.tsx +0 -4569
- package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
- package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
- package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
- package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
- package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
- package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
- package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
- package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
- package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
- package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
- package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
- package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
- package/src/components/form/engine/compactRowContext.ts +0 -148
- package/src/components/form/engine/compactRowStyles.ts +0 -898
- package/src/components/form/engine/compactToolbarContext.ts +0 -69
- package/src/components/form/engine/optionActions.ts +0 -128
- package/src/components/form/engine/optionsContext.ts +0 -24
- package/src/components/form/engine/readFirst.ts +0 -1077
- package/src/components/form/engine/rendererTypes.ts +0 -107
- package/src/components/form/engine/revealRow.ts +0 -123
- package/src/components/form/engine/rowFocus.ts +0 -101
- package/src/components/form/engine/rowMenuContext.ts +0 -159
- package/src/components/form/engine/rowOpenPicker.ts +0 -27
- package/src/components/form/engine/typeChoices.ts +0 -63
- package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
- package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
- package/src/components/form/engine/variants/VariantCards.tsx +0 -212
- package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
- package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
- package/src/components/form/engine/variants/focusDemo.ts +0 -145
- package/src/components/form/engine/variants/variantModel.ts +0 -223
- package/src/components/form/engine/variants/variantParts.tsx +0 -313
- package/src/components/form/expressions/DpqlRendering.tsx +0 -85
- package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
- package/src/components/form/expressions/ExpressionField.tsx +0 -503
- package/src/components/form/expressions/argumentPresence.ts +0 -213
- package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
- package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
- package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
- package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
- package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
- package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
- package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
- package/src/components/form/expressions/builder/index.tsx +0 -1545
- package/src/components/form/expressions/builder/item.tsx +0 -89
- package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
- package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
- package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
- package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
- package/src/components/form/expressions/mockExpressions.ts +0 -317
- package/src/components/form/expressions/renderExpressionToText.ts +0 -137
- package/src/components/form/expressions/types.ts +0 -110
- package/src/components/form/expressions/useExpressions.ts +0 -101
- package/src/components/form/expressions/useRenderExpression.ts +0 -165
- package/src/components/form/fields/Field.stories.tsx +0 -143
- package/src/components/form/fields/Field.tsx +0 -732
- package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
- package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
- package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
- package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
- package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
- package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
- package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
- package/src/components/form/fields/binary/Binary.tsx +0 -91
- package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
- package/src/components/form/fields/boolean/Boolean.tsx +0 -34
- package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
- package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
- package/src/components/form/fields/color/Color.stories.tsx +0 -99
- package/src/components/form/fields/color/Color.tsx +0 -46
- package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
- package/src/components/form/fields/cron/Cron.tsx +0 -80
- package/src/components/form/fields/date/Date.stories.tsx +0 -77
- package/src/components/form/fields/date/Date.tsx +0 -55
- package/src/components/form/fields/emittedValues.ts +0 -70
- package/src/components/form/fields/file/File.stories.tsx +0 -161
- package/src/components/form/fields/file/File.tsx +0 -227
- package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
- package/src/components/form/fields/long-string/LongString.tsx +0 -130
- package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
- package/src/components/form/fields/markdown/Markdown.tsx +0 -81
- package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
- package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
- package/src/components/form/fields/number/Number.stories.tsx +0 -159
- package/src/components/form/fields/number/Number.tsx +0 -160
- package/src/components/form/fields/object/Object.stories.tsx +0 -398
- package/src/components/form/fields/object/Object.tsx +0 -255
- package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
- package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
- package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
- package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
- package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
- package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
- package/src/components/form/fields/rich-text/RichText.tsx +0 -537
- package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
- package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
- package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
- package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
- package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
- package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
- package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
- package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
- package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
- package/src/components/form/fields/schema-definition/catalog.ts +0 -237
- package/src/components/form/fields/schema-definition/helpers.ts +0 -90
- package/src/components/form/fields/schema-definition/index.tsx +0 -418
- package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
- package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
- package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
- package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
- package/src/components/form/fields/schema-definition/types.ts +0 -185
- package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
- package/src/components/form/fields/select/Select.stories.tsx +0 -872
- package/src/components/form/fields/select/Select.tsx +0 -624
- package/src/components/form/fields/select/SelectCollection.tsx +0 -594
- package/src/components/form/fields/string/String.stories.tsx +0 -86
- package/src/components/form/fields/string/String.tsx +0 -43
- package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
- package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
- package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
- package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
- package/src/components/form/fields/template/TemplateField.tsx +0 -1717
- package/src/components/form/fields/template/TemplateText.tsx +0 -115
- package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
- package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
- package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
- package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
- package/src/components/form/fields/timeout/Timeout.tsx +0 -87
- package/src/components/form/fields/url/Url.stories.tsx +0 -94
- package/src/components/form/fields/url/Url.tsx +0 -85
- package/src/components/form/index.tsx +0 -47
- package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
- package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
- package/src/components/imageLightbox/index.ts +0 -1
- package/src/components/log/Log.stories.tsx +0 -333
- package/src/components/log/Log.tsx +0 -285
- package/src/components/menu/Menu.stories.tsx +0 -155
- package/src/components/menu/Menu.tsx +0 -312
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
- package/src/components/qonsoleSmartInput/index.ts +0 -16
- package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
- package/src/components/qonsoleSmartInput/types.ts +0 -133
- package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
- package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
- package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
- package/src/components/searchFilterBar/index.ts +0 -1
- package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
- package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
- package/src/components/smartEditor/SmartEditor.tsx +0 -808
- package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
- package/src/components/smartEditor/helpers.ts +0 -217
- package/src/components/smartEditor/index.ts +0 -35
- package/src/components/smartEditor/styling.ts +0 -45
- package/src/components/smartEditor/types.ts +0 -211
- package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
- package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
- package/src/components/smartEditor/useLspHover.ts +0 -230
- package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
- package/src/components/smartEditor/useLspSession.ts +0 -231
- package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
- package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
- package/src/components/supportTicket/AttachmentChips.tsx +0 -147
- package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
- package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
- package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
- package/src/components/supportTicket/ReferencePicker.tsx +0 -563
- package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
- package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
- package/src/components/supportTicket/TicketHeader.tsx +0 -247
- package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
- package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
- package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
- package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
- package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
- package/src/components/supportTicket/attachmentAccess.ts +0 -97
- package/src/components/supportTicket/fileToAttachment.ts +0 -24
- package/src/components/supportTicket/index.ts +0 -10
- package/src/components/supportTicket/meta.ts +0 -206
- package/src/components/supportTicket/ticketModel.ts +0 -131
- package/src/components/supportTicket/useLoadedImages.ts +0 -73
- package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
- package/src/components/ticketReferences/TicketReferences.tsx +0 -906
- package/src/components/ticketReferences/index.ts +0 -2
- package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
- package/src/components/ticketThread/TicketThread.tsx +0 -719
- package/src/components/ticketThread/index.ts +0 -6
- package/src/contexts/FetchContext.tsx +0 -25
- package/src/contexts/ReqraftContext.tsx +0 -9
- package/src/contexts/StorageContext.tsx +0 -33
- package/src/global.d.ts +0 -4
- package/src/helpers/allowedValues.ts +0 -249
- package/src/helpers/choiceChip.ts +0 -227
- package/src/helpers/common.ts +0 -326
- package/src/helpers/dpqlDetection.ts +0 -209
- package/src/helpers/expressions.ts +0 -140
- package/src/helpers/optionUiTypes.ts +0 -199
- package/src/helpers/options.ts +0 -150
- package/src/helpers/providerValue.ts +0 -125
- package/src/helpers/scrollbar.ts +0 -32
- package/src/helpers/singleLineString.ts +0 -61
- package/src/helpers/templateItems.ts +0 -81
- package/src/helpers/templateText.ts +0 -350
- package/src/helpers/templates.ts +0 -602
- package/src/helpers/validations.ts +0 -2085
- package/src/hooks/useArgSchema.ts +0 -37
- package/src/hooks/useCoarsePointer.ts +0 -30
- package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
- package/src/hooks/useFetch/useFetch.tsx +0 -154
- package/src/hooks/usePhoneViewport.ts +0 -34
- package/src/hooks/useQorusTypes.ts +0 -233
- package/src/hooks/useReqraftProperty.ts +0 -16
- package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
- package/src/hooks/useStorage/useStorage.ts +0 -35
- package/src/hooks/useTemplates.ts +0 -123
- package/src/hooks/useValidation.ts +0 -9
- package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
- package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
- package/src/hooks/useWhyDidYouUpdate.ts +0 -38
- package/src/index.tsx +0 -86
- package/src/providers/FetchProvider.tsx +0 -40
- package/src/providers/ReqraftProvider.tsx +0 -52
- package/src/providers/StorageProvider.tsx +0 -131
- package/src/stores/currentUser/currentUser.stories.tsx +0 -100
- package/src/stores/currentUser/currentUser.tsx +0 -94
- package/src/stories/Data/fileFieldArgSchema.json +0 -86
- package/src/stories/Tests/utils.ts +0 -320
- package/src/stories/storyNetwork.ts +0 -92
- package/src/stories/tracking.tsx +0 -206
- package/src/tracking/browser/attach.ts +0 -186
- package/src/tracking/browser/env.ts +0 -78
- package/src/tracking/core/consent.ts +0 -37
- package/src/tracking/core/engagement.ts +0 -47
- package/src/tracking/core/experiments.ts +0 -258
- package/src/tracking/core/hash.ts +0 -26
- package/src/tracking/core/ids.ts +0 -25
- package/src/tracking/core/observable.ts +0 -23
- package/src/tracking/core/queue.ts +0 -131
- package/src/tracking/core/sections.ts +0 -166
- package/src/tracking/core/storage.ts +0 -69
- package/src/tracking/core/tracker.ts +0 -417
- package/src/tracking/core/types.ts +0 -162
- package/src/tracking/core/utm.ts +0 -23
- package/src/tracking/index.ts +0 -72
- package/src/tracking/markup.ts +0 -17
- package/src/tracking/react/Experiment.tsx +0 -44
- package/src/tracking/react/TrackingProvider.tsx +0 -56
- package/src/tracking/react/hooks.ts +0 -106
- package/src/tracking/react/index.ts +0 -13
- package/src/tracking/testing.ts +0 -108
- package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
- package/src/tracking/ui/ExperimentCard.tsx +0 -667
- package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
- package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
- package/src/tracking/ui/anchor.ts +0 -180
- package/src/tracking/ui/card.ts +0 -464
- package/src/tracking/ui/client.ts +0 -117
- package/src/tracking/ui/index.ts +0 -77
- package/src/tracking/ui/types.ts +0 -110
- package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
- package/src/types/Form.ts +0 -29
- package/src/types.ts +0 -14
- package/src/utils/datetime.ts +0 -10
- package/src/utils/fetch.ts +0 -457
- package/src/utils/lspClient.ts +0 -711
- package/src/utils/lspClient.types.ts +0 -211
- package/src/utils/queryUnlessCancelled.ts +0 -28
- package/src/utils/websocket.ts +0 -293
- package/vite.config.ts +0 -58
- package/vitest.config.ts +0 -69
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Qore Technologies, s.r.o.
|
|
2
|
-
//
|
|
3
|
-
// Minimal LSP type subset used by `ReqraftLspClient` — intentionally narrow;
|
|
4
|
-
// language-specific wrappers layer richer types on top.
|
|
5
|
-
|
|
6
|
-
/** Zero-based line + UTF-16 character offset. */
|
|
7
|
-
export interface ILspPosition {
|
|
8
|
-
line: number;
|
|
9
|
-
character: number;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/** Inclusive start, exclusive end — per LSP convention. */
|
|
13
|
-
export interface ILspRange {
|
|
14
|
-
start: ILspPosition;
|
|
15
|
-
end: ILspPosition;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Diagnostic delivered via `textDocument/publishDiagnostics` notifications
|
|
20
|
-
* or returned synchronously from language-specific `<lang>/validate` methods.
|
|
21
|
-
*/
|
|
22
|
-
export interface ILspDiagnostic {
|
|
23
|
-
range: ILspRange;
|
|
24
|
-
message: string;
|
|
25
|
-
/** LSP DiagnosticSeverity: 1 = Error, 2 = Warning, 3 = Information, 4 = Hint */
|
|
26
|
-
severity?: number;
|
|
27
|
-
code?: string | number;
|
|
28
|
-
source?: string;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Completion item from `textDocument/completion`. `kind` follows the LSP
|
|
33
|
-
* CompletionItemKind enum (1 = Text, 2 = Method, 3 = Function, …).
|
|
34
|
-
*
|
|
35
|
-
* When the server supplies a `textEdit`, that is the authoritative way to
|
|
36
|
-
* apply the completion — the range tells the client exactly which span of
|
|
37
|
-
* the document to replace (including any partial token the user already
|
|
38
|
-
* typed). Falling back to `insertText` without using `textEdit` can lead to
|
|
39
|
-
* the partial token being duplicated (e.g. typed `-` + inserted `--desc=`
|
|
40
|
-
* becomes `---desc=`).
|
|
41
|
-
*/
|
|
42
|
-
export interface ILspCompletionItem {
|
|
43
|
-
label: string;
|
|
44
|
-
kind?: number;
|
|
45
|
-
detail?: string;
|
|
46
|
-
insertText?: string;
|
|
47
|
-
/** 1 = PlainText, 2 = Snippet */
|
|
48
|
-
insertTextFormat?: number;
|
|
49
|
-
documentation?: ILspMarkupContent | string | null;
|
|
50
|
-
sortText?: string;
|
|
51
|
-
filterText?: string;
|
|
52
|
-
/**
|
|
53
|
-
* Authoritative edit instructions from the server. When present, the
|
|
54
|
-
* `range` is the span to replace (start/end as line/character positions
|
|
55
|
-
* in the plain-text projection of the document) and `newText` is what
|
|
56
|
-
* to put there. Consumers should prefer `textEdit` over `insertText`.
|
|
57
|
-
*/
|
|
58
|
-
textEdit?: {
|
|
59
|
-
range: ILspRange;
|
|
60
|
-
newText: string;
|
|
61
|
-
};
|
|
62
|
-
/** Characters that auto-accept this completion when typed after it. */
|
|
63
|
-
commitCharacters?: string[];
|
|
64
|
-
/**
|
|
65
|
-
* Opaque server-supplied data carried with the item. Qonsole uses
|
|
66
|
-
* this to encode wizard launch metadata (`{action: 'start-wizard',
|
|
67
|
-
* name, start_path, ...}`) and per-kind hints (verb aliases, flag
|
|
68
|
-
* types, etc.). The client passes it back via `completionItem/resolve`
|
|
69
|
-
* if implemented; for now consumers (inserters, custom click
|
|
70
|
-
* handlers) read it directly.
|
|
71
|
-
*/
|
|
72
|
-
data?: Record<string, unknown>;
|
|
73
|
-
/**
|
|
74
|
-
* Server-side warning copy attached to specific items — Qonsole
|
|
75
|
-
* uses this on mutating verbs ("Changes system state; execution
|
|
76
|
-
* may require confirmation."). Rendered as a right-aligned chip
|
|
77
|
-
* in the dropdown row.
|
|
78
|
-
*/
|
|
79
|
-
warning?: string;
|
|
80
|
-
/**
|
|
81
|
-
* Command to execute on accept INSTEAD OF inserting `insertText`/
|
|
82
|
-
* `textEdit`. Used by Qonsole for wizard launch items
|
|
83
|
-
* (`{ command: 'qonsole.startWizard', arguments: [{...}] }`).
|
|
84
|
-
* Standard LSP shape; the client is responsible for executing it
|
|
85
|
-
* (the server rejects `workspace/executeCommand` for `qonsole.*`).
|
|
86
|
-
*/
|
|
87
|
-
command?: {
|
|
88
|
-
title: string;
|
|
89
|
-
command: string;
|
|
90
|
-
arguments?: unknown[];
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/** Rich-text content from hover / completion documentation. */
|
|
95
|
-
export interface ILspMarkupContent {
|
|
96
|
-
kind: 'plaintext' | 'markdown';
|
|
97
|
-
value: string;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Token legend advertised by the server in
|
|
102
|
-
* `initialize → capabilities.semanticTokensProvider.legend`. Both
|
|
103
|
-
* arrays are positional — a semantic token's encoded `tokenType` int
|
|
104
|
-
* is an index into `tokenTypes`, and its encoded `tokenModifiers` int
|
|
105
|
-
* is a bitmask over `tokenModifiers`. The standard LSP legend has 16
|
|
106
|
-
* token types and 6 modifiers, but servers may extend either list.
|
|
107
|
-
*/
|
|
108
|
-
export interface ILspSemanticTokensLegend {
|
|
109
|
-
tokenTypes: string[];
|
|
110
|
-
tokenModifiers: string[];
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Decoded semantic-token span (the int-array → human-friendly form
|
|
115
|
-
* the editor consumes). `tokenType` / `tokenModifiers` are already
|
|
116
|
-
* resolved against the server's legend.
|
|
117
|
-
*/
|
|
118
|
-
export interface ILspSemanticToken {
|
|
119
|
-
/** 0-based line number in the document. */
|
|
120
|
-
line: number;
|
|
121
|
-
/** 0-based column (UTF-16) on that line. */
|
|
122
|
-
character: number;
|
|
123
|
-
/** Token length in characters. */
|
|
124
|
-
length: number;
|
|
125
|
-
/** Resolved type name (e.g. `"keyword"`, `"variable"`, `"string"`). */
|
|
126
|
-
tokenType: string;
|
|
127
|
-
/** Resolved modifier names from the bitmask. */
|
|
128
|
-
tokenModifiers: string[];
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* One parameter inside a signature. `label` is either a substring of
|
|
133
|
-
* the parent signature's `label` or a literal name string. `documentation`
|
|
134
|
-
* carries optional markdown / plaintext explainer.
|
|
135
|
-
*/
|
|
136
|
-
export interface ILspParameterInformation {
|
|
137
|
-
label: string | [number, number];
|
|
138
|
-
documentation?: ILspMarkupContent | string | null;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* A single function / operator signature. `parameters` lists the
|
|
143
|
-
* positional parameters in order; the consumer highlights the one at
|
|
144
|
-
* `activeParameter` from the parent `ILspSignatureHelp`.
|
|
145
|
-
*/
|
|
146
|
-
export interface ILspSignatureInformation {
|
|
147
|
-
label: string;
|
|
148
|
-
documentation?: ILspMarkupContent | string | null;
|
|
149
|
-
parameters?: ILspParameterInformation[];
|
|
150
|
-
/** Per-signature active parameter override (LSP spec optional). */
|
|
151
|
-
activeParameter?: number;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Response shape for `textDocument/signatureHelp`. Empty `signatures`
|
|
156
|
-
* means "no help available at this position".
|
|
157
|
-
*/
|
|
158
|
-
export interface ILspSignatureHelp {
|
|
159
|
-
signatures: ILspSignatureInformation[];
|
|
160
|
-
/** Index into `signatures` of the active overload. Default 0. */
|
|
161
|
-
activeSignature?: number;
|
|
162
|
-
/** Index into the active signature's `parameters`. Default 0. */
|
|
163
|
-
activeParameter?: number;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Minimal projection of the server's `initialize` response
|
|
168
|
-
* `capabilities` block — only the providers we currently read on the
|
|
169
|
-
* client. Hooks gate themselves on the presence of the relevant
|
|
170
|
-
* provider so an editor talking to a server that doesn't support a
|
|
171
|
-
* feature degrades to no-op rather than erroring.
|
|
172
|
-
*/
|
|
173
|
-
export interface ILspServerCapabilities {
|
|
174
|
-
completionProvider?: {
|
|
175
|
-
triggerCharacters?: string[];
|
|
176
|
-
resolveProvider?: boolean;
|
|
177
|
-
};
|
|
178
|
-
signatureHelpProvider?: {
|
|
179
|
-
triggerCharacters?: string[];
|
|
180
|
-
retriggerCharacters?: string[];
|
|
181
|
-
};
|
|
182
|
-
hoverProvider?: boolean | { workDoneProgress?: boolean };
|
|
183
|
-
semanticTokensProvider?: {
|
|
184
|
-
legend: ILspSemanticTokensLegend;
|
|
185
|
-
full?: boolean | object;
|
|
186
|
-
range?: boolean | object;
|
|
187
|
-
};
|
|
188
|
-
codeActionProvider?:
|
|
189
|
-
| boolean
|
|
190
|
-
| {
|
|
191
|
-
codeActionKinds?: string[];
|
|
192
|
-
resolveProvider?: boolean;
|
|
193
|
-
};
|
|
194
|
-
/** Allow unknown providers to pass through for forward compat. */
|
|
195
|
-
[key: string]: unknown;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/** Edit returned by `textDocument/formatting`. */
|
|
199
|
-
export interface ILspTextEdit {
|
|
200
|
-
range: ILspRange;
|
|
201
|
-
newText: string;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Document text payload for `didOpen` / `didChange`. Plain string is the
|
|
206
|
-
* standard LSP shape; some Qorus-language servers (e.g. DPQL) also accept
|
|
207
|
-
* a structured richtext envelope `{ type: 'richtext', value: [...] }` that
|
|
208
|
-
* the server flattens server-side. Consumers that don't need the richtext
|
|
209
|
-
* form should pass a string.
|
|
210
|
-
*/
|
|
211
|
-
export type TLspDocumentText = string | { type: 'richtext'; value: unknown[] };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { IReqraftFetchResponse, IReqraftQueryConfig, isQueryCancelled, query } from './fetch';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* `query`, answering `undefined` when the request was abandoned (see
|
|
5
|
-
* `isQueryCancelled`) instead of rejecting.
|
|
6
|
-
*
|
|
7
|
-
* For a component that fires a request from an effect and only wants to know
|
|
8
|
-
* what the server said: an abandoned request has nothing to say, and left to
|
|
9
|
-
* reject it escaped the effect as an unhandled rejection - which a story runner
|
|
10
|
-
* reports as the story failing. Every other rejection still rejects.
|
|
11
|
-
*
|
|
12
|
-
* In a module of its own rather than beside `query`, so that it calls `query`
|
|
13
|
-
* through the module's export: a test that mocks `../utils/fetch` reaches the
|
|
14
|
-
* request this makes as well.
|
|
15
|
-
*/
|
|
16
|
-
export async function queryUnlessCancelled<T>(
|
|
17
|
-
config: IReqraftQueryConfig
|
|
18
|
-
): Promise<IReqraftFetchResponse<T> | undefined> {
|
|
19
|
-
try {
|
|
20
|
-
return await query<T>(config);
|
|
21
|
-
} catch (error) {
|
|
22
|
-
if (isQueryCancelled(error)) {
|
|
23
|
-
return undefined;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
throw error;
|
|
27
|
-
}
|
|
28
|
-
}
|
package/src/utils/websocket.ts
DELETED
|
@@ -1,293 +0,0 @@
|
|
|
1
|
-
import { forEach } from 'lodash';
|
|
2
|
-
import { nanoid } from 'nanoid';
|
|
3
|
-
import { fetchConfig, query } from './fetch';
|
|
4
|
-
|
|
5
|
-
export interface IReqraftWebSocketConfig {
|
|
6
|
-
url: string;
|
|
7
|
-
pooled?: boolean;
|
|
8
|
-
reconnect?: boolean;
|
|
9
|
-
reconnectInterval?: number;
|
|
10
|
-
maxReconnectTries?: number;
|
|
11
|
-
useHeartbeat?: boolean;
|
|
12
|
-
onOpen?: (ev?: Event) => void;
|
|
13
|
-
onMessage?: (ev: MessageEvent) => void;
|
|
14
|
-
onClose?: (ev?: CloseEvent) => void;
|
|
15
|
-
onError?: (ev?: Event) => void;
|
|
16
|
-
onReconnecting?: (reconnectNumber?: number) => void;
|
|
17
|
-
onReconnectFailed?: () => void;
|
|
18
|
-
tokenOverride?: string;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* The URL a socket for `path` dials on `instance`: `http(s)` becomes `ws(s)`,
|
|
23
|
-
* and the token, when there is one, rides in the query. The single definition —
|
|
24
|
-
* story mocks build their URLs with it too, so they cannot drift from it.
|
|
25
|
-
*/
|
|
26
|
-
export const buildReqraftSocketUrl = (instance: string, path: string, token?: string): string => {
|
|
27
|
-
let wsUrl = instance.replace('http', 'ws');
|
|
28
|
-
|
|
29
|
-
if (wsUrl.endsWith('/')) {
|
|
30
|
-
wsUrl = wsUrl.slice(0, -1);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return `${wsUrl}/${path}${token ? `?token=${token}` : ''}`;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
export class ReqraftWebSocketsManager {
|
|
37
|
-
public static defaultConfig: IReqraftWebSocketConfig = {
|
|
38
|
-
reconnect: true,
|
|
39
|
-
url: '',
|
|
40
|
-
maxReconnectTries: 10,
|
|
41
|
-
reconnectInterval: 5000,
|
|
42
|
-
useHeartbeat: true,
|
|
43
|
-
};
|
|
44
|
-
public static connections: Record<
|
|
45
|
-
string,
|
|
46
|
-
{ socket: WebSocket; using: number; heartbeat?: NodeJS.Timeout }
|
|
47
|
-
> = {};
|
|
48
|
-
|
|
49
|
-
public static closeAll() {
|
|
50
|
-
forEach(this.connections, (connection) => {
|
|
51
|
-
connection.socket.close(4999);
|
|
52
|
-
delete this.connections[connection.socket.url];
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
public static addHandler(
|
|
57
|
-
url: string,
|
|
58
|
-
event: keyof WebSocketEventMap,
|
|
59
|
-
handler: (ev: Event | MessageEvent | CloseEvent) => void
|
|
60
|
-
) {
|
|
61
|
-
this.connections[url]?.socket.addEventListener(event, handler);
|
|
62
|
-
|
|
63
|
-
return () => {
|
|
64
|
-
this.connections[url]?.socket.removeEventListener(event, handler);
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
public static removeHandler(
|
|
69
|
-
url: string,
|
|
70
|
-
event: keyof WebSocketEventMap,
|
|
71
|
-
handler: (ev: Event | MessageEvent | CloseEvent) => void
|
|
72
|
-
) {
|
|
73
|
-
this.connections[url]?.socket.removeEventListener(event, handler);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export class ReqraftWebSocket {
|
|
78
|
-
public isConnected: boolean;
|
|
79
|
-
public reconnectTries: number = 0;
|
|
80
|
-
public reconnectInterval: NodeJS.Timeout;
|
|
81
|
-
public options: IReqraftWebSocketConfig;
|
|
82
|
-
public readonly handlers: Record<
|
|
83
|
-
string,
|
|
84
|
-
{ type: keyof WebSocketEventMap; event: (ev: Event) => void }
|
|
85
|
-
> = {};
|
|
86
|
-
public socket: WebSocket;
|
|
87
|
-
private _poolKey: string;
|
|
88
|
-
|
|
89
|
-
constructor(config: IReqraftWebSocketConfig) {
|
|
90
|
-
this.isConnected = true;
|
|
91
|
-
this.reconnectTries = 0;
|
|
92
|
-
this.reconnectInterval = null;
|
|
93
|
-
this.options = { ...ReqraftWebSocketsManager.defaultConfig, ...config };
|
|
94
|
-
this._poolKey =
|
|
95
|
-
this.options.pooled === false ? `${this.options.url}::${nanoid()}` : this.options.url;
|
|
96
|
-
|
|
97
|
-
this.connect();
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
public addHandler(
|
|
101
|
-
event: keyof WebSocketEventMap,
|
|
102
|
-
handler: (ev: Event | MessageEvent | CloseEvent) => void
|
|
103
|
-
) {
|
|
104
|
-
const id = nanoid();
|
|
105
|
-
|
|
106
|
-
this.handlers[id] = { type: event, event: handler };
|
|
107
|
-
|
|
108
|
-
ReqraftWebSocketsManager.addHandler(this._poolKey, event, handler);
|
|
109
|
-
|
|
110
|
-
return id;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
public removeHandler(id: string) {
|
|
114
|
-
if (!this.handlers[id]) return;
|
|
115
|
-
|
|
116
|
-
ReqraftWebSocketsManager.removeHandler(
|
|
117
|
-
this._poolKey,
|
|
118
|
-
this.handlers[id].type,
|
|
119
|
-
this.handlers[id].event
|
|
120
|
-
);
|
|
121
|
-
|
|
122
|
-
delete this.handlers[id];
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
private getSocketUrl() {
|
|
126
|
-
return buildReqraftSocketUrl(
|
|
127
|
-
fetchConfig.instance,
|
|
128
|
-
this.options.url,
|
|
129
|
-
this.options.tokenOverride || fetchConfig.instanceToken
|
|
130
|
-
);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
public connect() {
|
|
134
|
-
if (!ReqraftWebSocketsManager.connections[this._poolKey]) {
|
|
135
|
-
this.socket = new WebSocket(this.getSocketUrl());
|
|
136
|
-
this.socket.onopen = (ev) => {
|
|
137
|
-
this.reconnectTries = 0;
|
|
138
|
-
this.isConnected = true;
|
|
139
|
-
|
|
140
|
-
clearInterval(this.reconnectInterval);
|
|
141
|
-
|
|
142
|
-
this.reconnectInterval = undefined;
|
|
143
|
-
|
|
144
|
-
if (this.options.useHeartbeat) {
|
|
145
|
-
this.startHeartbeat();
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
this.options?.onOpen?.(ev);
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
ReqraftWebSocketsManager.connections[this._poolKey] = {
|
|
152
|
-
socket: this.socket,
|
|
153
|
-
using: 0,
|
|
154
|
-
};
|
|
155
|
-
} else {
|
|
156
|
-
this.socket = ReqraftWebSocketsManager.connections[this._poolKey].socket;
|
|
157
|
-
this.options?.onOpen?.(null);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
// Increment the number of parts using this connection
|
|
161
|
-
ReqraftWebSocketsManager.connections[this._poolKey].using++;
|
|
162
|
-
|
|
163
|
-
if (this.options?.onMessage) {
|
|
164
|
-
this.addHandler('message', (event) => {
|
|
165
|
-
if ((<MessageEvent>event).data === 'pong') {
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
this.options?.onMessage?.(<MessageEvent>event);
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
this.addHandler('close', (event) => {
|
|
174
|
-
this.options?.onClose?.(<CloseEvent>event);
|
|
175
|
-
this.stopHeartbeat();
|
|
176
|
-
this.removeAllHandlers();
|
|
177
|
-
|
|
178
|
-
delete ReqraftWebSocketsManager.connections[this._poolKey];
|
|
179
|
-
|
|
180
|
-
// Start the reconnect process
|
|
181
|
-
this.maybeReconnect((<CloseEvent>event).code);
|
|
182
|
-
});
|
|
183
|
-
|
|
184
|
-
this.addHandler('error', (event) => {
|
|
185
|
-
this.options?.onError?.(event);
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
public send(data: string) {
|
|
190
|
-
this.socket.send(data);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
public async checkServerStatus() {
|
|
194
|
-
// If this results in a 401, the server will redirect automatically
|
|
195
|
-
await query({ url: '/system/pid', cache: false });
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
private async tryReconnect() {
|
|
199
|
-
this.reconnectTries++;
|
|
200
|
-
this.options?.onReconnecting?.(this.reconnectTries);
|
|
201
|
-
|
|
202
|
-
// The probe is ADVISORY: its only job is to let a dead session redirect on a
|
|
203
|
-
// 401 before we retry. It must never gate the reconnect itself.
|
|
204
|
-
//
|
|
205
|
-
// `query()` rejects on a network error, and a network error is the normal
|
|
206
|
-
// state while reconnecting — the server being unreachable is why we are
|
|
207
|
-
// here. Awaiting it unguarded meant the throw skipped `connect()`, so the
|
|
208
|
-
// socket never closed again, so `maybeReconnect()` was never called again:
|
|
209
|
-
// the state machine stopped silently, mid-way, with no further attempts and
|
|
210
|
-
// no `onReconnectFailed`. A caller waiting to be told the reconnect gave up
|
|
211
|
-
// waits forever, and the UI sits on CONNECTING.
|
|
212
|
-
//
|
|
213
|
-
// It surfaced as a CI-only story failure because a dev machine answers
|
|
214
|
-
// `/system/pid` (so the probe resolves and the chain advances) while CI has
|
|
215
|
-
// no server behind it — the same difference that makes it a REAL bug, since
|
|
216
|
-
// production has no server behind it either at exactly this moment.
|
|
217
|
-
try {
|
|
218
|
-
await this.checkServerStatus();
|
|
219
|
-
} catch (error) {
|
|
220
|
-
// deliberately ignored — see above
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
this.connect();
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
public maybeReconnect(closeCode: number) {
|
|
227
|
-
if (this.options.reconnect && closeCode !== 4999) {
|
|
228
|
-
// If this is the first reconnect try
|
|
229
|
-
if (this.reconnectTries === 0) {
|
|
230
|
-
this.tryReconnect();
|
|
231
|
-
|
|
232
|
-
return;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
// If we haven't reached the max number of reconnect tries
|
|
236
|
-
if (this.reconnectTries < this.options.maxReconnectTries) {
|
|
237
|
-
this.reconnectInterval = setTimeout(
|
|
238
|
-
this.tryReconnect.bind(this),
|
|
239
|
-
this.options.reconnectInterval
|
|
240
|
-
);
|
|
241
|
-
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
// Reconnect failed
|
|
246
|
-
this.isConnected = false;
|
|
247
|
-
this.reconnectInterval = undefined;
|
|
248
|
-
this.reconnectTries = 0;
|
|
249
|
-
|
|
250
|
-
this.options.onReconnectFailed?.();
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
public remove() {
|
|
255
|
-
if (!ReqraftWebSocketsManager.connections[this._poolKey]) return;
|
|
256
|
-
// Decrement the number of parts using this connection
|
|
257
|
-
ReqraftWebSocketsManager.connections[this._poolKey].using--;
|
|
258
|
-
// If this is the last part using the connection, close it
|
|
259
|
-
if (ReqraftWebSocketsManager.connections[this._poolKey].using === 0) {
|
|
260
|
-
this.close();
|
|
261
|
-
return;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
// Remove all handlers
|
|
265
|
-
this.removeAllHandlers();
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
public close() {
|
|
269
|
-
this.socket.close(4999);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
public removeAllHandlers() {
|
|
273
|
-
forEach(this.handlers, (_handler, id) => {
|
|
274
|
-
this.removeHandler(id);
|
|
275
|
-
});
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
private startHeartbeat() {
|
|
279
|
-
// Start the heartbeat
|
|
280
|
-
clearInterval(ReqraftWebSocketsManager.connections[this._poolKey].heartbeat);
|
|
281
|
-
ReqraftWebSocketsManager.connections[this._poolKey].heartbeat = null;
|
|
282
|
-
ReqraftWebSocketsManager.connections[this._poolKey].heartbeat = setInterval(() => {
|
|
283
|
-
this.socket.send('ping');
|
|
284
|
-
}, 3000);
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
private stopHeartbeat() {
|
|
288
|
-
if (!ReqraftWebSocketsManager.connections[this._poolKey]) return;
|
|
289
|
-
|
|
290
|
-
clearInterval(ReqraftWebSocketsManager.connections[this._poolKey].heartbeat);
|
|
291
|
-
ReqraftWebSocketsManager.connections[this._poolKey].heartbeat = null;
|
|
292
|
-
}
|
|
293
|
-
}
|
package/vite.config.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import react from '@vitejs/plugin-react';
|
|
2
|
-
import { defineConfig, loadEnv } from 'vite';
|
|
3
|
-
|
|
4
|
-
// The old webpack `env` block injected these into process.env. Vite doesn't
|
|
5
|
-
// define `process` in the browser, so source/stories that read
|
|
6
|
-
// process.env.REACT_APP_QORUS_* (and NODE_ENV/CI) get `undefined` and the live
|
|
7
|
-
// editor stories then 401.
|
|
8
|
-
//
|
|
9
|
-
// Source the values from BOTH .env files AND the shell: the Storybook webpack
|
|
10
|
-
// builder used to auto-load `.env`/`.env.local` (see .gitignore), so a token
|
|
11
|
-
// kept in a gitignored `.env.local` worked without retyping it each launch.
|
|
12
|
-
// `loadEnv(mode, cwd, '')` reads all keys (empty prefix, not just VITE_); the
|
|
13
|
-
// shell still wins (e.g. `REACT_APP_QORUS_TOKEN=… yarn storybook`).
|
|
14
|
-
//
|
|
15
|
-
// NOTE: keep this a module-level call + a plain OBJECT export. vitest.config.ts
|
|
16
|
-
// does `mergeConfig(viteConfig, …)`, which throws "Cannot merge config in form
|
|
17
|
-
// of callback" if this file exports the `defineConfig(() => …)` function form.
|
|
18
|
-
const fileEnv = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '');
|
|
19
|
-
// Resolve a value from the shell, then .env files. Accepts fallback keys so a
|
|
20
|
-
// globally-exported `QORUS_TOKEN` (the CI secret name, and what's commonly set
|
|
21
|
-
// in the shell) is picked up even though the app reads `REACT_APP_QORUS_TOKEN`.
|
|
22
|
-
// Locally nothing ever bridged the two; CI bridges them in the workflow yaml.
|
|
23
|
-
const env = (...keys: string[]) => {
|
|
24
|
-
for (const key of keys) {
|
|
25
|
-
if (process.env[key]) return process.env[key] as string;
|
|
26
|
-
if (fileEnv[key]) return fileEnv[key];
|
|
27
|
-
}
|
|
28
|
-
return '';
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export default defineConfig({
|
|
32
|
-
plugins: [react()],
|
|
33
|
-
resolve: {
|
|
34
|
-
// Ensure a single React instance across stories, the renderer and
|
|
35
|
-
// styled-components. Webpack deduped automatically; Vite needs this to
|
|
36
|
-
// avoid "A React Element from an older version of React was rendered".
|
|
37
|
-
dedupe: ['react', 'react-dom', 'react/jsx-runtime'],
|
|
38
|
-
},
|
|
39
|
-
// The Storybook Vite builder picks up this define, and the Vitest browser
|
|
40
|
-
// project merges this config — so both paths get the token.
|
|
41
|
-
define: {
|
|
42
|
-
// Map Node's `global` to the browser's globalThis. Some deps reference it —
|
|
43
|
-
// e.g. storybook-addon-mock's faker does `global.XMLHttpRequest`, which would
|
|
44
|
-
// throw "global is not defined" in the Vitest/Storybook browser otherwise.
|
|
45
|
-
global: 'globalThis',
|
|
46
|
-
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'storybook'),
|
|
47
|
-
'process.env.CI': JSON.stringify(env('CI')),
|
|
48
|
-
// Fall back to the unprefixed QORUS_TOKEN / QORUS_INSTANCE — the globally
|
|
49
|
-
// exported vars (qorus-ide reads the same QORUS_TOKEN). So a global
|
|
50
|
-
// QORUS_TOKEN now reaches Storybook without setting REACT_APP_QORUS_TOKEN.
|
|
51
|
-
'process.env.REACT_APP_QORUS_TOKEN': JSON.stringify(
|
|
52
|
-
env('REACT_APP_QORUS_TOKEN', 'QORUS_TOKEN')
|
|
53
|
-
),
|
|
54
|
-
'process.env.REACT_APP_QORUS_INSTANCE': JSON.stringify(
|
|
55
|
-
env('REACT_APP_QORUS_INSTANCE', 'QORUS_INSTANCE')
|
|
56
|
-
),
|
|
57
|
-
},
|
|
58
|
-
});
|
package/vitest.config.ts
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { qlipVitestPlugin } from '@qoretechnologies/qlip';
|
|
2
|
-
import { storybookTest } from '@storybook/addon-vitest/vitest-plugin';
|
|
3
|
-
import { playwright } from '@vitest/browser-playwright';
|
|
4
|
-
import path from 'node:path';
|
|
5
|
-
import { fileURLToPath } from 'node:url';
|
|
6
|
-
import { defineConfig, mergeConfig } from 'vitest/config';
|
|
7
|
-
import viteConfig from './vite.config';
|
|
8
|
-
|
|
9
|
-
const dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
10
|
-
|
|
11
|
-
// qlip uploads only when a token is provided (CI). Local runs still capture
|
|
12
|
-
// snapshots via the plugin's `auto` mode but skip the upload step.
|
|
13
|
-
const qlipUploadToken = process.env.QLIP_UPLOAD_TOKEN;
|
|
14
|
-
|
|
15
|
-
export default mergeConfig(
|
|
16
|
-
viteConfig,
|
|
17
|
-
defineConfig({
|
|
18
|
-
test: {
|
|
19
|
-
projects: [
|
|
20
|
-
// Component/interaction tests: run every story in a real browser via
|
|
21
|
-
// Playwright. Replaces the former @storybook/test-runner.
|
|
22
|
-
{
|
|
23
|
-
extends: true,
|
|
24
|
-
plugins: [
|
|
25
|
-
qlipVitestPlugin({
|
|
26
|
-
auto: true,
|
|
27
|
-
captureOnError: true,
|
|
28
|
-
disableAnimations: true,
|
|
29
|
-
pauseAnimationsAtEnd: true,
|
|
30
|
-
viewport: { width: 1920, height: 1080 },
|
|
31
|
-
...(qlipUploadToken ? { upload: { uploadToken: qlipUploadToken } } : {}),
|
|
32
|
-
}),
|
|
33
|
-
storybookTest({
|
|
34
|
-
configDir: path.join(dirname, '.storybook'),
|
|
35
|
-
storybookScript: 'yarn storybook --no-open',
|
|
36
|
-
}),
|
|
37
|
-
],
|
|
38
|
-
test: {
|
|
39
|
-
name: 'storybook',
|
|
40
|
-
browser: {
|
|
41
|
-
enabled: true,
|
|
42
|
-
provider: playwright({}),
|
|
43
|
-
headless: true,
|
|
44
|
-
// Match the Chromatic snapshot viewport (preview.tsx sets [1440]).
|
|
45
|
-
viewport: { width: 1440, height: 900 },
|
|
46
|
-
instances: [{ browser: 'chromium' }],
|
|
47
|
-
},
|
|
48
|
-
setupFiles: ['./.storybook/vitest.setup.ts'],
|
|
49
|
-
// Some interaction stories deliberately render slow content (LSP /
|
|
50
|
-
// websocket editors) and the shared play helpers wait up to ~17s.
|
|
51
|
-
testTimeout: 30000,
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
// Unit tests: the former Jest suite, now on Vitest + jsdom.
|
|
55
|
-
{
|
|
56
|
-
extends: true,
|
|
57
|
-
test: {
|
|
58
|
-
name: 'unit',
|
|
59
|
-
globals: true,
|
|
60
|
-
environment: 'jsdom',
|
|
61
|
-
include: ['__tests__/**/*.test.{ts,tsx}'],
|
|
62
|
-
setupFiles: ['./__tests__/setup.ts'],
|
|
63
|
-
testTimeout: 30000,
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
],
|
|
67
|
-
},
|
|
68
|
-
})
|
|
69
|
-
);
|