@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.
Files changed (736) hide show
  1. package/README.md +21 -1
  2. package/dist/components/Description/describedControl.d.ts +48 -0
  3. package/dist/components/Description/describedControl.d.ts.map +1 -0
  4. package/dist/components/Description/describedControl.js +81 -0
  5. package/dist/components/Description/describedControl.js.map +1 -0
  6. package/dist/components/Description/index.d.ts.map +1 -1
  7. package/dist/components/Description/index.js +3 -2
  8. package/dist/components/Description/index.js.map +1 -1
  9. package/dist/components/colorValue/colorValue.d.ts +59 -0
  10. package/dist/components/colorValue/colorValue.d.ts.map +1 -0
  11. package/dist/components/colorValue/colorValue.js +245 -0
  12. package/dist/components/colorValue/colorValue.js.map +1 -0
  13. package/dist/components/colorValue/index.d.ts +34 -0
  14. package/dist/components/colorValue/index.d.ts.map +1 -0
  15. package/dist/components/colorValue/index.js +136 -0
  16. package/dist/components/colorValue/index.js.map +1 -0
  17. package/dist/components/colorValue/labels.d.ts +12 -0
  18. package/dist/components/colorValue/labels.d.ts.map +1 -0
  19. package/dist/components/colorValue/labels.js +11 -0
  20. package/dist/components/colorValue/labels.js.map +1 -0
  21. package/dist/components/composer/Composer.d.ts +1 -1
  22. package/dist/components/composer/Composer.d.ts.map +1 -1
  23. package/dist/components/composer/Composer.js +2 -2
  24. package/dist/components/composer/Composer.js.map +1 -1
  25. package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
  26. package/dist/components/dpqlEditor/DpqlEditor.js +25 -5
  27. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  28. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +10 -1
  29. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/dpqlHelpers.js +30 -13
  31. package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
  32. package/dist/components/dpqlEditor/dpqlTags.d.ts +11 -7
  33. package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
  34. package/dist/components/dpqlEditor/dpqlTags.js +11 -6
  35. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  36. package/dist/components/dpqlEditor/types.d.ts +47 -8
  37. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  38. package/dist/components/dpqlEditor/useDpqlSession.d.ts +2 -2
  39. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  40. package/dist/components/dpqlEditor/useDpqlSession.js +16 -7
  41. package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
  42. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  43. package/dist/components/form/engine/CompactRow.js +151 -83
  44. package/dist/components/form/engine/CompactRow.js.map +1 -1
  45. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  46. package/dist/components/form/engine/CompactToolbar.js +29 -3
  47. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  48. package/dist/components/form/engine/FormEngine.d.ts +34 -1
  49. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  50. package/dist/components/form/engine/FormEngine.js +487 -87
  51. package/dist/components/form/engine/FormEngine.js.map +1 -1
  52. package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
  53. package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
  54. package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
  55. package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
  56. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  57. package/dist/components/form/engine/OptionFieldMessages.js +24 -3
  58. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  59. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
  60. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  61. package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
  62. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  63. package/dist/components/form/engine/compactRowContext.d.ts +19 -0
  64. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  65. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  66. package/dist/components/form/engine/compactRowStyles.d.ts +0 -1
  67. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  68. package/dist/components/form/engine/compactRowStyles.js +12 -20
  69. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  70. package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
  71. package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
  72. package/dist/components/form/engine/compactToolbarColors.js +21 -0
  73. package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
  74. package/dist/components/form/engine/readFirst.d.ts +24 -8
  75. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  76. package/dist/components/form/engine/readFirst.js +77 -109
  77. package/dist/components/form/engine/readFirst.js.map +1 -1
  78. package/dist/components/form/engine/readFirstColors.d.ts +30 -0
  79. package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
  80. package/dist/components/form/engine/readFirstColors.js +51 -0
  81. package/dist/components/form/engine/readFirstColors.js.map +1 -0
  82. package/dist/components/form/engine/rowFocus.d.ts +2 -0
  83. package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
  84. package/dist/components/form/engine/rowFocus.js +26 -3
  85. package/dist/components/form/engine/rowFocus.js.map +1 -1
  86. package/dist/components/form/engine/typeChoices.d.ts +1 -1
  87. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
  88. package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
  89. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
  90. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
  91. package/dist/components/form/engine/variants/VariantCards.js +2 -1
  92. package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
  93. package/dist/components/form/engine/variants/VariantFocus.js +1 -1
  94. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
  95. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
  96. package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
  97. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
  98. package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
  99. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
  100. package/dist/components/form/engine/variants/variantParts.js +25 -17
  101. package/dist/components/form/engine/variants/variantParts.js.map +1 -1
  102. package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
  103. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
  104. package/dist/components/form/expressions/DpqlRendering.js +3 -3
  105. package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
  106. package/dist/components/form/expressions/ExpressionField.d.ts +41 -3
  107. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  108. package/dist/components/form/expressions/ExpressionField.js +396 -99
  109. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  110. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  111. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  112. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  113. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  114. package/dist/components/form/expressions/builder/argumentLabel.js +27 -9
  115. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  116. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  117. package/dist/components/form/expressions/builder/argumentWrapper.js +4 -2
  118. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  119. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  120. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +5 -4
  121. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  122. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  123. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  124. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +6 -3
  125. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  126. package/dist/components/form/expressions/builder/index.d.ts +24 -2
  127. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  128. package/dist/components/form/expressions/builder/index.js +121 -77
  129. package/dist/components/form/expressions/builder/index.js.map +1 -1
  130. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  131. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  132. package/dist/components/form/expressions/builder/item.js +19 -5
  133. package/dist/components/form/expressions/builder/item.js.map +1 -1
  134. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  135. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  136. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  137. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  138. package/dist/components/form/expressions/expressionOperands.js +97 -0
  139. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  140. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  141. package/dist/components/form/expressions/mockExpressions.js +22 -5
  142. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  143. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  144. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  145. package/dist/components/form/expressions/renderExpressionToText.js +35 -9
  146. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  147. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  148. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  149. package/dist/components/form/expressions/textOfExpression.js +37 -0
  150. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  151. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  152. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  153. package/dist/components/form/expressions/useExpressionType.js +181 -0
  154. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  155. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  156. package/dist/components/form/expressions/useRenderExpression.js +7 -7
  157. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  158. package/dist/components/form/fields/Field.d.ts.map +1 -1
  159. package/dist/components/form/fields/Field.js +20 -7
  160. package/dist/components/form/fields/Field.js.map +1 -1
  161. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  162. package/dist/components/form/fields/allowed-values/AllowedValues.js +17 -4
  163. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  164. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  165. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  166. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  167. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  168. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  169. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  170. package/dist/components/form/fields/auto/AutoFormField.d.ts +20 -1
  171. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  172. package/dist/components/form/fields/auto/AutoFormField.js +81 -36
  173. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  174. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  175. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  176. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  177. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  178. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  179. package/dist/components/form/fields/binary/Binary.js +23 -3
  180. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  181. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  182. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  183. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  184. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  185. package/dist/components/form/fields/color/Color.d.ts +103 -16
  186. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  187. package/dist/components/form/fields/color/Color.js +611 -16
  188. package/dist/components/form/fields/color/Color.js.map +1 -1
  189. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  190. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  191. package/dist/components/form/fields/emittedValues.js +24 -1
  192. package/dist/components/form/fields/emittedValues.js.map +1 -1
  193. package/dist/components/form/fields/file/File.d.ts +1 -1
  194. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  195. package/dist/components/form/fields/file/File.js +4 -2
  196. package/dist/components/form/fields/file/File.js.map +1 -1
  197. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  198. package/dist/components/form/fields/long-string/LongString.js +17 -3
  199. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  200. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  201. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  202. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +4 -1
  203. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  204. package/dist/components/form/fields/number/Number.d.ts +6 -0
  205. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  206. package/dist/components/form/fields/number/Number.js +41 -6
  207. package/dist/components/form/fields/number/Number.js.map +1 -1
  208. package/dist/components/form/fields/object/Object.d.ts +1 -1
  209. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  210. package/dist/components/form/fields/object/Object.js +4 -2
  211. package/dist/components/form/fields/object/Object.js.map +1 -1
  212. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  213. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  214. package/dist/components/form/fields/pendingEdit.js +79 -0
  215. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  216. package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
  217. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  218. package/dist/components/form/fields/rich-text/RichText.js +190 -81
  219. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  220. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  221. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  222. package/dist/components/form/fields/rich-text/useTemplateTags.js +49 -0
  223. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  224. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  225. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  226. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  227. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  228. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  229. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  230. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  231. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  232. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  233. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  234. package/dist/components/form/fields/schema-definition/index.js +8 -4
  235. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  236. package/dist/components/form/fields/select/Select.d.ts +2 -0
  237. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  238. package/dist/components/form/fields/select/Select.js +19 -10
  239. package/dist/components/form/fields/select/Select.js.map +1 -1
  240. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  241. package/dist/components/form/fields/select/SelectCollection.js +8 -2
  242. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  243. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  244. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  245. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  246. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  247. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +5 -5
  248. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  249. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +11 -4
  250. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  251. package/dist/components/form/fields/template/TemplateBrowser.d.ts +22 -0
  252. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  253. package/dist/components/form/fields/template/TemplateBrowser.js +54 -0
  254. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  255. package/dist/components/form/fields/template/TemplateField.d.ts +83 -1
  256. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  257. package/dist/components/form/fields/template/TemplateField.js +535 -85
  258. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  259. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  260. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  261. package/dist/components/form/fields/template/TemplateText.js +8 -4
  262. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  263. package/dist/components/form/fields/template/writtenAsText.d.ts +55 -0
  264. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  265. package/dist/components/form/fields/template/writtenAsText.js +188 -0
  266. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  267. package/dist/components/form/index.d.ts +10 -0
  268. package/dist/components/form/index.d.ts.map +1 -1
  269. package/dist/components/form/index.js +23 -1
  270. package/dist/components/form/index.js.map +1 -1
  271. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  272. package/dist/components/imageLightbox/ImageLightbox.js +19 -7
  273. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  274. package/dist/components/log/Log.d.ts.map +1 -1
  275. package/dist/components/log/Log.js +15 -7
  276. package/dist/components/log/Log.js.map +1 -1
  277. package/dist/components/menu/Menu.d.ts.map +1 -1
  278. package/dist/components/menu/Menu.js +19 -10
  279. package/dist/components/menu/Menu.js.map +1 -1
  280. package/dist/components/smartEditor/CompletionMenu.d.ts +43 -0
  281. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  282. package/dist/components/smartEditor/CompletionMenu.js +196 -0
  283. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  284. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  285. package/dist/components/smartEditor/MarkdownDoc.js +1 -1
  286. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  287. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  288. package/dist/components/smartEditor/SmartEditor.js +51 -136
  289. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  290. package/dist/components/smartEditor/completionStyle.d.ts +27 -0
  291. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  292. package/dist/components/smartEditor/completionStyle.js +66 -0
  293. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  294. package/dist/components/smartEditor/index.d.ts +5 -1
  295. package/dist/components/smartEditor/index.d.ts.map +1 -1
  296. package/dist/components/smartEditor/index.js +19 -1
  297. package/dist/components/smartEditor/index.js.map +1 -1
  298. package/dist/components/smartEditor/templateCompletions.d.ts +18 -0
  299. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  300. package/dist/components/smartEditor/templateCompletions.js +94 -0
  301. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  302. package/dist/components/smartEditor/types.d.ts +12 -1
  303. package/dist/components/smartEditor/types.d.ts.map +1 -1
  304. package/dist/components/smartEditor/useLspAutocomplete.d.ts +32 -0
  305. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  306. package/dist/components/smartEditor/useLspAutocomplete.js +228 -118
  307. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  308. package/dist/components/smartEditor/useLspHover.d.ts +22 -7
  309. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  310. package/dist/components/smartEditor/useLspHover.js +86 -17
  311. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  312. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  313. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  314. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  315. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  316. package/dist/components/smartEditor/useLspSession.js +7 -6
  317. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  318. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  319. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  320. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  321. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
  322. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  323. package/dist/components/supportTicket/ReferencePicker.js +27 -6
  324. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  325. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  326. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  327. package/dist/components/supportTicket/TicketHeader.js +20 -2
  328. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  329. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  330. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  331. package/dist/components/ticketReferences/TicketReferences.js +9 -4
  332. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  333. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  334. package/dist/components/ticketThread/TicketThread.js +36 -11
  335. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  336. package/dist/helpers/descriptionTooltip.d.ts +43 -0
  337. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  338. package/dist/helpers/descriptionTooltip.js +70 -0
  339. package/dist/helpers/descriptionTooltip.js.map +1 -0
  340. package/dist/helpers/domProps.d.ts +5 -0
  341. package/dist/helpers/domProps.d.ts.map +1 -0
  342. package/dist/helpers/domProps.js +47 -0
  343. package/dist/helpers/domProps.js.map +1 -0
  344. package/dist/helpers/expressions.d.ts +107 -2
  345. package/dist/helpers/expressions.d.ts.map +1 -1
  346. package/dist/helpers/expressions.js +223 -8
  347. package/dist/helpers/expressions.js.map +1 -1
  348. package/dist/helpers/hoveringPointer.d.ts +26 -0
  349. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  350. package/dist/helpers/hoveringPointer.js +29 -0
  351. package/dist/helpers/hoveringPointer.js.map +1 -0
  352. package/dist/helpers/markdownText.d.ts +14 -0
  353. package/dist/helpers/markdownText.d.ts.map +1 -0
  354. package/dist/helpers/markdownText.js +160 -0
  355. package/dist/helpers/markdownText.js.map +1 -0
  356. package/dist/helpers/qorusTypeCatalogue.d.ts +53 -0
  357. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  358. package/dist/helpers/qorusTypeCatalogue.js +262 -0
  359. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  360. package/dist/helpers/readableColors.d.ts +36 -0
  361. package/dist/helpers/readableColors.d.ts.map +1 -0
  362. package/dist/helpers/readableColors.js +116 -0
  363. package/dist/helpers/readableColors.js.map +1 -0
  364. package/dist/helpers/templateItems.d.ts +2 -2
  365. package/dist/helpers/templateItems.d.ts.map +1 -1
  366. package/dist/helpers/templateItems.js +6 -4
  367. package/dist/helpers/templateItems.js.map +1 -1
  368. package/dist/helpers/templates.d.ts +26 -1
  369. package/dist/helpers/templates.d.ts.map +1 -1
  370. package/dist/helpers/templates.js +41 -6
  371. package/dist/helpers/templates.js.map +1 -1
  372. package/dist/helpers/validations.d.ts +9 -0
  373. package/dist/helpers/validations.d.ts.map +1 -1
  374. package/dist/helpers/validations.js +139 -33
  375. package/dist/helpers/validations.js.map +1 -1
  376. package/dist/hooks/useQorusTypes.d.ts +7 -15
  377. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  378. package/dist/hooks/useQorusTypes.js +25 -166
  379. package/dist/hooks/useQorusTypes.js.map +1 -1
  380. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  381. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  382. package/dist/hooks/useReadableIntentShade.js +23 -0
  383. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  384. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  385. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  386. package/dist/hooks/useReadableOpacity.js +17 -0
  387. package/dist/hooks/useReadableOpacity.js.map +1 -0
  388. package/dist/index.d.ts +1 -0
  389. package/dist/index.d.ts.map +1 -1
  390. package/dist/index.js +1 -0
  391. package/dist/index.js.map +1 -1
  392. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  393. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  394. package/dist/tracking/ui/ExperimentCard.js +26 -10
  395. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  396. package/dist/tracking/ui/card.d.ts +2 -2
  397. package/dist/tracking/ui/card.d.ts.map +1 -1
  398. package/dist/tracking/ui/card.js +2 -2
  399. package/dist/tracking/ui/card.js.map +1 -1
  400. package/dist/tracking/ui/readable.d.ts +14 -0
  401. package/dist/tracking/ui/readable.d.ts.map +1 -0
  402. package/dist/tracking/ui/readable.js +60 -0
  403. package/dist/tracking/ui/readable.js.map +1 -0
  404. package/package.json +14 -5
  405. package/.claude/CLAUDE.md +0 -317
  406. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  407. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  408. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  409. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  410. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  411. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  412. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  413. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  414. package/.tasks/INDEX.md +0 -111
  415. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  416. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  417. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  418. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  419. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  420. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  421. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  422. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  423. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  424. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  425. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  426. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  427. package/CODE_OF_CONDUCT.md +0 -105
  428. package/CONTRIBUTING.MD +0 -78
  429. package/SECURITY.md +0 -3
  430. package/chromatic.config.json +0 -5
  431. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  432. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  433. package/design/COMPACT_PARITY.md +0 -85
  434. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  435. package/design/FORM_ENGINE_COMPACT.md +0 -300
  436. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  437. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  438. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  439. package/design/IDE_INTEGRATION.md +0 -64
  440. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  441. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  442. package/design/SMART_EDITOR_UX.md +0 -438
  443. package/design/TRACKING.md +0 -290
  444. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  445. package/src/components/Description/index.tsx +0 -254
  446. package/src/components/Description/markdownRendererContext.tsx +0 -29
  447. package/src/components/FocusedEditing/index.tsx +0 -50
  448. package/src/components/codeSize/index.tsx +0 -79
  449. package/src/components/composer/Composer.stories.tsx +0 -238
  450. package/src/components/composer/Composer.tsx +0 -554
  451. package/src/components/composer/helpers.ts +0 -74
  452. package/src/components/composer/index.ts +0 -2
  453. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  454. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  455. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  456. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  457. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  458. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  459. package/src/components/dpqlEditor/index.ts +0 -41
  460. package/src/components/dpqlEditor/types.ts +0 -203
  461. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  462. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  463. package/src/components/form/engine/CompactRow.tsx +0 -2620
  464. package/src/components/form/engine/CompactToolbar.tsx +0 -330
  465. package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
  466. package/src/components/form/engine/FormEngine.tsx +0 -4569
  467. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  468. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
  469. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  470. package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
  471. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  472. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  473. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  474. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  475. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
  476. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  477. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  478. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  479. package/src/components/form/engine/compactRowContext.ts +0 -148
  480. package/src/components/form/engine/compactRowStyles.ts +0 -898
  481. package/src/components/form/engine/compactToolbarContext.ts +0 -69
  482. package/src/components/form/engine/optionActions.ts +0 -128
  483. package/src/components/form/engine/optionsContext.ts +0 -24
  484. package/src/components/form/engine/readFirst.ts +0 -1077
  485. package/src/components/form/engine/rendererTypes.ts +0 -107
  486. package/src/components/form/engine/revealRow.ts +0 -123
  487. package/src/components/form/engine/rowFocus.ts +0 -101
  488. package/src/components/form/engine/rowMenuContext.ts +0 -159
  489. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  490. package/src/components/form/engine/typeChoices.ts +0 -63
  491. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  492. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  493. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  494. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  495. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  496. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  497. package/src/components/form/engine/variants/variantModel.ts +0 -223
  498. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  499. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  500. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  501. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  502. package/src/components/form/expressions/argumentPresence.ts +0 -213
  503. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  504. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  505. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  506. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  507. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  508. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  509. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  510. package/src/components/form/expressions/builder/index.tsx +0 -1545
  511. package/src/components/form/expressions/builder/item.tsx +0 -89
  512. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  513. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  514. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  515. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  516. package/src/components/form/expressions/mockExpressions.ts +0 -317
  517. package/src/components/form/expressions/renderExpressionToText.ts +0 -137
  518. package/src/components/form/expressions/types.ts +0 -110
  519. package/src/components/form/expressions/useExpressions.ts +0 -101
  520. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  521. package/src/components/form/fields/Field.stories.tsx +0 -143
  522. package/src/components/form/fields/Field.tsx +0 -732
  523. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
  524. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  525. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  526. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  527. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  528. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
  529. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  530. package/src/components/form/fields/binary/Binary.tsx +0 -91
  531. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  532. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  533. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  534. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  535. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  536. package/src/components/form/fields/color/Color.tsx +0 -46
  537. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  538. package/src/components/form/fields/cron/Cron.tsx +0 -80
  539. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  540. package/src/components/form/fields/date/Date.tsx +0 -55
  541. package/src/components/form/fields/emittedValues.ts +0 -70
  542. package/src/components/form/fields/file/File.stories.tsx +0 -161
  543. package/src/components/form/fields/file/File.tsx +0 -227
  544. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
  545. package/src/components/form/fields/long-string/LongString.tsx +0 -130
  546. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  547. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  548. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  549. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
  550. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  551. package/src/components/form/fields/number/Number.tsx +0 -160
  552. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  553. package/src/components/form/fields/object/Object.tsx +0 -255
  554. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  555. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
  556. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  557. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  558. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  559. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  560. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  561. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  562. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  563. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  564. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  565. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  566. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  567. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  568. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  569. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  570. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  571. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  572. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  573. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  574. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  575. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  576. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  577. package/src/components/form/fields/schema-definition/types.ts +0 -185
  578. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  579. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  580. package/src/components/form/fields/select/Select.tsx +0 -624
  581. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  582. package/src/components/form/fields/string/String.stories.tsx +0 -86
  583. package/src/components/form/fields/string/String.tsx +0 -43
  584. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  585. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  586. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  587. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  588. package/src/components/form/fields/template/TemplateField.tsx +0 -1717
  589. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  590. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  591. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  592. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  593. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  594. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  595. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  596. package/src/components/form/fields/url/Url.tsx +0 -85
  597. package/src/components/form/index.tsx +0 -47
  598. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  599. package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
  600. package/src/components/imageLightbox/index.ts +0 -1
  601. package/src/components/log/Log.stories.tsx +0 -333
  602. package/src/components/log/Log.tsx +0 -285
  603. package/src/components/menu/Menu.stories.tsx +0 -155
  604. package/src/components/menu/Menu.tsx +0 -312
  605. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  606. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  607. package/src/components/qonsoleSmartInput/index.ts +0 -16
  608. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  609. package/src/components/qonsoleSmartInput/types.ts +0 -133
  610. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  611. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  612. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  613. package/src/components/searchFilterBar/index.ts +0 -1
  614. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  615. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  616. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  617. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  618. package/src/components/smartEditor/helpers.ts +0 -217
  619. package/src/components/smartEditor/index.ts +0 -35
  620. package/src/components/smartEditor/styling.ts +0 -45
  621. package/src/components/smartEditor/types.ts +0 -211
  622. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  623. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  624. package/src/components/smartEditor/useLspHover.ts +0 -230
  625. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  626. package/src/components/smartEditor/useLspSession.ts +0 -231
  627. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  628. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  629. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  630. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  631. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
  632. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
  633. package/src/components/supportTicket/ReferencePicker.tsx +0 -563
  634. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
  635. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  636. package/src/components/supportTicket/TicketHeader.tsx +0 -247
  637. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  638. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  639. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
  640. package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
  641. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  642. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  643. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  644. package/src/components/supportTicket/index.ts +0 -10
  645. package/src/components/supportTicket/meta.ts +0 -206
  646. package/src/components/supportTicket/ticketModel.ts +0 -131
  647. package/src/components/supportTicket/useLoadedImages.ts +0 -73
  648. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
  649. package/src/components/ticketReferences/TicketReferences.tsx +0 -906
  650. package/src/components/ticketReferences/index.ts +0 -2
  651. package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
  652. package/src/components/ticketThread/TicketThread.tsx +0 -719
  653. package/src/components/ticketThread/index.ts +0 -6
  654. package/src/contexts/FetchContext.tsx +0 -25
  655. package/src/contexts/ReqraftContext.tsx +0 -9
  656. package/src/contexts/StorageContext.tsx +0 -33
  657. package/src/global.d.ts +0 -4
  658. package/src/helpers/allowedValues.ts +0 -249
  659. package/src/helpers/choiceChip.ts +0 -227
  660. package/src/helpers/common.ts +0 -326
  661. package/src/helpers/dpqlDetection.ts +0 -209
  662. package/src/helpers/expressions.ts +0 -140
  663. package/src/helpers/optionUiTypes.ts +0 -199
  664. package/src/helpers/options.ts +0 -150
  665. package/src/helpers/providerValue.ts +0 -125
  666. package/src/helpers/scrollbar.ts +0 -32
  667. package/src/helpers/singleLineString.ts +0 -61
  668. package/src/helpers/templateItems.ts +0 -81
  669. package/src/helpers/templateText.ts +0 -350
  670. package/src/helpers/templates.ts +0 -602
  671. package/src/helpers/validations.ts +0 -2085
  672. package/src/hooks/useArgSchema.ts +0 -37
  673. package/src/hooks/useCoarsePointer.ts +0 -30
  674. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  675. package/src/hooks/useFetch/useFetch.tsx +0 -154
  676. package/src/hooks/usePhoneViewport.ts +0 -34
  677. package/src/hooks/useQorusTypes.ts +0 -233
  678. package/src/hooks/useReqraftProperty.ts +0 -16
  679. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  680. package/src/hooks/useStorage/useStorage.ts +0 -35
  681. package/src/hooks/useTemplates.ts +0 -123
  682. package/src/hooks/useValidation.ts +0 -9
  683. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  684. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  685. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  686. package/src/index.tsx +0 -86
  687. package/src/providers/FetchProvider.tsx +0 -40
  688. package/src/providers/ReqraftProvider.tsx +0 -52
  689. package/src/providers/StorageProvider.tsx +0 -131
  690. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  691. package/src/stores/currentUser/currentUser.tsx +0 -94
  692. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  693. package/src/stories/Tests/utils.ts +0 -320
  694. package/src/stories/storyNetwork.ts +0 -92
  695. package/src/stories/tracking.tsx +0 -206
  696. package/src/tracking/browser/attach.ts +0 -186
  697. package/src/tracking/browser/env.ts +0 -78
  698. package/src/tracking/core/consent.ts +0 -37
  699. package/src/tracking/core/engagement.ts +0 -47
  700. package/src/tracking/core/experiments.ts +0 -258
  701. package/src/tracking/core/hash.ts +0 -26
  702. package/src/tracking/core/ids.ts +0 -25
  703. package/src/tracking/core/observable.ts +0 -23
  704. package/src/tracking/core/queue.ts +0 -131
  705. package/src/tracking/core/sections.ts +0 -166
  706. package/src/tracking/core/storage.ts +0 -69
  707. package/src/tracking/core/tracker.ts +0 -417
  708. package/src/tracking/core/types.ts +0 -162
  709. package/src/tracking/core/utm.ts +0 -23
  710. package/src/tracking/index.ts +0 -72
  711. package/src/tracking/markup.ts +0 -17
  712. package/src/tracking/react/Experiment.tsx +0 -44
  713. package/src/tracking/react/TrackingProvider.tsx +0 -56
  714. package/src/tracking/react/hooks.ts +0 -106
  715. package/src/tracking/react/index.ts +0 -13
  716. package/src/tracking/testing.ts +0 -108
  717. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  718. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  719. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  720. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  721. package/src/tracking/ui/anchor.ts +0 -180
  722. package/src/tracking/ui/card.ts +0 -464
  723. package/src/tracking/ui/client.ts +0 -117
  724. package/src/tracking/ui/index.ts +0 -77
  725. package/src/tracking/ui/types.ts +0 -110
  726. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  727. package/src/types/Form.ts +0 -29
  728. package/src/types.ts +0 -14
  729. package/src/utils/datetime.ts +0 -10
  730. package/src/utils/fetch.ts +0 -457
  731. package/src/utils/lspClient.ts +0 -711
  732. package/src/utils/lspClient.types.ts +0 -211
  733. package/src/utils/queryUnlessCancelled.ts +0 -28
  734. package/src/utils/websocket.ts +0 -293
  735. package/vite.config.ts +0 -58
  736. package/vitest.config.ts +0 -69
@@ -1,711 +0,0 @@
1
- // Copyright 2026 Qore Technologies, s.r.o.
2
-
3
- import { ReqraftWebSocket } from './websocket';
4
- import {
5
- ILspCompletionItem,
6
- ILspDiagnostic,
7
- ILspMarkupContent,
8
- ILspSemanticTokensLegend,
9
- ILspServerCapabilities,
10
- ILspSignatureHelp,
11
- ILspTextEdit,
12
- TLspDocumentText,
13
- } from './lspClient.types';
14
-
15
- const DEFAULT_REQUEST_TIMEOUT_MS = 15000;
16
- const DEFAULT_URL = 'lsp';
17
- const DEFAULT_MAX_RECONNECT_TRIES = 10;
18
- const DEFAULT_RECONNECT_INTERVAL_MS = 5000;
19
- const DEFAULT_TAB_SIZE = 4;
20
-
21
- export interface IReqraftLspClientOptions {
22
- /**
23
- * LSP `languageId` — routes the document on a multi-language `/lsp`
24
- * endpoint. Must match a server-side language handler (e.g. `'dpql'`,
25
- * `'qonsole'`, `'qore'`).
26
- */
27
- languageId: string;
28
- /**
29
- * Document URI. Should be client-generated and opaque. Per the
30
- * server-side Qonsole LSP contract, must NOT contain session tokens,
31
- * usernames, sandbox namespace IDs, or command-derived secrets — any
32
- * value that ends up in server logs. Use random / nanoid suffixes.
33
- */
34
- uri: string;
35
- /** WebSocket path on the configured Reqraft instance. Default: `'lsp'`. */
36
- url?: string;
37
- /** Request timeout in milliseconds. Default: 15000. */
38
- requestTimeoutMs?: number;
39
- /** Max reconnect attempts before giving up. Default: 10. */
40
- maxReconnectTries?: number;
41
- /** Delay between reconnect attempts, in milliseconds. Default: 5000. */
42
- reconnectIntervalMs?: number;
43
- }
44
-
45
- interface IPendingRequest {
46
- resolve: (value: unknown) => void;
47
- reject: (err: Error) => void;
48
- timer: ReturnType<typeof setTimeout>;
49
- method: string;
50
- }
51
-
52
- interface IJsonRpcMessage {
53
- jsonrpc: '2.0';
54
- id?: number;
55
- method: string;
56
- params?: unknown;
57
- }
58
-
59
- /**
60
- * One shared WebSocket + JSON-RPC session per LSP endpoint URL, multiplexing
61
- * any number of `ReqraftLspClient` documents. The Qorus `/lsp` handler keys language
62
- * sessions by document URI (`uriToDpqlSession` server-side), so a single
63
- * connection serves N editors — the standard LSP architecture (one connection
64
- * per language server, all documents on it). Responses route by JSON-RPC id;
65
- * `publishDiagnostics` routes by `params.uri`; other notifications are
66
- * delivered to every client that registered a handler for the method. The
67
- * connection closes when its last client releases it.
68
- */
69
- class LspSharedConnection {
70
- private static registry = new Map<string, LspSharedConnection>();
71
-
72
- /** Get-or-create the connection for `url` and register `client` on it. */
73
- static acquire(
74
- url: string,
75
- config: { maxReconnectTries: number; reconnectIntervalMs: number },
76
- client: ReqraftLspClient
77
- ): LspSharedConnection {
78
- let conn = LspSharedConnection.registry.get(url);
79
- if (!conn) {
80
- // The first acquirer's reconnect config wins for the shared socket.
81
- conn = new LspSharedConnection(url, config);
82
- LspSharedConnection.registry.set(url, conn);
83
- }
84
- conn.clients.add(client);
85
- return conn;
86
- }
87
-
88
- private rws: ReqraftWebSocket | null = null;
89
- private nextId = 1;
90
- private pending = new Map<number, IPendingRequest>();
91
- private readonly clients = new Set<ReqraftLspClient>();
92
- private initPromise: Promise<void> | null = null;
93
- /**
94
- * Fails the handshake in flight, if there is one. Every way this connection
95
- * stops — released, reset, or given up by its socket — goes through it, so
96
- * no `connect()` caller is ever left waiting on a socket that is gone.
97
- */
98
- private failHandshake: ((err: Error) => void) | null = null;
99
-
100
- connected = false;
101
- capabilities: ILspServerCapabilities | null = null;
102
- semanticTokensLegend: ILspSemanticTokensLegend | null = null;
103
-
104
- private constructor(
105
- private readonly url: string,
106
- private readonly config: { maxReconnectTries: number; reconnectIntervalMs: number }
107
- ) {}
108
-
109
- /** Open the socket and `initialize` once; re-entrant for every client. */
110
- connect(): Promise<void> {
111
- if (this.initPromise) {
112
- return this.initPromise;
113
- }
114
-
115
- const attempt = new Promise<void>((resolve, reject) => {
116
- let initialConnect = true;
117
-
118
- this.failHandshake = (err) => {
119
- if (initialConnect) {
120
- initialConnect = false;
121
- reject(err);
122
- }
123
- };
124
-
125
- this.rws = new ReqraftWebSocket({
126
- url: this.url,
127
- pooled: false,
128
- reconnect: true,
129
- maxReconnectTries: this.config.maxReconnectTries,
130
- reconnectInterval: this.config.reconnectIntervalMs,
131
- useHeartbeat: true,
132
- onOpen: () => {
133
- this.connected = true;
134
-
135
- this.sendRequest('initialize', { capabilities: {} }, DEFAULT_REQUEST_TIMEOUT_MS)
136
- .then((initResult: any) => {
137
- // Capture the full capabilities block. Consumers gate
138
- // optional features (signatureHelp, semantic tokens, …)
139
- // on the presence of the relevant provider so we degrade
140
- // gracefully against servers that don't support them.
141
- const caps = initResult?.capabilities;
142
- this.capabilities =
143
- caps && typeof caps === 'object' ? (caps as ILspServerCapabilities) : null;
144
-
145
- const legend = caps?.semanticTokensProvider?.legend;
146
- if (
147
- legend &&
148
- Array.isArray(legend.tokenTypes) &&
149
- Array.isArray(legend.tokenModifiers)
150
- ) {
151
- this.semanticTokensLegend = {
152
- tokenTypes: legend.tokenTypes.slice(),
153
- tokenModifiers: legend.tokenModifiers.slice(),
154
- };
155
- } else {
156
- this.semanticTokensLegend = null;
157
- }
158
- if (initialConnect) {
159
- initialConnect = false;
160
- this.failHandshake = null;
161
- // Awaiting clients self-notify ready in their connect().
162
- resolve();
163
- } else {
164
- // Reconnect: every registered document re-opens itself.
165
- this.clients.forEach((c) => c._resyncAfterReconnect());
166
- this.clients.forEach((c) => c._notifyReady(true));
167
- }
168
- })
169
- .catch((err) => {
170
- if (initialConnect) {
171
- initialConnect = false;
172
- reject(err);
173
- } else {
174
- this.clients.forEach((c) => c._notifyReady(false));
175
- }
176
- });
177
- },
178
- onMessage: (event: MessageEvent) => {
179
- // pong is already filtered out by ReqraftWebSocket's heartbeat.
180
- let msg: any;
181
- try {
182
- msg = JSON.parse(event.data as string);
183
- } catch {
184
- return;
185
- }
186
-
187
- // Response (has id + result/error)
188
- if (
189
- msg.id !== undefined &&
190
- msg.id !== null &&
191
- (msg.result !== undefined || msg.error !== undefined)
192
- ) {
193
- const pending = this.pending.get(msg.id);
194
- if (pending) {
195
- clearTimeout(pending.timer);
196
- this.pending.delete(msg.id);
197
- if (msg.error) {
198
- pending.reject(new Error(`${msg.error.code}: ${msg.error.message}`));
199
- } else {
200
- pending.resolve(msg.result);
201
- }
202
- }
203
- return;
204
- }
205
-
206
- // Notification (has method, no id)
207
- if (msg.method) {
208
- if (msg.method === 'textDocument/publishDiagnostics' && msg.params?.uri) {
209
- // Diagnostics belong to exactly one document — route by uri.
210
- this.clients.forEach((c) => {
211
- if (c.documentUri === msg.params.uri) {
212
- c._deliverNotification(msg.method, msg.params);
213
- }
214
- });
215
- return;
216
- }
217
- this.clients.forEach((c) => c._deliverNotification(msg.method, msg.params));
218
- }
219
- },
220
- onClose: () => {
221
- this.connected = false;
222
- // Reject all pending requests.
223
- this.pending.forEach((p) => {
224
- clearTimeout(p.timer);
225
- p.reject(new Error('WebSocket closed'));
226
- });
227
- this.pending.clear();
228
- this.clients.forEach((c) => {
229
- c._notifyReady(false);
230
- c._notifyDisconnect();
231
- });
232
- },
233
- onError: () => {
234
- // onClose fires after onError; rejection happens there.
235
- },
236
- onReconnectFailed: () => {
237
- this.giveUp();
238
- },
239
- });
240
- });
241
- this.initPromise = attempt;
242
-
243
- // Reset on failure so connect() can be retried with a clean slate —
244
- // close() also drops the dead socket, which would otherwise leak when
245
- // a retry stacks a fresh ReqraftWebSocket on top of it. Only for THIS
246
- // attempt: by the time the rejection lands a client may already have
247
- // started the next one, and closing that would kill a live socket.
248
- attempt.catch(() => {
249
- if (this.initPromise === attempt) {
250
- this.close();
251
- }
252
- });
253
-
254
- return attempt;
255
- }
256
-
257
- /**
258
- * The socket has stopped reconnecting. Without this the connection would
259
- * stay registered around a dead socket for as long as any client holds it —
260
- * which, for the page-lifetime render client, is forever: a first handshake
261
- * that never completed kept every later `connect()` waiting on it, and one
262
- * that had completed kept reporting the dead socket as ready. Fail whatever
263
- * is waiting and forget the socket, so the next `connect()` dials afresh.
264
- */
265
- private giveUp(): void {
266
- this.clients.forEach((c) => c._forgetConnect());
267
- this.close(
268
- new Error(
269
- `LSP connection to ${this.url} gave up after ${this.config.maxReconnectTries} reconnect attempts`
270
- )
271
- );
272
- }
273
-
274
- /** @internal Test hook — close and forget every shared connection. */
275
- static _resetForTests(): void {
276
- LspSharedConnection.registry.forEach((conn) => conn.close());
277
- LspSharedConnection.registry.clear();
278
- }
279
-
280
- /** Deregister a client; the last one out closes the socket. */
281
- release(client: ReqraftLspClient): void {
282
- this.clients.delete(client);
283
- if (this.clients.size === 0) {
284
- // A reset may already have replaced this connection for the url.
285
- if (LspSharedConnection.registry.get(this.url) === this) {
286
- LspSharedConnection.registry.delete(this.url);
287
- }
288
- this.close();
289
- }
290
- }
291
-
292
- private close(reason: Error = new Error('Client disconnected')): void {
293
- this.initPromise = null;
294
- const failHandshake = this.failHandshake;
295
- this.failHandshake = null;
296
- failHandshake?.(reason);
297
- if (this.rws) {
298
- // Disable reconnect before cleanup to prevent zombie reconnect timers.
299
- this.rws.options.reconnect = false;
300
- this.rws.remove();
301
- this.rws = null;
302
- }
303
- this.connected = false;
304
- this.pending.forEach((p) => {
305
- clearTimeout(p.timer);
306
- p.reject(new Error('Client disconnected'));
307
- });
308
- this.pending.clear();
309
- }
310
-
311
- sendRequest(method: string, params: any, timeoutMs: number): Promise<any> {
312
- return new Promise((resolve, reject) => {
313
- if (!this.rws?.socket || this.rws.socket.readyState !== WebSocket.OPEN) {
314
- reject(new Error('WebSocket not connected'));
315
- return;
316
- }
317
-
318
- const id = this.nextId++;
319
-
320
- const timer = setTimeout(() => {
321
- if (this.pending.has(id)) {
322
- this.pending.delete(id);
323
- reject(new Error(`Request ${method} timed out`));
324
- }
325
- }, timeoutMs);
326
-
327
- this.pending.set(id, { resolve, reject, timer, method });
328
-
329
- const msg: IJsonRpcMessage = { jsonrpc: '2.0', id, method };
330
- if (params !== undefined) {
331
- msg.params = params;
332
- }
333
- this.rws.socket.send(JSON.stringify(msg));
334
- });
335
- }
336
-
337
- sendNotification(method: string, params?: any): void {
338
- if (!this.rws?.socket || this.rws.socket.readyState !== WebSocket.OPEN) {
339
- return;
340
- }
341
- const msg: IJsonRpcMessage = { jsonrpc: '2.0', method };
342
- if (params !== undefined) {
343
- msg.params = params;
344
- }
345
- this.rws.socket.send(JSON.stringify(msg));
346
- }
347
- }
348
-
349
- /**
350
- * JSON-RPC 2.0 client speaking LSP for ONE document URI. Transport is the
351
- * shared per-endpoint connection (`LspSharedConnection`) — creating more
352
- * clients does not open more sockets.
353
- */
354
- export class ReqraftLspClient {
355
- private conn: LspSharedConnection | null = null;
356
- private connectPromise: Promise<void> | null = null;
357
- private readonly languageId: string;
358
- private readonly uri: string;
359
- private readonly url: string;
360
- private readonly requestTimeoutMs: number;
361
- private readonly maxReconnectTries: number;
362
- private readonly reconnectIntervalMs: number;
363
-
364
- private notificationHandlers = new Map<string, (params: any) => void>();
365
-
366
- private diagnosticCallback: ((uri: string, diags: ILspDiagnostic[]) => void) | null = null;
367
- private disconnectCallback: (() => void) | null = null;
368
- private readyCallback: ((ready: boolean) => void) | null = null;
369
-
370
- // Stored so we can re-send didOpen on reconnect.
371
- private lastText: TLspDocumentText | null = null;
372
- private lastMetadata: Record<string, unknown> | undefined = undefined;
373
-
374
- /**
375
- * Captured from `initialize → capabilities.semanticTokensProvider.legend`
376
- * on the shared connection. `null` until the initialize response arrives,
377
- * and stays `null` if the server doesn't advertise semantic-token support.
378
- * Consumers (`useLspSemanticTokens`) need this legend to resolve the
379
- * `tokenType` / `tokenModifiers` int indices into names.
380
- */
381
- get semanticTokensLegend(): ILspSemanticTokensLegend | null {
382
- return this.conn?.semanticTokensLegend ?? null;
383
- }
384
-
385
- /**
386
- * Full `capabilities` block from the server's `initialize` response on the
387
- * shared connection. `null` until the handshake completes. Consumers gate
388
- * optional features on the presence of the relevant provider.
389
- */
390
- get capabilities(): ILspServerCapabilities | null {
391
- return this.conn?.capabilities ?? null;
392
- }
393
-
394
- constructor(options: IReqraftLspClientOptions) {
395
- this.languageId = options.languageId;
396
- this.uri = options.uri;
397
- this.url = options.url ?? DEFAULT_URL;
398
- this.requestTimeoutMs = options.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;
399
- this.maxReconnectTries = options.maxReconnectTries ?? DEFAULT_MAX_RECONNECT_TRIES;
400
- this.reconnectIntervalMs = options.reconnectIntervalMs ?? DEFAULT_RECONNECT_INTERVAL_MS;
401
- }
402
-
403
- /**
404
- * Acquire the shared connection for this endpoint — opening the socket and
405
- * sending `initialize` only if this is the first client on it — and
406
- * resolve when the handshake is done. Re-entrant.
407
- */
408
- connect(): Promise<void> {
409
- if (this.connectPromise) {
410
- return this.connectPromise;
411
- }
412
- if (!this.conn) {
413
- this.conn = LspSharedConnection.acquire(
414
- this.url,
415
- {
416
- maxReconnectTries: this.maxReconnectTries,
417
- reconnectIntervalMs: this.reconnectIntervalMs,
418
- },
419
- this
420
- );
421
- }
422
- const attempt: Promise<void> = this.conn
423
- .connect()
424
- .then(() => {
425
- this.readyCallback?.(true);
426
- })
427
- .catch((err) => {
428
- // Allow a retry after failure — unless one has already started.
429
- if (this.connectPromise === attempt) {
430
- this.connectPromise = null;
431
- }
432
- this.readyCallback?.(false);
433
- throw err;
434
- });
435
- this.connectPromise = attempt;
436
- return attempt;
437
- }
438
-
439
- /**
440
- * @internal The shared connection gave up on its socket. Drop the cached
441
- * handshake so the next `connect()` dials again instead of resolving from
442
- * a socket that no longer exists.
443
- */
444
- _forgetConnect(): void {
445
- this.connectPromise = null;
446
- }
447
-
448
- /**
449
- * Release the shared connection. Sends `textDocument/didClose` first; the
450
- * socket itself only closes when the last client releases it. In-flight
451
- * requests from this client are left to their timeouts (their results are
452
- * ignored once the consumer has unmounted).
453
- */
454
- disconnect(): void {
455
- this.connectPromise = null;
456
- if (this.conn) {
457
- if (this.conn.connected) {
458
- try {
459
- this.sendNotification('textDocument/didClose', {
460
- textDocument: { uri: this.uri },
461
- });
462
- } catch {
463
- // best-effort
464
- }
465
- }
466
- this.conn.release(this);
467
- this.conn = null;
468
- }
469
- }
470
-
471
-
472
- /**
473
- * Send `textDocument/didOpen`. The optional `metadata` field is a
474
- * Qorus-specific extension that carries per-language context (e.g. DPQL
475
- * provider/recordType, Qonsole `/use` context). The standard LSP
476
- * `TextDocumentItem` does not include `metadata`, but the Qorus
477
- * `/lsp` handler reads it on open to bind context to the URI.
478
- */
479
- didOpen(text: TLspDocumentText, metadata?: Record<string, unknown>): void {
480
- this.lastText = text;
481
- this.lastMetadata = metadata;
482
- this.sendNotification('textDocument/didOpen', {
483
- textDocument: {
484
- uri: this.uri,
485
- languageId: this.languageId,
486
- version: 1,
487
- text,
488
- metadata,
489
- },
490
- });
491
- }
492
-
493
- didChange(text: TLspDocumentText, version = 1): void {
494
- this.lastText = text;
495
- this.sendNotification('textDocument/didChange', {
496
- textDocument: { uri: this.uri, version },
497
- contentChanges: [{ text }],
498
- });
499
- }
500
-
501
- didClose(): void {
502
- this.sendNotification('textDocument/didClose', {
503
- textDocument: { uri: this.uri },
504
- });
505
- }
506
-
507
-
508
- /** Request completions at a cursor position. */
509
- async getCompletions(line: number, character: number): Promise<ILspCompletionItem[]> {
510
- const result = await this.sendRequest('textDocument/completion', {
511
- textDocument: { uri: this.uri },
512
- position: { line, character },
513
- });
514
- if (Array.isArray(result)) {
515
- return result;
516
- }
517
- return result?.items ?? [];
518
- }
519
-
520
- /** Request semantic-token data (the flat encoded array LSP defines). */
521
- async getSemanticTokens(): Promise<number[]> {
522
- const result = await this.sendRequest('textDocument/semanticTokens/full', {
523
- textDocument: { uri: this.uri },
524
- });
525
- return result?.data ?? [];
526
- }
527
-
528
- /**
529
- * Request `textDocument/formatting`. Returns the replacement text from the
530
- * first edit (LSP servers typically return a single full-document edit
531
- * for formatting), or `null` if the server returned no edits.
532
- */
533
- async format(options?: { tabSize?: number; insertSpaces?: boolean }): Promise<string | null> {
534
- const result = (await this.sendRequest('textDocument/formatting', {
535
- textDocument: { uri: this.uri },
536
- options: {
537
- tabSize: options?.tabSize ?? DEFAULT_TAB_SIZE,
538
- insertSpaces: options?.insertSpaces ?? true,
539
- },
540
- })) as ILspTextEdit[] | null | undefined;
541
- if (Array.isArray(result) && result.length > 0) {
542
- return result[0].newText ?? null;
543
- }
544
- return null;
545
- }
546
-
547
- /** Request hover info at a cursor position. */
548
- async getHover(
549
- line: number,
550
- character: number
551
- ): Promise<ILspMarkupContent | null> {
552
- const result = await this.sendRequest('textDocument/hover', {
553
- textDocument: { uri: this.uri },
554
- position: { line, character },
555
- });
556
- if (result?.contents) {
557
- // LSP allows MarkedString | MarkedString[] | MarkupContent. We only
558
- // surface MarkupContent here; consumers who need the legacy forms
559
- // can call customRequest('textDocument/hover', …) directly.
560
- if (
561
- typeof result.contents === 'object' &&
562
- 'kind' in result.contents &&
563
- 'value' in result.contents
564
- ) {
565
- return result.contents as ILspMarkupContent;
566
- }
567
- }
568
- return null;
569
- }
570
-
571
- /**
572
- * Request signature help at a cursor position — `textDocument/signatureHelp`.
573
- * Returns `null` when the server reports no signatures available
574
- * (LSP allows either an empty `signatures: []` response or `null`;
575
- * we normalise to `null` in both cases so consumers have one
576
- * "nothing here" condition to check).
577
- */
578
- async getSignatureHelp(
579
- line: number,
580
- character: number
581
- ): Promise<ILspSignatureHelp | null> {
582
- const result = await this.sendRequest('textDocument/signatureHelp', {
583
- textDocument: { uri: this.uri },
584
- position: { line, character },
585
- });
586
- if (!result || !Array.isArray(result.signatures) || result.signatures.length === 0) {
587
- return null;
588
- }
589
- return result as ILspSignatureHelp;
590
- }
591
-
592
-
593
- /**
594
- * Send a request with an arbitrary method name. Used by language-specific
595
- * wrappers for namespaced custom methods like `dpql/setContext` or
596
- * `qonsole/assist`. Returns the typed `result` field of the JSON-RPC
597
- * response; rejects on `error`.
598
- */
599
- customRequest<TResult = any>(method: string, params?: any): Promise<TResult> {
600
- return this.sendRequest(method, params) as Promise<TResult>;
601
- }
602
-
603
- /** Send a notification with an arbitrary method name (no response). */
604
- customNotification(method: string, params?: any): void {
605
- this.sendNotification(method, params);
606
- }
607
-
608
-
609
- /** Register a callback for `textDocument/publishDiagnostics` notifications. */
610
- onDiagnostics(
611
- callback: (uri: string, diags: ILspDiagnostic[]) => void
612
- ): void {
613
- this.diagnosticCallback = callback;
614
- }
615
-
616
- /** Register a callback for socket disconnection. */
617
- onDisconnect(callback: () => void): void {
618
- this.disconnectCallback = callback;
619
- }
620
-
621
- /** Register a callback for ready-state changes (connected + initialized). */
622
- onReady(callback: (ready: boolean) => void): void {
623
- this.readyCallback = callback;
624
- }
625
-
626
- /**
627
- * Register a callback for an arbitrary server-to-client notification
628
- * method. Useful for language-specific notifications beyond
629
- * `publishDiagnostics`. Replaces any previously registered handler for
630
- * the same method.
631
- */
632
- onNotification(
633
- method: string,
634
- callback: (params: any) => void
635
- ): void {
636
- this.notificationHandlers.set(method, callback);
637
- }
638
-
639
- offNotification(method: string): void {
640
- this.notificationHandlers.delete(method);
641
- }
642
-
643
-
644
- get isConnected(): boolean {
645
- return this.conn?.connected ?? false;
646
- }
647
-
648
- get documentUri(): string {
649
- return this.uri;
650
- }
651
-
652
- get documentLanguageId(): string {
653
- return this.languageId;
654
- }
655
-
656
- // The `_`-prefixed methods are called by `LspSharedConnection` to route
657
- // connection-level events to the right document client. Not public API.
658
-
659
- /** @internal Re-send `didOpen` after the shared socket reconnects. */
660
- _resyncAfterReconnect(): void {
661
- if (this.lastText !== null) {
662
- this.didOpen(this.lastText, this.lastMetadata);
663
- }
664
- }
665
-
666
- /** @internal */
667
- _notifyReady(ready: boolean): void {
668
- this.readyCallback?.(ready);
669
- }
670
-
671
- /** @internal */
672
- _notifyDisconnect(): void {
673
- this.disconnectCallback?.();
674
- }
675
-
676
- /** @internal Notification delivery from the shared connection. */
677
- _deliverNotification(method: string, params: any): void {
678
- this.handleNotification(method, params);
679
- }
680
-
681
- private handleNotification(method: string, params: any): void {
682
- if (method === 'textDocument/publishDiagnostics' && this.diagnosticCallback) {
683
- this.diagnosticCallback(params?.uri, params?.diagnostics ?? []);
684
- return;
685
- }
686
- const handler = this.notificationHandlers.get(method);
687
- if (handler) {
688
- handler(params);
689
- }
690
- }
691
-
692
- private sendRequest(method: string, params?: any): Promise<any> {
693
- if (!this.conn) {
694
- return Promise.reject(new Error('WebSocket not connected'));
695
- }
696
- return this.conn.sendRequest(method, params, this.requestTimeoutMs);
697
- }
698
-
699
- private sendNotification(method: string, params?: any): void {
700
- this.conn?.sendNotification(method, params);
701
- }
702
- }
703
-
704
- /**
705
- * @internal Test hook: close and drop every shared LSP connection so each
706
- * jest test starts with a clean registry (mirrors
707
- * `ReqraftWebSocketsManager.connections = {}` in the websocket tests).
708
- */
709
- export const _resetSharedLspConnectionsForTests = (): void => {
710
- LspSharedConnection._resetForTests();
711
- };