@qoretechnologies/reqraft 0.10.53 → 0.10.54-pr.115.g9bc96ed

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 (283) 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_EXPRESSIONS.md +110 -0
  6. package/design/FORM_ENGINE_FIELD_MIGRATION.md +56 -1
  7. package/design/RENDER_EXPRESSION_TRANSPORT.md +76 -10
  8. package/design/SMART_EDITOR_UX.md +21 -0
  9. package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
  10. package/dist/components/dpqlEditor/DpqlEditor.js +3 -3
  11. package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
  12. package/dist/components/dpqlEditor/dpqlHelpers.d.ts +6 -0
  13. package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
  14. package/dist/components/dpqlEditor/dpqlHelpers.js +21 -2
  15. package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
  16. package/dist/components/dpqlEditor/dpqlProbe.d.ts +37 -0
  17. package/dist/components/dpqlEditor/dpqlProbe.d.ts.map +1 -0
  18. package/dist/components/dpqlEditor/dpqlProbe.js +203 -0
  19. package/dist/components/dpqlEditor/dpqlProbe.js.map +1 -0
  20. package/dist/components/dpqlEditor/dpqlTags.d.ts +8 -0
  21. package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
  22. package/dist/components/dpqlEditor/dpqlTags.js +5 -1
  23. package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
  24. package/dist/components/dpqlEditor/index.d.ts +4 -0
  25. package/dist/components/dpqlEditor/index.d.ts.map +1 -1
  26. package/dist/components/dpqlEditor/index.js +5 -1
  27. package/dist/components/dpqlEditor/index.js.map +1 -1
  28. package/dist/components/dpqlEditor/types.d.ts +42 -2
  29. package/dist/components/dpqlEditor/types.d.ts.map +1 -1
  30. package/dist/components/dpqlEditor/types.js +0 -4
  31. package/dist/components/dpqlEditor/types.js.map +1 -1
  32. package/dist/components/dpqlEditor/useDpqlProbe.d.ts +4 -0
  33. package/dist/components/dpqlEditor/useDpqlProbe.d.ts.map +1 -0
  34. package/dist/components/dpqlEditor/useDpqlProbe.js +29 -0
  35. package/dist/components/dpqlEditor/useDpqlProbe.js.map +1 -0
  36. package/dist/components/dpqlEditor/useDpqlSession.d.ts +5 -2
  37. package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
  38. package/dist/components/dpqlEditor/useDpqlSession.js +8 -2
  39. package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
  40. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  41. package/dist/components/form/engine/CompactRow.js +192 -45
  42. package/dist/components/form/engine/CompactRow.js.map +1 -1
  43. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  44. package/dist/components/form/engine/CompactToolbar.js +5 -2
  45. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  46. package/dist/components/form/engine/FormEngine.d.ts +160 -12
  47. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  48. package/dist/components/form/engine/FormEngine.js +376 -75
  49. package/dist/components/form/engine/FormEngine.js.map +1 -1
  50. package/dist/components/form/engine/FormFieldsSkeleton.d.ts +48 -0
  51. package/dist/components/form/engine/FormFieldsSkeleton.d.ts.map +1 -0
  52. package/dist/components/form/engine/FormFieldsSkeleton.js +38 -0
  53. package/dist/components/form/engine/FormFieldsSkeleton.js.map +1 -0
  54. package/dist/components/form/engine/OptionFieldMessages.d.ts +17 -2
  55. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  56. package/dist/components/form/engine/OptionFieldMessages.js +61 -11
  57. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  58. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  59. package/dist/components/form/engine/_structuredData/SchemaDataView.js +7 -1
  60. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  61. package/dist/components/form/engine/compactToolbarContext.d.ts +1 -0
  62. package/dist/components/form/engine/compactToolbarContext.d.ts.map +1 -1
  63. package/dist/components/form/engine/readFirst.d.ts +42 -1
  64. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  65. package/dist/components/form/engine/readFirst.js +74 -7
  66. package/dist/components/form/engine/readFirst.js.map +1 -1
  67. package/dist/components/form/engine/rendererTypes.d.ts +13 -0
  68. package/dist/components/form/engine/rendererTypes.d.ts.map +1 -1
  69. package/dist/components/form/engine/rendererTypes.js.map +1 -1
  70. package/dist/components/form/engine/rowMenuContext.d.ts +78 -0
  71. package/dist/components/form/engine/rowMenuContext.d.ts.map +1 -0
  72. package/dist/components/form/engine/rowMenuContext.js +103 -0
  73. package/dist/components/form/engine/rowMenuContext.js.map +1 -0
  74. package/dist/components/form/engine/typeChoices.d.ts +37 -0
  75. package/dist/components/form/engine/typeChoices.d.ts.map +1 -0
  76. package/dist/components/form/engine/typeChoices.js +25 -0
  77. package/dist/components/form/engine/typeChoices.js.map +1 -0
  78. package/dist/components/form/expressions/DpqlRendering.d.ts +26 -0
  79. package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -0
  80. package/dist/components/form/expressions/DpqlRendering.js +53 -0
  81. package/dist/components/form/expressions/DpqlRendering.js.map +1 -0
  82. package/dist/components/form/expressions/ExpressionField.d.ts +7 -1
  83. package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
  84. package/dist/components/form/expressions/ExpressionField.js +202 -45
  85. package/dist/components/form/expressions/ExpressionField.js.map +1 -1
  86. package/dist/components/form/expressions/argumentPresence.d.ts +97 -0
  87. package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -0
  88. package/dist/components/form/expressions/argumentPresence.js +203 -0
  89. package/dist/components/form/expressions/argumentPresence.js.map +1 -0
  90. package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
  91. package/dist/components/form/expressions/builder/argumentLabel.js +9 -4
  92. package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
  93. package/dist/components/form/expressions/builder/index.d.ts +15 -2
  94. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  95. package/dist/components/form/expressions/builder/index.js +20 -58
  96. package/dist/components/form/expressions/builder/index.js.map +1 -1
  97. package/dist/components/form/expressions/builder/renderTemplate.d.ts +4 -1
  98. package/dist/components/form/expressions/builder/renderTemplate.d.ts.map +1 -1
  99. package/dist/components/form/expressions/builder/renderTemplate.js +10 -67
  100. package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
  101. package/dist/components/form/expressions/dpqlMockLanguage.d.ts +76 -0
  102. package/dist/components/form/expressions/dpqlMockLanguage.d.ts.map +1 -0
  103. package/dist/components/form/expressions/dpqlMockLanguage.js +525 -0
  104. package/dist/components/form/expressions/dpqlMockLanguage.js.map +1 -0
  105. package/dist/components/form/expressions/dpqlMockLsp.d.ts +31 -2
  106. package/dist/components/form/expressions/dpqlMockLsp.d.ts.map +1 -1
  107. package/dist/components/form/expressions/dpqlMockLsp.js +86 -80
  108. package/dist/components/form/expressions/dpqlMockLsp.js.map +1 -1
  109. package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
  110. package/dist/components/form/expressions/mockExpressions.js +8 -4
  111. package/dist/components/form/expressions/mockExpressions.js.map +1 -1
  112. package/dist/components/form/expressions/renderExpressionToText.d.ts +1 -1
  113. package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
  114. package/dist/components/form/expressions/renderExpressionToText.js +95 -19
  115. package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
  116. package/dist/components/form/expressions/types.d.ts +7 -0
  117. package/dist/components/form/expressions/types.d.ts.map +1 -1
  118. package/dist/components/form/expressions/useRenderExpression.d.ts +7 -16
  119. package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
  120. package/dist/components/form/expressions/useRenderExpression.js +50 -126
  121. package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
  122. package/dist/components/form/fields/Field.d.ts.map +1 -1
  123. package/dist/components/form/fields/Field.js +3 -1
  124. package/dist/components/form/fields/Field.js.map +1 -1
  125. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts +11 -1
  126. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  127. package/dist/components/form/fields/allowed-values/AllowedValues.js +14 -2
  128. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  129. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  130. package/dist/components/form/fields/auto/AutoFormField.js +32 -8
  131. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  132. package/dist/components/form/fields/date/Date.d.ts +1 -1
  133. package/dist/components/form/fields/date/Date.d.ts.map +1 -1
  134. package/dist/components/form/fields/date/Date.js +16 -2
  135. package/dist/components/form/fields/date/Date.js.map +1 -1
  136. package/dist/components/form/fields/rich-text/RichText.d.ts +21 -1
  137. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  138. package/dist/components/form/fields/rich-text/RichText.js +140 -8
  139. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  140. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +2 -1
  141. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  142. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +3 -2
  143. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  144. package/dist/components/form/fields/template/TemplateField.d.ts +31 -1
  145. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  146. package/dist/components/form/fields/template/TemplateField.js +528 -50
  147. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  148. package/dist/components/form/index.d.ts +1 -0
  149. package/dist/components/form/index.d.ts.map +1 -1
  150. package/dist/components/form/index.js +1 -0
  151. package/dist/components/form/index.js.map +1 -1
  152. package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
  153. package/dist/components/smartEditor/SmartEditor.js +29 -8
  154. package/dist/components/smartEditor/SmartEditor.js.map +1 -1
  155. package/dist/components/smartEditor/__fixtures__/mockLspServer.d.ts +8 -0
  156. package/dist/components/smartEditor/__fixtures__/mockLspServer.d.ts.map +1 -1
  157. package/dist/components/smartEditor/__fixtures__/mockLspServer.js +53 -10
  158. package/dist/components/smartEditor/__fixtures__/mockLspServer.js.map +1 -1
  159. package/dist/components/smartEditor/useLspSession.d.ts +5 -1
  160. package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
  161. package/dist/components/smartEditor/useLspSession.js +16 -2
  162. package/dist/components/smartEditor/useLspSession.js.map +1 -1
  163. package/dist/helpers/dpqlDetection.d.ts +58 -0
  164. package/dist/helpers/dpqlDetection.d.ts.map +1 -0
  165. package/dist/helpers/dpqlDetection.js +164 -0
  166. package/dist/helpers/dpqlDetection.js.map +1 -0
  167. package/dist/helpers/optionUiTypes.d.ts +3 -3
  168. package/dist/helpers/options.d.ts +37 -0
  169. package/dist/helpers/options.d.ts.map +1 -1
  170. package/dist/helpers/options.js +78 -1
  171. package/dist/helpers/options.js.map +1 -1
  172. package/dist/helpers/templateItems.d.ts +47 -0
  173. package/dist/helpers/templateItems.d.ts.map +1 -0
  174. package/dist/helpers/templateItems.js +88 -0
  175. package/dist/helpers/templateItems.js.map +1 -0
  176. package/dist/helpers/templateText.d.ts +37 -0
  177. package/dist/helpers/templateText.d.ts.map +1 -0
  178. package/dist/helpers/templateText.js +64 -0
  179. package/dist/helpers/templateText.js.map +1 -0
  180. package/dist/helpers/templates.d.ts +19 -11
  181. package/dist/helpers/templates.d.ts.map +1 -1
  182. package/dist/helpers/templates.js +46 -29
  183. package/dist/helpers/templates.js.map +1 -1
  184. package/dist/helpers/validations.d.ts.map +1 -1
  185. package/dist/helpers/validations.js +56 -9
  186. package/dist/helpers/validations.js.map +1 -1
  187. package/dist/hooks/useArgSchema.d.ts +2 -1
  188. package/dist/hooks/useArgSchema.d.ts.map +1 -1
  189. package/dist/hooks/useFetch/useFetch.d.ts +3 -1
  190. package/dist/hooks/useFetch/useFetch.d.ts.map +1 -1
  191. package/dist/hooks/useFetch/useFetch.js +47 -9
  192. package/dist/hooks/useFetch/useFetch.js.map +1 -1
  193. package/dist/hooks/useTemplates.d.ts +20 -0
  194. package/dist/hooks/useTemplates.d.ts.map +1 -1
  195. package/dist/hooks/useTemplates.js +34 -2
  196. package/dist/hooks/useTemplates.js.map +1 -1
  197. package/dist/index.d.ts +2 -1
  198. package/dist/index.d.ts.map +1 -1
  199. package/dist/index.js +5 -1
  200. package/dist/index.js.map +1 -1
  201. package/dist/stories/storyNetwork.d.ts +36 -0
  202. package/dist/stories/storyNetwork.d.ts.map +1 -0
  203. package/dist/stories/storyNetwork.js +82 -0
  204. package/dist/stories/storyNetwork.js.map +1 -0
  205. package/dist/utils/fetch.d.ts +151 -1
  206. package/dist/utils/fetch.d.ts.map +1 -1
  207. package/dist/utils/fetch.js +256 -44
  208. package/dist/utils/fetch.js.map +1 -1
  209. package/dist/utils/lspClient.d.ts +6 -0
  210. package/dist/utils/lspClient.d.ts.map +1 -1
  211. package/dist/utils/lspClient.js +62 -11
  212. package/dist/utils/lspClient.js.map +1 -1
  213. package/dist/utils/websocket.d.ts +6 -0
  214. package/dist/utils/websocket.d.ts.map +1 -1
  215. package/dist/utils/websocket.js +15 -7
  216. package/dist/utils/websocket.js.map +1 -1
  217. package/package.json +2 -2
  218. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +3 -119
  219. package/src/components/dpqlEditor/DpqlEditor.tsx +5 -2
  220. package/src/components/dpqlEditor/dpqlHelpers.ts +20 -1
  221. package/src/components/dpqlEditor/dpqlProbe.ts +165 -0
  222. package/src/components/dpqlEditor/dpqlTags.ts +13 -0
  223. package/src/components/dpqlEditor/index.ts +4 -0
  224. package/src/components/dpqlEditor/types.ts +38 -2
  225. package/src/components/dpqlEditor/useDpqlProbe.ts +33 -0
  226. package/src/components/dpqlEditor/useDpqlSession.ts +20 -4
  227. package/src/components/form/engine/CompactRow.tsx +240 -51
  228. package/src/components/form/engine/CompactToolbar.tsx +10 -3
  229. package/src/components/form/engine/FormEngine.stories.tsx +423 -120
  230. package/src/components/form/engine/FormEngine.tsx +504 -87
  231. package/src/components/form/engine/FormFieldsSkeleton.tsx +76 -0
  232. package/src/components/form/engine/OptionFieldMessages.tsx +89 -11
  233. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +11 -0
  234. package/src/components/form/engine/compactToolbarContext.ts +1 -1
  235. package/src/components/form/engine/readFirst.ts +86 -7
  236. package/src/components/form/engine/rendererTypes.ts +12 -0
  237. package/src/components/form/engine/rowMenuContext.ts +159 -0
  238. package/src/components/form/engine/typeChoices.ts +55 -0
  239. package/src/components/form/expressions/DpqlRendering.tsx +85 -0
  240. package/src/components/form/expressions/ExpressionField.stories.tsx +826 -48
  241. package/src/components/form/expressions/ExpressionField.tsx +265 -54
  242. package/src/components/form/expressions/argumentPresence.ts +200 -0
  243. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +20 -4
  244. package/src/components/form/expressions/builder/argumentLabel.tsx +10 -4
  245. package/src/components/form/expressions/builder/index.tsx +39 -77
  246. package/src/components/form/expressions/builder/renderTemplate.tsx +23 -56
  247. package/src/components/form/expressions/dpqlMockLanguage.ts +565 -0
  248. package/src/components/form/expressions/dpqlMockLsp.ts +109 -83
  249. package/src/components/form/expressions/mockExpressions.ts +8 -4
  250. package/src/components/form/expressions/renderExpressionToText.ts +112 -22
  251. package/src/components/form/expressions/types.ts +7 -0
  252. package/src/components/form/expressions/useRenderExpression.ts +43 -127
  253. package/src/components/form/fields/Field.tsx +3 -2
  254. package/src/components/form/fields/allowed-values/AllowedValues.tsx +13 -2
  255. package/src/components/form/fields/auto/AutoFormField.stories.tsx +27 -20
  256. package/src/components/form/fields/auto/AutoFormField.tsx +33 -9
  257. package/src/components/form/fields/date/Date.tsx +17 -1
  258. package/src/components/form/fields/rich-text/RichText.tsx +199 -22
  259. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +4 -2
  260. package/src/components/form/fields/template/TemplateField.stories.tsx +31 -9
  261. package/src/components/form/fields/template/TemplateField.tsx +714 -122
  262. package/src/components/form/index.tsx +1 -0
  263. package/src/components/log/Log.stories.tsx +2 -1
  264. package/src/components/smartEditor/SmartEditor.tsx +41 -9
  265. package/src/components/smartEditor/__fixtures__/mockLspServer.ts +52 -3
  266. package/src/components/smartEditor/useLspSession.ts +21 -3
  267. package/src/helpers/dpqlDetection.ts +209 -0
  268. package/src/helpers/options.ts +70 -0
  269. package/src/helpers/templateItems.ts +81 -0
  270. package/src/helpers/templateText.ts +92 -0
  271. package/src/helpers/templates.ts +47 -37
  272. package/src/helpers/validations.ts +59 -9
  273. package/src/hooks/useFetch/useFetch.stories.tsx +6 -5
  274. package/src/hooks/useFetch/useFetch.tsx +53 -7
  275. package/src/hooks/useStorage/useStorage.stories.tsx +2 -1
  276. package/src/hooks/useTemplates.ts +41 -0
  277. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +2 -1
  278. package/src/index.tsx +14 -1
  279. package/src/stores/currentUser/currentUser.stories.tsx +2 -1
  280. package/src/stories/storyNetwork.ts +92 -0
  281. package/src/utils/fetch.ts +311 -21
  282. package/src/utils/lspClient.ts +68 -11
  283. package/src/utils/websocket.ts +20 -9
@@ -0,0 +1,525 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.mockRenderDpql = exports.mockSerializeDpql = exports.dpqlMockRichtext = exports.mockParseDpql = exports.inferDpqlMockType = exports.mockTokenizeDpql = void 0;
30
+ // Copyright 2026 Qore Technologies, s.r.o.
31
+ // The DPQL the story language server speaks: tokens, parse, type analysis,
32
+ // serialize and render, as pure functions.
33
+ //
34
+ // A mock that answers every request with a fixed shape makes stories assert
35
+ // its artefacts instead of the product. The one this replaced parsed ANY text
36
+ // into `text == ""`, so `1 + 2 ==` — which the real server rejects — previewed
37
+ // as `"1 + 2 ==" == ""` and a bool field reported "returns string". Each
38
+ // answer here follows what the Qorus `/lsp` handler actually returned for the
39
+ // same input, recorded in `__tests__/dpqlMockLanguage.test.ts`; only the subset
40
+ // the stories exercise is modelled.
41
+ var mockExpressions_1 = require("./mockExpressions");
42
+ // ─── Catalogue ───────────────────────────────────────────────────────────────
43
+ /* The server parses, serializes and renders by the expression catalogue — an
44
+ expression's symbol, type, group and `render_template` — so this reads the
45
+ stories' catalogue for the same answers. */
46
+ var CATALOGUE = new Map(mockExpressions_1.mockExpressions.map(function (info) { return [info.name, info]; }));
47
+ /** `DET_Function`: a rendering calls it by name. */
48
+ var DET_FUNCTION = 2;
49
+ /** `DET_Operator`. */
50
+ var DET_OPERATOR = 1;
51
+ var WORD = /^[A-Za-z_]\w*$/;
52
+ /** An expression's DPQL spelling: its symbol without a display `()`, else its name. */
53
+ var symbolOf = function (name) { var _a, _b; return ((_b = (_a = CATALOGUE.get(name)) === null || _a === void 0 ? void 0 : _a.symbol) === null || _b === void 0 ? void 0 : _b.replace(/\(\)$/, '')) || name; };
54
+ /**
55
+ * A two-argument catalogue comparison is written infix by its symbol:
56
+ * `"test" startsWith "t"`. With any other number of arguments it is a call.
57
+ * `regex` is the exception the server spells `=~ /…/`, which is not modelled.
58
+ */
59
+ var isInfixComparison = function (name, argCount) {
60
+ var _a;
61
+ var info = CATALOGUE.get(name);
62
+ return (argCount === 2 &&
63
+ (info === null || info === void 0 ? void 0 : info.type) === DET_OPERATOR &&
64
+ !!((_a = info.groups) === null || _a === void 0 ? void 0 : _a.includes('Comparison')) &&
65
+ name !== 'regex');
66
+ };
67
+ /** Expression names by the word DPQL spells them with: `startsWith` → `starts-with`. */
68
+ var NAME_BY_SYMBOL = new Map(mockExpressions_1.mockExpressions
69
+ .filter(function (info) { return WORD.test(symbolOf(info.name)); })
70
+ .map(function (info) { return [symbolOf(info.name), info.name]; }));
71
+ // ─── Semantic tokens ─────────────────────────────────────────────────────────
72
+ var DPQL_KEYWORDS = new Set(['in', 'not', 'between', 'and', 'like', 'true', 'false', 'null']);
73
+ var DPQL_FUNCTIONS = new Set([
74
+ 'abs', 'round', 'floor', 'ceil', 'trim', 'ltrim', 'rtrim', 'concat', 'split', 'substr',
75
+ 'coalesce', 'nullif', 'now', 'days', 'hours', 'minutes', 'seconds', 'milliseconds',
76
+ 'microseconds', 'years', 'months', 'weeks', 'get_year', 'get_month', 'get_day', 'get_hour',
77
+ 'get_minute', 'get_second', 'format_date', 'format_number', 'map', 'hash_map', 'contains',
78
+ 'ignore', 'case', 'toString', 'toInt', 'toFloat', 'toBool', 'startsWith', 'endsWith',
79
+ ]);
80
+ /**
81
+ * `textDocument/semanticTokens/full` for `text`: the LSP delta-encoded 5-tuple
82
+ * array, with type indices into `SEMANTIC_TOKENS_LEGEND`. It covers readable
83
+ * renderings as well as DPQL, as the server's does — `contains` and
84
+ * `(ignore case)` in an explanation are coloured too.
85
+ */
86
+ function mockTokenizeDpql(text) {
87
+ // Longer operators must come first so `==` isn't matched as two `=`.
88
+ var TOKEN_RE = new RegExp([
89
+ "(\"(?:\\\\.|[^\"\\\\])*\")", // 1: double-quoted string
90
+ "('(?:\\\\.|[^'\\\\])*')", // 2: single-quoted string
91
+ "(/(?:\\\\.|[^/\\\\])*/[gimsux]*)", // 3: regex literal /…/flags
92
+ "(@\"(?:\\\\.|[^\"\\\\])*\"|@[A-Za-z_][\\w.]*)", // 4: @field
93
+ "(\\$[A-Za-z_-][\\w-]*:(?:\\{[^}]*\\}|[\\w.{}]+))", // 5: $context:value
94
+ "(\\b\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\b)", // 6: number
95
+ "(==|!=|<=|>=|&&|\\|\\||=~|!~|[+\\-*/%<>!=])", // 7: operator
96
+ // 8: punctuation — matched so it is not misread, but the server leaves it uncoloured
97
+ "(\\.\\.|[,(){}\\[\\].])",
98
+ "(\\b[A-Za-z_][\\w]*\\b)",
99
+ ].join('|'), 'g');
100
+ var tokens = [];
101
+ text.split('\n').forEach(function (line, lineIdx) {
102
+ TOKEN_RE.lastIndex = 0;
103
+ var match;
104
+ while ((match = TOKEN_RE.exec(line)) !== null) {
105
+ var type = -1;
106
+ if (match[1] || match[2])
107
+ type = 11; // string
108
+ else if (match[3])
109
+ type = 13; // regexp
110
+ else if (match[4])
111
+ type = 4; // variable
112
+ else if (match[5])
113
+ type = 2; // class (template)
114
+ else if (match[6])
115
+ type = 12; // number
116
+ else if (match[7])
117
+ type = 14; // operator
118
+ else if (match[9]) {
119
+ var word = match[9];
120
+ if (DPQL_KEYWORDS.has(word.toLowerCase()))
121
+ type = 8; // keyword
122
+ else if (DPQL_FUNCTIONS.has(word) || DPQL_FUNCTIONS.has(word.toLowerCase()))
123
+ type = 6; // function
124
+ }
125
+ if (type >= 0) {
126
+ tokens.push({ line: lineIdx, char: match.index, length: match[0].length, type: type });
127
+ }
128
+ }
129
+ });
130
+ var data = [];
131
+ var prevLine = 0;
132
+ var prevChar = 0;
133
+ for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {
134
+ var t = tokens_1[_i];
135
+ var deltaLine = t.line - prevLine;
136
+ data.push(deltaLine, deltaLine === 0 ? t.char - prevChar : t.char, t.length, t.type, 0);
137
+ prevLine = t.line;
138
+ prevChar = t.char;
139
+ }
140
+ return data;
141
+ }
142
+ exports.mockTokenizeDpql = mockTokenizeDpql;
143
+ var LEX_RE = /\s*(?:("(?:\\.|[^"\\])*")|(\$[A-Za-z_-][\w-]*:[\w.{}]+)|(\d+(?:\.\d+)?)|([A-Za-z_]\w*)|(==|!=|<=|>=|&&|\|\||[-+*/<>!(),]))/y;
144
+ /** Binary operators, loosest first — the precedence the server parenthesises by. */
145
+ var BINARY_PRECEDENCE = {
146
+ '||': 1,
147
+ '&&': 2,
148
+ '==': 3,
149
+ '!=': 3,
150
+ '<': 3,
151
+ '>': 3,
152
+ '<=': 3,
153
+ '>=': 3,
154
+ '+': 4,
155
+ '-': 4,
156
+ '*': 5,
157
+ '/': 5,
158
+ };
159
+ var RETURN_TYPES = {
160
+ toString: 'string',
161
+ toInt: 'int',
162
+ toFloat: 'float',
163
+ toBool: 'bool',
164
+ };
165
+ var DpqlMockSyntaxError = /** @class */ (function (_super) {
166
+ __extends(DpqlMockSyntaxError, _super);
167
+ function DpqlMockSyntaxError(message, column) {
168
+ var _this = _super.call(this, message) || this;
169
+ _this.column = column;
170
+ return _this;
171
+ }
172
+ return DpqlMockSyntaxError;
173
+ }(Error));
174
+ var tokenize = function (text) {
175
+ var tokens = [];
176
+ LEX_RE.lastIndex = 0;
177
+ while (LEX_RE.lastIndex < text.length) {
178
+ var start = LEX_RE.lastIndex;
179
+ var m = LEX_RE.exec(text);
180
+ if (!m) {
181
+ if (text.slice(start).trim() === '')
182
+ break;
183
+ throw new DpqlMockSyntaxError('Unexpected character', start + 1);
184
+ }
185
+ var tokenStart = start + m[0].length - m[0].trimStart().length;
186
+ if (m[1])
187
+ tokens.push({ kind: 'string', text: m[1], start: tokenStart });
188
+ else if (m[2])
189
+ tokens.push({ kind: 'template', text: m[2], start: tokenStart });
190
+ else if (m[3])
191
+ tokens.push({ kind: 'number', text: m[3], start: tokenStart });
192
+ else if (m[4])
193
+ tokens.push({ kind: 'word', text: m[4], start: tokenStart });
194
+ else if (m[5])
195
+ tokens.push({ kind: 'op', text: m[5], start: tokenStart });
196
+ }
197
+ return tokens;
198
+ };
199
+ var templateArg = function (raw) {
200
+ var _a;
201
+ var _b = (_a = raw.match(/^\$([^:]+):(.*)$/)) !== null && _a !== void 0 ? _a : [], context = _b[1], value = _b[2];
202
+ return { type: 'auto', value: { tmpl_context: context, tmpl_value: value, raw: raw } };
203
+ };
204
+ /** An operand: a bare argument, or a nested expression wrapped as the server wraps it. */
205
+ var asOperand = function (node) {
206
+ return node.exp ? { is_expression: true, value: node } : node;
207
+ };
208
+ var parseTokens = function (tokens, endColumn) {
209
+ var pos = 0;
210
+ var peek = function () { return tokens[pos]; };
211
+ var fail = function () {
212
+ var token = peek();
213
+ throw new DpqlMockSyntaxError(token ? "Unexpected token '".concat(token.text, "'") : 'Unexpected end of input, expected value', token ? token.start + 1 : endColumn);
214
+ };
215
+ var primary = function () {
216
+ var _a, _b, _c, _d, _e;
217
+ var token = peek();
218
+ if (!token)
219
+ return fail();
220
+ pos++;
221
+ switch (token.kind) {
222
+ case 'number':
223
+ return token.text.includes('.')
224
+ ? { type: 'float', value: parseFloat(token.text) }
225
+ : { type: 'int', value: parseInt(token.text, 10) };
226
+ case 'string':
227
+ return { type: 'string', value: JSON.parse(token.text) };
228
+ case 'template':
229
+ return templateArg(token.text);
230
+ case 'word': {
231
+ if (token.text === 'true' || token.text === 'false') {
232
+ return { type: 'bool', value: token.text === 'true' };
233
+ }
234
+ if (token.text === 'null') {
235
+ return { type: 'any', value: null };
236
+ }
237
+ if (((_a = peek()) === null || _a === void 0 ? void 0 : _a.text) === '(') {
238
+ pos++;
239
+ var args = [];
240
+ while (peek() && peek().text !== ')') {
241
+ args.push(asOperand(binary(1)));
242
+ if (((_b = peek()) === null || _b === void 0 ? void 0 : _b.text) === ',') {
243
+ pos++;
244
+ }
245
+ }
246
+ if (((_c = peek()) === null || _c === void 0 ? void 0 : _c.text) !== ')')
247
+ return fail();
248
+ pos++;
249
+ return { exp: (_d = NAME_BY_SYMBOL.get(token.text)) !== null && _d !== void 0 ? _d : token.text, args: args };
250
+ }
251
+ return { type: 'string', value: token.text };
252
+ }
253
+ case 'op':
254
+ if (token.text === '(') {
255
+ var inner = binary(1);
256
+ if (((_e = peek()) === null || _e === void 0 ? void 0 : _e.text) !== ')')
257
+ return fail();
258
+ pos++;
259
+ return inner;
260
+ }
261
+ if (token.text === '!') {
262
+ return { exp: '!', args: [asOperand(primary())] };
263
+ }
264
+ pos--;
265
+ return fail();
266
+ }
267
+ return fail();
268
+ };
269
+ var binary = function (minPrecedence) {
270
+ var left = primary();
271
+ for (;;) {
272
+ var op = peek();
273
+ // A word comparison (`"a" contains "b"`) binds as the symbol comparisons do.
274
+ var wordComparison = (op === null || op === void 0 ? void 0 : op.kind) === 'word' && NAME_BY_SYMBOL.has(op.text) &&
275
+ isInfixComparison(NAME_BY_SYMBOL.get(op.text), 2)
276
+ ? NAME_BY_SYMBOL.get(op.text)
277
+ : undefined;
278
+ var precedence = (op === null || op === void 0 ? void 0 : op.kind) === 'op' ? BINARY_PRECEDENCE[op.text]
279
+ : wordComparison ? BINARY_PRECEDENCE['==']
280
+ : undefined;
281
+ if (precedence === undefined || precedence < minPrecedence) {
282
+ return left;
283
+ }
284
+ pos++;
285
+ var right = binary(precedence + 1);
286
+ left = { exp: wordComparison !== null && wordComparison !== void 0 ? wordComparison : op.text, args: [asOperand(left), asOperand(right)] };
287
+ }
288
+ };
289
+ var root = binary(1);
290
+ if (pos < tokens.length)
291
+ fail();
292
+ return root;
293
+ };
294
+ var nodeOf = function (operand) {
295
+ return operand.is_expression ? operand.value : operand;
296
+ };
297
+ /** The type an expression returns, as far as the server can tell before it runs. */
298
+ var inferDpqlMockType = function (node) {
299
+ var _a, _b;
300
+ if (!node.exp) {
301
+ return node.type === 'auto' ? 'auto' : ((_a = node.type) !== null && _a !== void 0 ? _a : 'auto');
302
+ }
303
+ if (node.exp === 'value')
304
+ return 'auto';
305
+ if (RETURN_TYPES[node.exp])
306
+ return RETURN_TYPES[node.exp];
307
+ if (['==', '!=', '<', '>', '<=', '>=', '&&', '||', '!'].includes(node.exp))
308
+ return 'bool';
309
+ if (['+', '-', '*', '/'].includes(node.exp)) {
310
+ var operandTypes = ((_b = node.args) !== null && _b !== void 0 ? _b : []).map(function (arg) { return (0, exports.inferDpqlMockType)(nodeOf(arg)); });
311
+ if (operandTypes.includes('auto'))
312
+ return 'auto';
313
+ if (node.exp === '+' && operandTypes.includes('string'))
314
+ return 'string';
315
+ return operandTypes.includes('float') ? 'float' : 'int';
316
+ }
317
+ return 'auto';
318
+ };
319
+ exports.inferDpqlMockType = inferDpqlMockType;
320
+ var capitalise = function (word) { return word[0].toUpperCase() + word.slice(1); };
321
+ /** What a successful parse says about fitting `target`, shaped as the server's answer. */
322
+ var analyse = function (text, inferred, target) {
323
+ var base = { inferred_type: inferred, target_type: target };
324
+ if (inferred === 'auto' || target === 'auto' || target === 'any' || inferred === target) {
325
+ return __assign(__assign({}, base), { type_compatible: true, auto_coercible: true, coercion_may_fail: false, diagnostics: [] });
326
+ }
327
+ // Text can become anything but may not parse on the day; a number or a bool
328
+ // always becomes text; nothing else converts implicitly.
329
+ var coercible = inferred === 'string' || target === 'string';
330
+ var mayFail = inferred === 'string';
331
+ var span = { line: 1, column: 1, end_line: 1, end_column: text.length + 1 };
332
+ return __assign(__assign(__assign(__assign({}, base), { type_compatible: false, auto_coercible: coercible, coercion_may_fail: mayFail }), (coercible
333
+ ? {
334
+ suggested_fix: {
335
+ text: "to".concat(capitalise(target), "(").concat(text, ")"),
336
+ description: "Convert ".concat(inferred, " to ").concat(target, " using to").concat(capitalise(target), "()"),
337
+ },
338
+ }
339
+ : {})), { diagnostics: [
340
+ __assign({ severity: coercible ? 'warning' : 'error', message: coercible
341
+ ? "Expression returns '".concat(inferred, "' but target expects '").concat(target, "' (auto-coercion available)")
342
+ : "Expression returns '".concat(inferred, "' but target expects '").concat(target, "'"), code: 'TYPE_MISMATCH' }, span),
343
+ ] });
344
+ };
345
+ /** `dpql/parse`: the AST for `text`, or the diagnostic the server reports. */
346
+ var mockParseDpql = function (text, target) {
347
+ var trimmed = text.trim();
348
+ try {
349
+ var tokens = tokenize(trimmed);
350
+ var node = parseTokens(tokens, trimmed.length + 1);
351
+ // A lone value is wrapped in `value(...)`, which is how the server tells a
352
+ // literal apart from an expression.
353
+ var root = node.exp ? node : { exp: 'value', args: [node] };
354
+ var inferred = (0, exports.inferDpqlMockType)(root);
355
+ return __assign({ success: true, expression: { is_expression: true, value: root } }, (target ? analyse(trimmed, inferred, target) : { inferred_type: inferred, diagnostics: [] }));
356
+ }
357
+ catch (err) {
358
+ var column = err instanceof DpqlMockSyntaxError ? err.column : 1;
359
+ return {
360
+ success: false,
361
+ diagnostics: [
362
+ {
363
+ severity: 'error',
364
+ message: err instanceof Error ? err.message : String(err),
365
+ code: 'DPQL-E001',
366
+ line: 1,
367
+ column: column,
368
+ end_line: 1,
369
+ end_column: column,
370
+ },
371
+ ],
372
+ };
373
+ }
374
+ };
375
+ exports.mockParseDpql = mockParseDpql;
376
+ // ─── Serialize and render ────────────────────────────────────────────────────
377
+ var TEMPLATE_TOKEN = /^\$[A-Za-z_-][\w-]*:[\w.{}]+$/;
378
+ /** An argument's own value, for a rendering that asks whether it is set. */
379
+ var argumentValue = function (arg) {
380
+ return arg && !arg.exp && !arg.is_expression ? arg.value : arg;
381
+ };
382
+ var printLiteral = function (value, readable) {
383
+ if (value && typeof value === 'object' && 'raw' in value) {
384
+ return String(value.raw);
385
+ }
386
+ if (typeof value === 'string') {
387
+ // Serialized DPQL keeps a string a string; a readable rendering shows a
388
+ // reference the string holds as the reference, which the server's does too.
389
+ return readable && TEMPLATE_TOKEN.test(value) ? value : JSON.stringify(value);
390
+ }
391
+ return value === null || value === undefined ? 'null' : String(value);
392
+ };
393
+ /**
394
+ * `parentPrecedence` is the context: a nested operator binding looser than it
395
+ * is parenthesised. `0` never parenthesises (a call's own commas delimit its
396
+ * arguments); `Infinity` always does, which is how the server substitutes an
397
+ * argument into a `render_template`.
398
+ */
399
+ var printArg = function (arg, parentPrecedence, readable) {
400
+ var _a;
401
+ if (arg.is_expression) {
402
+ var inner = arg.value;
403
+ var printed = printNode(inner, readable);
404
+ var precedence = BINARY_PRECEDENCE[(_a = inner.exp) !== null && _a !== void 0 ? _a : ''];
405
+ return precedence !== undefined && precedence < parentPrecedence ? "(".concat(printed, ")") : printed;
406
+ }
407
+ if (arg.exp)
408
+ return printNode(arg, readable);
409
+ return printLiteral(arg.value, readable);
410
+ };
411
+ /** `render_template` substitution, in the server's order. */
412
+ var renderTemplate = function (info, args) {
413
+ var argument = function (n) {
414
+ var _a, _b;
415
+ if (n < args.length)
416
+ return printArg(args[n], Infinity, true);
417
+ // A missing argument reads as its default, or as nothing.
418
+ var fallback = (_b = (_a = info.args) === null || _a === void 0 ? void 0 : _a[n]) === null || _b === void 0 ? void 0 : _b.default_value;
419
+ return fallback === undefined ? '' : printLiteral(fallback, true);
420
+ };
421
+ return info
422
+ .render_template.split('$symbol')
423
+ .join(info.symbol)
424
+ .split('$args')
425
+ .join(args.map(function (_, n) { return argument(n); }).join(', '))
426
+ .replace(/\$arg\[(\d+)\]/g, function (_, n) { return argument(Number(n)); })
427
+ .replace(/\$\{arg\[(\d+)\](?:\s*\?([^:}]*):([^}]*))?\}/g, function (_, n, whenSet, whenUnset) {
428
+ var _a, _b;
429
+ if (whenSet === void 0) { whenSet = ''; }
430
+ if (whenUnset === void 0) { whenUnset = ''; }
431
+ /* The argument decides when it was given, its default only when it was
432
+ not — as the expression evaluates. An explicit `false` on a
433
+ default-true argument reads as unset (Qore `5f3d9b491`). */
434
+ var given = args[Number(n)];
435
+ var isSet = given !== undefined ? argumentValue(given) : (_b = (_a = info.args) === null || _a === void 0 ? void 0 : _a[Number(n)]) === null || _b === void 0 ? void 0 : _b.default_value;
436
+ return isSet ? whenSet : whenUnset;
437
+ });
438
+ };
439
+ /** A node as `dpql/serialize` writes it: DPQL that parses back to the same node. */
440
+ var serializeNode = function (args, name) {
441
+ if (isInfixComparison(name, args.length) && WORD.test(symbolOf(name))) {
442
+ // Not in the server's precedence table, so its operands are rendered in the
443
+ // tightest context: any operator inside one is parenthesised.
444
+ return "".concat(printArg(args[0], Infinity, false), " ").concat(symbolOf(name), " ").concat(printArg(args[1], Infinity, false));
445
+ }
446
+ return "".concat(symbolOf(name), "(").concat(args.map(function (arg) { return printArg(arg, 0, false); }).join(', '), ")");
447
+ };
448
+ /** A node as `dpql/renderExpression` reads it: a function by name, else its template. */
449
+ var renderNode = function (args, name) {
450
+ var info = CATALOGUE.get(name);
451
+ if ((info === null || info === void 0 ? void 0 : info.type) === DET_FUNCTION) {
452
+ return "".concat(name, "(").concat(args.map(function (arg) { return printArg(arg, 0, true); }).join(', '), ")");
453
+ }
454
+ return (info === null || info === void 0 ? void 0 : info.render_template) ? renderTemplate(info, args) : undefined;
455
+ };
456
+ var printNode = function (node, readable) {
457
+ var _a, _b;
458
+ var args = (_a = node.args) !== null && _a !== void 0 ? _a : [];
459
+ var name = (_b = node.exp) !== null && _b !== void 0 ? _b : '';
460
+ if (name === 'value' && args.length === 1)
461
+ return printArg(args[0], 0, readable);
462
+ var rendered = readable ? renderNode(args, name) : undefined;
463
+ if (rendered !== undefined)
464
+ return rendered;
465
+ var precedence = BINARY_PRECEDENCE[name];
466
+ if (precedence !== undefined && args.length === 2) {
467
+ return "".concat(printArg(args[0], precedence, readable), " ").concat(name, " ").concat(printArg(args[1], precedence + 1, readable));
468
+ }
469
+ // The builder stores an AND/OR group as ONE node with every member as an
470
+ // argument; it reads as the members joined by the operator.
471
+ if ((name === '&&' || name === '||') && args.length !== 2) {
472
+ return args.map(function (arg) { return printArg(arg, precedence + 1, readable); }).join(" ".concat(name, " "));
473
+ }
474
+ if (name === '!')
475
+ return "!".concat(printArg(args[0], 6, readable));
476
+ if (!readable)
477
+ return serializeNode(args, name);
478
+ // Any other catalogue operator reads as its arguments joined by its symbol.
479
+ var info = CATALOGUE.get(name);
480
+ if (info) {
481
+ return args.length === 1 ?
482
+ "".concat(info.symbol, " ").concat(printArg(args[0], 0, true))
483
+ : args.map(function (arg) { return printArg(arg, precedence !== null && precedence !== void 0 ? precedence : 0, true); }).join(" ".concat(info.symbol, " "));
484
+ }
485
+ return "".concat(name, "(").concat(args.map(function (arg) { return printArg(arg, 0, true); }).join(', '), ")");
486
+ };
487
+ var rootOf = function (expression) {
488
+ return (expression === null || expression === void 0 ? void 0 : expression.value) && !expression.exp ? expression.value : (expression !== null && expression !== void 0 ? expression : {});
489
+ };
490
+ /** The richtext the server sends beside a rendering: each `$context:value` becomes a chip. */
491
+ var dpqlMockRichtext = function (text) {
492
+ var children = [];
493
+ var reference = /\$([A-Za-z_-][\w-]*):([\w.{}]+)/g;
494
+ var last = 0;
495
+ var match;
496
+ while ((match = reference.exec(text)) !== null) {
497
+ if (match.index > last)
498
+ children.push({ text: text.slice(last, match.index) });
499
+ children.push({
500
+ type: 'tag',
501
+ value: match[0],
502
+ label: match[2],
503
+ children: [{ text: '' }],
504
+ metadata: { displayName: "".concat(capitalise(match[1]), " Context") },
505
+ });
506
+ last = match.index + match[0].length;
507
+ }
508
+ if (last < text.length || !children.length)
509
+ children.push({ text: text.slice(last) });
510
+ return { type: 'richtext', value: [{ type: 'paragraph', children: children }] };
511
+ };
512
+ exports.dpqlMockRichtext = dpqlMockRichtext;
513
+ /** `dpql/serialize`: DPQL text that parses back to the same expression. */
514
+ var mockSerializeDpql = function (expression) {
515
+ var dpql = printNode(rootOf(expression), false);
516
+ return { dpql: dpql, richtext: (0, exports.dpqlMockRichtext)(dpql) };
517
+ };
518
+ exports.mockSerializeDpql = mockSerializeDpql;
519
+ /** `dpql/renderExpression`: the readable rendering shown in previews and explanations. */
520
+ var mockRenderDpql = function (expression) {
521
+ var rendered = printNode(rootOf(expression), true);
522
+ return { rendered: rendered, richtext: (0, exports.dpqlMockRichtext)(rendered) };
523
+ };
524
+ exports.mockRenderDpql = mockRenderDpql;
525
+ //# sourceMappingURL=dpqlMockLanguage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dpqlMockLanguage.js","sourceRoot":"","sources":["../../../../src/components/form/expressions/dpqlMockLanguage.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,32 @@
1
- /** Start the mock LSP; returns a teardown function. */
2
- export declare const startDpqlMockLsp: () => (() => void);
1
+ import { IMockLspServer, TMockLspHandler } from '../../smartEditor/__fixtures__/mockLspServer';
2
+ /**
3
+ * Every `dpql/parse` the mock answered, in order, for diagnosis.
4
+ *
5
+ * The type-analysis stories depend on the front end SENDING `target_type` —
6
+ * the mock returns analysis only when it is present, exactly as the server
7
+ * behaves. When one of those stories fails there are two very different
8
+ * causes, and the rendered DOM cannot tell them apart: the request never
9
+ * carried a target, or it did and the answer was not rendered. This records
10
+ * which, and the story reports it in its assertion message so the answer
11
+ * survives into a CI log.
12
+ */
13
+ export interface IDpqlMockParseCall {
14
+ text: string;
15
+ target?: string;
16
+ analysed: boolean;
17
+ }
18
+ export declare const dpqlMockParseCalls: IDpqlMockParseCall[];
19
+ export interface IStartDpqlMockLspOptions {
20
+ /** Handlers to use instead of, or beside, the default ones. */
21
+ handlers?: Record<string, TMockLspHandler>;
22
+ /** Per-method response delays in ms. */
23
+ delays?: Record<string, number>;
24
+ }
25
+ /** Start the mock DPQL language server; returns the server and a teardown. */
26
+ export declare const startDpqlMockLspServer: (options?: IStartDpqlMockLspOptions) => {
27
+ lsp: IMockLspServer;
28
+ stop: () => void;
29
+ };
30
+ /** Start the mock DPQL language server; returns a teardown function. */
31
+ export declare const startDpqlMockLsp: (options?: IStartDpqlMockLspOptions) => (() => void);
3
32
  //# sourceMappingURL=dpqlMockLsp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dpqlMockLsp.d.ts","sourceRoot":"","sources":["../../../../src/components/form/expressions/dpqlMockLsp.ts"],"names":[],"mappings":"AAqBA,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,QAAO,CAAC,MAAM,IAAI,CA6E9C,CAAC"}
1
+ {"version":3,"file":"dpqlMockLsp.d.ts","sourceRoot":"","sources":["../../../../src/components/form/expressions/dpqlMockLsp.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,cAAc,EAEd,eAAe,EAChB,MAAM,8CAA8C,CAAC;AAStD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,eAAO,MAAM,kBAAkB,EAAE,kBAAkB,EAAO,CAAC;AAyD3D,MAAM,WAAW,wBAAwB;IACvC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,8EAA8E;AAC9E,eAAO,MAAM,sBAAsB,aACxB,wBAAwB,KAChC;IAAE,GAAG,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,IAAI,CAAA;CAczC,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,aAAc,wBAAwB,KAAG,CAAC,MAAM,IAAI,CAC3C,CAAC"}