@qoretechnologies/reqraft 0.10.66-pr.145.gcb1e59d → 0.10.66

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 (913) hide show
  1. package/README.md +53 -1
  2. package/dist/components/Description/AllowedValuesHelp.d.ts +20 -0
  3. package/dist/components/Description/AllowedValuesHelp.d.ts.map +1 -0
  4. package/dist/components/Description/AllowedValuesHelp.js +86 -0
  5. package/dist/components/Description/AllowedValuesHelp.js.map +1 -0
  6. package/dist/components/Description/describedControl.d.ts +54 -0
  7. package/dist/components/Description/describedControl.d.ts.map +1 -0
  8. package/dist/components/Description/describedControl.js +81 -0
  9. package/dist/components/Description/describedControl.js.map +1 -0
  10. package/dist/components/Description/index.d.ts.map +1 -1
  11. package/dist/components/Description/index.js +3 -2
  12. package/dist/components/Description/index.js.map +1 -1
  13. package/dist/components/colorValue/colorValue.d.ts +59 -0
  14. package/dist/components/colorValue/colorValue.d.ts.map +1 -0
  15. package/dist/components/colorValue/colorValue.js +245 -0
  16. package/dist/components/colorValue/colorValue.js.map +1 -0
  17. package/dist/components/colorValue/index.d.ts +34 -0
  18. package/dist/components/colorValue/index.d.ts.map +1 -0
  19. package/dist/components/colorValue/index.js +136 -0
  20. package/dist/components/colorValue/index.js.map +1 -0
  21. package/dist/components/colorValue/labels.d.ts +12 -0
  22. package/dist/components/colorValue/labels.d.ts.map +1 -0
  23. package/dist/components/colorValue/labels.js +11 -0
  24. package/dist/components/colorValue/labels.js.map +1 -0
  25. package/dist/components/composer/Composer.d.ts +1 -1
  26. package/dist/components/composer/Composer.d.ts.map +1 -1
  27. package/dist/components/composer/Composer.js +2 -2
  28. package/dist/components/composer/Composer.js.map +1 -1
  29. package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/DpqlEditor.js +156 -10
  31. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  32. package/dist/components/dpqlEditor/dpqlCompletions.d.ts +39 -0
  33. package/dist/components/dpqlEditor/dpqlCompletions.d.ts.map +1 -0
  34. package/dist/components/dpqlEditor/dpqlCompletions.js +294 -0
  35. package/dist/components/dpqlEditor/dpqlCompletions.js.map +1 -0
  36. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +54 -5
  37. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  38. package/dist/components/dpqlEditor/dpqlHelpers.js +420 -63
  39. package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
  40. package/dist/components/dpqlEditor/dpqlInserter.d.ts.map +1 -1
  41. package/dist/components/dpqlEditor/dpqlInserter.js +67 -29
  42. package/dist/components/dpqlEditor/dpqlInserter.js.map +1 -1
  43. package/dist/components/dpqlEditor/dpqlTags.d.ts +17 -7
  44. package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
  45. package/dist/components/dpqlEditor/dpqlTags.js +44 -17
  46. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  47. package/dist/components/dpqlEditor/types.d.ts +94 -8
  48. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  49. package/dist/components/dpqlEditor/useDpqlSession.d.ts +7 -2
  50. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  51. package/dist/components/dpqlEditor/useDpqlSession.js +49 -17
  52. package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
  53. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  54. package/dist/components/form/engine/CompactRow.js +336 -243
  55. package/dist/components/form/engine/CompactRow.js.map +1 -1
  56. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  57. package/dist/components/form/engine/CompactToolbar.js +20 -57
  58. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  59. package/dist/components/form/engine/FormEngine.d.ts +67 -59
  60. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  61. package/dist/components/form/engine/FormEngine.js +606 -409
  62. package/dist/components/form/engine/FormEngine.js.map +1 -1
  63. package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
  64. package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
  65. package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
  66. package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
  67. package/dist/components/form/engine/OptionFieldMessages.d.ts +2 -18
  68. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  69. package/dist/components/form/engine/OptionFieldMessages.js +28 -25
  70. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  71. package/dist/components/form/engine/OptionsHelpDialog.d.ts.map +1 -1
  72. package/dist/components/form/engine/OptionsHelpDialog.js +19 -2
  73. package/dist/components/form/engine/OptionsHelpDialog.js.map +1 -1
  74. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
  75. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  76. package/dist/components/form/engine/_structuredData/SchemaDataView.js +11 -31
  77. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  78. package/dist/components/form/engine/compactRowContext.d.ts +30 -6
  79. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  80. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  81. package/dist/components/form/engine/compactRowStyles.d.ts +56 -31
  82. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  83. package/dist/components/form/engine/compactRowStyles.js +121 -110
  84. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  85. package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
  86. package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
  87. package/dist/components/form/engine/compactToolbarColors.js +21 -0
  88. package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
  89. package/dist/components/form/engine/compactToolbarContext.d.ts +0 -3
  90. package/dist/components/form/engine/compactToolbarContext.d.ts.map +1 -1
  91. package/dist/components/form/engine/compactToolbarContext.js.map +1 -1
  92. package/dist/components/form/engine/inheritProps.d.ts +29 -0
  93. package/dist/components/form/engine/inheritProps.d.ts.map +1 -0
  94. package/dist/components/form/engine/inheritProps.js +43 -0
  95. package/dist/components/form/engine/inheritProps.js.map +1 -0
  96. package/dist/components/form/engine/operatorSummary.d.ts +26 -0
  97. package/dist/components/form/engine/operatorSummary.d.ts.map +1 -0
  98. package/dist/components/form/engine/operatorSummary.js +35 -0
  99. package/dist/components/form/engine/operatorSummary.js.map +1 -0
  100. package/dist/components/form/engine/readFirst.d.ts +26 -22
  101. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  102. package/dist/components/form/engine/readFirst.js +79 -115
  103. package/dist/components/form/engine/readFirst.js.map +1 -1
  104. package/dist/components/form/engine/readFirstColors.d.ts +30 -0
  105. package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
  106. package/dist/components/form/engine/readFirstColors.js +51 -0
  107. package/dist/components/form/engine/readFirstColors.js.map +1 -0
  108. package/dist/components/form/engine/rowFocus.d.ts +3 -9
  109. package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
  110. package/dist/components/form/engine/rowFocus.js +30 -19
  111. package/dist/components/form/engine/rowFocus.js.map +1 -1
  112. package/dist/components/form/engine/typeChoices.d.ts +1 -1
  113. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
  114. package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
  115. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
  116. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
  117. package/dist/components/form/engine/variants/VariantCards.js +2 -1
  118. package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
  119. package/dist/components/form/engine/variants/VariantFocus.js +1 -1
  120. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
  121. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
  122. package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
  123. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
  124. package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
  125. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
  126. package/dist/components/form/engine/variants/variantParts.js +25 -17
  127. package/dist/components/form/engine/variants/variantParts.js.map +1 -1
  128. package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
  129. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
  130. package/dist/components/form/expressions/DpqlRendering.js +7 -6
  131. package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
  132. package/dist/components/form/expressions/ExpressionField.d.ts +67 -3
  133. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  134. package/dist/components/form/expressions/ExpressionField.js +536 -114
  135. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  136. package/dist/components/form/expressions/argumentPresence.d.ts +14 -0
  137. package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -1
  138. package/dist/components/form/expressions/argumentPresence.js +16 -1
  139. package/dist/components/form/expressions/argumentPresence.js.map +1 -1
  140. package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
  141. package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
  142. package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
  143. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  144. package/dist/components/form/expressions/builder/argumentLabel.js +30 -11
  145. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  146. package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
  147. package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
  148. package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
  149. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts +9 -0
  150. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
  151. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +30 -27
  152. package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
  153. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
  154. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
  155. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +7 -5
  156. package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
  157. package/dist/components/form/expressions/builder/index.d.ts +34 -2
  158. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  159. package/dist/components/form/expressions/builder/index.js +170 -80
  160. package/dist/components/form/expressions/builder/index.js.map +1 -1
  161. package/dist/components/form/expressions/builder/item.d.ts +6 -2
  162. package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
  163. package/dist/components/form/expressions/builder/item.js +19 -5
  164. package/dist/components/form/expressions/builder/item.js.map +1 -1
  165. package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
  166. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  167. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
  168. package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
  169. package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
  170. package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
  171. package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
  172. package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
  173. package/dist/components/form/expressions/expressionOperands.js +97 -0
  174. package/dist/components/form/expressions/expressionOperands.js.map +1 -0
  175. package/dist/components/form/expressions/fieldPath.d.ts +24 -0
  176. package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
  177. package/dist/components/form/expressions/fieldPath.js +152 -0
  178. package/dist/components/form/expressions/fieldPath.js.map +1 -0
  179. package/dist/components/form/expressions/loneValue.d.ts +17 -0
  180. package/dist/components/form/expressions/loneValue.d.ts.map +1 -0
  181. package/dist/components/form/expressions/loneValue.js +33 -0
  182. package/dist/components/form/expressions/loneValue.js.map +1 -0
  183. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  184. package/dist/components/form/expressions/mockExpressions.js +22 -5
  185. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  186. package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
  187. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  188. package/dist/components/form/expressions/renderExpressionToText.js +37 -25
  189. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  190. package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
  191. package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
  192. package/dist/components/form/expressions/textOfExpression.js +49 -0
  193. package/dist/components/form/expressions/textOfExpression.js.map +1 -0
  194. package/dist/components/form/expressions/types.d.ts +12 -0
  195. package/dist/components/form/expressions/types.d.ts.map +1 -1
  196. package/dist/components/form/expressions/types.js +6 -1
  197. package/dist/components/form/expressions/types.js.map +1 -1
  198. package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
  199. package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
  200. package/dist/components/form/expressions/useExpressionType.js +181 -0
  201. package/dist/components/form/expressions/useExpressionType.js.map +1 -0
  202. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  203. package/dist/components/form/expressions/useRenderExpression.js +13 -9
  204. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  205. package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
  206. package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
  207. package/dist/components/form/expressions/wildcardExpressions.js +101 -0
  208. package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
  209. package/dist/components/form/fields/Field.d.ts.map +1 -1
  210. package/dist/components/form/fields/Field.js +39 -18
  211. package/dist/components/form/fields/Field.js.map +1 -1
  212. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts +0 -7
  213. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  214. package/dist/components/form/fields/allowed-values/AllowedValues.js +46 -35
  215. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  216. package/dist/components/form/fields/allowed-values/choicePicture.d.ts +37 -0
  217. package/dist/components/form/fields/allowed-values/choicePicture.d.ts.map +1 -0
  218. package/dist/components/form/fields/allowed-values/choicePicture.js +64 -0
  219. package/dist/components/form/fields/allowed-values/choicePicture.js.map +1 -0
  220. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  221. package/dist/components/form/fields/array/ArrayAuto.js +24 -0
  222. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  223. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  224. package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
  225. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  226. package/dist/components/form/fields/auto/AutoFormField.d.ts +30 -1
  227. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  228. package/dist/components/form/fields/auto/AutoFormField.js +123 -79
  229. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  230. package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
  231. package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
  232. package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
  233. package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
  234. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  235. package/dist/components/form/fields/binary/Binary.js +23 -3
  236. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  237. package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
  238. package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
  239. package/dist/components/form/fields/boolean/Boolean.js +9 -1
  240. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  241. package/dist/components/form/fields/color/Color.d.ts +103 -16
  242. package/dist/components/form/fields/color/Color.d.ts.map +1 -1
  243. package/dist/components/form/fields/color/Color.js +616 -16
  244. package/dist/components/form/fields/color/Color.js.map +1 -1
  245. package/dist/components/form/fields/emittedValues.d.ts +34 -3
  246. package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
  247. package/dist/components/form/fields/emittedValues.js +24 -1
  248. package/dist/components/form/fields/emittedValues.js.map +1 -1
  249. package/dist/components/form/fields/file/File.d.ts +1 -1
  250. package/dist/components/form/fields/file/File.d.ts.map +1 -1
  251. package/dist/components/form/fields/file/File.js +4 -2
  252. package/dist/components/form/fields/file/File.js.map +1 -1
  253. package/dist/components/form/fields/long-string/LongString.d.ts +1 -7
  254. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  255. package/dist/components/form/fields/long-string/LongString.js +30 -13
  256. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  257. package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
  258. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  259. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +10 -7
  260. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  261. package/dist/components/form/fields/number/Number.d.ts +7 -4
  262. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  263. package/dist/components/form/fields/number/Number.js +45 -18
  264. package/dist/components/form/fields/number/Number.js.map +1 -1
  265. package/dist/components/form/fields/object/Object.d.ts +1 -1
  266. package/dist/components/form/fields/object/Object.d.ts.map +1 -1
  267. package/dist/components/form/fields/object/Object.js +4 -2
  268. package/dist/components/form/fields/object/Object.js.map +1 -1
  269. package/dist/components/form/fields/pendingEdit.d.ts +52 -0
  270. package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
  271. package/dist/components/form/fields/pendingEdit.js +79 -0
  272. package/dist/components/form/fields/pendingEdit.js.map +1 -0
  273. package/dist/components/form/fields/radio-group/RadioGroup.d.ts.map +1 -1
  274. package/dist/components/form/fields/radio-group/RadioGroup.js +8 -13
  275. package/dist/components/form/fields/radio-group/RadioGroup.js.map +1 -1
  276. package/dist/components/form/fields/rich-text/RichText.d.ts +20 -1
  277. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  278. package/dist/components/form/fields/rich-text/RichText.js +426 -91
  279. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  280. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
  281. package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
  282. package/dist/components/form/fields/rich-text/useTemplateTags.js +80 -0
  283. package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
  284. package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
  285. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
  286. package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
  287. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
  288. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
  289. package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
  290. package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
  291. package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
  292. package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
  293. package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
  294. package/dist/components/form/fields/schema-definition/index.js +8 -4
  295. package/dist/components/form/fields/schema-definition/index.js.map +1 -1
  296. package/dist/components/form/fields/select/Select.d.ts +10 -1
  297. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  298. package/dist/components/form/fields/select/Select.js +28 -14
  299. package/dist/components/form/fields/select/Select.js.map +1 -1
  300. package/dist/components/form/fields/select/SelectCollection.d.ts +5 -0
  301. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  302. package/dist/components/form/fields/select/SelectCollection.js +25 -12
  303. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  304. package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
  305. package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
  306. package/dist/components/form/fields/select/unavailableRow.js +55 -0
  307. package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
  308. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
  309. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  310. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +21 -5
  311. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  312. package/dist/components/form/fields/template/TemplateBrowser.d.ts +16 -0
  313. package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
  314. package/dist/components/form/fields/template/TemplateBrowser.js +89 -0
  315. package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
  316. package/dist/components/form/fields/template/TemplateField.d.ts +105 -1
  317. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  318. package/dist/components/form/fields/template/TemplateField.js +706 -168
  319. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  320. package/dist/components/form/fields/template/TemplatePicker.d.ts +54 -0
  321. package/dist/components/form/fields/template/TemplatePicker.d.ts.map +1 -0
  322. package/dist/components/form/fields/template/TemplatePicker.js +459 -0
  323. package/dist/components/form/fields/template/TemplatePicker.js.map +1 -0
  324. package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
  325. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
  326. package/dist/components/form/fields/template/TemplateText.js +22 -16
  327. package/dist/components/form/fields/template/TemplateText.js.map +1 -1
  328. package/dist/components/form/fields/template/referenceNames.d.ts +63 -0
  329. package/dist/components/form/fields/template/referenceNames.d.ts.map +1 -0
  330. package/dist/components/form/fields/template/referenceNames.js +69 -0
  331. package/dist/components/form/fields/template/referenceNames.js.map +1 -0
  332. package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
  333. package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
  334. package/dist/components/form/fields/template/writtenAsText.js +204 -0
  335. package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
  336. package/dist/components/form/index.d.ts +12 -2
  337. package/dist/components/form/index.d.ts.map +1 -1
  338. package/dist/components/form/index.js +25 -3
  339. package/dist/components/form/index.js.map +1 -1
  340. package/dist/components/form/typeSentenceForm.d.ts +17 -0
  341. package/dist/components/form/typeSentenceForm.d.ts.map +1 -0
  342. package/dist/components/form/typeSentenceForm.js +54 -0
  343. package/dist/components/form/typeSentenceForm.js.map +1 -0
  344. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
  345. package/dist/components/imageLightbox/ImageLightbox.js +19 -9
  346. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
  347. package/dist/components/log/Log.d.ts.map +1 -1
  348. package/dist/components/log/Log.js +20 -8
  349. package/dist/components/log/Log.js.map +1 -1
  350. package/dist/components/menu/Menu.d.ts.map +1 -1
  351. package/dist/components/menu/Menu.js +19 -10
  352. package/dist/components/menu/Menu.js.map +1 -1
  353. package/dist/components/smartEditor/CompletionMenu.d.ts +53 -0
  354. package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
  355. package/dist/components/smartEditor/CompletionMenu.js +302 -0
  356. package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
  357. package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
  358. package/dist/components/smartEditor/MarkdownDoc.js +3 -3
  359. package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
  360. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  361. package/dist/components/smartEditor/SmartEditor.js +616 -190
  362. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  363. package/dist/components/smartEditor/completionStyle.d.ts +28 -0
  364. package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
  365. package/dist/components/smartEditor/completionStyle.js +79 -0
  366. package/dist/components/smartEditor/completionStyle.js.map +1 -0
  367. package/dist/components/smartEditor/contextTitle.d.ts +10 -0
  368. package/dist/components/smartEditor/contextTitle.d.ts.map +1 -0
  369. package/dist/components/smartEditor/contextTitle.js +21 -0
  370. package/dist/components/smartEditor/contextTitle.js.map +1 -0
  371. package/dist/components/smartEditor/editingAids.d.ts +64 -0
  372. package/dist/components/smartEditor/editingAids.d.ts.map +1 -0
  373. package/dist/components/smartEditor/editingAids.js +213 -0
  374. package/dist/components/smartEditor/editingAids.js.map +1 -0
  375. package/dist/components/smartEditor/index.d.ts +6 -1
  376. package/dist/components/smartEditor/index.d.ts.map +1 -1
  377. package/dist/components/smartEditor/index.js +19 -1
  378. package/dist/components/smartEditor/index.js.map +1 -1
  379. package/dist/components/smartEditor/templateCompletions.d.ts +98 -0
  380. package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
  381. package/dist/components/smartEditor/templateCompletions.js +380 -0
  382. package/dist/components/smartEditor/templateCompletions.js.map +1 -0
  383. package/dist/components/smartEditor/typedReferences.d.ts +34 -0
  384. package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
  385. package/dist/components/smartEditor/typedReferences.js +179 -0
  386. package/dist/components/smartEditor/typedReferences.js.map +1 -0
  387. package/dist/components/smartEditor/types.d.ts +116 -2
  388. package/dist/components/smartEditor/types.d.ts.map +1 -1
  389. package/dist/components/smartEditor/useEditingAids.d.ts +38 -0
  390. package/dist/components/smartEditor/useEditingAids.d.ts.map +1 -0
  391. package/dist/components/smartEditor/useEditingAids.js +392 -0
  392. package/dist/components/smartEditor/useEditingAids.js.map +1 -0
  393. package/dist/components/smartEditor/useLspAutocomplete.d.ts +106 -3
  394. package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
  395. package/dist/components/smartEditor/useLspAutocomplete.js +592 -149
  396. package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
  397. package/dist/components/smartEditor/useLspHover.d.ts +33 -7
  398. package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
  399. package/dist/components/smartEditor/useLspHover.js +364 -35
  400. package/dist/components/smartEditor/useLspHover.js.map +1 -1
  401. package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
  402. package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
  403. package/dist/components/smartEditor/useLspSession.d.ts +6 -0
  404. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  405. package/dist/components/smartEditor/useLspSession.js +7 -6
  406. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  407. package/dist/components/smartEditor/useLspSignatureHelp.d.ts.map +1 -1
  408. package/dist/components/smartEditor/useLspSignatureHelp.js +6 -11
  409. package/dist/components/smartEditor/useLspSignatureHelp.js.map +1 -1
  410. package/dist/components/smartEditor/useTabCameIn.d.ts +10 -0
  411. package/dist/components/smartEditor/useTabCameIn.d.ts.map +1 -0
  412. package/dist/components/smartEditor/useTabCameIn.js +42 -0
  413. package/dist/components/smartEditor/useTabCameIn.js.map +1 -0
  414. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
  415. package/dist/components/supportTicket/AttachmentChips.js +15 -5
  416. package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
  417. package/dist/components/supportTicket/InterfaceReferenceTags.d.ts +2 -3
  418. package/dist/components/supportTicket/InterfaceReferenceTags.d.ts.map +1 -1
  419. package/dist/components/supportTicket/InterfaceReferenceTags.js.map +1 -1
  420. package/dist/components/supportTicket/ReferencePicker.d.ts +9 -3
  421. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  422. package/dist/components/supportTicket/ReferencePicker.js +38 -23
  423. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  424. package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
  425. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
  426. package/dist/components/supportTicket/TicketHeader.js +21 -6
  427. package/dist/components/supportTicket/TicketHeader.js.map +1 -1
  428. package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
  429. package/dist/components/supportTicket/TicketReplyBox.d.ts.map +1 -1
  430. package/dist/components/supportTicket/TicketReplyBox.js +10 -29
  431. package/dist/components/supportTicket/TicketReplyBox.js.map +1 -1
  432. package/dist/components/supportTicket/useLoadedImages.d.ts +0 -10
  433. package/dist/components/supportTicket/useLoadedImages.d.ts.map +1 -1
  434. package/dist/components/supportTicket/useLoadedImages.js +1 -63
  435. package/dist/components/supportTicket/useLoadedImages.js.map +1 -1
  436. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  437. package/dist/components/ticketReferences/TicketReferences.js +10 -9
  438. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  439. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  440. package/dist/components/ticketThread/TicketThread.js +52 -21
  441. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  442. package/dist/helpers/allowedValues.d.ts +21 -12
  443. package/dist/helpers/allowedValues.d.ts.map +1 -1
  444. package/dist/helpers/allowedValues.js +40 -20
  445. package/dist/helpers/allowedValues.js.map +1 -1
  446. package/dist/helpers/descriptionTooltip.d.ts +46 -0
  447. package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
  448. package/dist/helpers/descriptionTooltip.js +76 -0
  449. package/dist/helpers/descriptionTooltip.js.map +1 -0
  450. package/dist/helpers/domProps.d.ts +5 -0
  451. package/dist/helpers/domProps.d.ts.map +1 -0
  452. package/dist/helpers/domProps.js +47 -0
  453. package/dist/helpers/domProps.js.map +1 -0
  454. package/dist/helpers/expressions.d.ts +115 -4
  455. package/dist/helpers/expressions.d.ts.map +1 -1
  456. package/dist/helpers/expressions.js +247 -29
  457. package/dist/helpers/expressions.js.map +1 -1
  458. package/dist/helpers/hoveringPointer.d.ts +26 -0
  459. package/dist/helpers/hoveringPointer.d.ts.map +1 -0
  460. package/dist/helpers/hoveringPointer.js +29 -0
  461. package/dist/helpers/hoveringPointer.js.map +1 -0
  462. package/dist/helpers/markdownText.d.ts +14 -0
  463. package/dist/helpers/markdownText.d.ts.map +1 -0
  464. package/dist/helpers/markdownText.js +160 -0
  465. package/dist/helpers/markdownText.js.map +1 -0
  466. package/dist/helpers/noDescription.d.ts +9 -0
  467. package/dist/helpers/noDescription.d.ts.map +1 -0
  468. package/dist/helpers/noDescription.js +13 -0
  469. package/dist/helpers/noDescription.js.map +1 -0
  470. package/dist/helpers/optionUiTypes.d.ts +2 -2
  471. package/dist/helpers/qorusTypeCatalogue.d.ts +147 -0
  472. package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
  473. package/dist/helpers/qorusTypeCatalogue.js +505 -0
  474. package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
  475. package/dist/helpers/readableColors.d.ts +36 -0
  476. package/dist/helpers/readableColors.d.ts.map +1 -0
  477. package/dist/helpers/readableColors.js +116 -0
  478. package/dist/helpers/readableColors.js.map +1 -0
  479. package/dist/helpers/recordFieldReference.d.ts +15 -0
  480. package/dist/helpers/recordFieldReference.d.ts.map +1 -0
  481. package/dist/helpers/recordFieldReference.js +89 -0
  482. package/dist/helpers/recordFieldReference.js.map +1 -0
  483. package/dist/helpers/singleLineString.d.ts.map +1 -1
  484. package/dist/helpers/singleLineString.js +0 -1
  485. package/dist/helpers/singleLineString.js.map +1 -1
  486. package/dist/helpers/templateCatalogue.d.ts +104 -0
  487. package/dist/helpers/templateCatalogue.d.ts.map +1 -0
  488. package/dist/helpers/templateCatalogue.js +116 -0
  489. package/dist/helpers/templateCatalogue.js.map +1 -0
  490. package/dist/helpers/templateCatalogueContext.d.ts +19 -0
  491. package/dist/helpers/templateCatalogueContext.d.ts.map +1 -0
  492. package/dist/helpers/templateCatalogueContext.js +31 -0
  493. package/dist/helpers/templateCatalogueContext.js.map +1 -0
  494. package/dist/helpers/templateItems.d.ts +2 -2
  495. package/dist/helpers/templateItems.d.ts.map +1 -1
  496. package/dist/helpers/templateItems.js +6 -4
  497. package/dist/helpers/templateItems.js.map +1 -1
  498. package/dist/helpers/templateText.d.ts +1 -0
  499. package/dist/helpers/templateText.d.ts.map +1 -1
  500. package/dist/helpers/templateText.js +7 -3
  501. package/dist/helpers/templateText.js.map +1 -1
  502. package/dist/helpers/templateTree.d.ts +248 -0
  503. package/dist/helpers/templateTree.d.ts.map +1 -0
  504. package/dist/helpers/templateTree.js +892 -0
  505. package/dist/helpers/templateTree.js.map +1 -0
  506. package/dist/helpers/templateType.d.ts +28 -0
  507. package/dist/helpers/templateType.d.ts.map +1 -0
  508. package/dist/helpers/templateType.js +30 -0
  509. package/dist/helpers/templateType.js.map +1 -0
  510. package/dist/helpers/templates.d.ts +86 -16
  511. package/dist/helpers/templates.d.ts.map +1 -1
  512. package/dist/helpers/templates.js +305 -45
  513. package/dist/helpers/templates.js.map +1 -1
  514. package/dist/helpers/validations.d.ts +27 -0
  515. package/dist/helpers/validations.d.ts.map +1 -1
  516. package/dist/helpers/validations.js +169 -39
  517. package/dist/helpers/validations.js.map +1 -1
  518. package/dist/helpers/webLink.d.ts +8 -0
  519. package/dist/helpers/webLink.d.ts.map +1 -0
  520. package/dist/helpers/webLink.js +29 -0
  521. package/dist/helpers/webLink.js.map +1 -0
  522. package/dist/hooks/useQorusTypes.d.ts +12 -17
  523. package/dist/hooks/useQorusTypes.d.ts.map +1 -1
  524. package/dist/hooks/useQorusTypes.js +44 -172
  525. package/dist/hooks/useQorusTypes.js.map +1 -1
  526. package/dist/hooks/useReadableIntentShade.d.ts +9 -0
  527. package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
  528. package/dist/hooks/useReadableIntentShade.js +23 -0
  529. package/dist/hooks/useReadableIntentShade.js.map +1 -0
  530. package/dist/hooks/useReadableOpacity.d.ts +6 -0
  531. package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
  532. package/dist/hooks/useReadableOpacity.js +17 -0
  533. package/dist/hooks/useReadableOpacity.js.map +1 -0
  534. package/dist/index.d.ts +8 -0
  535. package/dist/index.d.ts.map +1 -1
  536. package/dist/index.js +24 -1
  537. package/dist/index.js.map +1 -1
  538. package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
  539. package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
  540. package/dist/tracking/ui/ExperimentCard.js +26 -10
  541. package/dist/tracking/ui/ExperimentCard.js.map +1 -1
  542. package/dist/tracking/ui/card.d.ts +2 -2
  543. package/dist/tracking/ui/card.d.ts.map +1 -1
  544. package/dist/tracking/ui/card.js +2 -2
  545. package/dist/tracking/ui/card.js.map +1 -1
  546. package/dist/tracking/ui/readable.d.ts +14 -0
  547. package/dist/tracking/ui/readable.d.ts.map +1 -0
  548. package/dist/tracking/ui/readable.js +60 -0
  549. package/dist/tracking/ui/readable.js.map +1 -0
  550. package/dist/utils/fetch.d.ts +9 -2
  551. package/dist/utils/fetch.d.ts.map +1 -1
  552. package/dist/utils/fetch.js +6 -5
  553. package/dist/utils/fetch.js.map +1 -1
  554. package/dist/utils/lspClient.types.d.ts +2 -0
  555. package/dist/utils/lspClient.types.d.ts.map +1 -1
  556. package/dist/utils/websocket.d.ts +65 -2
  557. package/dist/utils/websocket.d.ts.map +1 -1
  558. package/dist/utils/websocket.js +276 -44
  559. package/dist/utils/websocket.js.map +1 -1
  560. package/package.json +14 -6
  561. package/.claude/CLAUDE.md +0 -317
  562. package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
  563. package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
  564. package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
  565. package/.tasks/FIELD_STACK_REPORT.md +0 -234
  566. package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
  567. package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
  568. package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
  569. package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
  570. package/.tasks/INDEX.md +0 -111
  571. package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
  572. package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
  573. package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
  574. package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
  575. package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
  576. package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
  577. package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
  578. package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
  579. package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
  580. package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
  581. package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
  582. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
  583. package/CODE_OF_CONDUCT.md +0 -105
  584. package/CONTRIBUTING.MD +0 -78
  585. package/SECURITY.md +0 -3
  586. package/chromatic.config.json +0 -5
  587. package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
  588. package/design/COMPACT_INFO_DISPLAY.md +0 -87
  589. package/design/COMPACT_PARITY.md +0 -85
  590. package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
  591. package/design/FORM_ENGINE_COMPACT.md +0 -300
  592. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
  593. package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
  594. package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
  595. package/design/IDE_INTEGRATION.md +0 -64
  596. package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
  597. package/design/SELECT_DIALOG_FLOOR.md +0 -86
  598. package/design/SMART_EDITOR_UX.md +0 -438
  599. package/design/TRACKING.md +0 -290
  600. package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
  601. package/dist/components/form/engine/formAppearance.d.ts +0 -49
  602. package/dist/components/form/engine/formAppearance.d.ts.map +0 -1
  603. package/dist/components/form/engine/formAppearance.js +0 -50
  604. package/dist/components/form/engine/formAppearance.js.map +0 -1
  605. package/dist/components/form/fields/ChoiceGroupHeading.d.ts +0 -21
  606. package/dist/components/form/fields/ChoiceGroupHeading.d.ts.map +0 -1
  607. package/dist/components/form/fields/ChoiceGroupHeading.js +0 -33
  608. package/dist/components/form/fields/ChoiceGroupHeading.js.map +0 -1
  609. package/dist/components/form/fields/allowed-values/savedValues.d.ts +0 -30
  610. package/dist/components/form/fields/allowed-values/savedValues.d.ts.map +0 -1
  611. package/dist/components/form/fields/allowed-values/savedValues.js +0 -39
  612. package/dist/components/form/fields/allowed-values/savedValues.js.map +0 -1
  613. package/dist/helpers/fieldDescription.d.ts +0 -16
  614. package/dist/helpers/fieldDescription.d.ts.map +0 -1
  615. package/dist/helpers/fieldDescription.js +0 -40
  616. package/dist/helpers/fieldDescription.js.map +0 -1
  617. package/src/components/Description/index.tsx +0 -254
  618. package/src/components/Description/markdownRendererContext.tsx +0 -29
  619. package/src/components/FocusedEditing/index.tsx +0 -50
  620. package/src/components/codeSize/index.tsx +0 -79
  621. package/src/components/composer/Composer.stories.tsx +0 -238
  622. package/src/components/composer/Composer.tsx +0 -554
  623. package/src/components/composer/helpers.ts +0 -74
  624. package/src/components/composer/index.ts +0 -2
  625. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
  626. package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
  627. package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
  628. package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
  629. package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
  630. package/src/components/dpqlEditor/dpqlTags.ts +0 -114
  631. package/src/components/dpqlEditor/index.ts +0 -41
  632. package/src/components/dpqlEditor/types.ts +0 -203
  633. package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
  634. package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
  635. package/src/components/form/engine/CompactRow.tsx +0 -2740
  636. package/src/components/form/engine/CompactToolbar.tsx +0 -399
  637. package/src/components/form/engine/FormEngine.stories.tsx +0 -9934
  638. package/src/components/form/engine/FormEngine.tsx +0 -4891
  639. package/src/components/form/engine/FormEngineAppearance.stories.tsx +0 -609
  640. package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
  641. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -335
  642. package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
  643. package/src/components/form/engine/OptionFieldMessages.tsx +0 -548
  644. package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
  645. package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
  646. package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
  647. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
  648. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -755
  649. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
  650. package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
  651. package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
  652. package/src/components/form/engine/compactRowContext.ts +0 -153
  653. package/src/components/form/engine/compactRowStyles.ts +0 -1087
  654. package/src/components/form/engine/compactToolbarContext.ts +0 -72
  655. package/src/components/form/engine/formAppearance.ts +0 -79
  656. package/src/components/form/engine/optionActions.ts +0 -128
  657. package/src/components/form/engine/optionsContext.ts +0 -24
  658. package/src/components/form/engine/readFirst.ts +0 -1090
  659. package/src/components/form/engine/rendererTypes.ts +0 -107
  660. package/src/components/form/engine/revealRow.ts +0 -123
  661. package/src/components/form/engine/rowFocus.ts +0 -112
  662. package/src/components/form/engine/rowMenuContext.ts +0 -159
  663. package/src/components/form/engine/rowOpenPicker.ts +0 -27
  664. package/src/components/form/engine/typeChoices.ts +0 -63
  665. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
  666. package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
  667. package/src/components/form/engine/variants/VariantCards.tsx +0 -212
  668. package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
  669. package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
  670. package/src/components/form/engine/variants/focusDemo.ts +0 -145
  671. package/src/components/form/engine/variants/variantModel.ts +0 -223
  672. package/src/components/form/engine/variants/variantParts.tsx +0 -313
  673. package/src/components/form/expressions/DpqlRendering.tsx +0 -85
  674. package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
  675. package/src/components/form/expressions/ExpressionField.tsx +0 -503
  676. package/src/components/form/expressions/argumentPresence.ts +0 -213
  677. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
  678. package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
  679. package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
  680. package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
  681. package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
  682. package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
  683. package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
  684. package/src/components/form/expressions/builder/index.tsx +0 -1545
  685. package/src/components/form/expressions/builder/item.tsx +0 -89
  686. package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
  687. package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
  688. package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
  689. package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
  690. package/src/components/form/expressions/mockExpressions.ts +0 -317
  691. package/src/components/form/expressions/renderExpressionToText.ts +0 -152
  692. package/src/components/form/expressions/types.ts +0 -110
  693. package/src/components/form/expressions/useExpressions.ts +0 -101
  694. package/src/components/form/expressions/useRenderExpression.ts +0 -165
  695. package/src/components/form/fields/ChoiceGroupHeading.tsx +0 -38
  696. package/src/components/form/fields/Field.stories.tsx +0 -143
  697. package/src/components/form/fields/Field.tsx +0 -734
  698. package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -321
  699. package/src/components/form/fields/allowed-values/savedValues.ts +0 -64
  700. package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
  701. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
  702. package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
  703. package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
  704. package/src/components/form/fields/auto/AutoFormField.tsx +0 -1183
  705. package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
  706. package/src/components/form/fields/binary/Binary.tsx +0 -91
  707. package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
  708. package/src/components/form/fields/boolean/Boolean.tsx +0 -34
  709. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
  710. package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
  711. package/src/components/form/fields/color/Color.stories.tsx +0 -99
  712. package/src/components/form/fields/color/Color.tsx +0 -46
  713. package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
  714. package/src/components/form/fields/cron/Cron.tsx +0 -80
  715. package/src/components/form/fields/date/Date.stories.tsx +0 -77
  716. package/src/components/form/fields/date/Date.tsx +0 -55
  717. package/src/components/form/fields/emittedValues.ts +0 -70
  718. package/src/components/form/fields/file/File.stories.tsx +0 -161
  719. package/src/components/form/fields/file/File.tsx +0 -227
  720. package/src/components/form/fields/long-string/LongString.stories.tsx +0 -147
  721. package/src/components/form/fields/long-string/LongString.tsx +0 -141
  722. package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
  723. package/src/components/form/fields/markdown/Markdown.tsx +0 -81
  724. package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
  725. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -140
  726. package/src/components/form/fields/number/Number.stories.tsx +0 -159
  727. package/src/components/form/fields/number/Number.tsx +0 -175
  728. package/src/components/form/fields/object/Object.stories.tsx +0 -398
  729. package/src/components/form/fields/object/Object.tsx +0 -255
  730. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
  731. package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -52
  732. package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
  733. package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
  734. package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
  735. package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
  736. package/src/components/form/fields/rich-text/RichText.tsx +0 -537
  737. package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
  738. package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
  739. package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
  740. package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
  741. package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
  742. package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
  743. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
  744. package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
  745. package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
  746. package/src/components/form/fields/schema-definition/catalog.ts +0 -237
  747. package/src/components/form/fields/schema-definition/helpers.ts +0 -90
  748. package/src/components/form/fields/schema-definition/index.tsx +0 -418
  749. package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
  750. package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
  751. package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
  752. package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
  753. package/src/components/form/fields/schema-definition/types.ts +0 -185
  754. package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
  755. package/src/components/form/fields/select/Select.stories.tsx +0 -872
  756. package/src/components/form/fields/select/Select.tsx +0 -624
  757. package/src/components/form/fields/select/SelectCollection.tsx +0 -594
  758. package/src/components/form/fields/string/String.stories.tsx +0 -86
  759. package/src/components/form/fields/string/String.tsx +0 -43
  760. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
  761. package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
  762. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
  763. package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
  764. package/src/components/form/fields/template/TemplateField.tsx +0 -1749
  765. package/src/components/form/fields/template/TemplateText.tsx +0 -115
  766. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
  767. package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
  768. package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
  769. package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
  770. package/src/components/form/fields/timeout/Timeout.tsx +0 -87
  771. package/src/components/form/fields/url/Url.stories.tsx +0 -94
  772. package/src/components/form/fields/url/Url.tsx +0 -85
  773. package/src/components/form/index.tsx +0 -49
  774. package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
  775. package/src/components/imageLightbox/ImageLightbox.tsx +0 -238
  776. package/src/components/imageLightbox/index.ts +0 -1
  777. package/src/components/log/Log.stories.tsx +0 -333
  778. package/src/components/log/Log.tsx +0 -285
  779. package/src/components/menu/Menu.stories.tsx +0 -155
  780. package/src/components/menu/Menu.tsx +0 -312
  781. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
  782. package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
  783. package/src/components/qonsoleSmartInput/index.ts +0 -16
  784. package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
  785. package/src/components/qonsoleSmartInput/types.ts +0 -133
  786. package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
  787. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
  788. package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
  789. package/src/components/searchFilterBar/index.ts +0 -1
  790. package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
  791. package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
  792. package/src/components/smartEditor/SmartEditor.tsx +0 -808
  793. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
  794. package/src/components/smartEditor/helpers.ts +0 -217
  795. package/src/components/smartEditor/index.ts +0 -35
  796. package/src/components/smartEditor/styling.ts +0 -45
  797. package/src/components/smartEditor/types.ts +0 -211
  798. package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
  799. package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
  800. package/src/components/smartEditor/useLspHover.ts +0 -230
  801. package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
  802. package/src/components/smartEditor/useLspSession.ts +0 -231
  803. package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
  804. package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
  805. package/src/components/supportTicket/AttachmentChips.tsx +0 -147
  806. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
  807. package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -130
  808. package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -580
  809. package/src/components/supportTicket/ReferencePicker.tsx +0 -573
  810. package/src/components/supportTicket/TicketConversation.stories.tsx +0 -120
  811. package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
  812. package/src/components/supportTicket/TicketHeader.tsx +0 -248
  813. package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
  814. package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
  815. package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -357
  816. package/src/components/supportTicket/TicketReplyBox.tsx +0 -172
  817. package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
  818. package/src/components/supportTicket/attachmentAccess.ts +0 -97
  819. package/src/components/supportTicket/fileToAttachment.ts +0 -24
  820. package/src/components/supportTicket/index.ts +0 -10
  821. package/src/components/supportTicket/meta.ts +0 -206
  822. package/src/components/supportTicket/ticketModel.ts +0 -131
  823. package/src/components/supportTicket/useLoadedImages.ts +0 -93
  824. package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -341
  825. package/src/components/ticketReferences/TicketReferences.tsx +0 -914
  826. package/src/components/ticketReferences/index.ts +0 -2
  827. package/src/components/ticketThread/TicketThread.stories.tsx +0 -898
  828. package/src/components/ticketThread/TicketThread.tsx +0 -706
  829. package/src/components/ticketThread/index.ts +0 -6
  830. package/src/contexts/FetchContext.tsx +0 -25
  831. package/src/contexts/ReqraftContext.tsx +0 -9
  832. package/src/contexts/StorageContext.tsx +0 -33
  833. package/src/global.d.ts +0 -4
  834. package/src/helpers/allowedValues.ts +0 -268
  835. package/src/helpers/choiceChip.ts +0 -227
  836. package/src/helpers/common.ts +0 -326
  837. package/src/helpers/dpqlDetection.ts +0 -209
  838. package/src/helpers/expressions.ts +0 -140
  839. package/src/helpers/fieldDescription.ts +0 -39
  840. package/src/helpers/optionUiTypes.ts +0 -199
  841. package/src/helpers/options.ts +0 -150
  842. package/src/helpers/providerValue.ts +0 -125
  843. package/src/helpers/scrollbar.ts +0 -32
  844. package/src/helpers/singleLineString.ts +0 -62
  845. package/src/helpers/templateItems.ts +0 -81
  846. package/src/helpers/templateText.ts +0 -350
  847. package/src/helpers/templates.ts +0 -602
  848. package/src/helpers/validations.ts +0 -2085
  849. package/src/hooks/useArgSchema.ts +0 -37
  850. package/src/hooks/useCoarsePointer.ts +0 -30
  851. package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
  852. package/src/hooks/useFetch/useFetch.tsx +0 -154
  853. package/src/hooks/usePhoneViewport.ts +0 -34
  854. package/src/hooks/useQorusTypes.ts +0 -233
  855. package/src/hooks/useReqraftProperty.ts +0 -16
  856. package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
  857. package/src/hooks/useStorage/useStorage.ts +0 -35
  858. package/src/hooks/useTemplates.ts +0 -123
  859. package/src/hooks/useValidation.ts +0 -9
  860. package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
  861. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
  862. package/src/hooks/useWhyDidYouUpdate.ts +0 -38
  863. package/src/index.tsx +0 -86
  864. package/src/providers/FetchProvider.tsx +0 -40
  865. package/src/providers/ReqraftProvider.tsx +0 -52
  866. package/src/providers/StorageProvider.tsx +0 -131
  867. package/src/stores/currentUser/currentUser.stories.tsx +0 -100
  868. package/src/stores/currentUser/currentUser.tsx +0 -94
  869. package/src/stories/Data/fileFieldArgSchema.json +0 -86
  870. package/src/stories/Tests/utils.ts +0 -320
  871. package/src/stories/storyNetwork.ts +0 -92
  872. package/src/stories/tracking.tsx +0 -206
  873. package/src/tracking/browser/attach.ts +0 -186
  874. package/src/tracking/browser/env.ts +0 -78
  875. package/src/tracking/core/consent.ts +0 -37
  876. package/src/tracking/core/engagement.ts +0 -47
  877. package/src/tracking/core/experiments.ts +0 -258
  878. package/src/tracking/core/hash.ts +0 -26
  879. package/src/tracking/core/ids.ts +0 -25
  880. package/src/tracking/core/observable.ts +0 -23
  881. package/src/tracking/core/queue.ts +0 -131
  882. package/src/tracking/core/sections.ts +0 -166
  883. package/src/tracking/core/storage.ts +0 -69
  884. package/src/tracking/core/tracker.ts +0 -417
  885. package/src/tracking/core/types.ts +0 -162
  886. package/src/tracking/core/utm.ts +0 -23
  887. package/src/tracking/index.ts +0 -72
  888. package/src/tracking/markup.ts +0 -17
  889. package/src/tracking/react/Experiment.tsx +0 -44
  890. package/src/tracking/react/TrackingProvider.tsx +0 -56
  891. package/src/tracking/react/hooks.ts +0 -106
  892. package/src/tracking/react/index.ts +0 -13
  893. package/src/tracking/testing.ts +0 -108
  894. package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
  895. package/src/tracking/ui/ExperimentCard.tsx +0 -667
  896. package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
  897. package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
  898. package/src/tracking/ui/anchor.ts +0 -180
  899. package/src/tracking/ui/card.ts +0 -464
  900. package/src/tracking/ui/client.ts +0 -117
  901. package/src/tracking/ui/index.ts +0 -77
  902. package/src/tracking/ui/types.ts +0 -110
  903. package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
  904. package/src/types/Form.ts +0 -29
  905. package/src/types.ts +0 -14
  906. package/src/utils/datetime.ts +0 -10
  907. package/src/utils/fetch.ts +0 -457
  908. package/src/utils/lspClient.ts +0 -711
  909. package/src/utils/lspClient.types.ts +0 -211
  910. package/src/utils/queryUnlessCancelled.ts +0 -28
  911. package/src/utils/websocket.ts +0 -293
  912. package/vite.config.ts +0 -58
  913. package/vitest.config.ts +0 -69
@@ -1,197 +0,0 @@
1
- # Form engine — expression support
2
-
3
- Design: [`design/FORM_ENGINE_EXPRESSIONS.md`](../design/FORM_ENGINE_EXPRESSIONS.md).
4
- Adds expression values to the form engine — visual builder (ported) +
5
- DPQL text editor (existing), one AST, plus an Explain button.
6
-
7
- **Status:** all 5 phases DONE pending user verify — implemented 2026-06-09/10,
8
- uncommitted. Foundation → TemplateField toggle + shell → DPQL text mode →
9
- visual ExpressionBuilder → expression validation. jest 267/267, ~14 new
10
- expression play tests pass, prod typecheck + eslint clean. One open item:
11
- the Explain transport (server `render-expression` exposure) — held behind
12
- `useRenderExpression` (interim client-side render works today). Builds on the
13
- also-uncommitted field-migration batch.
14
-
15
- **Server contract:** verified live (see design doc table + memory
16
- "Qorus expression/DPQL contract"). Explain transport is the one open
17
- server decision — held behind `useRenderExpression`, does not block.
18
-
19
- ## Surface area
20
-
21
- | Path | Change |
22
- |---|---|
23
- | `src/components/form/expressions/types.ts` | **new** — `IExpression`, `IExpressionSchema`, arg types |
24
- | `src/components/form/expressions/useExpressions.ts` | **new** — catalogue fetch (`/system?action=expressions` + `expressions_url`) |
25
- | `src/components/form/expressions/useRenderExpression.ts` | **new** — Explain seam |
26
- | `src/components/form/expressions/ExpressionField.tsx` | **new** — Visual⇄Text shell + Explain |
27
- | `src/components/form/expressions/ExpressionBuilder.tsx` (+ argument/group/modal files) | **new** — ported visual tree |
28
- | `src/components/form/expressions/*.stories.tsx` | **new** — mock catalogue + mock LSP |
29
- | `src/components/form/fields/template/TemplateField.tsx` | edit — "Use Expression" toggle → render `ExpressionField` |
30
- | `src/components/form/engine/FormEngine.tsx` / `fields/Field.tsx` | edit — thread `is_expression` value plumbing |
31
- | `src/components/form/index.tsx` | edit — exports |
32
-
33
- ## Phases (each ends at a STOP — user verifies before commit)
34
-
35
- ### Phase 0 — Foundation (unblocked) — DONE pending verify (2026-06-09)
36
- - [x] `types.ts` (`IExpression`, `IExpressionValue`, `IExpressionSchema`,
37
- `IExpressionSchemaArg`, `ExpressionDefaultValue`)
38
- - [x] `useExpressions` — `useFetch('system?action=expressions&context=ui')`,
39
- `expressionsUrl` merge (marks `from_server`/`from_both`), `override`/
40
- `errorOverride` seams, cached
41
- - [x] `useRenderExpression` seam — `render(value, expressions) => Promise<string>`.
42
- **Interim impl is client-side** (`renderExpressionToText` walks the AST
43
- using the catalogue: infix for operators, join for `&&`/`||`, function
44
- form otherwise) — decoupled, no session needed; swaps to server
45
- `render-expression` in one place. (Design said `dpql/serialize`; chose
46
- client-side as it's session-free and gives a real string today.)
47
- - [x] `mockExpressions.ts` fixture (real `==` / `&&` / `contains` entries)
48
- - [x] `Foundation.stories.tsx` — catalogue count/names + rendered AST;
49
- play test passes; verified visually
50
- - [x] prod typecheck + base typecheck clean
51
-
52
- ### Phase 1 — TemplateField expression mode + `ExpressionField` shell — DONE pending verify
53
- - [x] `TemplateField`: "Use Expression" / "Use value" controls in the More
54
- menu, gated on `supports_expressions`; seeds `{ args: [] }`
55
- - [x] When `isExpression`, render `ExpressionField` (main + disabled branches)
56
- - [x] `ExpressionField` shell: holds the AST, **Visual ⇄ Text toggle**
57
- (placeholders for now), Explain button (`useRenderExpression`), live
58
- preview of the current expression
59
- - [x] Value plumbing: `FormEngine.handleValueChange` detects an
60
- `is_expression` value and stores the canonical sibling shape
61
- `{ type, value:<AST>, is_expression:true }`; passes `is_expression`
62
- down to `TemplateField`
63
- - [x] Stories: `Default`, `Empty`, `ViaFormEngine` (round-trip),
64
- `ToggleInFormEngine` (verified live: bool field → Use Expression →
65
- editor; → Use value → back). Barrel exports added.
66
- - [x] Regression: jest 267/267, form play tests pass (only pre-existing
67
- `OnValidityChange` fails)
68
- - Note: expression-aware **validation** deferred to Phase 4 (an empty
69
- expression currently shows the base-type validation error).
70
-
71
- ### Phase 2 — Text mode (DPQL) — DONE pending verify
72
- - [x] `ExpressionField` Text mode renders `DpqlEditor` (via its ref for
73
- parse/serialize)
74
- - [x] Boundary glue: parse-on-edit (debounced 300ms) `text→AST`;
75
- serialize-on-enter `AST→text`; flush-parse on switch-to-Visual
76
- - [x] DPQL-context: optional `provider`/`recordType` passed through when
77
- supplied; parse/serialize work without a provider (only `@field`
78
- completions are reduced) — matches the design's worst-case note
79
- - [x] `dpqlMockLsp.ts` — compact mock-socket LSP (initialize / parse /
80
- serialize / validate / completion); `dpql/parse` echoes the typed
81
- text into an `==` AST for deterministic verification
82
- - [x] Story `TextMode` — types DPQL → parse → the Parsed preview reflects
83
- it (verified in real chromium). 5/5 ExpressionField play tests pass.
84
- - Note: serialize-on-enter is best-effort if the LSP session isn't ready
85
- yet; matters mainly when coming from a Visual-built expression
86
- (Phase 3).
87
-
88
- ### Phase 3 — Visual ExpressionBuilder — DONE pending verify (core)
89
- - [x] `ExpressionBuilder.tsx` — recursive tree: function `Select` (filtered
90
- by return type), operands, AND/OR groups, add/remove condition,
91
- recursion via `level`/`nested`
92
- - [x] **Operands render through `TemplateField`** (→ literal / template /
93
- nested expression via the Phase 1 toggle) and `AutoFormField` for
94
- `any`-typed operands. No re-port of qorus-ide's operand stack.
95
- - [x] `returnType` filters the function list; nested-expression ↔ value
96
- conversion (the operand "fx"/Use-Expression toggle + "use value")
97
- - [x] Stories: `Default` (`==` + operands), `Empty`, `Group` (`&&` tree +
98
- Add condition), `ReadOnly`. 4/4 play tests pass; verified visually
99
- (nested AND tree with per-operand type pickers).
100
- - [x] Regression: jest 267/267, form play tests pass (only pre-existing
101
- `OnValidityChange`)
102
- - **Deferred to a polish pass** (documented): wrap/unwrap, the
103
- `types_mismatch` confirm modal + full type-compat filtering, varargs
104
- "add argument" for non-group expressions, fullscreen/focused editing,
105
- AI-assist button. The core build/edit/group/recurse flow is complete.
106
-
107
- ### Phase 3b — visual polish to match qorus-ide — DONE pending verify (2026-06-10)
108
- - [x] Bumped ReQore **0.68.3 → 0.68.5** (matches the IDE; devDep + peer
109
- range). Full suite still green (188/189, jest 267).
110
- - [x] Rebuilt `ExpressionBuilder` to mirror qorus-ide's layout: each
111
- expression is a dashed-border **card** titled by the function picker
112
- (`Σ` chip); operands laid **horizontally** (label on top, field below;
113
- `fluid` cards + 220px leaf width so they sit in a row and wrap
114
- responsively); tiny-uppercase `LABEL * [type]` labels; **AND/OR
115
- convert** buttons (`.expression-and`/`.expression-or`); `&&`/`||` as
116
- group cards (`IF group`/`AND group`/`OR group`, `.expression-group`)
117
- with AND/OR separators + Add condition + per-condition remove; per-
118
- level `main:darken:${level}` tint. Picker always keeps the selected
119
- expression even when its return type doesn't match the filter.
120
- - [x] Stories rewritten to mirror foxhoundn's IDE stories using the
121
- **`.expression` count** convention + the `.expression-and/or`
122
- interaction (1→2→3). 11/11 play tests pass; verified visually vs `:6009`.
123
- - [x] **Live story** (`ExpressionField › Live`, `tags: ['!test']`,
124
- `parameters: { live: true }`) — fetches the REAL catalogue (no
125
- `expressions` override), mirroring the DpqlEditor live stories.
126
- `.storybook/preview.tsx` instance is now env-configurable
127
- (`REACT_APP_QORUS_INSTANCE` || hq default). Full suite **189/189**
128
- (Live excluded from the offline runner; defaults to hq when env unset).
129
- - Verification gap (honest): could NOT render-verify the Live story against
130
- real data — `localhost:8012` returns the catalogue to curl but sends no
131
- CORS header for the storybook origin (browser blocks the fetch), and I
132
- have no `hq:8092` token. The data path is proven via curl (121
133
- expressions) and the wiring mirrors the working DpqlEditor live pattern;
134
- the user verifies by running storybook with their token/instance.
135
-
136
- ### Phase 3c — faithful mock + offline parity with the IDE — DONE (2026-06-10)
137
- - [x] **Rewrote `mockExpressions`** as a faithful subset of the LIVE catalogue
138
- (captured via curl): `==`, `<`, `>=`, `&&`, `||`, `contains`,
139
- `starts-with`, `ends-with` with the REAL arg types (`richtext` strings,
140
- `any` comparators), `label_after` operator words ("contains", "starts
141
- with", "=="), and the Ignore Case bool. This is why the offline stories
142
- were looking worse — the old 3-entry mock used `any` for `==` (→ bulky
143
- type-pickers) and omitted operator words.
144
- - [x] **`WithComplexValue` now uses qorus-ide's EXACT value** (`&&[ ||[contains,
145
- &&[starts-with, starts-with], >=], ends-with, < ]`) → 6 expression cards
146
- across 3 groups; was a flat 2-card `&&`.
147
- - [x] **Delete is now a card action** (`onRemove` prop → `expression-group-remove`)
148
- instead of a sibling button. The sibling stole flex width and forced
149
- operands to wrap vertically; as a card action the cards fill width and
150
- operands lay out **horizontally** — matching the IDE.
151
- - [x] Verified side-by-side vs `:6009` at the same viewport: nesting, function
152
- chips, horizontal operands, operator words, group containers all match.
153
- 12/12 expression play tests; full suite 188/189 (pre-existing flaky only).
154
-
155
- ### Phase 3d — operand layout: flex-fill (the real refinement) — DONE (2026-06-10)
156
- - [x] Root cause of "old / crooked / unaligned": operands sat in **fixed
157
- 220px boxes**, left-bunched with dead gaps, fields `fluid={false}`.
158
- Compared at full width (`:6007`) the IDE spreads operands across the
159
- whole row.
160
- - [x] Reworked: flattened the operand row (label_before / column / label_after
161
- as flat siblings), each operand column `flex: 1 1 200px` (nested
162
- expressions `1 1 100%`), field now `fluid` (fills its column). Result:
163
- operands fill the row evenly with roomy fields, operator words centered
164
- in the gap — matches the IDE's refinement. eslint clean, 12/12 play
165
- tests, full suite 188/189.
166
-
167
- ### Phase 4 — Explain + validation + polish — DONE pending verify
168
- - [x] Explain panel renders `useRenderExpression` output (done since Phase 1;
169
- works in Visual + Text modes)
170
- - [x] **Expression-aware validation** — `_validateField` short-circuits on
171
- `field.isFunction`: an expression with a chosen `exp` is valid; an
172
- empty one reports "Expression operation is required". FormEngine passes
173
- `isFunction` from the field value's `is_expression`. Verified live (the
174
- FormEngine invalid banner clears for a valid expression) + a story guard.
175
- - [x] Full pass: prod typecheck, eslint, jest 267/267, form play tests pass
176
- (only pre-existing `OnValidityChange`)
177
- - [ ] When the server transport lands, swap `useRenderExpression` impl
178
- (one file) — awaiting the meeting decision
179
- - Deferred (optional): fullscreen/focused-editing affordance
180
-
181
- ### Checks (final)
182
- - [x] Typecheck, lint, jest, storybook play tests pass
183
- - [ ] **STOP — user verifies in browser** before commit
184
-
185
- ## Open decisions
186
-
187
- - **Explain transport** — REST `?action=render-expression` vs LSP
188
- `dpql/explain` vs interim approximation. Server ask in
189
- `/tmp/render-expression-exposure.md`; user raising it at the
190
- 2026-06-10 meeting. Until then: interim seam impl.
191
- - **DPQL text-mode context** (Phase 2) — how to bind a generic field
192
- expression's "fields" when there's no data provider.
193
-
194
- ## Out of scope
195
-
196
- - `server_expression_handling` filtering nuances; AI-assist button;
197
- wiring concrete consumers (alert-rule editor is qorus-ide-side).
@@ -1,95 +0,0 @@
1
- # TASK — FormEngine ↔ IDE Options sync (fetch layer)
2
-
3
- **Status:** Phases 1+2+3 DONE pending user verify (uncommitted) — 6/6 new play tests. Follows the verbatim-port method
4
- (`design/EXPRESSION_BUILDER_REPORT_STRATEGY.md`); audit findings below.
5
-
6
- ## Research summary (2026-06-10)
7
-
8
- FormEngine was extracted from the IDE's `Options` (`systemOptions.tsx`) on
9
- **2026-03-18**; both evolved independently since (8 IDE commits). Full diff
10
- audit found the drift is small — loop fixes, help text, dependencies,
11
- operators UI, required groups all present on both sides; helpers materially
12
- identical. The REAL gaps:
13
-
14
- - **IDE-only:** the remote-fetch layer — `url`/`customUrl` (options schema
15
- from `/options/{url}` or a custom endpoint), `onOptionsLoaded` (declared in
16
- FormEngine but never called), `operatorsUrl` (operator schema; without it
17
- FormEngine's operators UI is dead code — `operators` state is hardcoded
18
- `undefined` with no setter). Plus a two-line `stretch` layout for
19
- `tool-catalog` options (commit 8e6b7781 — the "external data support" in
20
- that commit message was ApiKeys/OAuth2 views, NOT Options).
21
- - **reqraft-only (IDE behind us):** detailed `onValidityChange` payload,
22
- any/auto type preservation, expression value unwrapping.
23
- - **Tests:** the IDE has **zero** coverage for the fetch features (all 30
24
- Options stories pass fixture schemas as props) — so there is nothing to
25
- copy; we write new coverage with a `window.fetch` mock (the dpqlMockLsp
26
- pattern).
27
-
28
- ## Decisions
29
-
30
- - Port the fetch trio verbatim-adapted: IDE `fetchData` → reqraft `query()`
31
- (same `{data, ok, error}` response shape; reqraft prepends
32
- `${instance}api/latest/` like the IDE's `${apiHost}api/latest/`).
33
- Normalise the IDE's leading-slash URLs (avoid `api/latest//options/...`).
34
- - Port the IDE's loading-skeleton branch + the `stretch`/`STRECHABLE_TYPES`
35
- two-liner.
36
- - **Skip `allowAi`** — IDE-only AI infra; seam pattern exists (expression
37
- builder's `extraActions`) if ever needed.
38
- - **Skip `interfaceContext`** — only meaningful through the IDE's template
39
- fetching, which reqraft's `useTemplates` deliberately stubs.
40
-
41
- ## Phases
42
-
43
- ### Phase 1 — fetch layer in FormEngine — DONE (2026-06-10)
44
- - [x] Props: `url`, `customUrl`, `operatorsUrl`; `onOptionsLoaded` now fires
45
- (was declared-but-dead since extraction)
46
- - [x] Mount fetch (seeds `fixOptions(value, schema)`), refetch-on-change
47
- (clears value, seeds `fixOptions({}, schema)`) — IDE semantics verbatim
48
- (`query()` in place of the IDE's `fetchData`; same response shape)
49
- - [x] Operators fetch (own state — `setOperators` finally exists; the loading
50
- gate waits for BOTH schemas when both urls are set, per the IDE)
51
- - [x] Skeleton branch extended with the remote gates; `stretch` +
52
- `STRECHABLE_TYPES` (tool-catalog) ported
53
- - [x] GATE: prod typecheck + eslint clean, jest 267/267
54
-
55
- ### Phase 2 — tests (new coverage; the IDE has none) — DONE (2026-06-10)
56
- - [x] `mockFetchRoutes` helper in `FormEngineRemote.stories.tsx` — patches
57
- `window.fetch`, serves matching routes, passes the rest through;
58
- distinct URLs per story (the `query()` GET cache is 5 min)
59
- - [x] Stories (4): `SchemaFromUrl` (3 options render, preselected default
60
- seeded, `onOptionsLoaded` called with the schema), `OperatorsFromUrl`
61
- (operator select resolves `Like` + the WHERE/IS tags — the previously
62
- DEAD operators UI working end-to-end, verified by screenshot),
63
- `FetchFailure` (500 → "No options available", no crash),
64
- `UrlChangeResetsValue` (url switch clears the old value, new schema
65
- seeds)
66
- - [x] GATE: **4/4 play tests** (repeatedly, incl. after a flake-hardening
67
- timeout bump); jest 267/267; FormEngine.stories 24/24 isolated;
68
- useWebSocket 15/15, Object 11/11 isolated.
69
- ### Phase 3 — seam parity ("item 5") — DONE (2026-06-10)
70
- - [x] `SelectFormField` now **rest-spreads** caller props into all four render
71
- branches (IDE parity; computed `flat`/`intent`/`size`/handlers stay
72
- authoritative by coming after the spread) — closes the
73
- "every pass-through prop needs hand-forwarding" seam for good.
74
- - [x] **`optionActions`** on FormEngine — per-option injected hover actions
75
- (array or factory receiving `{name, schema, value}`), prepended where
76
- the IDE renders its `allowAi` AiAssistanceAction. Same pattern as the
77
- builder's `extraActions`; reqraft stays AI-free.
78
- - [x] **`useTemplates` opt-in fetching** — ported the IDE's
79
- `system/getContextData` fetch + `buildTemplates` (FSM `states` param
80
- seamed out; structural payload types), gated on a NEW explicit
81
- `interfaceContext` (FormEngine prop, threaded through). Without a
82
- context: the original stub behavior, byte-for-byte — no existing
83
- consumer starts fetching.
84
- - [x] Coverage: `InjectedOptionActions` (hover → injected action) and
85
- `TemplatesFromContext` (context fetch hit + loading gate) stories.
86
- **6/6** FormEngineRemote, **17/17** expressions, 23/24 FormEngine
87
- (the 1 = pre-existing `OnValidityChange` flake), jest 267/267,
88
- typecheck + eslint clean.
89
-
90
- - Verification caveat (environment, not code): full-suite runs tonight flap
91
- on LIVE-hq stories (CurrentUser, Log/WS) — same suites pass and fail
92
- across runs with zero code delta (CurrentUser failed 2/2 then passed
93
- 2/2 a minute later), and the same full suite was green 194/194 earlier
94
- today. hq intermittency + dev-server wear; re-run the full suite on a
95
- fresh server when hq is stable for the final pre-commit pass.
@@ -1,72 +0,0 @@
1
- # Form field extras — bucket-1 portable fields
2
-
3
- Follow-on to the field migration (see
4
- [`design/FORM_ENGINE_FIELD_MIGRATION.md`](../design/FORM_ENGINE_FIELD_MIGRATION.md)).
5
- Picks off the **cleanly portable** bucket-1 fields one at a time, and
6
- records an evidence-based triage of the ones that are *not* a quick port
7
- (so "deferred" stays honest, not vague).
8
-
9
- **Status:** `byte-size`, `url`, `multi-select`/`select-array` done pending
10
- user verify — uncommitted, 2026-06-09. 3 new Field stories pass
11
- (`test-storybook`), jest 267/267, prod typecheck + eslint clean. The rest
12
- remain triaged below.
13
-
14
- ## Done this pass
15
-
16
- | Type | What | How |
17
- |---|---|---|
18
- | `byte-size` | **new** `byte-size/ByteSize.tsx` | amount `NumberFormField` + unit `SelectFormField` (KiB/MiB/GiB/TiB); value is the combined `"512MiB"` string. `splitByteSize` reimplemented (3 lines). No app deps. |
19
- | `url` | **new** `url/Url.tsx` | thin `ReqoreInput type="url"` + `new URL()` validity hint. Built fresh — qorus-ide's `URLField` imports `context/init` (app-coupled); a URL field doesn't need it. |
20
- | `multi-select` / `select-array` | wired existing `MultiSelectFormField` | reqraft already had the component; added a `renderField` branch **before** the single-value `allowed_values` short-circuit (multi-select owns its options + is always an array), and a `renderAllowedValues` guard so the picker isn't doubled. |
21
-
22
- > **Superseded 2026-06-10 (FIELD_STACK_REPORT phase 3):** the `url` and
23
- > `byte-size` rows above describe the original from-scratch versions — both
24
- > were replaced by verbatim IDE ports (url: protocol select + `://` + address;
25
- > byte-size: KiB/MiB only). Descriptions kept for history; see
26
- > FIELD_STACK_REPORT for the current implementations.
27
-
28
- Surface area: `src/components/form/fields/byte-size/ByteSize.tsx` (new),
29
- `src/components/form/fields/url/Url.tsx` (new),
30
- `src/components/form/fields/Field.tsx` (3 cases + multi-select branch +
31
- allowed-values guard + 2 imports), `src/components/form/index.tsx`
32
- (exports), `src/components/form/fields/Field.stories.tsx` (`ByteSize`,
33
- `Url`, `MultiSelect` stories).
34
-
35
- ## Triage of the remaining bucket-1 / bucket-2 fields
36
-
37
- Evidence is the qorus-ide source's size + its outside-`Field/` imports
38
- (the portability tell — app context can't come to the toolkit).
39
-
40
- | Type | qorus-ide source | Blocker / verdict |
41
- |---|---|---|
42
- | `option_hash` | `optionHash.tsx` (129) | imports `../../App`, `context/init`, `withTextContext` — **app-coupled**; needs a rewrite, not a port. |
43
- | `array-of-pairs` | `multiPair.tsx` (207) | imports `../../App`, `withTextContext` — app-coupled; moderate rewrite. |
44
- | `enum`-as-radio | `radioField.tsx` (127) | imports `../../App`, two HOCs, **image assets**. Reqraft already has `RadioGroup`; `enum` currently routes to `Select`. Switching is a UX decision, low value. |
45
- | `code-editor` | `CodeEditor/` | **Monaco** — a heavy new runtime dependency reqraft doesn't carry. A dependency call for the maintainers, not something to add unilaterally. |
46
- | `data-provider` | `connectors/` | connection-management + **OAuth2** + instance context — squarely bucket-3 (app integration), excluded by the design. |
47
- | `options` | `systemOptions.tsx` (1500+) | this *is* `FormEngine`, which reqraft already has. Exposing a `type: 'options'` wrapper is possible but needs option-set value-shape decisions; defer until a consumer needs it. |
48
- | `tool-catalog` | `toolCatalog/` (434) | server-driven feature editor (All/Some/None per source). Schema-editor-sized; own task. |
49
- | `active-windows` | `activeWindows/` (290) | server-driven cron-window editor. Own task. |
50
- | `collection-documents` | `collectionDocuments.tsx` (347) | managed uploads tied to AI-collection APIs. Own task. |
51
- | `test-cases` | `testCases/` (**1469**) | large server-driven editor (`/tests/step-kinds`, `/tests/assertions`). Its own multi-day task. |
52
- | `processor-mappings` | `ProcessorMappingPanel` | processor field-mapping editor; feature-specific. Own task. |
53
-
54
- **Principle:** small + dependency-free → done now; app-coupled or
55
- server-driven feature editors → their own task, pulled when a real
56
- consumer needs them so they can be verified against that use (the lesson
57
- from the schema editor's `ui_type` path).
58
-
59
- ## Tasks
60
-
61
- - [x] `ByteSizeFormField` + `case 'byte-size'` + export + story
62
- - [x] `UrlFormField` + `case 'url'` + export + story
63
- - [x] `multi-select`/`select-array` branch + allowed-values guard + story
64
- - [x] Prod typecheck, eslint, jest (267), form play tests (only the
65
- pre-existing `OnValidityChange` fails)
66
- - [ ] **STOP — user verifies in browser** before commit
67
-
68
- ## Out of scope
69
-
70
- - Everything in the triage table marked "own task" / "app-coupled" /
71
- "dependency call" — see the per-row verdicts above.
72
- - Bucket-3 interface selectors (excluded by the design doc).
package/.tasks/INDEX.md DELETED
@@ -1,111 +0,0 @@
1
- # SmartEditor task index
2
-
3
- One-glance status across every task file in `.tasks/`. **Update this
4
- file whenever a task transitions between statuses** (per the
5
- convention in `.claude/CLAUDE.md` § "Task & design docs workflow").
6
-
7
- ## Release strategy
8
-
9
- **Revised 2026-05-26.** All `.tasks/` items below ship together as a
10
- single `0.10.0` release — no incremental `-beta` / `0.10.1` / `0.10.2`
11
- tags between. Rationale recorded in
12
- [`design/SMART_EDITOR_UX.md` § "Release strategy"](../design/SMART_EDITOR_UX.md):
13
- shipping incremental releases would mean cutting tags with no real
14
- consumer (qorus-ide alert-rule editor needs `alertPayloadContext`/`fsmContext`
15
- which are in the CONTEXT_AND_POLISH task, not in what was originally
16
- scoped for `0.10.0`). Better to land everything in one coherent
17
- release that an actual consumer can adopt.
18
-
19
- | Release | Status | Tag / sha |
20
- |---|---|---|
21
- | `0.9.0` | shipped | (current published) |
22
- | `0.10.0` | in progress | held until every task row below is `committed` |
23
- | `0.11.0` (tentative) | planned | Form engine field migration (separate workstream, see below) |
24
-
25
- ## Tasks
26
-
27
- All tasks ship as part of `0.10.0`. Sequence below is the suggested
28
- implementation order; release happens after the last row commits.
29
-
30
- | Task | Status | Sequence rationale |
31
- |---|---|---|
32
- | [SMART_EDITOR_UX_POLISH](./SMART_EDITOR_UX_POLISH.md) | Phase 1 committed `6fb9bf3` · Phases 2–7 + 6 committed `a9b7f1b` and **verified in browser 2026-05-26** · Phase 8 (release prep) deferred to end of batch | The original UX batch. All design-doc items (1–7) shipped and verified; Phase 8's "bump version + push" step now happens after every follow-up below also lands. |
33
- | [SMART_EDITOR_CONTEXT_AND_POLISH](./SMART_EDITOR_CONTEXT_AND_POLISH.md) | items 1/2/4 committed (`5e94fd7`, `8e6fe0f`, `2a53a1a`); item 3 (README) deferred to release prep — **awaiting browser verification** | **1st** done |
34
- | [SMART_EDITOR_LSP_FEATURES](./SMART_EDITOR_LSP_FEATURES.md) | committed (`d54597e`) — **awaiting browser verification** | **2nd** done |
35
- | [QONSOLE_ASSIST_FEATURES](./QONSOLE_ASSIST_FEATURES.md) | committed (`189fe52`) — **awaiting browser verification** | **3rd** done |
36
- | [SMART_EDITOR_VISUAL_POLISH](./SMART_EDITOR_VISUAL_POLISH.md) | committed (`c006a79`) — **awaiting browser verification** | **4th** done |
37
- | [SMART_EDITOR_REVIEW_FOLLOWUPS](./SMART_EDITOR_REVIEW_FOLLOWUPS.md) | all 4 items done pending user verify (uncommitted) | **5th** — reviewer feedback on PR #62 (the `0.10.0` editor batch). |
38
- | `0.10.0` release prep (Phase 8 of UX_POLISH) | ready to start once all above complete | **6th (final)** — bump `package.json` to `0.10.0`; final README pass against the final API; tag; push. |
39
-
40
- ## Form engine field migration (separate workstream)
41
-
42
- Closing the gap between Reqraft's form engine and qorus-ide's `Field`
43
- system. Design locked in
44
- [`design/FORM_ENGINE_FIELD_MIGRATION.md`](../design/FORM_ENGINE_FIELD_MIGRATION.md).
45
- Independent of the `0.10.0` SmartEditor batch above; targets a later
46
- minor (`0.11.0` tentative). Sequence is a hard dependency — phase 2
47
- needs phase 1.
48
-
49
- | Task | Status | Sequence rationale |
50
- |---|---|---|
51
- | [REQRAFT_AUTO_FIELD](./REQRAFT_AUTO_FIELD.md) | done pending user verify (uncommitted) — 8/8 play tests pass | **1st (keystone).** Type-picker + polymorphic dispatch. The schema editor and most of the remaining field gap render their fields through it. |
52
- | [SCHEMA_DEFINITION_FIELD](./SCHEMA_DEFINITION_FIELD.md) | done pending user verify (uncommitted, stacked on phase 1) — 8/8 play tests pass (2 added by FIELD_STACK phase 3, ReadOnly play restored in remediation) | **2nd.** DataSchema editor — catalogue-driven nested form on `FormEngine`. Its leaf adapter emits `auto`, so phase 1 must land first. |
53
- | [FORM_FIELD_EXTRAS](./FORM_FIELD_EXTRAS.md) | done pending user verify (uncommitted) — `byte-size` / `url` / `multi-select` landed; rest triaged | **3rd (ongoing).** Portable bucket-1 fields, picked off one at a time. Contains the evidence-based triage of what's not a quick port. |
54
- | [FORM_ENGINE_EXPRESSIONS](./FORM_ENGINE_EXPRESSIONS.md) | plumbing kept; **visual builder superseded by [EXPRESSION_BUILDER_REPORT](./EXPRESSION_BUILDER_REPORT.md)** | **4th (new feature, large).** Expression values in fields. The catalogue hook / FormEngine `is_expression` / DPQL bridge / validation are kept; the from-scratch visual builder is being replaced by a verbatim re-port. |
55
- | [EXPRESSION_BUILDER_REPORT](./EXPRESSION_BUILDER_REPORT.md) | Phases A+B+C done & verified (uncommitted) | **5th.** Verbatim re-port of the IDE ExpressionBuilder + field-stack parity + IDE tests (Filip's method: copy → 1:1 → improve), replacing the from-scratch builder. Design: `design/EXPRESSION_BUILDER_REPORT_STRATEGY.md`. |
56
- | [FORM_ENGINE_OPTIONS_SYNC](./FORM_ENGINE_OPTIONS_SYNC.md) | Phases 1+2+3 done pending user verify (uncommitted) — 6/6 new play tests | **6th.** Sync FormEngine with the IDE's Options drift since the 2026-03-18 extraction: the remote-fetch layer (`url`/`customUrl`/`onOptionsLoaded`/`operatorsUrl`) + `stretch`; new test coverage (the IDE has none for these). |
57
- | [LSP_SHARED_CONNECTION](./LSP_SHARED_CONNECTION.md) | done pending user verify (uncommitted) — multiplex proof test + 268/268 jest | **7th.** N editors = 1 LSP socket: shared per-endpoint connection multiplexed by document URI (matches the server's `uriToDpqlSession` design); answers Filip's 20-builders question. Client class renamed `LspClient` → `ReqraftLspClient` (the `Reqraft*` convention, 2026-06-11); API otherwise unchanged. |
58
- | [RENDER_EXPRESSION_LSP](./RENDER_EXPRESSION_LSP.md) | done pending user verify, branch `feature/render-expression-lsp` — server deployed + live-verified end-to-end 2026-06-10 (final gate 201/201 storybook, 268/268 jest, browser proof of server rendering) | **8th.** Server "Explain" over the LSP: new `dpql/renderExpression` in `QorusLspWebSocketHandler.qc` + `useRenderExpression` swap. Closes EXPRESSION_BUILDER_REPORT Phase D. Design: `design/RENDER_EXPRESSION_TRANSPORT.md`. |
59
- | [FIELD_STACK_REPORT](./FIELD_STACK_REPORT.md) | done pending user verify (uncommitted) — final gate 234/234 storybook (incl. 37 ported Template/Auto plays), 268/268 jest | **9th.** Verbatim re-port of the IDE's `Field/template.tsx` + `Field/auto.tsx` (the operand layer under the ported builder) + their IDE stories, replacing the from-scratch TemplateField/AutoFormField; closes the `isFunction` operand-flow gap (behavioral difference #4 in EXPRESSION_BUILDER_REPORT). Supersedes the from-scratch implementation from REQRAFT_AUTO_FIELD (its stories/assertions are kept and reconciled). |
60
- | [BRANCH_REMEDIATION](./BRANCH_REMEDIATION.md) | done pending user verify (uncommitted) — jest 268→356, plays 241→255, lint/tsc clean | **10th.** Burn-down of the 2026-06-10 full-branch audit: tests/stories/API/comment-voice remediation + behavior fixes (Select modal-click collapse, edge-triggered Url, ReqraftLspClient rename, CI auth wiring). Ledger: gitignored `SWEEP.local.md`. |
61
- | [STORY_NETWORK_ISOLATION](./STORY_NETWORK_ISOLATION.md) | done pending user verify, folded into `fix/per-field-templates` (PR #115), not pushed | **Standalone.** ExpressionField stories failed off-network on `develop` (passed in CI only because CI reaches the live instance): LSP connections leaking across stories, an unhandled socket give-up in `LspSharedConnection`, unmocked background requests, and mock URLs hard-coded to the hq host. |
62
- | [TEMPLATE_TOKEN_GRAMMAR](./TEMPLATE_TOKEN_GRAMMAR.md) | committed `0ef167c`, in PR (branch `bugfix/template-token-grammar`) — user-verified 2026-08-27; 13/13 unit, 21/21 template plays, qlip PNGs read | **11th (bugfix).** Braced `$data:{…}` state-output refs rehydrate as raw text: canonical token grammar + strict whole-token check + TemplateField renders whole-token values as the picker chip. Twin fix applied in qorus-ide the same day; ships as a normal per-PR patch release (`0.10.37`). |
63
- | [EXPRESSION_FIELD_SEAMS](./EXPRESSION_FIELD_SEAMS.md) | committed `f5fb2ee`, pushed (branch `bugfix/116_expression-field-seams`) — user-verified 2026-09-07; PR not yet opened | **12th (bugfix).** The `extraActions` seam stopped one hop short of the `ExpressionField` shell hosts mount, and the builder's operand `TemplateField` mounts dropped it again — qorus-ide lost its AI-assist button on every expression card when it adopted the shell ([#116](https://github.com/qoretechnologies/toolkit-react/issues/116)). Forward it through both hops; pin with a nested-operand story; ships as a per-PR patch (`0.10.51`; re-based onto `4860e6e` after #114 published 0.10.50). |
64
- | [EXPORT_EXPRESSION_BUILDER](./EXPORT_EXPRESSION_BUILDER.md) | committed `0eea9e7`, pushed, PR open (branch `feature/119_export-expression-builder`) | **13th (surface fix).** The barrel exported the `ExpressionField` shell but not the bare `ExpressionBuilder`, so a host mirroring the library's root/nested rule had to deep-import `dist/…/builder` ([#119](https://github.com/qoretechnologies/toolkit-react/issues/119)). Export + a barrel test; ships as `0.10.53`. |
65
-
66
- Not yet scoped (acknowledged in the design doc): the remaining
67
- `ui_type` editors (`tool-catalog`, `processor-mappings`, `test-cases`,
68
- `active-windows`) and the rest of bucket-1 fields (`data-provider`,
69
- `options`, `byte-size`, `url`, `code-editor`, …). They get their own
70
- task files when picked up.
71
-
72
- ## Status vocabulary
73
-
74
- - **ready to start** — task file exists, design locked, work hasn't begun
75
- - **in progress, branch `<name>`** — branch created, code being written
76
- - **done pending user verify** — code complete, tests pass, sitting uncommitted or on a branch awaiting human in-browser check
77
- - **committed `<sha>`** — landed on the working branch
78
- - **shipped `<tag>`** — released (tag pushed, npm published)
79
- - **paused** — intentionally on hold (note the reason in the task file's "Status" header)
80
- - **superseded by `<file>`** — work absorbed into another task; the file remains as history
81
-
82
- ## How to use this dashboard
83
-
84
- 1. **Picking what to work on next** — read top to bottom. Pick the
85
- highest-up task whose status is `ready to start` or
86
- `in progress` and whose sequence rationale doesn't put you out of
87
- order.
88
- 2. **Picking what to verify before commit** — when a task is "done
89
- pending user verify", check the **task file** (not this dashboard)
90
- for the verification checklist, plus the per-batch
91
- `VERIFY.local.md` (untracked) if one exists.
92
- 3. **Adding a new task** — write the planning doc first
93
- (`.tasks/<NAME>.md`), then add a row here.
94
- 4. **Closing a task** — flip its status here AND in the task file's
95
- `**Status:**` header. Don't delete completed task files;
96
- they become history.
97
-
98
- ## Out-of-band trackers
99
-
100
- These don't live in `.tasks/`:
101
-
102
- - **Reqore-side bugs** — spawn-task chips (see chat history) for
103
- upstream PRs needed by SmartEditor (Textarea null-check,
104
- renderElement deps fix). Track via your normal PR workflow on the
105
- Reqore repo, not here.
106
- - **qorus-ide integration** — `qorus-frontend/qorus-ide/.tasks/ALERT_RULES_AND_SILENCES.md`
107
- is the consumer-side task that depends on
108
- `SMART_EDITOR_CONTEXT_AND_POLISH` item 4. Update the qorus-ide
109
- task when item 4 ships so the qorus-ide consumer can unblock.
110
- - **Per-batch verification** — `VERIFY.local.md` (untracked). One
111
- per work batch — overwrite the previous when starting a new batch.
@@ -1,75 +0,0 @@
1
- # TASK — Shared LSP connection (N editors = 1 socket)
2
-
3
- **Status:** DONE pending user verify (uncommitted, 2026-06-10).
4
-
5
- ## Why
6
-
7
- Filip's call question (2026-06-10): with 20 expression builders open, "would
8
- it have different connections or how would you associate the message?"
9
- Research findings:
10
- - The server is BUILT for multiplexing: `QorusLspWebSocketHandler.qc:531`
11
- keeps `uriToDpqlSession` — a per-connection map of URI → DPQL session
12
- (created on didOpen :1004, removed on didClose :1213); `dpql/setContext`
13
- takes a `uri` param. One connection serves N documents.
14
- - reqraft's old `LspClient` opened one isolated socket PER editor
15
- (`pooled: false`) — 20 Text-mode editors = 20 sockets + 20 handshakes. The
16
- old comment's rationale ("sharing conflates diagnostics and correlation")
17
- was wrong: JSON-RPC ids correlate responses; `publishDiagnostics` carries
18
- the uri.
19
- - qorus-ide's own Creator WS already uses the shared-socket + `request_id`
20
- pattern (`helpers/functions.tsx:405`).
21
-
22
- ## What changed (`src/utils/lspClient.ts`)
23
-
24
- - New internal `LspSharedConnection`: one WebSocket + one `initialize` per
25
- endpoint URL (registry; first acquirer's reconnect config wins). Owns the
26
- id counter + pending map; routes responses by id, `publishDiagnostics` by
27
- `params.uri`, other notifications to every registered client. Closes when
28
- the last client releases it.
29
- - `LspClient` is now a per-document façade with an UNCHANGED public API
30
- (`useDpqlSession`/`useLspSession`/`DpqlEditor` untouched);
31
- `capabilities`/`semanticTokensLegend` became getters proxying the
32
- connection. Reconnect: the connection re-initializes once, then each client
33
- re-sends its own `didOpen` (`_resyncAfterReconnect`).
34
- - Editor URIs were already unique per instance
35
- (`${languageId}://session/${counter}` in `useLspSession`) — collision-safe.
36
- - Test hook `_resetSharedLspConnectionsForTests()` (mirrors the websocket
37
- manager reset in jest).
38
- - Answer to Filip, in one line: **one connection per endpoint, sessions
39
- multiplexed by URI; requests correlate by JSON-RPC id, diagnostics by uri —
40
- matching the server's design and the IDE's request_id pattern.**
41
-
42
- ## Consumer audit (what the refactor touches)
43
-
44
- - **Exactly one `LspClient` creation site** in the library:
45
- `useLspSession.ts:110` — SmartEditor, DpqlEditor, Qonsole and the
46
- expressions Text mode ALL flow through it; its API was preserved verbatim.
47
- - `capabilities`/`semanticTokensLegend` readers (`useLspSession`,
48
- `useLspSemanticTokens`, `useLspSignatureHelp`) only READ them → the
49
- field→getter change is API-identical.
50
- - NEW behavior introduced: different `languageId`s (dpql + qonsole) can now
51
- share one connection (same `'lsp'` URL). Verified safe — the server
52
- resolves language PER DOCUMENT (`detectLanguage(textDoc.languageId, uri)`
53
- at didOpen, `uriToLanguage{uri}`/`uriToSource{uri}` maps), and verified
54
- LIVE (below).
55
-
56
- ## Verification
57
-
58
- - New jest proof: two clients → `connections === 1`, one `initialize`,
59
- diagnostics delivered only to the matching uri, releasing one client keeps
60
- the socket for the other. lspClient suite **15/15**; full jest **268/268**.
61
- - **LIVE e2e against the real server** (`lsp-multiplex-e2e.local.mjs`,
62
- gitignored — one socket to `wss://localhost:8012/lsp`): initialize once;
63
- two DPQL docs + one Qonsole doc coexist; interleaved per-document
64
- `semanticTokens` requests return DISTINCT results; diagnostics route per
65
- uri (invalid doc got 3, valid got 0, qonsole got 0); closing doc A leaves
66
- doc B fully functional. `E2E OK`.
67
- - **Browser-level proof**: new `DpqlEditor › TwoEditorsOneConnection` story —
68
- two mounted editors, the mock server accepts exactly ONE connection, one
69
- `initialize`, two `didOpen`s with distinct URIs. dpqlEditor suite **17/17**.
70
- - Storybook (fresh server): smartEditor+qonsole **8/8**, expressions
71
- **17/17**. Typecheck + eslint clean.
72
- - Known semantics note: with >1 client on a connection, a disconnecting
73
- client's in-flight requests are left to their timeouts (results ignored
74
- post-unmount); the sole-client case still rejects them via the connection
75
- close — covered by the existing test.