@qoretechnologies/reqraft 0.10.54 → 0.10.55-pr.115.g37abdfc

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 (370) hide show
  1. package/.claude/CLAUDE.md +25 -0
  2. package/.tasks/INDEX.md +1 -0
  3. package/.tasks/STORY_NETWORK_ISOLATION.md +98 -0
  4. package/README.md +1 -1
  5. package/design/FORM_ENGINE_COMPACT.md +34 -0
  6. package/design/FORM_ENGINE_EXPRESSIONS.md +110 -0
  7. package/design/FORM_ENGINE_FIELD_MIGRATION.md +155 -1
  8. package/design/IDE_INTEGRATION.md +13 -0
  9. package/design/RENDER_EXPRESSION_TRANSPORT.md +76 -10
  10. package/design/SELECT_DIALOG_FLOOR.md +86 -0
  11. package/design/SMART_EDITOR_UX.md +21 -0
  12. package/design/UNAVAILABLE_ALLOWED_VALUES.md +226 -0
  13. package/dist/components/composer/Composer.d.ts +8 -3
  14. package/dist/components/composer/Composer.d.ts.map +1 -1
  15. package/dist/components/composer/Composer.js.map +1 -1
  16. package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
  17. package/dist/components/dpqlEditor/DpqlEditor.js +3 -3
  18. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  19. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +6 -0
  20. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  21. package/dist/components/dpqlEditor/dpqlHelpers.js +21 -2
  22. package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
  23. package/dist/components/dpqlEditor/dpqlProbe.d.ts +37 -0
  24. package/dist/components/dpqlEditor/dpqlProbe.d.ts.map +1 -0
  25. package/dist/components/dpqlEditor/dpqlProbe.js +203 -0
  26. package/dist/components/dpqlEditor/dpqlProbe.js.map +1 -0
  27. package/dist/components/dpqlEditor/dpqlTags.d.ts +8 -0
  28. package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
  29. package/dist/components/dpqlEditor/dpqlTags.js +5 -1
  30. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  31. package/dist/components/dpqlEditor/index.d.ts +4 -0
  32. package/dist/components/dpqlEditor/index.d.ts.map +1 -1
  33. package/dist/components/dpqlEditor/index.js +5 -1
  34. package/dist/components/dpqlEditor/index.js.map +1 -1
  35. package/dist/components/dpqlEditor/types.d.ts +42 -2
  36. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  37. package/dist/components/dpqlEditor/types.js +0 -4
  38. package/dist/components/dpqlEditor/types.js.map +1 -1
  39. package/dist/components/dpqlEditor/useDpqlProbe.d.ts +4 -0
  40. package/dist/components/dpqlEditor/useDpqlProbe.d.ts.map +1 -0
  41. package/dist/components/dpqlEditor/useDpqlProbe.js +29 -0
  42. package/dist/components/dpqlEditor/useDpqlProbe.js.map +1 -0
  43. package/dist/components/dpqlEditor/useDpqlSession.d.ts +5 -2
  44. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  45. package/dist/components/dpqlEditor/useDpqlSession.js +8 -2
  46. package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
  47. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  48. package/dist/components/form/engine/CompactRow.js +414 -128
  49. package/dist/components/form/engine/CompactRow.js.map +1 -1
  50. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  51. package/dist/components/form/engine/CompactToolbar.js +5 -2
  52. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  53. package/dist/components/form/engine/FormEngine.d.ts +272 -19
  54. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  55. package/dist/components/form/engine/FormEngine.js +666 -161
  56. package/dist/components/form/engine/FormEngine.js.map +1 -1
  57. package/dist/components/form/engine/FormFieldsSkeleton.d.ts +48 -0
  58. package/dist/components/form/engine/FormFieldsSkeleton.d.ts.map +1 -0
  59. package/dist/components/form/engine/FormFieldsSkeleton.js +41 -0
  60. package/dist/components/form/engine/FormFieldsSkeleton.js.map +1 -0
  61. package/dist/components/form/engine/OptionFieldMessages.d.ts +108 -2
  62. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  63. package/dist/components/form/engine/OptionFieldMessages.js +203 -13
  64. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  65. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  66. package/dist/components/form/engine/_structuredData/SchemaDataView.js +68 -5
  67. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  68. package/dist/components/form/engine/compactRowContext.d.ts +15 -1
  69. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  70. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  71. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  72. package/dist/components/form/engine/compactRowStyles.js +55 -29
  73. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  74. package/dist/components/form/engine/compactToolbarContext.d.ts +1 -0
  75. package/dist/components/form/engine/compactToolbarContext.d.ts.map +1 -1
  76. package/dist/components/form/engine/optionActions.d.ts +37 -1
  77. package/dist/components/form/engine/optionActions.d.ts.map +1 -1
  78. package/dist/components/form/engine/optionActions.js +71 -1
  79. package/dist/components/form/engine/optionActions.js.map +1 -1
  80. package/dist/components/form/engine/optionsContext.d.ts +22 -0
  81. package/dist/components/form/engine/optionsContext.d.ts.map +1 -0
  82. package/dist/components/form/engine/optionsContext.js +20 -0
  83. package/dist/components/form/engine/optionsContext.js.map +1 -0
  84. package/dist/components/form/engine/readFirst.d.ts +42 -1
  85. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  86. package/dist/components/form/engine/readFirst.js +76 -8
  87. package/dist/components/form/engine/readFirst.js.map +1 -1
  88. package/dist/components/form/engine/rendererTypes.d.ts +42 -3
  89. package/dist/components/form/engine/rendererTypes.d.ts.map +1 -1
  90. package/dist/components/form/engine/rendererTypes.js +3 -1
  91. package/dist/components/form/engine/rendererTypes.js.map +1 -1
  92. package/dist/components/form/engine/rowFocus.d.ts +30 -0
  93. package/dist/components/form/engine/rowFocus.d.ts.map +1 -0
  94. package/dist/components/form/engine/rowFocus.js +93 -0
  95. package/dist/components/form/engine/rowFocus.js.map +1 -0
  96. package/dist/components/form/engine/rowMenuContext.d.ts +78 -0
  97. package/dist/components/form/engine/rowMenuContext.d.ts.map +1 -0
  98. package/dist/components/form/engine/rowMenuContext.js +103 -0
  99. package/dist/components/form/engine/rowMenuContext.js.map +1 -0
  100. package/dist/components/form/engine/rowOpenPicker.d.ts +27 -0
  101. package/dist/components/form/engine/rowOpenPicker.d.ts.map +1 -0
  102. package/dist/components/form/engine/rowOpenPicker.js +30 -0
  103. package/dist/components/form/engine/rowOpenPicker.js.map +1 -0
  104. package/dist/components/form/engine/typeChoices.d.ts +42 -0
  105. package/dist/components/form/engine/typeChoices.d.ts.map +1 -0
  106. package/dist/components/form/engine/typeChoices.js +33 -0
  107. package/dist/components/form/engine/typeChoices.js.map +1 -0
  108. package/dist/components/form/expressions/DpqlRendering.d.ts +26 -0
  109. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -0
  110. package/dist/components/form/expressions/DpqlRendering.js +53 -0
  111. package/dist/components/form/expressions/DpqlRendering.js.map +1 -0
  112. package/dist/components/form/expressions/ExpressionField.d.ts +7 -1
  113. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  114. package/dist/components/form/expressions/ExpressionField.js +203 -45
  115. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  116. package/dist/components/form/expressions/argumentPresence.d.ts +84 -0
  117. package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -0
  118. package/dist/components/form/expressions/argumentPresence.js +217 -0
  119. package/dist/components/form/expressions/argumentPresence.js.map +1 -0
  120. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  121. package/dist/components/form/expressions/builder/argumentLabel.js +9 -4
  122. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  123. package/dist/components/form/expressions/builder/index.d.ts +15 -2
  124. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  125. package/dist/components/form/expressions/builder/index.js +21 -65
  126. package/dist/components/form/expressions/builder/index.js.map +1 -1
  127. package/dist/components/form/expressions/builder/renderTemplate.d.ts +4 -1
  128. package/dist/components/form/expressions/builder/renderTemplate.d.ts.map +1 -1
  129. package/dist/components/form/expressions/builder/renderTemplate.js +10 -67
  130. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  131. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  132. package/dist/components/form/expressions/mockExpressions.js +8 -4
  133. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  134. package/dist/components/form/expressions/renderExpressionToText.d.ts +1 -1
  135. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  136. package/dist/components/form/expressions/renderExpressionToText.js +95 -19
  137. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  138. package/dist/components/form/expressions/types.d.ts +7 -0
  139. package/dist/components/form/expressions/types.d.ts.map +1 -1
  140. package/dist/components/form/expressions/useExpressions.d.ts.map +1 -1
  141. package/dist/components/form/expressions/useExpressions.js +5 -2
  142. package/dist/components/form/expressions/useExpressions.js.map +1 -1
  143. package/dist/components/form/expressions/useRenderExpression.d.ts +7 -16
  144. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  145. package/dist/components/form/expressions/useRenderExpression.js +50 -126
  146. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  147. package/dist/components/form/fields/Field.d.ts +18 -0
  148. package/dist/components/form/fields/Field.d.ts.map +1 -1
  149. package/dist/components/form/fields/Field.js +54 -8
  150. package/dist/components/form/fields/Field.js.map +1 -1
  151. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts +11 -1
  152. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  153. package/dist/components/form/fields/allowed-values/AllowedValues.js +52 -8
  154. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  155. package/dist/components/form/fields/auto/AutoFormField.d.ts +7 -1
  156. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  157. package/dist/components/form/fields/auto/AutoFormField.js +91 -28
  158. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  159. package/dist/components/form/fields/date/Date.d.ts +1 -1
  160. package/dist/components/form/fields/date/Date.d.ts.map +1 -1
  161. package/dist/components/form/fields/date/Date.js +16 -2
  162. package/dist/components/form/fields/date/Date.js.map +1 -1
  163. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  164. package/dist/components/form/fields/long-string/LongString.js +14 -2
  165. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  166. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  167. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +50 -4
  168. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  169. package/dist/components/form/fields/rich-text/RichText.d.ts +47 -2
  170. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  171. package/dist/components/form/fields/rich-text/RichText.js +153 -12
  172. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  173. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  174. package/dist/components/form/fields/select/Select.js +120 -20
  175. package/dist/components/form/fields/select/Select.js.map +1 -1
  176. package/dist/components/form/fields/select/SelectCollection.d.ts +166 -9
  177. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  178. package/dist/components/form/fields/select/SelectCollection.js +200 -7
  179. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  180. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +2 -1
  181. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  182. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +3 -2
  183. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  184. package/dist/components/form/fields/template/TemplateField.d.ts +34 -2
  185. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  186. package/dist/components/form/fields/template/TemplateField.js +606 -58
  187. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  188. package/dist/components/form/fields/template/TemplateText.d.ts +36 -0
  189. package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -0
  190. package/dist/components/form/fields/template/TemplateText.js +80 -0
  191. package/dist/components/form/fields/template/TemplateText.js.map +1 -0
  192. package/dist/components/form/index.d.ts +2 -0
  193. package/dist/components/form/index.d.ts.map +1 -1
  194. package/dist/components/form/index.js +4 -0
  195. package/dist/components/form/index.js.map +1 -1
  196. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  197. package/dist/components/smartEditor/SmartEditor.js +29 -8
  198. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  199. package/dist/components/smartEditor/useLspSession.d.ts +5 -1
  200. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  201. package/dist/components/smartEditor/useLspSession.js +16 -2
  202. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  203. package/dist/components/supportTicket/TicketReplyBox.d.ts +8 -4
  204. package/dist/components/supportTicket/TicketReplyBox.d.ts.map +1 -1
  205. package/dist/components/supportTicket/TicketReplyBox.js.map +1 -1
  206. package/dist/helpers/common.d.ts.map +1 -1
  207. package/dist/helpers/common.js +7 -3
  208. package/dist/helpers/common.js.map +1 -1
  209. package/dist/helpers/dpqlDetection.d.ts +58 -0
  210. package/dist/helpers/dpqlDetection.d.ts.map +1 -0
  211. package/dist/helpers/dpqlDetection.js +164 -0
  212. package/dist/helpers/dpqlDetection.js.map +1 -0
  213. package/dist/helpers/optionUiTypes.d.ts +31 -3
  214. package/dist/helpers/optionUiTypes.d.ts.map +1 -1
  215. package/dist/helpers/optionUiTypes.js +36 -1
  216. package/dist/helpers/optionUiTypes.js.map +1 -1
  217. package/dist/helpers/options.d.ts +57 -0
  218. package/dist/helpers/options.d.ts.map +1 -1
  219. package/dist/helpers/options.js +97 -1
  220. package/dist/helpers/options.js.map +1 -1
  221. package/dist/helpers/templateItems.d.ts +47 -0
  222. package/dist/helpers/templateItems.d.ts.map +1 -0
  223. package/dist/helpers/templateItems.js +88 -0
  224. package/dist/helpers/templateItems.js.map +1 -0
  225. package/dist/helpers/templateText.d.ts +80 -0
  226. package/dist/helpers/templateText.d.ts.map +1 -0
  227. package/dist/helpers/templateText.js +291 -0
  228. package/dist/helpers/templateText.js.map +1 -0
  229. package/dist/helpers/templates.d.ts +30 -12
  230. package/dist/helpers/templates.d.ts.map +1 -1
  231. package/dist/helpers/templates.js +91 -33
  232. package/dist/helpers/templates.js.map +1 -1
  233. package/dist/helpers/validations.d.ts +17 -8
  234. package/dist/helpers/validations.d.ts.map +1 -1
  235. package/dist/helpers/validations.js +117 -22
  236. package/dist/helpers/validations.js.map +1 -1
  237. package/dist/hooks/useArgSchema.d.ts +2 -1
  238. package/dist/hooks/useArgSchema.d.ts.map +1 -1
  239. package/dist/hooks/useFetch/useFetch.d.ts +3 -1
  240. package/dist/hooks/useFetch/useFetch.d.ts.map +1 -1
  241. package/dist/hooks/useFetch/useFetch.js +47 -9
  242. package/dist/hooks/useFetch/useFetch.js.map +1 -1
  243. package/dist/hooks/useTemplates.d.ts +20 -0
  244. package/dist/hooks/useTemplates.d.ts.map +1 -1
  245. package/dist/hooks/useTemplates.js +34 -2
  246. package/dist/hooks/useTemplates.js.map +1 -1
  247. package/dist/index.d.ts +2 -1
  248. package/dist/index.d.ts.map +1 -1
  249. package/dist/index.js +5 -1
  250. package/dist/index.js.map +1 -1
  251. package/dist/utils/fetch.d.ts +151 -1
  252. package/dist/utils/fetch.d.ts.map +1 -1
  253. package/dist/utils/fetch.js +256 -44
  254. package/dist/utils/fetch.js.map +1 -1
  255. package/dist/utils/lspClient.d.ts +6 -0
  256. package/dist/utils/lspClient.d.ts.map +1 -1
  257. package/dist/utils/lspClient.js +62 -11
  258. package/dist/utils/lspClient.js.map +1 -1
  259. package/dist/utils/websocket.d.ts +6 -0
  260. package/dist/utils/websocket.d.ts.map +1 -1
  261. package/dist/utils/websocket.js +15 -7
  262. package/dist/utils/websocket.js.map +1 -1
  263. package/package.json +8 -4
  264. package/src/components/composer/Composer.tsx +7 -2
  265. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +3 -119
  266. package/src/components/dpqlEditor/DpqlEditor.tsx +5 -2
  267. package/src/components/dpqlEditor/dpqlHelpers.ts +20 -1
  268. package/src/components/dpqlEditor/dpqlProbe.ts +165 -0
  269. package/src/components/dpqlEditor/dpqlTags.ts +13 -0
  270. package/src/components/dpqlEditor/index.ts +4 -0
  271. package/src/components/dpqlEditor/types.ts +38 -2
  272. package/src/components/dpqlEditor/useDpqlProbe.ts +33 -0
  273. package/src/components/dpqlEditor/useDpqlSession.ts +20 -4
  274. package/src/components/form/engine/CompactRow.tsx +487 -160
  275. package/src/components/form/engine/CompactToolbar.tsx +10 -3
  276. package/src/components/form/engine/FormEngine.stories.tsx +1294 -161
  277. package/src/components/form/engine/FormEngine.tsx +916 -213
  278. package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +331 -0
  279. package/src/components/form/engine/FormFieldsSkeleton.tsx +77 -0
  280. package/src/components/form/engine/OptionFieldMessages.tsx +300 -14
  281. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +94 -3
  282. package/src/components/form/engine/compactRowContext.ts +15 -6
  283. package/src/components/form/engine/compactRowStyles.ts +56 -2
  284. package/src/components/form/engine/compactToolbarContext.ts +1 -1
  285. package/src/components/form/engine/optionActions.ts +89 -1
  286. package/src/components/form/engine/optionsContext.ts +24 -0
  287. package/src/components/form/engine/readFirst.ts +88 -8
  288. package/src/components/form/engine/rendererTypes.ts +48 -4
  289. package/src/components/form/engine/rowFocus.ts +101 -0
  290. package/src/components/form/engine/rowMenuContext.ts +159 -0
  291. package/src/components/form/engine/rowOpenPicker.ts +27 -0
  292. package/src/components/form/engine/typeChoices.ts +63 -0
  293. package/src/components/form/expressions/DpqlRendering.tsx +85 -0
  294. package/src/components/form/expressions/ExpressionField.stories.tsx +826 -48
  295. package/src/components/form/expressions/ExpressionField.tsx +269 -55
  296. package/src/components/form/expressions/argumentPresence.ts +213 -0
  297. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +38 -21
  298. package/src/components/form/expressions/builder/argumentLabel.tsx +10 -4
  299. package/src/components/form/expressions/builder/index.tsx +39 -81
  300. package/src/components/form/expressions/builder/renderTemplate.tsx +23 -56
  301. package/src/components/form/expressions/dpqlMockLanguage.ts +565 -0
  302. package/src/components/form/expressions/dpqlMockLsp.ts +109 -83
  303. package/src/components/form/expressions/mockExpressions.ts +8 -4
  304. package/src/components/form/expressions/renderExpressionToText.ts +112 -22
  305. package/src/components/form/expressions/types.ts +7 -0
  306. package/src/components/form/expressions/useExpressions.ts +5 -1
  307. package/src/components/form/expressions/useRenderExpression.ts +43 -127
  308. package/src/components/form/fields/Field.tsx +99 -20
  309. package/src/components/form/fields/allowed-values/AllowedValues.tsx +106 -44
  310. package/src/components/form/fields/auto/AutoFormField.stories.tsx +85 -18
  311. package/src/components/form/fields/auto/AutoFormField.tsx +97 -21
  312. package/src/components/form/fields/date/Date.tsx +17 -1
  313. package/src/components/form/fields/long-string/LongString.tsx +15 -3
  314. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +65 -6
  315. package/src/components/form/fields/rich-text/RichText.tsx +248 -30
  316. package/src/components/form/fields/select/Select.stories.tsx +392 -0
  317. package/src/components/form/fields/select/Select.tsx +164 -27
  318. package/src/components/form/fields/select/SelectCollection.tsx +350 -6
  319. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +4 -2
  320. package/src/components/form/fields/template/TemplateField.stories.tsx +93 -14
  321. package/src/components/form/fields/template/TemplateField.tsx +825 -131
  322. package/src/components/form/fields/template/TemplateText.tsx +115 -0
  323. package/src/components/form/index.tsx +4 -0
  324. package/src/components/log/Log.stories.tsx +2 -1
  325. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +3 -3
  326. package/src/components/smartEditor/SmartEditor.tsx +41 -9
  327. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +52 -3
  328. package/src/components/smartEditor/useLspSession.ts +21 -3
  329. package/src/components/supportTicket/TicketReplyBox.tsx +8 -4
  330. package/src/components/ticketThread/TicketThread.stories.tsx +1 -0
  331. package/src/helpers/common.ts +7 -3
  332. package/src/helpers/dpqlDetection.ts +209 -0
  333. package/src/helpers/optionUiTypes.ts +38 -0
  334. package/src/helpers/options.ts +96 -0
  335. package/src/helpers/templateItems.ts +81 -0
  336. package/src/helpers/templateText.ts +350 -0
  337. package/src/helpers/templates.ts +94 -41
  338. package/src/helpers/validations.ts +138 -39
  339. package/src/hooks/useFetch/useFetch.stories.tsx +6 -5
  340. package/src/hooks/useFetch/useFetch.tsx +53 -7
  341. package/src/hooks/useStorage/useStorage.stories.tsx +2 -1
  342. package/src/hooks/useTemplates.ts +41 -0
  343. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +2 -1
  344. package/src/index.tsx +14 -1
  345. package/src/stores/currentUser/currentUser.stories.tsx +2 -1
  346. package/src/stories/storyNetwork.ts +92 -0
  347. package/src/utils/fetch.ts +311 -21
  348. package/src/utils/lspClient.ts +68 -11
  349. package/src/utils/websocket.ts +20 -9
  350. package/dist/components/form/engine/__fixtures__/basicFormOptions.d.ts +0 -73
  351. package/dist/components/form/engine/__fixtures__/basicFormOptions.d.ts.map +0 -1
  352. package/dist/components/form/engine/__fixtures__/basicFormOptions.js +0 -317
  353. package/dist/components/form/engine/__fixtures__/basicFormOptions.js.map +0 -1
  354. package/dist/components/form/engine/__fixtures__/fieldChromeOptions.d.ts +0 -41
  355. package/dist/components/form/engine/__fixtures__/fieldChromeOptions.d.ts.map +0 -1
  356. package/dist/components/form/engine/__fixtures__/fieldChromeOptions.js +0 -45
  357. package/dist/components/form/engine/__fixtures__/fieldChromeOptions.js.map +0 -1
  358. package/dist/components/form/expressions/dpqlMockLsp.d.ts +0 -3
  359. package/dist/components/form/expressions/dpqlMockLsp.d.ts.map +0 -1
  360. package/dist/components/form/expressions/dpqlMockLsp.js +0 -91
  361. package/dist/components/form/expressions/dpqlMockLsp.js.map +0 -1
  362. package/dist/components/form/fields/template/__fixtures__/longExampleValue.d.ts +0 -2
  363. package/dist/components/form/fields/template/__fixtures__/longExampleValue.d.ts.map +0 -1
  364. package/dist/components/form/fields/template/__fixtures__/longExampleValue.js +0 -9
  365. package/dist/components/form/fields/template/__fixtures__/longExampleValue.js.map +0 -1
  366. package/dist/components/smartEditor/__fixtures__/mockLspServer.d.ts +0 -55
  367. package/dist/components/smartEditor/__fixtures__/mockLspServer.d.ts.map +0 -1
  368. package/dist/components/smartEditor/__fixtures__/mockLspServer.js +0 -126
  369. package/dist/components/smartEditor/__fixtures__/mockLspServer.js.map +0 -1
  370. package/dist/stories/Data/fileFieldArgSchema.json +0 -86
@@ -20,7 +20,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
20
20
  return to.concat(ar || Array.prototype.slice.call(from));
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.buildTemplates = exports.filterTemplatesByType = exports.splitTemplateTokens = exports.describeTemplateReference = exports.getTemplateReferencePath = exports.resolveTemplateLabel = exports.findTemplate = exports.findTemplateByPath = exports.isBracedTemplateToken = exports.isCompleteTemplateToken = exports.TEMPLATE_TOKEN_SOURCE = exports.getTemplateValue = exports.getTemplateKey = exports.isValueTemplate = exports.getTemplateTagStyle = exports.TEMPLATE_EXAMPLE_PREVIEW_LENGTH = void 0;
23
+ exports.buildTemplates = exports.filterTemplatesByType = exports.templateTooltip = exports.describeTemplateReference = exports.getTemplateReferencePath = exports.resolveTemplateLabel = exports.findTemplate = exports.findTemplateByPath = exports.isBracedTemplateToken = exports.isCompleteTemplateToken = exports.TEMPLATE_TOKEN_SOURCE = exports.getTemplateValue = exports.getTemplateKey = exports.isValueTemplate = exports.getTemplateTagStyle = exports.TEMPLATE_EXAMPLE_PREVIEW_LENGTH = void 0;
24
24
  var reqore_1 = require("@qoretechnologies/reqore");
25
25
  var lodash_1 = require("lodash");
26
26
  var react_1 = require("react");
@@ -36,6 +36,25 @@ var expressions_1 = require("./expressions");
36
36
  * paired with the "?" action that shows the full value.
37
37
  */
38
38
  exports.TEMPLATE_EXAMPLE_PREVIEW_LENGTH = 150;
39
+ /**
40
+ * How template picker entries are ordered: by the label a reader actually sees.
41
+ *
42
+ * The server sends groups and their items in whatever order it assembled them —
43
+ * for the test vocabulary that is step order, for an app's actions it is the
44
+ * connector's own. Neither is an order a reader can predict, and a picker
45
+ * holding 29 items is navigated by looking for a NAME.
46
+ *
47
+ * `localeCompare` with `numeric` so `item2` sorts before `item10`, and
48
+ * `sensitivity: 'base'` so case and accents do not split otherwise-adjacent
49
+ * neighbours.
50
+ */
51
+ var byLabel = function (a, b) {
52
+ var _a, _b;
53
+ return String((_a = a === null || a === void 0 ? void 0 : a.label) !== null && _a !== void 0 ? _a : '').localeCompare(String((_b = b === null || b === void 0 ? void 0 : b.label) !== null && _b !== void 0 ? _b : ''), undefined, {
54
+ numeric: true,
55
+ sensitivity: 'base',
56
+ });
57
+ };
39
58
  var getTemplateTagStyle = function (meta) {
40
59
  if (meta === null || meta === void 0 ? void 0 : meta.isEventTrigger)
41
60
  return { intent: 'success' };
@@ -114,9 +133,40 @@ var matchesTemplateValue = function (item, value) {
114
133
  };
115
134
  /** Splits `$data:{a.b.c}` into its key (`$data`) and inner path (`a.b.c`). */
116
135
  var TEMPLATE_TOKEN_PATH = /^(\$[A-Za-z_][\w-]*):\{(.*)\}$/;
136
+ /**
137
+ * The KEY-LESS spelling — `$.create.status`, `$._case.mode`, `$.order[0].sku`.
138
+ *
139
+ * A host may name its own references without a key and without braces: a Qorus
140
+ * test reads what a step captured as `$.create`, and that is the whole token.
141
+ * The path is captured WITH its leading `.`, so a prefix comparison is between
142
+ * two strings of the same shape and `$.create` still ends at a path boundary
143
+ * inside `$.create.status`.
144
+ *
145
+ * Deliberately strict — a root segment, then any number of further `.field`
146
+ * steps and `[0]` indices, and nothing else — so it cannot claim a keyed token
147
+ * (which carries a `:`) or a bare `$word`.
148
+ */
149
+ var KEYLESS_TOKEN_PATH = /^\$((?:\.[A-Za-z_][\w-]*|\[\d+\])+)$/;
150
+ /**
151
+ * "No key" is a key of its own.
152
+ *
153
+ * `findTemplateByPath` refuses to name a value from an item under a different
154
+ * key, and the key-less grammar has to take part in that rule rather than sit
155
+ * outside it: a `$data:{create.status}` item must not name `$.create.status`,
156
+ * and a `$.create` item must not name `$data:{create.status}`. Every keyed
157
+ * token's key begins with `$`, so the empty string can never collide with one.
158
+ */
159
+ var NO_TOKEN_KEY = '';
117
160
  var getTokenPath = function (value) {
118
- var match = typeof value === 'string' ? TEMPLATE_TOKEN_PATH.exec(value) : null;
119
- return match ? { key: match[1], path: match[2] } : undefined;
161
+ if (typeof value !== 'string') {
162
+ return undefined;
163
+ }
164
+ var keyed = TEMPLATE_TOKEN_PATH.exec(value);
165
+ if (keyed) {
166
+ return { key: keyed[1], path: keyed[2] };
167
+ }
168
+ var keyless = KEYLESS_TOKEN_PATH.exec(value);
169
+ return keyless ? { key: NO_TOKEN_KEY, path: keyless[1] } : undefined;
120
170
  };
121
171
  /**
122
172
  * The longest catalogue item whose path is a PREFIX of `value`, plus the part
@@ -131,7 +181,12 @@ var getTokenPath = function (value) {
131
181
  *
132
182
  * The match must break at a path boundary (`.` or `[`) so `choicesOther` is
133
183
  * never named after `choices`, and the token keys must agree so a `$config:`
134
- * item never names a `$data:` value.
184
+ * item never names a `$data:` value — "no key" included, so the key-less
185
+ * grammar and the keyed one never name each other's references.
186
+ *
187
+ * Both grammars arrive here: `$data:{create.choices[0]}` and the key-less
188
+ * `$.create.status` are the same question asked in two spellings, and a
189
+ * catalogue written in either one names the walks its author took past it.
135
190
  */
136
191
  var findTemplateByPath = function (templates, value) {
137
192
  var ref = getTokenPath(value);
@@ -229,8 +284,13 @@ exports.resolveTemplateLabel = resolveTemplateLabel;
229
284
  * never fetches one), and there the raw token is the only thing left to show.
230
285
  * Showing it as `$data:{…}` renders a value as code; showing the path renders
231
286
  * it as a name, which is the honest floor.
287
+ *
288
+ * Only a BRACED wrapper is stripped, because only a braced wrapper is one.
289
+ * A key-less `$._case.mode` stripped of its `$` reads as `._case.mode`, which
290
+ * is neither the reference nor a name for it; with nothing to call it, the
291
+ * reference as written is the honest answer.
232
292
  */
233
- var getTemplateReferencePath = function (value) { var _a, _b; return (_b = (_a = getTokenPath(value)) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : value; };
293
+ var getTemplateReferencePath = function (value) { var _a, _b; return (_b = (typeof value === 'string' ? (_a = TEMPLATE_TOKEN_PATH.exec(value)) === null || _a === void 0 ? void 0 : _a[2] : undefined)) !== null && _b !== void 0 ? _b : value; };
234
294
  exports.getTemplateReferencePath = getTemplateReferencePath;
235
295
  /**
236
296
  * The best available name for a reference, for a surface that must show
@@ -244,35 +304,33 @@ var describeTemplateReference = function (templates, value) {
244
304
  return resolved.item ? resolved : { label: (0, exports.getTemplateReferencePath)(value) };
245
305
  };
246
306
  exports.describeTemplateReference = describeTemplateReference;
247
- var EMBEDDED_TEMPLATE_TOKEN = new RegExp(exports.TEMPLATE_TOKEN_SOURCE, 'g');
248
307
  /**
249
- * Splits prose that embeds template tokens into its literal and token parts —
250
- * `trim("$data:{…}")` becomes `trim("`, the token, `")`. Used to chip the
251
- * references inside a rendered expression instead of printing them raw.
308
+ * What a chosen template's hover should say.
309
+ *
310
+ * The reference itself — `$._case.title`, `$data:{dc_ai_reply.choices[0]…}` —
311
+ * is an implementation detail of the grammar, and it was what every template
312
+ * chip put in its tooltip. An author hovering a chip wants to know WHAT VALUE
313
+ * this is, and the catalogue already carries that: the entry's `description`
314
+ * is the prose the picker lists it under, written from the schema that declares
315
+ * it, with its type appended.
316
+ *
317
+ * So the hover reads as a small card — the value's name as the title, its
318
+ * description as the body — and the path stays where it is genuinely needed:
319
+ * the field's own help, which teaches the grammar with a worked example, and
320
+ * the picker, for the walks no list can hold.
321
+ *
322
+ * Falls back to the resolved label (itself the stripped path when the catalogue
323
+ * explains nothing), because a surface with no catalogue must still say what
324
+ * the value is rather than nothing at all.
252
325
  */
253
- var splitTemplateTokens = function (text) {
254
- if (!text) {
255
- return [];
256
- }
257
- var segments = [];
258
- var lastIndex = 0;
259
- // A fresh regex per call: a shared /g instance carries `lastIndex` between
260
- // calls and would skip tokens on the second string it is given.
261
- var pattern = new RegExp(EMBEDDED_TEMPLATE_TOKEN.source, 'g');
262
- var match;
263
- while ((match = pattern.exec(text)) !== null) {
264
- if (match.index > lastIndex) {
265
- segments.push({ kind: 'text', text: text.slice(lastIndex, match.index) });
266
- }
267
- segments.push({ kind: 'token', text: match[0] });
268
- lastIndex = match.index + match[0].length;
269
- }
270
- if (lastIndex < text.length) {
271
- segments.push({ kind: 'text', text: text.slice(lastIndex) });
272
- }
273
- return segments;
326
+ var templateTooltip = function (templates, value) {
327
+ var _a = (0, exports.describeTemplateReference)(templates, value), label = _a.label, item = _a.item;
328
+ var description = item === null || item === void 0 ? void 0 : item.description;
329
+ return typeof description === 'string' && description.trim() ?
330
+ { title: label, content: description, maxWidth: '360px' }
331
+ : label || value;
274
332
  };
275
- exports.splitTemplateTokens = splitTemplateTokens;
333
+ exports.templateTooltip = templateTooltip;
276
334
  // Ported verbatim from qorus-ide `helpers/functions.tsx` (FIELD_STACK_REPORT
277
335
  // batch) — the previous reqraft version used naive badge equality; the IDE
278
336
  // routes compatibility through `areQorusTypesCompatible` (int↔string coercion
@@ -393,7 +451,7 @@ var buildTemplates = function (templates) {
393
451
  };
394
452
  }
395
453
  return item;
396
- });
454
+ }).sort(byLabel);
397
455
  };
398
456
  return {
399
457
  items: Object.values(templates).map(function (_a) {
@@ -413,7 +471,7 @@ var buildTemplates = function (templates) {
413
471
  },
414
472
  items: mapTemplates(items, app, action, logo, display_name, builtin, is_event_trigger, data_role),
415
473
  });
416
- }),
474
+ }).sort(byLabel),
417
475
  };
418
476
  };
419
477
  exports.buildTemplates = buildTemplates;
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/helpers/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/helpers/templates.ts"],"names":[],"mappings":"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"}
@@ -134,21 +134,30 @@ export declare const getUnresolvedRequiredOptions: (optionSchema?: IQorusFormSch
134
134
  /**
135
135
  * Split a dependency entry into the sibling it names and how its value is compared.
136
136
  *
137
- * Three forms: `name` (the sibling must simply have a value), `name=value` (it must
138
- * have exactly that value) and `name!=value` (it must have a value, and not that
139
- * one). The negative form is what lets a field say it applies to every variant of a
140
- * record but one — spelling that as an `any-of` list of every other variant is both
141
- * unreadable in the "Depends on" lock and silently wrong the moment a variant is
142
- * added.
137
+ * Four forms: `name` (the sibling must simply have a value), `!name` (it must have
138
+ * none), `name=value` (it must have exactly that value) and `name!=value` (it must
139
+ * have a value, and not that one). The negative comparison is what lets a field say
140
+ * it applies to every variant of a record but one — spelling that as an `any-of`
141
+ * list of every other variant is both unreadable in the "Depends on" lock and
142
+ * silently wrong the moment a variant is added.
143
143
  *
144
144
  * `!=` deliberately requires the sibling to be answered: "not X" is a statement about
145
145
  * an answer, so an unanswered sibling does not satisfy it and the field stays locked.
146
+ *
147
+ * `!name` is the form that statement cannot make. Two options that exclude one
148
+ * another (a converter that reads NodeSet2 and one that writes OpenAPI 3) each
149
+ * apply only while the OTHER has not been answered at all, and `name!=value` cannot
150
+ * say that: it requires an answer. Being a predicate like any other, it composes
151
+ * with the AND of the top-level entries and the OR of a nested list for free.
152
+ *
153
+ * `!` binds to the whole entry, so `!name` never carries a value; `!=` is checked
154
+ * first, which is what keeps `name!=value` from being read as a leading `!`.
146
155
  */
147
156
  export declare const parseDependency: (dependency: string) => {
148
157
  name: string;
149
- op?: '=' | '!=';
158
+ op?: '=' | '!=' | '!';
150
159
  value?: string;
151
160
  };
152
- export declare const hasAllDependenciesFullfilled: (dependencies: string[] | string[][], options: TQorusForm, optionsSchema?: IQorusFormSchema) => boolean;
161
+ export declare const hasAllDependenciesFullfilled: (dependencies: ReadonlyArray<string | readonly string[]>, options: TQorusForm, optionsSchema?: IQorusFormSchema) => boolean;
153
162
  export {};
154
163
  //# sourceMappingURL=validations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/helpers/validations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/helpers/validations.ts"],"names":[],"mappings":"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"}
@@ -139,7 +139,7 @@ var isValueDefined = function (type, value) {
139
139
  return value !== undefined && value !== '';
140
140
  };
141
141
  var _validateField = function (type, value, field, canBeNull) {
142
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
142
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
143
143
  if (!type) {
144
144
  if (value === undefined || value === null) {
145
145
  return invalidResult('Missing value');
@@ -542,7 +542,7 @@ var _validateField = function (type, value, field, canBeNull) {
542
542
  return invalidResult('Mapper code is required');
543
543
  }
544
544
  // Split the value
545
- var _s = value.split('::'), code = _s[0], method = _s[1];
545
+ var _u = value.split('::'), code = _u[0], method = _u[1];
546
546
  // Both fields need to be strings & filled
547
547
  var codeResult = (0, exports.validateFieldWithResult)('string', code);
548
548
  if (!codeResult.isValid) {
@@ -781,10 +781,34 @@ var _validateField = function (type, value, field, canBeNull) {
781
781
  return invalidResult('Value is not valid YAML');
782
782
  }
783
783
  }
784
- if (parsedData) {
785
- return withContext((0, exports.validateFieldWithResult)((0, exports.getTypeFromValue)(parsedData), value), 'Auto-detected type is invalid');
784
+ /* A FALSY value is not an ABSENT one. `null`, `0`, `false` and `""` are
785
+ all values an author may hold in an `auto`/`any` field — a test
786
+ assertion expecting a count of zero, a flag that is off, or a blank
787
+ string — and the truthiness gate that used to stand here refused every
788
+ one of them as *"Value is empty"*. It surfaced on an assertion's
789
+ Expected Value holding `null`: opening it reported *"Value for argument
790
+ 1 ("any") is invalid: Value is empty"* on the value the author had
791
+ deliberately chosen. Only `undefined` is actually empty.
792
+
793
+ `null` and `""` are answered here rather than delegated, for two
794
+ different reasons: `getTypeFromValue(null)` answers `auto`, which would
795
+ re-enter this very branch, and the `string` validator rejects `""`
796
+ because that is the rule for a REQUIRED text field — a different
797
+ question from whether an untyped field may hold a blank string. */
798
+ if (parsedData === undefined) {
799
+ return invalidResult('Value is empty');
800
+ }
801
+ if (parsedData === null || parsedData === '') {
802
+ return validResult();
786
803
  }
787
- return invalidResult('Value is empty');
804
+ /* Validate what was PARSED, against the type detected from the same
805
+ parse. Validating the raw `value` instead made the two disagree
806
+ whenever parsing changed the shape: typing `1` into an `auto` field
807
+ parsed to the number 1, detected `int`, and then validated the STRING
808
+ "1" against it — "Value must be an integer", on a value that is one.
809
+ The author saw their field go invalid on the first character they
810
+ typed. */
811
+ return withContext((0, exports.validateFieldWithResult)((0, exports.getTypeFromValue)(parsedData), parsedData), 'Auto-detected type is invalid');
788
812
  }
789
813
  case 'processor': {
790
814
  if (!value || !value['processor-input-type'] || !value['processor-output-type']) {
@@ -948,9 +972,25 @@ var _validateField = function (type, value, field, canBeNull) {
948
972
  !isValueDefined(optionType, optionValue)) {
949
973
  continue;
950
974
  }
975
+ /* An option whose dependencies are not fulfilled is not part of this
976
+ object, so it cannot make the object invalid.
977
+
978
+ The form already takes that view — it HIDES such an option — and
979
+ the two disagreeing is a trap with no way out of it: a test whose
980
+ subject moved from a versioned kind to a service keeps the
981
+ `subject_iface_version` it no longer has a field for, and Submit
982
+ goes dead naming an option that is nowhere on screen. Nulling the
983
+ value does not help either, because a null is still a value the
984
+ loop reaches.
985
+
986
+ A REQUIRED option with unfulfilled dependencies is unaffected:
987
+ `getUnresolvedRequiredOptions` above reports it as `dependency`
988
+ before this loop runs, and it is the only owner of that question.
989
+ This branch was therefore only ever able to fail an option the
990
+ author could not see and did not need. */
951
991
  if (((_d = optionSchema === null || optionSchema === void 0 ? void 0 : optionSchema[option]) === null || _d === void 0 ? void 0 : _d.depends_on) &&
952
992
  !(0, exports.hasAllDependenciesFullfilled)(optionSchema[option].depends_on, options, optionSchema)) {
953
- return invalidResult("Option ".concat(option, " dependencies are not fulfilled"));
993
+ continue;
954
994
  }
955
995
  var optionResult = typeof optionData !== 'object'
956
996
  ? (0, exports.validateFieldWithResult)((0, exports.getTypeFromValue)(optionData), optionData)
@@ -1010,7 +1050,7 @@ var _validateField = function (type, value, field, canBeNull) {
1010
1050
  case 'byte-size': {
1011
1051
  if (typeof value !== 'string')
1012
1052
  return invalidResult('Byte size must be a string');
1013
- var _t = (0, common_1.splitByteSize)(value), bytes = _t[0], sizeUnit = _t[1];
1053
+ var _v = (0, common_1.splitByteSize)(value), bytes = _v[0], sizeUnit = _v[1];
1014
1054
  var bytesResult = (0, exports.validateFieldWithResult)('number', bytes);
1015
1055
  if (!bytesResult.isValid) {
1016
1056
  return withContext(bytesResult, 'Byte size numeric part is invalid');
@@ -1105,6 +1145,29 @@ var _validateField = function (type, value, field, canBeNull) {
1105
1145
  var argDefinition = expressionDefinition.varargs
1106
1146
  ? expressionDefinition.args[0]
1107
1147
  : expressionDefinition.args[index];
1148
+ /* The argument's name for the message.
1149
+
1150
+ `display_name` is what a catalogue MAY carry; the served one carries
1151
+ `name`, so every message about an argument read "argument 1
1152
+ ("undefined") is invalid" and named a field that does not exist. */
1153
+ var argLabel = (_s = (_r = argDefinition === null || argDefinition === void 0 ? void 0 : argDefinition.display_name) !== null && _r !== void 0 ? _r : argDefinition === null || argDefinition === void 0 ? void 0 : argDefinition.name) !== null && _s !== void 0 ? _s : "argument ".concat(index + 1);
1154
+ /* An explicit null is a VALUE, and DPQL says so: `null` is a literal
1155
+ that parses, serializes and round-trips like any other.
1156
+
1157
+ Treated as a missing one, it made "this returns no value"
1158
+ unsayable. Typing `null` into the text editor produces the literal
1159
+ expression `{exp: "value", args: [null]}`; the visual view then
1160
+ called it invalid and refused to render a summary, and a raw null
1161
+ argument crashed the validator outright on `argValue.type`. Reported
1162
+ from the live IDE by an author with no other way to assert that a
1163
+ service method returns nothing.
1164
+
1165
+ Only an EXPLICIT null counts. An argument that is simply absent, or
1166
+ an envelope holding `undefined`, is still missing — which is the
1167
+ distinction the author is making when they write it. */
1168
+ if (argValue === null || ((0, isPlainObject_1.default)(argValue) && argValue.value === null)) {
1169
+ continue;
1170
+ }
1108
1171
  if (!(argValue === null || argValue === void 0 ? void 0 : argValue.value) && !(argDefinition === null || argDefinition === void 0 ? void 0 : argDefinition.required)) {
1109
1172
  continue;
1110
1173
  }
@@ -1114,20 +1177,27 @@ var _validateField = function (type, value, field, canBeNull) {
1114
1177
  has_to_have_value: argDefinition === null || argDefinition === void 0 ? void 0 : argDefinition.required,
1115
1178
  });
1116
1179
  if (!result_1.isValid) {
1117
- return withContext(result_1, "Sub-expression for argument ".concat(index + 1, " (\"").concat(argDefinition === null || argDefinition === void 0 ? void 0 : argDefinition.display_name, "\") is invalid"));
1180
+ return withContext(result_1, "Sub-expression for argument ".concat(index + 1, " (\"").concat(argLabel, "\") is invalid"));
1118
1181
  }
1119
1182
  continue;
1120
1183
  }
1121
- // A slot with no operand at all is a missing value, not a crash:
1122
- // judge it as an empty value of the type the catalogue expects.
1123
- var result = (0, exports.validateFieldWithResult)((_r = argValue === null || argValue === void 0 ? void 0 : argValue.type) !== null && _r !== void 0 ? _r : argDefinition === null || argDefinition === void 0 ? void 0 : argDefinition.ui_type, argValue === null || argValue === void 0 ? void 0 : argValue.value, {
1184
+ /* A slot with no operand at all is judged as what it is — a missing
1185
+ value — rather than read for a `type` it does not have.
1186
+
1187
+ An operand that HOLDS something is judged by the envelope's own type,
1188
+ or — when the envelope carries none (a raw parse operand widened
1189
+ without a `ui_type`, a slot reset by a type change) — by the type the
1190
+ catalogue declares. Without that fallback `_validateField` refuses it
1191
+ for "Missing type" however right the value is. */
1192
+ var operandType = (_t = argValue === null || argValue === void 0 ? void 0 : argValue.type) !== null && _t !== void 0 ? _t : ((argValue === null || argValue === void 0 ? void 0 : argValue.value) === undefined ? undefined : argDefinition === null || argDefinition === void 0 ? void 0 : argDefinition.ui_type);
1193
+ var result = (0, exports.validateFieldWithResult)(operandType, argValue === null || argValue === void 0 ? void 0 : argValue.value, {
1124
1194
  expressions: expressions,
1125
1195
  allowed_values: argDefinition === null || argDefinition === void 0 ? void 0 : argDefinition.allowed_values,
1126
1196
  element_allowed_values: argDefinition === null || argDefinition === void 0 ? void 0 : argDefinition.element_allowed_values,
1127
1197
  has_to_have_value: argDefinition === null || argDefinition === void 0 ? void 0 : argDefinition.required,
1128
1198
  });
1129
1199
  if (!result.isValid) {
1130
- return withContext(result, "Value for argument ".concat(index + 1, " (\"").concat(argDefinition === null || argDefinition === void 0 ? void 0 : argDefinition.display_name, "\") is invalid"));
1200
+ return withContext(result, "Value for argument ".concat(index + 1, " (\"").concat(argLabel, "\") is invalid"));
1131
1201
  }
1132
1202
  }
1133
1203
  return validResult();
@@ -1332,15 +1402,24 @@ exports.getUnresolvedRequiredOptions = getUnresolvedRequiredOptions;
1332
1402
  /**
1333
1403
  * Split a dependency entry into the sibling it names and how its value is compared.
1334
1404
  *
1335
- * Three forms: `name` (the sibling must simply have a value), `name=value` (it must
1336
- * have exactly that value) and `name!=value` (it must have a value, and not that
1337
- * one). The negative form is what lets a field say it applies to every variant of a
1338
- * record but one — spelling that as an `any-of` list of every other variant is both
1339
- * unreadable in the "Depends on" lock and silently wrong the moment a variant is
1340
- * added.
1405
+ * Four forms: `name` (the sibling must simply have a value), `!name` (it must have
1406
+ * none), `name=value` (it must have exactly that value) and `name!=value` (it must
1407
+ * have a value, and not that one). The negative comparison is what lets a field say
1408
+ * it applies to every variant of a record but one — spelling that as an `any-of`
1409
+ * list of every other variant is both unreadable in the "Depends on" lock and
1410
+ * silently wrong the moment a variant is added.
1341
1411
  *
1342
1412
  * `!=` deliberately requires the sibling to be answered: "not X" is a statement about
1343
1413
  * an answer, so an unanswered sibling does not satisfy it and the field stays locked.
1414
+ *
1415
+ * `!name` is the form that statement cannot make. Two options that exclude one
1416
+ * another (a converter that reads NodeSet2 and one that writes OpenAPI 3) each
1417
+ * apply only while the OTHER has not been answered at all, and `name!=value` cannot
1418
+ * say that: it requires an answer. Being a predicate like any other, it composes
1419
+ * with the AND of the top-level entries and the OR of a nested list for free.
1420
+ *
1421
+ * `!` binds to the whole entry, so `!name` never carries a value; `!=` is checked
1422
+ * first, which is what keeps `name!=value` from being read as a leading `!`.
1344
1423
  */
1345
1424
  var parseDependency = function (dependency) {
1346
1425
  var neqIdx = dependency.indexOf('!=');
@@ -1359,13 +1438,29 @@ var parseDependency = function (dependency) {
1359
1438
  value: dependency.substring(eqIdx + 1),
1360
1439
  };
1361
1440
  }
1441
+ if (dependency.startsWith('!')) {
1442
+ return { name: dependency.substring(1), op: '!' };
1443
+ }
1362
1444
  return { name: dependency };
1363
1445
  };
1364
1446
  exports.parseDependency = parseDependency;
1447
+ /** Whether the named sibling currently holds a value this form accepts. */
1448
+ var siblingHasValue = function (name, options, optionsSchema) {
1449
+ var _a, _b;
1450
+ return (0, exports.validateField)((_a = options === null || options === void 0 ? void 0 : options[name]) === null || _a === void 0 ? void 0 : _a.type, (_b = options === null || options === void 0 ? void 0 : options[name]) === null || _b === void 0 ? void 0 : _b.value, __assign(__assign({}, optionsSchema === null || optionsSchema === void 0 ? void 0 : optionsSchema[name]), { options: options, optionSchema: optionsSchema }));
1451
+ };
1365
1452
  /** Whether one dependency entry holds against the current form values. */
1366
1453
  var isDependencyFulfilled = function (dependency, options, optionsSchema) {
1367
1454
  var _a;
1368
1455
  var _b = (0, exports.parseDependency)(dependency), name = _b.name, op = _b.op, value = _b.value;
1456
+ if (op === '!') {
1457
+ // "Has no value" is true of a field the form has not materialized at all —
1458
+ // there is nothing there to be the value. So an absent sibling satisfies
1459
+ // this, exactly as it satisfies the bare form below: neither has an answer
1460
+ // to judge, and a mutual exclusion that locked both halves until one of
1461
+ // them was added would offer the author no way in.
1462
+ return !(options === null || options === void 0 ? void 0 : options[name]) || !siblingHasValue(name, options, optionsSchema);
1463
+ }
1369
1464
  if (op) {
1370
1465
  var optValue = (_a = options === null || options === void 0 ? void 0 : options[name]) === null || _a === void 0 ? void 0 : _a.value;
1371
1466
  if (optValue == null) {
@@ -1373,11 +1468,11 @@ var isDependencyFulfilled = function (dependency, options, optionsSchema) {
1373
1468
  }
1374
1469
  return op === '=' ? String(optValue) === value : String(optValue) !== value;
1375
1470
  }
1376
- return (options === null || options === void 0 ? void 0 : options[name])
1377
- ? (0, exports.validateField)(options[name].type, options[name].value, __assign(__assign({}, optionsSchema === null || optionsSchema === void 0 ? void 0 : optionsSchema[name]), { options: options, optionSchema: optionsSchema }))
1378
- : true;
1471
+ return (options === null || options === void 0 ? void 0 : options[name]) ? siblingHasValue(name, options, optionsSchema) : true;
1379
1472
  };
1380
- var hasAllDependenciesFullfilled = function (dependencies, options, optionsSchema) {
1473
+ var hasAllDependenciesFullfilled = function (
1474
+ /** Every entry must hold; a nested list is an ANY of its entries. Mixed freely. */
1475
+ dependencies, options, optionsSchema) {
1381
1476
  if ((0, size_1.default)(dependencies) === 0) {
1382
1477
  return true;
1383
1478
  }