@qoretechnologies/reqraft 0.10.64 → 0.10.65-pr.137.g62fcecc

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 (774) hide show
  1. package/README.md +53 -1
  2. package/dist/components/Description/describedControl.d.ts +54 -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 +36 -5
  29. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/dpqlHelpers.js +340 -62
  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 +35 -17
  35. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  36. package/dist/components/dpqlEditor/types.d.ts +54 -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 +207 -97
  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 +58 -10
  49. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  50. package/dist/components/form/engine/FormEngine.js +542 -112
  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 +21 -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 +20 -10
  67. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  68. package/dist/components/form/engine/compactRowStyles.js +36 -30
  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 +64 -3
  107. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  108. package/dist/components/form/expressions/ExpressionField.js +459 -100
  109. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  110. package/dist/components/form/expressions/argumentPresence.d.ts +14 -0
  111. package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -1
  112. package/dist/components/form/expressions/argumentPresence.js +16 -1
  113. package/dist/components/form/expressions/argumentPresence.js.map +1 -1
  114. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  115. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  116. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  117. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  118. package/dist/components/form/expressions/builder/argumentLabel.js +27 -9
  119. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  120. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  121. package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
  122. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  123. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  124. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +5 -4
  125. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  126. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  127. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  128. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +6 -3
  129. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  130. package/dist/components/form/expressions/builder/index.d.ts +24 -2
  131. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  132. package/dist/components/form/expressions/builder/index.js +138 -78
  133. package/dist/components/form/expressions/builder/index.js.map +1 -1
  134. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  135. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  136. package/dist/components/form/expressions/builder/item.js +19 -5
  137. package/dist/components/form/expressions/builder/item.js.map +1 -1
  138. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  139. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  140. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
  141. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
  142. package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
  143. package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
  144. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  145. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  146. package/dist/components/form/expressions/expressionOperands.js +97 -0
  147. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  148. package/dist/components/form/expressions/fieldPath.d.ts +24 -0
  149. package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
  150. package/dist/components/form/expressions/fieldPath.js +152 -0
  151. package/dist/components/form/expressions/fieldPath.js.map +1 -0
  152. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  153. package/dist/components/form/expressions/mockExpressions.js +22 -5
  154. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  155. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  156. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  157. package/dist/components/form/expressions/renderExpressionToText.js +40 -9
  158. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  159. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  160. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  161. package/dist/components/form/expressions/textOfExpression.js +49 -0
  162. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  163. package/dist/components/form/expressions/types.d.ts +7 -0
  164. package/dist/components/form/expressions/types.d.ts.map +1 -1
  165. package/dist/components/form/expressions/types.js +6 -1
  166. package/dist/components/form/expressions/types.js.map +1 -1
  167. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  168. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  169. package/dist/components/form/expressions/useExpressionType.js +181 -0
  170. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  171. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  172. package/dist/components/form/expressions/useRenderExpression.js +13 -9
  173. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  174. package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
  175. package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
  176. package/dist/components/form/expressions/wildcardExpressions.js +101 -0
  177. package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
  178. package/dist/components/form/fields/Field.d.ts.map +1 -1
  179. package/dist/components/form/fields/Field.js +26 -9
  180. package/dist/components/form/fields/Field.js.map +1 -1
  181. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  182. package/dist/components/form/fields/allowed-values/AllowedValues.js +17 -4
  183. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  184. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  185. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  186. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  187. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  188. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  189. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  190. package/dist/components/form/fields/auto/AutoFormField.d.ts +20 -1
  191. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  192. package/dist/components/form/fields/auto/AutoFormField.js +81 -36
  193. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  194. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  195. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  196. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  197. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  198. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  199. package/dist/components/form/fields/binary/Binary.js +23 -3
  200. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  201. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  202. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  203. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  204. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  205. package/dist/components/form/fields/color/Color.d.ts +103 -16
  206. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  207. package/dist/components/form/fields/color/Color.js +616 -16
  208. package/dist/components/form/fields/color/Color.js.map +1 -1
  209. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  210. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  211. package/dist/components/form/fields/emittedValues.js +24 -1
  212. package/dist/components/form/fields/emittedValues.js.map +1 -1
  213. package/dist/components/form/fields/file/File.d.ts +1 -1
  214. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  215. package/dist/components/form/fields/file/File.js +4 -2
  216. package/dist/components/form/fields/file/File.js.map +1 -1
  217. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  218. package/dist/components/form/fields/long-string/LongString.js +17 -3
  219. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  220. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  221. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  222. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +4 -1
  223. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  224. package/dist/components/form/fields/number/Number.d.ts +6 -0
  225. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  226. package/dist/components/form/fields/number/Number.js +41 -6
  227. package/dist/components/form/fields/number/Number.js.map +1 -1
  228. package/dist/components/form/fields/object/Object.d.ts +1 -1
  229. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  230. package/dist/components/form/fields/object/Object.js +4 -2
  231. package/dist/components/form/fields/object/Object.js.map +1 -1
  232. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  233. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  234. package/dist/components/form/fields/pendingEdit.js +79 -0
  235. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  236. package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
  237. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  238. package/dist/components/form/fields/rich-text/RichText.js +188 -82
  239. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  240. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  241. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  242. package/dist/components/form/fields/rich-text/useTemplateTags.js +49 -0
  243. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  244. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  245. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  246. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  247. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  248. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  249. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  250. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  251. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  252. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  253. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  254. package/dist/components/form/fields/schema-definition/index.js +8 -4
  255. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  256. package/dist/components/form/fields/select/Select.d.ts +2 -0
  257. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  258. package/dist/components/form/fields/select/Select.js +19 -10
  259. package/dist/components/form/fields/select/Select.js.map +1 -1
  260. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  261. package/dist/components/form/fields/select/SelectCollection.js +8 -2
  262. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  263. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  264. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  265. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  266. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  267. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
  268. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  269. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +13 -5
  270. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  271. package/dist/components/form/fields/template/TemplateBrowser.d.ts +22 -0
  272. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  273. package/dist/components/form/fields/template/TemplateBrowser.js +54 -0
  274. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  275. package/dist/components/form/fields/template/TemplateField.d.ts +102 -1
  276. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  277. package/dist/components/form/fields/template/TemplateField.js +572 -85
  278. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  279. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  280. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  281. package/dist/components/form/fields/template/TemplateText.js +9 -11
  282. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  283. package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
  284. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  285. package/dist/components/form/fields/template/writtenAsText.js +204 -0
  286. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  287. package/dist/components/form/index.d.ts +10 -0
  288. package/dist/components/form/index.d.ts.map +1 -1
  289. package/dist/components/form/index.js +23 -1
  290. package/dist/components/form/index.js.map +1 -1
  291. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  292. package/dist/components/imageLightbox/ImageLightbox.js +19 -7
  293. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  294. package/dist/components/log/Log.d.ts.map +1 -1
  295. package/dist/components/log/Log.js +16 -8
  296. package/dist/components/log/Log.js.map +1 -1
  297. package/dist/components/menu/Menu.d.ts.map +1 -1
  298. package/dist/components/menu/Menu.js +19 -10
  299. package/dist/components/menu/Menu.js.map +1 -1
  300. package/dist/components/smartEditor/CompletionMenu.d.ts +43 -0
  301. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  302. package/dist/components/smartEditor/CompletionMenu.js +196 -0
  303. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  304. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  305. package/dist/components/smartEditor/MarkdownDoc.js +3 -3
  306. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  307. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  308. package/dist/components/smartEditor/SmartEditor.js +164 -180
  309. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  310. package/dist/components/smartEditor/completionStyle.d.ts +27 -0
  311. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  312. package/dist/components/smartEditor/completionStyle.js +68 -0
  313. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  314. package/dist/components/smartEditor/index.d.ts +5 -1
  315. package/dist/components/smartEditor/index.d.ts.map +1 -1
  316. package/dist/components/smartEditor/index.js +19 -1
  317. package/dist/components/smartEditor/index.js.map +1 -1
  318. package/dist/components/smartEditor/templateCompletions.d.ts +18 -0
  319. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  320. package/dist/components/smartEditor/templateCompletions.js +94 -0
  321. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  322. package/dist/components/smartEditor/typedReferences.d.ts +21 -0
  323. package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
  324. package/dist/components/smartEditor/typedReferences.js +82 -0
  325. package/dist/components/smartEditor/typedReferences.js.map +1 -0
  326. package/dist/components/smartEditor/types.d.ts +33 -1
  327. package/dist/components/smartEditor/types.d.ts.map +1 -1
  328. package/dist/components/smartEditor/useLspAutocomplete.d.ts +32 -0
  329. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  330. package/dist/components/smartEditor/useLspAutocomplete.js +228 -118
  331. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  332. package/dist/components/smartEditor/useLspHover.d.ts +33 -7
  333. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  334. package/dist/components/smartEditor/useLspHover.js +279 -35
  335. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  336. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  337. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  338. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  339. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  340. package/dist/components/smartEditor/useLspSession.js +7 -6
  341. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  342. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  343. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  344. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  345. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
  346. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  347. package/dist/components/supportTicket/ReferencePicker.js +27 -6
  348. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  349. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  350. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  351. package/dist/components/supportTicket/TicketHeader.js +20 -2
  352. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  353. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  354. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  355. package/dist/components/ticketReferences/TicketReferences.js +9 -4
  356. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  357. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  358. package/dist/components/ticketThread/TicketThread.js +38 -13
  359. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  360. package/dist/helpers/descriptionTooltip.d.ts +43 -0
  361. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  362. package/dist/helpers/descriptionTooltip.js +70 -0
  363. package/dist/helpers/descriptionTooltip.js.map +1 -0
  364. package/dist/helpers/domProps.d.ts +5 -0
  365. package/dist/helpers/domProps.d.ts.map +1 -0
  366. package/dist/helpers/domProps.js +47 -0
  367. package/dist/helpers/domProps.js.map +1 -0
  368. package/dist/helpers/expressions.d.ts +107 -2
  369. package/dist/helpers/expressions.d.ts.map +1 -1
  370. package/dist/helpers/expressions.js +223 -8
  371. package/dist/helpers/expressions.js.map +1 -1
  372. package/dist/helpers/hoveringPointer.d.ts +26 -0
  373. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  374. package/dist/helpers/hoveringPointer.js +29 -0
  375. package/dist/helpers/hoveringPointer.js.map +1 -0
  376. package/dist/helpers/markdownText.d.ts +14 -0
  377. package/dist/helpers/markdownText.d.ts.map +1 -0
  378. package/dist/helpers/markdownText.js +160 -0
  379. package/dist/helpers/markdownText.js.map +1 -0
  380. package/dist/helpers/qorusTypeCatalogue.d.ts +53 -0
  381. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  382. package/dist/helpers/qorusTypeCatalogue.js +262 -0
  383. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  384. package/dist/helpers/readableColors.d.ts +36 -0
  385. package/dist/helpers/readableColors.d.ts.map +1 -0
  386. package/dist/helpers/readableColors.js +116 -0
  387. package/dist/helpers/readableColors.js.map +1 -0
  388. package/dist/helpers/recordFieldReference.d.ts +15 -0
  389. package/dist/helpers/recordFieldReference.d.ts.map +1 -0
  390. package/dist/helpers/recordFieldReference.js +89 -0
  391. package/dist/helpers/recordFieldReference.js.map +1 -0
  392. package/dist/helpers/templateItems.d.ts +2 -2
  393. package/dist/helpers/templateItems.d.ts.map +1 -1
  394. package/dist/helpers/templateItems.js +6 -4
  395. package/dist/helpers/templateItems.js.map +1 -1
  396. package/dist/helpers/templateText.js +5 -2
  397. package/dist/helpers/templateText.js.map +1 -1
  398. package/dist/helpers/templates.d.ts +41 -14
  399. package/dist/helpers/templates.d.ts.map +1 -1
  400. package/dist/helpers/templates.js +152 -9
  401. package/dist/helpers/templates.js.map +1 -1
  402. package/dist/helpers/validations.d.ts +9 -0
  403. package/dist/helpers/validations.d.ts.map +1 -1
  404. package/dist/helpers/validations.js +139 -33
  405. package/dist/helpers/validations.js.map +1 -1
  406. package/dist/hooks/useQorusTypes.d.ts +7 -15
  407. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  408. package/dist/hooks/useQorusTypes.js +25 -166
  409. package/dist/hooks/useQorusTypes.js.map +1 -1
  410. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  411. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  412. package/dist/hooks/useReadableIntentShade.js +23 -0
  413. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  414. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  415. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  416. package/dist/hooks/useReadableOpacity.js +17 -0
  417. package/dist/hooks/useReadableOpacity.js.map +1 -0
  418. package/dist/index.d.ts +1 -0
  419. package/dist/index.d.ts.map +1 -1
  420. package/dist/index.js +1 -0
  421. package/dist/index.js.map +1 -1
  422. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  423. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  424. package/dist/tracking/ui/ExperimentCard.js +26 -10
  425. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  426. package/dist/tracking/ui/card.d.ts +2 -2
  427. package/dist/tracking/ui/card.d.ts.map +1 -1
  428. package/dist/tracking/ui/card.js +2 -2
  429. package/dist/tracking/ui/card.js.map +1 -1
  430. package/dist/tracking/ui/readable.d.ts +14 -0
  431. package/dist/tracking/ui/readable.d.ts.map +1 -0
  432. package/dist/tracking/ui/readable.js +60 -0
  433. package/dist/tracking/ui/readable.js.map +1 -0
  434. package/dist/utils/fetch.d.ts +9 -2
  435. package/dist/utils/fetch.d.ts.map +1 -1
  436. package/dist/utils/fetch.js +6 -5
  437. package/dist/utils/fetch.js.map +1 -1
  438. package/dist/utils/websocket.d.ts +65 -2
  439. package/dist/utils/websocket.d.ts.map +1 -1
  440. package/dist/utils/websocket.js +276 -44
  441. package/dist/utils/websocket.js.map +1 -1
  442. package/package.json +14 -5
  443. package/.claude/CLAUDE.md +0 -317
  444. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  445. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  446. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  447. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  448. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  449. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  450. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  451. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  452. package/.tasks/INDEX.md +0 -111
  453. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  454. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  455. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  456. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  457. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  458. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  459. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  460. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  461. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  462. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  463. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  464. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  465. package/CODE_OF_CONDUCT.md +0 -105
  466. package/CONTRIBUTING.MD +0 -78
  467. package/SECURITY.md +0 -3
  468. package/chromatic.config.json +0 -5
  469. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  470. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  471. package/design/COMPACT_PARITY.md +0 -85
  472. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  473. package/design/FORM_ENGINE_COMPACT.md +0 -300
  474. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  475. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  476. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  477. package/design/IDE_INTEGRATION.md +0 -64
  478. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  479. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  480. package/design/SMART_EDITOR_UX.md +0 -438
  481. package/design/TRACKING.md +0 -290
  482. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  483. package/src/components/Description/index.tsx +0 -254
  484. package/src/components/Description/markdownRendererContext.tsx +0 -29
  485. package/src/components/FocusedEditing/index.tsx +0 -50
  486. package/src/components/codeSize/index.tsx +0 -79
  487. package/src/components/composer/Composer.stories.tsx +0 -238
  488. package/src/components/composer/Composer.tsx +0 -554
  489. package/src/components/composer/helpers.ts +0 -74
  490. package/src/components/composer/index.ts +0 -2
  491. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  492. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  493. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  494. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  495. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  496. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  497. package/src/components/dpqlEditor/index.ts +0 -41
  498. package/src/components/dpqlEditor/types.ts +0 -203
  499. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  500. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  501. package/src/components/form/engine/CompactRow.tsx +0 -2620
  502. package/src/components/form/engine/CompactToolbar.tsx +0 -330
  503. package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
  504. package/src/components/form/engine/FormEngine.tsx +0 -4569
  505. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  506. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
  507. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  508. package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
  509. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  510. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  511. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  512. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  513. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
  514. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  515. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  516. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  517. package/src/components/form/engine/compactRowContext.ts +0 -148
  518. package/src/components/form/engine/compactRowStyles.ts +0 -898
  519. package/src/components/form/engine/compactToolbarContext.ts +0 -69
  520. package/src/components/form/engine/optionActions.ts +0 -128
  521. package/src/components/form/engine/optionsContext.ts +0 -24
  522. package/src/components/form/engine/readFirst.ts +0 -1077
  523. package/src/components/form/engine/rendererTypes.ts +0 -107
  524. package/src/components/form/engine/revealRow.ts +0 -123
  525. package/src/components/form/engine/rowFocus.ts +0 -101
  526. package/src/components/form/engine/rowMenuContext.ts +0 -159
  527. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  528. package/src/components/form/engine/typeChoices.ts +0 -63
  529. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  530. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  531. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  532. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  533. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  534. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  535. package/src/components/form/engine/variants/variantModel.ts +0 -223
  536. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  537. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  538. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  539. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  540. package/src/components/form/expressions/argumentPresence.ts +0 -213
  541. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  542. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  543. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  544. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  545. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  546. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  547. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  548. package/src/components/form/expressions/builder/index.tsx +0 -1545
  549. package/src/components/form/expressions/builder/item.tsx +0 -89
  550. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  551. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  552. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  553. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  554. package/src/components/form/expressions/mockExpressions.ts +0 -317
  555. package/src/components/form/expressions/renderExpressionToText.ts +0 -137
  556. package/src/components/form/expressions/types.ts +0 -110
  557. package/src/components/form/expressions/useExpressions.ts +0 -101
  558. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  559. package/src/components/form/fields/Field.stories.tsx +0 -143
  560. package/src/components/form/fields/Field.tsx +0 -732
  561. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
  562. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  563. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  564. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  565. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  566. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
  567. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  568. package/src/components/form/fields/binary/Binary.tsx +0 -91
  569. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  570. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  571. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  572. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  573. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  574. package/src/components/form/fields/color/Color.tsx +0 -46
  575. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  576. package/src/components/form/fields/cron/Cron.tsx +0 -80
  577. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  578. package/src/components/form/fields/date/Date.tsx +0 -55
  579. package/src/components/form/fields/emittedValues.ts +0 -70
  580. package/src/components/form/fields/file/File.stories.tsx +0 -161
  581. package/src/components/form/fields/file/File.tsx +0 -227
  582. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
  583. package/src/components/form/fields/long-string/LongString.tsx +0 -130
  584. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  585. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  586. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  587. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
  588. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  589. package/src/components/form/fields/number/Number.tsx +0 -160
  590. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  591. package/src/components/form/fields/object/Object.tsx +0 -255
  592. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  593. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
  594. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  595. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  596. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  597. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  598. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  599. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  600. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  601. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  602. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  603. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  604. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  605. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  606. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  607. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  608. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  609. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  610. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  611. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  612. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  613. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  614. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  615. package/src/components/form/fields/schema-definition/types.ts +0 -185
  616. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  617. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  618. package/src/components/form/fields/select/Select.tsx +0 -624
  619. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  620. package/src/components/form/fields/string/String.stories.tsx +0 -86
  621. package/src/components/form/fields/string/String.tsx +0 -43
  622. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  623. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  624. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  625. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  626. package/src/components/form/fields/template/TemplateField.tsx +0 -1717
  627. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  628. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  629. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  630. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  631. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  632. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  633. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  634. package/src/components/form/fields/url/Url.tsx +0 -85
  635. package/src/components/form/index.tsx +0 -47
  636. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  637. package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
  638. package/src/components/imageLightbox/index.ts +0 -1
  639. package/src/components/log/Log.stories.tsx +0 -333
  640. package/src/components/log/Log.tsx +0 -285
  641. package/src/components/menu/Menu.stories.tsx +0 -155
  642. package/src/components/menu/Menu.tsx +0 -312
  643. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  644. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  645. package/src/components/qonsoleSmartInput/index.ts +0 -16
  646. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  647. package/src/components/qonsoleSmartInput/types.ts +0 -133
  648. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  649. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  650. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  651. package/src/components/searchFilterBar/index.ts +0 -1
  652. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  653. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  654. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  655. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  656. package/src/components/smartEditor/helpers.ts +0 -217
  657. package/src/components/smartEditor/index.ts +0 -35
  658. package/src/components/smartEditor/styling.ts +0 -45
  659. package/src/components/smartEditor/types.ts +0 -211
  660. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  661. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  662. package/src/components/smartEditor/useLspHover.ts +0 -230
  663. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  664. package/src/components/smartEditor/useLspSession.ts +0 -231
  665. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  666. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  667. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  668. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  669. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
  670. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
  671. package/src/components/supportTicket/ReferencePicker.tsx +0 -563
  672. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
  673. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  674. package/src/components/supportTicket/TicketHeader.tsx +0 -247
  675. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  676. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  677. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
  678. package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
  679. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  680. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  681. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  682. package/src/components/supportTicket/index.ts +0 -10
  683. package/src/components/supportTicket/meta.ts +0 -206
  684. package/src/components/supportTicket/ticketModel.ts +0 -131
  685. package/src/components/supportTicket/useLoadedImages.ts +0 -73
  686. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
  687. package/src/components/ticketReferences/TicketReferences.tsx +0 -906
  688. package/src/components/ticketReferences/index.ts +0 -2
  689. package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
  690. package/src/components/ticketThread/TicketThread.tsx +0 -719
  691. package/src/components/ticketThread/index.ts +0 -6
  692. package/src/contexts/FetchContext.tsx +0 -25
  693. package/src/contexts/ReqraftContext.tsx +0 -9
  694. package/src/contexts/StorageContext.tsx +0 -33
  695. package/src/global.d.ts +0 -4
  696. package/src/helpers/allowedValues.ts +0 -249
  697. package/src/helpers/choiceChip.ts +0 -227
  698. package/src/helpers/common.ts +0 -326
  699. package/src/helpers/dpqlDetection.ts +0 -209
  700. package/src/helpers/expressions.ts +0 -140
  701. package/src/helpers/optionUiTypes.ts +0 -199
  702. package/src/helpers/options.ts +0 -150
  703. package/src/helpers/providerValue.ts +0 -125
  704. package/src/helpers/scrollbar.ts +0 -32
  705. package/src/helpers/singleLineString.ts +0 -61
  706. package/src/helpers/templateItems.ts +0 -81
  707. package/src/helpers/templateText.ts +0 -350
  708. package/src/helpers/templates.ts +0 -602
  709. package/src/helpers/validations.ts +0 -2085
  710. package/src/hooks/useArgSchema.ts +0 -37
  711. package/src/hooks/useCoarsePointer.ts +0 -30
  712. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  713. package/src/hooks/useFetch/useFetch.tsx +0 -154
  714. package/src/hooks/usePhoneViewport.ts +0 -34
  715. package/src/hooks/useQorusTypes.ts +0 -233
  716. package/src/hooks/useReqraftProperty.ts +0 -16
  717. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  718. package/src/hooks/useStorage/useStorage.ts +0 -35
  719. package/src/hooks/useTemplates.ts +0 -123
  720. package/src/hooks/useValidation.ts +0 -9
  721. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  722. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  723. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  724. package/src/index.tsx +0 -86
  725. package/src/providers/FetchProvider.tsx +0 -40
  726. package/src/providers/ReqraftProvider.tsx +0 -52
  727. package/src/providers/StorageProvider.tsx +0 -131
  728. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  729. package/src/stores/currentUser/currentUser.tsx +0 -94
  730. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  731. package/src/stories/Tests/utils.ts +0 -320
  732. package/src/stories/storyNetwork.ts +0 -92
  733. package/src/stories/tracking.tsx +0 -206
  734. package/src/tracking/browser/attach.ts +0 -186
  735. package/src/tracking/browser/env.ts +0 -78
  736. package/src/tracking/core/consent.ts +0 -37
  737. package/src/tracking/core/engagement.ts +0 -47
  738. package/src/tracking/core/experiments.ts +0 -258
  739. package/src/tracking/core/hash.ts +0 -26
  740. package/src/tracking/core/ids.ts +0 -25
  741. package/src/tracking/core/observable.ts +0 -23
  742. package/src/tracking/core/queue.ts +0 -131
  743. package/src/tracking/core/sections.ts +0 -166
  744. package/src/tracking/core/storage.ts +0 -69
  745. package/src/tracking/core/tracker.ts +0 -417
  746. package/src/tracking/core/types.ts +0 -162
  747. package/src/tracking/core/utm.ts +0 -23
  748. package/src/tracking/index.ts +0 -72
  749. package/src/tracking/markup.ts +0 -17
  750. package/src/tracking/react/Experiment.tsx +0 -44
  751. package/src/tracking/react/TrackingProvider.tsx +0 -56
  752. package/src/tracking/react/hooks.ts +0 -106
  753. package/src/tracking/react/index.ts +0 -13
  754. package/src/tracking/testing.ts +0 -108
  755. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  756. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  757. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  758. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  759. package/src/tracking/ui/anchor.ts +0 -180
  760. package/src/tracking/ui/card.ts +0 -464
  761. package/src/tracking/ui/client.ts +0 -117
  762. package/src/tracking/ui/index.ts +0 -77
  763. package/src/tracking/ui/types.ts +0 -110
  764. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  765. package/src/types/Form.ts +0 -29
  766. package/src/types.ts +0 -14
  767. package/src/utils/datetime.ts +0 -10
  768. package/src/utils/fetch.ts +0 -457
  769. package/src/utils/lspClient.ts +0 -711
  770. package/src/utils/lspClient.types.ts +0 -211
  771. package/src/utils/queryUnlessCancelled.ts +0 -28
  772. package/src/utils/websocket.ts +0 -293
  773. package/vite.config.ts +0 -58
  774. package/vitest.config.ts +0 -69
@@ -1,306 +0,0 @@
1
- # QonsoleSmartInput — assist response features
2
-
3
- Follow-up to the `0.10.0` UX batch (see
4
- [`SMART_EDITOR_UX_POLISH.md`](./SMART_EDITOR_UX_POLISH.md)). The Qorus
5
- LSP server's Qonsole assist response carries fields the client either
6
- silently discards or — in the case of `mode` — type-mistypes. This
7
- task triages each field, lands the generic ones in `useLspAutocomplete`,
8
- and lands the Qonsole-specific wizard / starter-suggestion flow in
9
- the `QonsoleSmartInput` wrapper.
10
-
11
- **Status:** done — committed in `189fe52`. Generic LSP wins (commitCharacters, sortText, warning) + Qonsole-specific (wizard launch via `qonsole.startWizard`, mode-type fix). **Awaiting browser verification.**
12
- **Scope:** seven items, three of them generic-LSP wins (commit chars,
13
- sortText, warning), four Qonsole-specific (relatedWizards, wizard
14
- command, natural-language mode, mode-type fix).
15
- **Estimated size:** ~200 lines + tests, ~1.5 days.
16
-
17
- ## Goal
18
-
19
- A Qonsole consumer typing `/li ` should auto-accept `list` on space.
20
- Typing `/list ` should rank the resource list per server intent
21
- (group rank + match rank). Selecting a `Start wizard ...` item should
22
- launch the wizard flow, not insert the text. Typing free text (NL
23
- mode) should show the server's starter suggestions if available.
24
- Destructive verbs (`delete`, `drop`) should flag themselves in the
25
- dropdown so users see the warning before pressing Enter.
26
-
27
- None of these are blocking for the `0.10.0` release — the editor
28
- works without them. They're the difference between "Qonsole input
29
- typing works" and "Qonsole input feels like the IDE wrote it".
30
-
31
- ## Research findings
32
-
33
- Source: `qorus/Classes/QonsoleAssistService.qc`,
34
- `qorus/Classes/QorusLspWebSocketHandler.qc`,
35
- `QONSOLE_LSP_REFERENCE.md`, plus a code search across our
36
- `useLspAutocomplete.ts`, `useQonsoleSession.ts`,
37
- `lspClient.types.ts`.
38
-
39
- ### Generic LSP fields (apply to all languages, not Qonsole-only)
40
-
41
- These already exist on `ILspCompletionItem`:
42
-
43
- | Field | Server emits | Client uses | Severity |
44
- |---|---|---|---|
45
- | `commitCharacters: string[]` | yes (verbs/resources `[" "]`, non-bool flags `["="]`, bool flags `[" "]`) | **no** — typed but never read | Small but visible win |
46
- | `sortText: string` | yes (`<group_rank>_<match_rank>_<label>` shape, sorted server-side) | partial — preserved in items array, but grouping by kind in `useLspAutocomplete.ts:282` re-orders across groups | Medium — affects rank order |
47
- | `data: Record<string, unknown>` | yes (verb/resource/flag metadata; for wizard items: `{action: 'start-wizard', name, start_path, ...}`) | accessible via `item.raw.data` but no client codepath reads it | Small in isolation; required for wizard launch |
48
-
49
- ### Qonsole-specific (only on this server / this language)
50
-
51
- | Field | Server emits | Client uses | Severity |
52
- |---|---|---|---|
53
- | `warning: string` | yes — only on mutating verbs (`create`, `delete`, `update`, …) | no — not in our type | Small but useful safety affordance |
54
- | `command: {command, arguments, title}` | yes — only on wizard completion items (`kind === 15`) | no | Required to make wizard items actionable |
55
- | `relatedWizards` (top-level on `qonsole/assist` response) | yes — when canonical command has both verb+resource AND user can access matching wizards | no — `IQonsoleAssistResult.related_wizards` exists in types but the field is never rendered | Small (wizards already surface as completion items via `makeWizardCompletionItems`) |
56
- | `mode: 'command' \| 'nl' \| 'empty'` | yes — server inferred from input | type bug: declared as `'command' \| 'natural-language'` in our types; server returns the literal `"nl"` | Tiny but correctness |
57
-
58
- ### Server protocol details we need to know
59
-
60
- - **`workspace/executeCommand` is REJECTED for `qonsole.*`** — confirmed in `QorusLspWebSocketHandler.qc:2188-2207`. Wizard launch must go through REST: `POST {apiHost}{start_path}` from `command.arguments[0].start_path`, then drive the returned `QonsoleWizardSession` via `POST /api/latest/qonsole/wizards/sessions/{id}/step` and `/abort`. Documented in `QorusQonsoleRestClass.qc:7770-7950`.
61
-
62
- - **`completionItem/resolve` is NOT supported** by the server (`completionProvider.resolveProvider` is not in capabilities). `data` is fully populated up front — not for lazy resolution. So clients don't need to implement a resolve-roundtrip.
63
-
64
- - **Natural-language mode is detection-only.** The `nl` response has empty `completion.items`, empty `diagnostics`, optional `starter_suggestions` when the server's `isCannedWelcomeIntent` matches. Actual execution goes through `/qonsole/exec` SSE — out of scope for this task (it's the chat-runner, not the editor).
65
-
66
- ## Design decisions
67
-
68
- ### 1. `commitCharacters` — generic, lands in `useLspAutocomplete`
69
-
70
- VS Code semantics: when the focused item has `commitCharacters` and
71
- the user types one, accept the completion AND insert the typed
72
- character. The typed character is preserved in the document; the
73
- completion is what would have been typed had they pressed Tab/Enter.
74
-
75
- Special case `space` → bool flags: server emits `[" "]` for bool
76
- flags. After accepting `--verbose` on space, the server's
77
- `textEdit` already includes the space-after, so we'd double-space.
78
- **Decision:** on commit-char accept, check whether the inserted
79
- text from the completion already ends in the typed character — if
80
- so, suppress the verbatim re-insert. Confirmed by reading
81
- `QonsoleAssistService.qc:982`: flag insertText is `"--name="`
82
- (no trailing space) for `=`-committed flags, `"--name"` (no trailing
83
- char) for space-committed bool flags. So always re-insert is
84
- *almost* right, but the user types `--verbose ` and gets
85
- `--verbose ` (one space). For `=` flags, user types `--name=` and
86
- gets `--name=` (no double-equals because the completion's `newText`
87
- ends with `=`).
88
-
89
- Actually re-examining: the server's `textEdit.newText` is what the
90
- completion produces. For bool `--verbose`, server's `newText`
91
- is `--verbose` (without trailing). User types space → we accept →
92
- `--verbose` is inserted → we re-insert the typed space → final
93
- text is `--verbose ` (with one space). Correct.
94
-
95
- For `=` flag `--limit`, server's `newText` is `--limit=`. User
96
- types `=` → we accept → `--limit=` is inserted → we re-insert
97
- `=` → final is `--limit==`. **Wrong.** So we DO need the
98
- deduplication: if the just-inserted text ends with the commit
99
- character, swallow the second one.
100
-
101
- Implementation: peek at the completion's `textEdit?.newText ?? insertText ?? label`.
102
- If it ends with the typed key, suppress the re-insert.
103
-
104
- ### 2. `sortText` — generic, lands in `useLspAutocomplete`
105
-
106
- Server already sorts; we re-order via kind-grouping which violates
107
- server intent.
108
-
109
- **Decision:** drop the kind-grouping for items whose `sortText` is
110
- present. Instead, group only when no `sortText` is supplied (legacy
111
- fallback). The server's `sortText` already encodes the group order
112
- (`group_rank` is the first segment). So we render as a flat list,
113
- ordered by `sortText`, with the server's headers implicit in the
114
- rank steps.
115
-
116
- This is a behaviour change for the dropdown when consuming Qonsole.
117
- For DPQL (which doesn't populate `sortText` consistently per server
118
- audit), groups remain. We branch on the presence of `sortText` on
119
- any item.
120
-
121
- Alternative we considered: keep groups but order group headers by
122
- the smallest `sortText` per group. Rejected — `sortText`'s first
123
- segment is `group_rank` exactly so a flat sort is equivalent and
124
- simpler.
125
-
126
- ### 3. `warning` — generic field on `ILspCompletionItem`
127
-
128
- **Decision:** add `warning?: string` to `ILspCompletionItem`. Add
129
- `warning?: string` to `ICompletionDropdownItem`. Render as a small
130
- right-aligned warning chip + the row's `tooltip` payload extended
131
- with the warning. Visual: `<ReqoreTag intent='warning' icon='AlertLine' size='small'>` in the row's `rightAction` or as a second badge.
132
-
133
- Doesn't conflict with the kind-chip badge — Reqore allows `badge` to be an array.
134
-
135
- ### 4. `data` — generic field on `ILspCompletionItem`
136
-
137
- **Decision:** add `data?: Record<string, unknown>` to
138
- `ILspCompletionItem`. No special rendering — it's a pass-through
139
- for inserters and external callers. The wizard-launch path (next
140
- item) reads `data.action === 'start-wizard'` to branch.
141
-
142
- ### 5. Wizard launch via `command: 'qonsole.startWizard'` — Qonsole-specific
143
-
144
- Spec: the server attaches a `command: { command, arguments, title }`
145
- to completion items when `data.action === 'start-wizard'`. We need
146
- to NOT insert text but instead fire a callback the consumer wires
147
- to the wizard runner.
148
-
149
- **Decision:**
150
-
151
- - Generic addition to `ILspCompletionItem`: `command?: { command: string; title: string; arguments?: unknown[] }`.
152
- - Generic addition to `TCompletionInserter` context: we already pass
153
- `replacementPath` etc. — add nothing; the inserter receives
154
- `item.command` via `item.raw.command` and decides what to do.
155
- - Qonsole-specific addition: a new `onWizardStart?(args: unknown[])` prop
156
- on `QonsoleSmartInput`. The default `completionInserter` for
157
- Qonsole checks `item.raw.command?.command === 'qonsole.startWizard'`
158
- and calls `onWizardStart(args)` instead of inserting text.
159
- - Reqraft provides NO wizard runner UI — that's qorus-ide-side
160
- (a new `<QonsoleWizardSessionModal>` component). Our job is the
161
- callback hand-off.
162
-
163
- The dropdown visual for wizard items uses a distinctive icon and a
164
- `Wizard` kind chip — extend the kindLabel map to map "snippet" kind
165
- to "Wizard" when `data.action === 'start-wizard'`.
166
-
167
- ### 6. `relatedWizards` (top-level on assist response) — Qonsole-specific
168
-
169
- The server appends each wizard ALSO as a synthetic completion item
170
- (`makeWizardCompletionItems` at `QonsoleAssistService.qc:806`) — so
171
- the items list already covers the wizard surface. The top-level
172
- `related_wizards` array is the canonical source for an inline
173
- "Suggested setup" callout panel below the input — useful when a
174
- command is recognised but partially filled.
175
-
176
- **Decision (v1):** rely on the synthetic items in the dropdown. Do
177
- NOT build the inline callout panel. If we want it later, it's a
178
- new ReqoreCallout below the editor body when
179
- `session.lastAssist?.related_wizards?.length > 0`. Tracked as
180
- deferred.
181
-
182
- ### 7. `mode` type fix
183
-
184
- Trivial — change `'natural-language'` to `'nl'` in
185
- `qonsoleSmartInput/types.ts:40`. Add `'empty'` as a third literal.
186
-
187
- Also fix `QONSOLE_LSP_REFERENCE.md:150` which has the same wrong
188
- literal documented.
189
-
190
- ### Not landing in this task
191
-
192
- - Natural-language mode **starter suggestions** rendering — different
193
- surface (chips below the input). Add later if Qonsole NL becomes a
194
- Reqraft consumer's actual use case. The qorus-ide existing
195
- QonsoleInput.tsx doesn't even use `qonsole/assist` for NL — goes
196
- straight to `/qonsole/exec` SSE on submit.
197
- - Attachment-mode UX — assist response carries `attachments` only in
198
- NL mode; out of scope.
199
- - The wizard runner modal itself — qorus-ide work.
200
-
201
- ## Surface area
202
-
203
- | File | Change |
204
- |---|---|
205
- | `src/utils/lspClient.types.ts` | `ILspCompletionItem` gains `warning?: string`, `data?: Record<string, unknown>`, `command?: { command, title, arguments? }` |
206
- | `src/components/smartEditor/useLspAutocomplete.ts` | `ICompletionDropdownItem` gains `warning?`, surface `command` via `raw`; keyboard handler intercepts commit-char keys; sort by `sortText` (flat) when present; deduplication for commit-char re-insert |
207
- | `src/components/smartEditor/SmartEditor.tsx` | render the `warning` chip on rows that have it (right-side, intent="warning", small) |
208
- | `src/components/qonsoleSmartInput/types.ts` | fix `mode` literal (`'nl'`/`'empty'`); add `onWizardStart?(args: unknown[]) => void` prop |
209
- | `src/components/qonsoleSmartInput/QonsoleSmartInput.tsx` | inject a custom `completionInserter` that branches on `item.command?.command === 'qonsole.startWizard'` and calls `onWizardStart` |
210
- | `src/components/qonsoleSmartInput/qonsoleInserter.ts` | **new** — extracts the wizard-or-text branch into a named helper |
211
- | `__tests__/smartEditor/commitCharacters.test.ts` | **new** — unit tests for commit-char accept logic incl. the deduplication |
212
- | `src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx` | enrich the mock to emit `warning` on destructive verbs and `command` on wizard items; add `WithCommitCharacters`, `WithWizardItems` stories |
213
- | `QONSOLE_LSP_REFERENCE.md` | fix the `mode` literal (`nl` not `natural-language`) |
214
-
215
- ## Tasks
216
-
217
- ### Generic field surfacing
218
-
219
- - [ ] `ILspCompletionItem` extended with `warning?`, `data?`, `command?`
220
- - [ ] `ICompletionDropdownItem` extended with `warning?`; populate it
221
- in the mapping step of `performCompletionRequest`
222
- - [ ] SmartEditor renders the warning chip on the row's
223
- `rightAction` when present
224
-
225
- ### Commit characters
226
-
227
- - [ ] Extend the keydown handler in `useLspAutocomplete` to intercept
228
- single-character keys that match the focused item's
229
- `commitCharacters`; accept the completion via `selectItem`,
230
- then re-insert the typed char UNLESS the just-inserted text
231
- ended with it (server textEdit dedup)
232
- - [ ] Confirm interaction with `metadata.retrigger` — `:` commit on
233
- a `$template:` item should re-trigger value completions; the
234
- timeout-based re-trigger already handles this
235
- - [ ] Unit tests covering:
236
- - bool flag (`--verbose`, space commit) → final text ends with one space
237
- - `=` flag (`--limit`, `=` commit) → final text is `--limit=` (no double `=`)
238
- - retrigger interaction → completion re-fires after commit
239
-
240
- ### Sort
241
-
242
- - [ ] In `useLspAutocomplete`, sort `items` by `sortText` (lexically)
243
- before grouping
244
- - [ ] When ANY item has `sortText`, skip kind-grouping — render a
245
- flat list. When NO items have `sortText`, fall back to the
246
- existing kind-grouping (preserves DPQL behaviour)
247
-
248
- ### Qonsole-specific wizard flow
249
-
250
- - [ ] `qonsoleSmartInput/qonsoleInserter.ts` — new file with the
251
- branch: wizard items call `onWizardStart`; everything else
252
- delegates to `defaultCompletionInserter`
253
- - [ ] Add `onWizardStart?` prop to `IQonsoleSmartInputProps`
254
- - [ ] Hook the inserter via the `completionInserter` prop on
255
- SmartEditor
256
- - [ ] In `useLspAutocomplete`, extend `ICompletionDropdownItem`'s
257
- kindLabel resolver: when `kind === 15` (CIK_SNIPPET) AND
258
- `data?.action === 'start-wizard'`, label the chip "Wizard"
259
- and override the icon to `MagicLine`
260
-
261
- ### Mode type fix
262
-
263
- - [ ] `qonsoleSmartInput/types.ts` — change `mode: 'command' | 'natural-language'` to `'command' | 'nl' | 'empty'`
264
- - [ ] Update `QONSOLE_LSP_REFERENCE.md` to match (and add `empty`)
265
- - [ ] No code change needed in `useQonsoleSession` — it passes the
266
- response through unchanged
267
-
268
- ### Stories + mock enrichment
269
-
270
- - [ ] `QonsoleSmartInput.stories.tsx` mock — for the BasicMock
271
- completion response:
272
- - Add `warning: 'Mutates system state'` to verbs `create`, `delete`,
273
- `drop`, `update`
274
- - Add `command: { command: 'qonsole.startWizard', title, arguments: [{action: 'start-wizard', name: 'create-connection', start_path: '/api/latest/qonsole/wizards/create-connection/start'}] }` to one synthetic wizard item per response
275
- - Add `commitCharacters: ['=']` to flag completions like
276
- `--limit`, `--search`, `--app`
277
- - [ ] New story `WithCommitCharacters` — initial value `/list services `,
278
- play test types `--li`, then `=`, asserts the editor shows
279
- `/list services --limit=` and the popover is open for values
280
- - [ ] New story `WithWizardItems` — initial value `create con`, mock
281
- returns the wizard item, play test confirms selecting it fires
282
- the consumer-provided `onWizardStart` callback (via `fn()` spy)
283
-
284
- ### Documentation
285
-
286
- - [ ] README: add a short Qonsole-features section under the
287
- QonsoleSmartInput entry mentioning commit chars, wizard launch,
288
- `onWizardStart` prop
289
- - [ ] TSDoc on `onWizardStart` explains it's the consumer's
290
- responsibility to drive the REST `start_path`
291
-
292
- ### Checks
293
-
294
- - [ ] Typecheck, lint, jest, storybook play tests all pass
295
- - [ ] **STOP — user verifies in browser** before commit
296
-
297
- ## Out of scope
298
-
299
- - Natural-language mode UX (starter cards, chat-style rendering) —
300
- separate task if Qonsole NL becomes a Reqraft consumer use case
301
- - Wizard runner modal component — qorus-ide-side
302
- - `relatedWizards` inline callout panel — deferred; synthetic items
303
- in the dropdown already cover the surface
304
- - `completionItem/resolve` plumbing — server doesn't advertise the
305
- capability; no need
306
- - Attachment-mode handling
@@ -1,159 +0,0 @@
1
- # TASK — server "Explain" over the LSP (`dpql/renderExpression`)
2
-
3
- **Status:** code complete on branch `feature/render-expression-lsp`
4
- (uncommitted) — server rebuilt/restarted by the user 2026-06-10 and
5
- **verified live end-to-end** (probe + real-browser run of `LiveExplain`
6
- against :8012: preview AND Explain show `"test".startsWith("t", true)`
7
- served over `dpql/renderExpression`; the hq accidental run proved the
8
- `-32601` fallback path too). Awaiting user browser verification.
9
- **STOP — no commits until the user verifies.**
10
-
11
- Design: `design/RENDER_EXPRESSION_TRANSPORT.md` (locked 2026-06-10).
12
- Closes **Phase D** of `.tasks/EXPRESSION_BUILDER_REPORT.md`.
13
- Server ask history: `/tmp/render-expression-exposure.md`.
14
-
15
- ## Surface area
16
-
17
- | Area | Path | Change |
18
- |---|---|---|
19
- | Server handler | `qorus/Classes/QorusLspWebSocketHandler.qc` | NEW `dpql/renderExpression` dispatch case + `handleDpqlRenderExpression()` (modeled on the creator's `handleIdeRenderExpression`, JSON-RPC like `handleDpqlToRichtext`) |
20
- | Server design doc | `qorus/design/language-server-api-metadata.md` | documented under "Custom Qorus LSP Methods" |
21
- | The seam | `src/components/form/expressions/useRenderExpression.ts` | server-first via shared module-level `LspClient`; client-side fallback kept; per-hook ~300ms debounce; `serverRendering` now live |
22
- | Mock LSP | `src/components/form/expressions/dpqlMockLsp.ts` | `dpql/renderExpression` case mirroring the server contract |
23
- | Stories | `Foundation.stories.tsx` (mock in `beforeEach`), `ExpressionField.stories.tsx` (NEW `LiveExplain` live story) | |
24
- | Storybook config | `.storybook/main.ts` | forward `REACT_APP_QORUS_INSTANCE`/`_TOKEN` shell overrides to the bundle (live-story flow was silently broken) |
25
- | Untouched consumers | `builder/renderTemplate.tsx`, `ExpressionField.tsx` | public hook contract preserved |
26
-
27
- ## Phases
28
-
29
- ### Phase 0 — shortcut check (DONE 2026-06-10)
30
-
31
- - [x] Probed live `wss://localhost:8012/lsp`: `dpql/serialize` richtext =
32
- DPQL string in paragraph nodes; `dpql/toRichtext` takes `text` only;
33
- `dpql/explain` / `dpql/renderExpression` → `-32601`.
34
- - [x] Probed live `wss://localhost:8012/creator` `render-expression`:
35
- `"test".startsWith("t", true)` for the same AST — semantic rendering,
36
- ≠ serialize output. **Shortcut disproven → server change needed.**
37
- - [x] Learned: creator accepts ONLY the `{is_expression, value}` wrapper
38
- (bare AST → `EXPRESSION-ARG-ERROR`); `and` is not in
39
- `QorusExpressionMap` (serializer accepts it, renderer doesn't).
40
- Probe scripts: `/tmp/render-step0.mjs`, `/tmp/render-step0-creator.mjs`.
41
-
42
- ### Phase 1 — server (code DONE; deploy PENDING)
43
-
44
- - [x] `handleDpqlRenderExpression()` in `QorusLspWebSocketHandler.qc`:
45
- accepts bare AST or wrapper, optional `expmap`; returns
46
- `{ rendered, richtext }`; stateless (no uri/session).
47
- - [x] `qorus/design/language-server-api-metadata.md` updated.
48
- - [x] **Committed + MR'd (2026-06-11):** qorus branch
49
- `feature/render-expression-lsp`, commit `bccdb971c`, pushed with
50
- `-o ci.skip` (push pipeline skipped; repo has no MR pipelines) —
51
- https://git.qoretechnologies.com/qorus/qorus/-/merge_requests/2103,
52
- assigned to dnichols.
53
- - [x] **Rebuilt + restarted by the user (2026-06-10).** Probe re-run green:
54
- `dpql/renderExpression` returns
55
- `{ rendered: "\"test\".startsWith(\"t\", true)", richtext: … }` for
56
- both the bare AST and the wrapper, with or without `uri`; missing
57
- expression → `-32602`; `and` (not in expmap) → clean `-32803`;
58
- nested `&&` → `("test".startsWith("t", true)) && (5 > 3)`.
59
- Note: qorus-core restarts invalidate session tokens — the probe
60
- script now logs in itself (`admin`, local dev creds).
61
-
62
- ### Phase 2 — reqraft seam swap (DONE)
63
-
64
- - [x] `useRenderExpression`: lazy module-level `LspClient` shared by all
65
- consumers (rides `LspSharedConnection` — same socket as open DPQL
66
- editors); JSON-RPC id association; per-hook leading+trailing ~300ms
67
- debounce; bounded connect wait (1.5s) + 10s fail cooldown; `-32601`
68
- remembered → permanent client-side fallback on old servers;
69
- `serverRendering` flag now reflects the serving path live.
70
- - [x] Public API unchanged (`{ render, serverRendering }`,
71
- `renderExpressionToText` still exported); consumers untouched.
72
-
73
- ### Phase 3 — tests (DONE)
74
-
75
- - [x] `dpqlMockLsp.ts` extended with `dpql/renderExpression`.
76
- - [x] `Foundation.Default` now runs the mock (its `findByText` 1s timeout
77
- is shorter than the offline fallback wait — would have gone flaky).
78
- - [x] NEW `ExpressionField.LiveExplain` story (`tags: ['!test']`,
79
- `parameters: { live: true }`) for verification against :8012.
80
- - [x] **GATE:** eslint clean · `build:test:prod` clean · jest **268/268** ·
81
- expressions play tests **17/17** · full storybook suite **200/201**
82
- (only the pre-existing `FormEngine › OnValidityChange` flaky).
83
-
84
- ### Phase 4 — verification (in progress)
85
-
86
- - [x] Server rebuilt + restarted, step-0 script green (2026-06-10).
87
- - [x] Agent end-to-end check: real chromium on the `LiveExplain` story at
88
- :6011 (storybook pointed at :8012) — WS frames confirmed
89
- `dpql/renderExpression` over the shared socket; preview AND Explain
90
- show `"test".startsWith("t", true)`. The earlier hq-pointed run
91
- doubled as the fallback proof (`-32601` → client-side rendering).
92
- Found+fixed en route: `.storybook/main.ts` never forwarded
93
- `REACT_APP_QORUS_INSTANCE`/`_TOKEN` from the shell, so the documented
94
- live-story flow silently fell back to hq.
95
- - [x] **Styled Explain (2026-06-10, after user feedback):** the builder's
96
- Explain now renders the server's `richtext` (template refs as chips,
97
- via `richtextResponseToSlate` → `RichTextFormField`) — IDE parity;
98
- hook gained additive `renderRich()` (`render` keeps its string
99
- contract); fallback path now shows a muted "Approximate — server
100
- rendering unavailable" tag so the serving path is never ambiguous.
101
- Browser-verified on :6011: chips render, no badge, server text;
102
- gates re-run green (jest 268/268, expressions play 17/17, eslint,
103
- `build:test:prod`).
104
- - [x] **LSP-highlighted Explain + Text-seeding fix (2026-06-10, user
105
- feedback round 2):**
106
- (a) Both Explain surfaces (builder panel + ExpressionField Text-mode
107
- Explanation) now render through a **read-only `DpqlEditor`** —
108
- template-ref chips + LSP semantic-token colours; new
109
- `showDiagnostics` prop on SmartEditor/DpqlEditor suppresses
110
- underlines AND the message panel (the rendering is readable text,
111
- not parseable DPQL — probe confirmed clean tokens but error diags).
112
- Fallback keeps plain rich-text + the "Approximate" tag.
113
- (b) Fixed ExpressionField Text-mode seeding: `enterTextMode` called
114
- `dpqlRef.current.serialize` before the editor mounted (ref null →
115
- silently empty editor); seeding now runs in an effect with a brief
116
- retry until the editor's LSP session is ready; user typing aborts
117
- a late seed. Browser-verified: 7 token colours + 6 chips in the
118
- builder explain, editor seeds `"test" startsWith "t"`, re-seeds on
119
- Visual→Text toggle. Full suite **201/201**, jest 268/268.
120
- - [x] **SERVER BUG found + root-caused (round-trip, case-sensitivity):**
121
- `dpql/serialize` emits infix word operators (`"test" startsWith "t"`)
122
- that `dpql/parse` rejects. Root cause in **qore** qlib
123
- `DataProvider/DpqlParser.qc`: the comparison loop lowercases the
124
- identifier (`string kw = tok.value.lwr();`, ~:964) before the infix
125
- operator lookup `symbol_to_name{kw}` (~:1028), but the map is built
126
- with symbols as-is (`symbol_to_name{"startsWith"}`, ~:136) — hash
127
- lookup is case-sensitive, so camelCase symbols can never match.
128
- PROOF: `"a" like "b"` (lowercase symbol) parses fine through the
129
- same path (`exp=like`); `startsWith("test","t")` function form also
130
- parses (`exp=starts-with`); only infix camelCase fails. The infix
131
- path was added in qore commit `219938f44`. One-line fix in qore:
132
- build the map with lowercased keys (`symbol_to_name{sym.lwr()} =
133
- ename`) — matches DPQL's case-insensitive keywords (BETWEEN/IN).
134
- Affects `startsWith`/`endsWith`/any camelCase-symbol comparison op.
135
- Repo: QoreTechnologies/qore (NOT qorus) — needs qore qlib
136
- reinstall; running copy is `~/omq/qlib/DataProvider/DpqlParser.qc`
137
- (identical to source). Shows as a red diagnostic under the seeded
138
- Text editor in `LiveExplain` until fixed.
139
- **FILED + FIXED (2026-06-11):** issue
140
- https://github.com/qoretechnologies/qore/issues/5348; fix on qore
141
- branch `bugfix/5348-dpql-infix-word-operator-case` (uncommitted,
142
- Nick reinstalls qore himself): lowercased `symbol_to_name` keys +
143
- case-insensitive lookup in `resolveExpressionName()`. Validated
144
- against pure source (the repo qlib carries a stale compiled
145
- `DataProvider.qmod` that qore prefers over source — moved aside for
146
- the test, restored after; ~/omq has no qmod, so plain source
147
- install works): infix `startsWith`/`STARTSWITH` parse to
148
- `starts-with`, function form + `like` unregressed, full
149
- serialize→parse round-trip green.
150
- **DEPLOYED locally 2026-06-11** (Nick reinstalled qore + restarted
151
- core): live `dpql/parse('"test" startsWith "t"')` → success, zero
152
- diagnostics; LiveExplain seeded editor clean (no banner/squiggles),
153
- Explain still server-rendered. The qore branch stays uncommitted;
154
- issue #5348 open until the fix is committed/PR'd upstream.
155
- - [ ] USER browser click-through per `VERIFY.local.md` § "Render-expression
156
- over LSP", incl. IDE :6007 comparison.
157
- - [ ] `/tmp/render-expression-exposure.md` marked resolved (done — outcome
158
- section appended).
159
- - [ ] Commit only after user approval.
@@ -1,176 +0,0 @@
1
- # Reqraft `auto` field — type-picker + polymorphic dispatch
2
-
3
- Phase 1 of the field migration (see
4
- [`design/FORM_ENGINE_FIELD_MIGRATION.md`](../design/FORM_ENGINE_FIELD_MIGRATION.md)).
5
- Ports qorus-ide's `AutoField` polymorphic renderer into Reqraft's
6
- existing `FormField` / `TemplateField` / `FormEngine` stack. This is
7
- the **keystone** — the schema editor (phase 2) and most of the
8
- remaining field gap depend on it.
9
-
10
- **Status:** done pending user verify — implemented 2026-06-09. 8/8 story
11
- play tests pass (run via `test-storybook`), prod typecheck + eslint clean,
12
- verified in an isolated Storybook (picker, type inference, null toggle,
13
- live dropdown→Integer→number field, and the full FormEngine→…→AutoFormField
14
- chain). Uncommitted on `feature/dpql-editor` per the STOP-before-commit rule.
15
-
16
- **Scope:** one new field component + small dispatcher wiring. Delegates
17
- all concrete-type rendering back to the existing `FormField` switch;
18
- does **not** re-implement per-type fields.
19
- **Estimated size:** ~250–350 lines + 1 story file + 1 test file. ~1–2 days.
20
-
21
- ## Reference
22
-
23
- - Source to port: `qorus-frontend/qorus-ide/src/components/Field/auto.tsx`
24
- (type resolution ~`195-268`, type picker ~`933-1014`, soft-types list
25
- ~`945`, null toggle ~`308-317`).
26
- - Reqraft dispatcher: [`src/components/form/fields/Field.tsx`](../src/components/form/fields/Field.tsx)
27
- (the `FormField` switch + `renderAllowedValues`).
28
- - Reqraft type map (two copies to update):
29
- `Field.tsx:34-46` and
30
- [`TemplateField.tsx:49-77`](../src/components/form/fields/template/TemplateField.tsx).
31
- - Existing helper to reuse: `getTypeFromValue` from
32
- `src/helpers/validations` (already imported by `TemplateField`).
33
- - Type-picker UI: reuse `SelectFormField`
34
- (`src/components/form/fields/select/Select.tsx`).
35
-
36
- ## Surface area
37
-
38
- | File | Change |
39
- |---|---|
40
- | `src/components/form/fields/auto/AutoFormField.tsx` | **new** — type-picker, `auto`/`any` resolution, null toggle, delegates concrete render to `FormField` |
41
- | `src/components/form/fields/auto/AutoFormField.stories.tsx` | **new** — picker, inferred-type, null, allowed-values stories |
42
- | `src/components/form/fields/Field.tsx` | add `case 'auto': case 'any':` → `AutoFormField`; stop mapping `auto`→`long-string` |
43
- | `src/components/form/fields/template/TemplateField.tsx` | same map fix so `auto`/`any` no longer collapse to `long-string` |
44
- | `src/components/form/index.tsx` | export `AutoFormField` |
45
- | `src/types/Form.ts` | ensure `'auto'` / `'any'` are valid `TFormFieldType` members (they derive from `TQorusType`; confirm) |
46
- | `__tests__/form/AutoFormField.test.tsx` | **new** — type resolution + picker behaviour |
47
-
48
- ## Items
49
-
50
- ### 1. `AutoFormField` component
51
-
52
- **Decision.** New component that owns *type selection*, then hands the
53
- resolved concrete type to the existing `FormField`. It is the Reqraft
54
- analog of `AutoField` but thin — `FormField` already knows how to
55
- render every concrete type, so `AutoFormField` must not duplicate that
56
- switch.
57
-
58
- **Behaviour.**
59
- - Resolve an internal type: `defaultType` if given, else
60
- `getTypeFromValue(value)`; `auto`/`any` stay unresolved until the
61
- user picks.
62
- - When unresolved (or `allowedTypes.length > 1`), render the
63
- type-picker (item 2), then render the chosen type's field by
64
- delegating to `<FormField type={resolved} value onChange ... />`.
65
- - When resolved, render `<FormField>` directly for that type.
66
- - Reuse `FormField`'s allowed-values rendering rather than
67
- re-implementing it (either render `<FormField>` which already calls
68
- `renderAllowedValues`, or lift the helper — prefer the former).
69
-
70
- **Props.** Mirror the relevant subset of `IAutoFieldProps`:
71
- `type` (`'auto'`/`'any'` or a concrete type), `value`, `onChange`,
72
- `defaultType?`, `allowedTypes?: { name/value }[]`, `canBeNull?`,
73
- `disabled`, `readonly`, `size`, plus the allowed-values props already
74
- on `IFormFieldProps`. **Stub but do not wire** `requestFieldData` /
75
- `type-depends-on` (IDE-only).
76
-
77
- **Surface area.** `AutoFormField.tsx` (~150–200 lines).
78
-
79
- **Tests.** Unit: given `value=42` + `type='auto'` resolves to a number
80
- field; given `defaultType='hash'` renders the hash branch; picking a
81
- type from the picker swaps the rendered sub-field.
82
-
83
- ### 2. Type picker
84
-
85
- **Decision.** A `SelectFormField` of soft types, shown when the type is
86
- `auto`/`any` or `allowedTypes` has >1 entry. Default soft-type list
87
- (from auto.tsx ~`945`):
88
- `bool, softbool, date, string, softstring, binary, float, softfloat,
89
- list, softlist, hash, int, softint, rgbcolor`. When `allowedTypes` is
90
- provided, use it verbatim instead of the soft list.
91
-
92
- **Note.** Soft types (`softint`, `softstring`, …) resolve to their
93
- hard counterpart for *rendering* (a `softint` renders the number
94
- field) but the chosen type is preserved in the emitted value's `type`
95
- metadata, matching qorus-ide. Confirm `FormField` tolerates a `soft*`
96
- type by extending `mapQorusTypeToFormFieldType` (soft* → base type).
97
-
98
- **Surface area.** Inside `AutoFormField.tsx`; small `mapQorus...`
99
- extension for `soft*`.
100
-
101
- **Tests.** Picker visible only for `auto`/`any`/multi-`allowedTypes`;
102
- selecting `int` renders the number field.
103
-
104
- ### 3. Null toggle
105
-
106
- **Decision.** When `canBeNull`, render a "Set as null" / "Unset null"
107
- button (qorus-ide auto.tsx `308-317`). Setting null emits the server's
108
- null sentinel and hides the field; unsetting restores the prior value.
109
-
110
- **Surface area.** `AutoFormField.tsx` (~20 lines).
111
-
112
- **Tests.** Toggle sets/clears null; field hidden while null.
113
-
114
- ### 4. Dispatcher wiring
115
-
116
- **Decision.** Add `case 'auto': case 'any':` to `FormField`'s switch
117
- returning `<AutoFormField ... />`. Fix **both**
118
- `mapQorusTypeToFormFieldType` copies so `auto`/`any` no longer fall
119
- through to `'long-string'`. Because `FormEngine` → `TemplateField` →
120
- `FormField`, schema-driven nested forms gain `auto` with no further
121
- work.
122
-
123
- **Surface area.** `Field.tsx`, `TemplateField.tsx`, `index.tsx` export.
124
-
125
- **Tests.** `FormEngine` story with an options schema containing a field
126
- typed `auto` renders the picker (not a textarea).
127
-
128
- ## Sequencing
129
-
130
- 1. Item 1 (component skeleton, delegates to `FormField`)
131
- 2. Item 2 (type picker) — the core of the value
132
- 3. Item 3 (null toggle) — independent, small
133
- 4. Item 4 (dispatcher wiring + map fix) — last, flips the behaviour on
134
-
135
- ## Tasks
136
-
137
- - [x] `AutoFormField.tsx` — type resolution via `getTypeFromValue` /
138
- `defaultType`; delegates concrete render to `FormField`
139
- - [x] Type picker (`SelectFormField`) with soft-type list; `allowedTypes`
140
- override; gated on `auto`/`any`/multi-type; honours `noSoft`
141
- - [x] `soft*` → base-type handling. In `AutoFormField.getRenderType`
142
- (`softX`→`X`, `binary`→`long-string`) AND, as a later pass, in
143
- `FormField` itself (`renderField` strips the `soft` prefix; `binary`
144
- added to the `long-string` case) and in both `mapQorusTypeToFormFieldType`
145
- copies. So a bare `<FormField type="softint" />` / `type="binary"` now
146
- renders correctly. Stories: `Field.stories.tsx` `SoftInteger` + `Binary`.
147
- - [x] Null toggle gated on `canBeNull`
148
- - [x] `case 'auto': case 'any':` in `FormField`; `auto`/`any` now map to
149
- `'auto'` in both type maps instead of falling through to `long-string`
150
- - [x] Export `AutoFormField` from `form/index.tsx`
151
- - [x] Confirm `'auto'`/`'any'` typecheck as `TFormFieldType`
152
- (`TFormFieldValueType` already maps them to `any`)
153
- - [x] Stories: picker (`Empty`), inferred-from-value (`InferredInteger`,
154
- `InferredText`), concrete (`ConcreteString`), null (`Nullable`),
155
- allowed-types subset, no-soft, and `FormEngine`-with-auto-field
156
- (`ViaFormEngine`)
157
- - [x] Tests: story play tests cover resolution + null + concrete + inference
158
- + the FormEngine chain (run via `test-storybook`, 8/8 pass). No
159
- separate jest file — fields are tested via stories in this repo.
160
- - [x] Prod typecheck, eslint, storybook play tests pass
161
- - [ ] **STOP — user verifies in browser** before commit
162
-
163
- ## Out of scope
164
-
165
- - ~~Bare `soft*` types passed directly to `FormField`/`TemplateField`.~~
166
- **Done** (2026-06-09 follow-up): `FormField.renderField` strips the
167
- `soft` prefix, `binary` was added to the `long-string` case, and both
168
- `mapQorusTypeToFormFieldType` copies strip `soft`. Verified by
169
- `Field.stories.tsx` (`SoftInteger`, `Binary`).
170
- - `type-depends-on` / `requestFieldData` cross-field resolution (IDE-only)
171
- - `data-provider` / `connection` / `InterfaceSelector` branches from
172
- qorus-ide's AutoField (bucket 3)
173
- - Expression/template handling beyond what `TemplateField` already does
174
- - The remaining bucket-1 fields (`byte-size`, `url`, `option_hash`,
175
- `code-editor`, …) — separate task files; several get cheaper once
176
- this lands