@hydranium/core 1.0.0-next.23 → 1.0.0-next.232

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 (657) hide show
  1. package/README.md +21 -13
  2. package/lib/documents/ast-document-manager.d.ts +219 -122
  3. package/lib/documents/ast-document-manager.d.ts.map +1 -1
  4. package/lib/documents/ast-document-manager.js +241 -130
  5. package/lib/documents/ast-document-manager.js.map +1 -1
  6. package/lib/documents/client-ids.d.ts +5 -19
  7. package/lib/documents/client-ids.d.ts.map +1 -1
  8. package/lib/documents/client-ids.js +5 -19
  9. package/lib/documents/client-ids.js.map +1 -1
  10. package/lib/documents/client-session-errors.d.ts +15 -0
  11. package/lib/documents/client-session-errors.d.ts.map +1 -0
  12. package/lib/documents/client-session-errors.js +15 -0
  13. package/lib/documents/client-session-errors.js.map +1 -0
  14. package/lib/documents/client-session-registry.d.ts +146 -0
  15. package/lib/documents/client-session-registry.d.ts.map +1 -0
  16. package/lib/documents/client-session-registry.js +207 -0
  17. package/lib/documents/client-session-registry.js.map +1 -0
  18. package/lib/documents/dirty-state-tracker.d.ts +79 -0
  19. package/lib/documents/dirty-state-tracker.d.ts.map +1 -0
  20. package/lib/documents/dirty-state-tracker.js +69 -0
  21. package/lib/documents/dirty-state-tracker.js.map +1 -0
  22. package/lib/documents/document-release-handler.d.ts +179 -0
  23. package/lib/documents/document-release-handler.d.ts.map +1 -0
  24. package/lib/documents/document-release-handler.js +283 -0
  25. package/lib/documents/document-release-handler.js.map +1 -0
  26. package/lib/documents/document-release-scheduler.d.ts +67 -0
  27. package/lib/documents/document-release-scheduler.d.ts.map +1 -0
  28. package/lib/documents/document-release-scheduler.js +80 -0
  29. package/lib/documents/document-release-scheduler.js.map +1 -0
  30. package/lib/documents/file-system-task-queue.d.ts +49 -0
  31. package/lib/documents/file-system-task-queue.d.ts.map +1 -0
  32. package/lib/documents/file-system-task-queue.js +34 -0
  33. package/lib/documents/file-system-task-queue.js.map +1 -0
  34. package/lib/documents/hydranium-text-documents.d.ts +399 -282
  35. package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
  36. package/lib/documents/hydranium-text-documents.js +816 -483
  37. package/lib/documents/hydranium-text-documents.js.map +1 -1
  38. package/lib/documents/index.d.ts +10 -2
  39. package/lib/documents/index.d.ts.map +1 -1
  40. package/lib/documents/index.js +10 -2
  41. package/lib/documents/index.js.map +1 -1
  42. package/lib/documents/language-client-shadow.d.ts +218 -0
  43. package/lib/documents/language-client-shadow.d.ts.map +1 -0
  44. package/lib/documents/language-client-shadow.js +283 -0
  45. package/lib/documents/language-client-shadow.js.map +1 -0
  46. package/lib/documents/model-ledger.d.ts +47 -0
  47. package/lib/documents/model-ledger.d.ts.map +1 -0
  48. package/lib/documents/model-ledger.js +30 -0
  49. package/lib/documents/model-ledger.js.map +1 -0
  50. package/lib/documents/text-ledger.d.ts +64 -0
  51. package/lib/documents/text-ledger.d.ts.map +1 -0
  52. package/lib/documents/text-ledger.js +63 -0
  53. package/lib/documents/text-ledger.js.map +1 -0
  54. package/lib/documents/version-sync-service.d.ts +134 -0
  55. package/lib/documents/version-sync-service.d.ts.map +1 -0
  56. package/lib/documents/version-sync-service.js +171 -0
  57. package/lib/documents/version-sync-service.js.map +1 -0
  58. package/lib/index.d.ts +5 -0
  59. package/lib/index.d.ts.map +1 -1
  60. package/lib/index.js +8 -0
  61. package/lib/index.js.map +1 -1
  62. package/lib/langium/ast-extension/ast-extension-service.d.ts.map +1 -1
  63. package/lib/langium/ast-extension/ast-extension-service.js.map +1 -1
  64. package/lib/langium/ast-extension/ast-node-builder.d.ts +32 -9
  65. package/lib/langium/ast-extension/ast-node-builder.d.ts.map +1 -1
  66. package/lib/langium/ast-extension/ast-node-builder.js +60 -22
  67. package/lib/langium/ast-extension/ast-node-builder.js.map +1 -1
  68. package/lib/langium/bootstrap.d.ts +23 -16
  69. package/lib/langium/bootstrap.d.ts.map +1 -1
  70. package/lib/langium/bootstrap.js +66 -28
  71. package/lib/langium/bootstrap.js.map +1 -1
  72. package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts.map +1 -1
  73. package/lib/langium/build-phase-pass/build-phase-pass-service.js.map +1 -1
  74. package/lib/langium/composite-ast-reflection.d.ts +46 -0
  75. package/lib/langium/composite-ast-reflection.d.ts.map +1 -0
  76. package/lib/langium/composite-ast-reflection.js +97 -0
  77. package/lib/langium/composite-ast-reflection.js.map +1 -0
  78. package/lib/langium/config/configuration-provider.d.ts +81 -0
  79. package/lib/langium/config/configuration-provider.d.ts.map +1 -0
  80. package/lib/langium/config/configuration-provider.js +112 -0
  81. package/lib/langium/config/configuration-provider.js.map +1 -0
  82. package/lib/langium/config/index.d.ts +1 -0
  83. package/lib/langium/config/index.d.ts.map +1 -1
  84. package/lib/langium/config/index.js +1 -0
  85. package/lib/langium/config/index.js.map +1 -1
  86. package/lib/langium/config/settings.js.map +1 -1
  87. package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts.map +1 -1
  88. package/lib/langium/diagnostics/hydranium-langium-profiler.js.map +1 -1
  89. package/lib/langium/diagnostics/logger.d.ts +10 -3
  90. package/lib/langium/diagnostics/logger.d.ts.map +1 -1
  91. package/lib/langium/diagnostics/logger.js +12 -5
  92. package/lib/langium/diagnostics/logger.js.map +1 -1
  93. package/lib/langium/diagnostics/lsp-logger.d.ts +17 -0
  94. package/lib/langium/diagnostics/lsp-logger.d.ts.map +1 -1
  95. package/lib/langium/diagnostics/lsp-logger.js +57 -16
  96. package/lib/langium/diagnostics/lsp-logger.js.map +1 -1
  97. package/lib/langium/diagnostics/server-tracer.d.ts.map +1 -1
  98. package/lib/langium/diagnostics/server-tracer.js.map +1 -1
  99. package/lib/langium/document-builder/build-pipeline-integration.d.ts +21 -1
  100. package/lib/langium/document-builder/build-pipeline-integration.d.ts.map +1 -1
  101. package/lib/langium/document-builder/build-pipeline-integration.js +32 -5
  102. package/lib/langium/document-builder/build-pipeline-integration.js.map +1 -1
  103. package/lib/langium/document-builder/build-session.d.ts +93 -0
  104. package/lib/langium/document-builder/build-session.d.ts.map +1 -0
  105. package/lib/langium/document-builder/build-session.js +72 -0
  106. package/lib/langium/document-builder/build-session.js.map +1 -0
  107. package/lib/langium/document-builder/document-builder.d.ts +401 -29
  108. package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
  109. package/lib/langium/document-builder/document-builder.js +698 -61
  110. package/lib/langium/document-builder/document-builder.js.map +1 -1
  111. package/lib/langium/document-builder/index.d.ts +1 -0
  112. package/lib/langium/document-builder/index.d.ts.map +1 -1
  113. package/lib/langium/document-builder/index.js +1 -0
  114. package/lib/langium/document-builder/index.js.map +1 -1
  115. package/lib/langium/documentation/comment-provider.d.ts.map +1 -1
  116. package/lib/langium/documentation/comment-provider.js.map +1 -1
  117. package/lib/langium/integration-services.d.ts +61 -19
  118. package/lib/langium/integration-services.d.ts.map +1 -1
  119. package/lib/langium/integration-services.js +10 -5
  120. package/lib/langium/integration-services.js.map +1 -1
  121. package/lib/langium/integrity/integrity-rule.d.ts +16 -8
  122. package/lib/langium/integrity/integrity-rule.d.ts.map +1 -1
  123. package/lib/langium/integrity/integrity-rule.js.map +1 -1
  124. package/lib/langium/integrity/integrity-service.d.ts +81 -24
  125. package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
  126. package/lib/langium/integrity/integrity-service.js +264 -57
  127. package/lib/langium/integrity/integrity-service.js.map +1 -1
  128. package/lib/langium/keys/containment.d.ts +64 -0
  129. package/lib/langium/keys/containment.d.ts.map +1 -0
  130. package/lib/langium/keys/containment.js +53 -0
  131. package/lib/langium/keys/containment.js.map +1 -0
  132. package/lib/langium/keys/index.d.ts +1 -0
  133. package/lib/langium/keys/index.d.ts.map +1 -1
  134. package/lib/langium/keys/index.js +1 -0
  135. package/lib/langium/keys/index.js.map +1 -1
  136. package/lib/langium/keys/name-based-key-provider.d.ts +4 -0
  137. package/lib/langium/keys/name-based-key-provider.d.ts.map +1 -1
  138. package/lib/langium/keys/name-based-key-provider.js +4 -0
  139. package/lib/langium/keys/name-based-key-provider.js.map +1 -1
  140. package/lib/langium/keys/positional-key-provider.d.ts.map +1 -1
  141. package/lib/langium/keys/positional-key-provider.js.map +1 -1
  142. package/lib/langium/labeling/label-provider.d.ts.map +1 -1
  143. package/lib/langium/labeling/label-provider.js.map +1 -1
  144. package/lib/langium/language-module.d.ts +29 -4
  145. package/lib/langium/language-module.d.ts.map +1 -1
  146. package/lib/langium/language-module.js +18 -4
  147. package/lib/langium/language-module.js.map +1 -1
  148. package/lib/langium/model-service/client-session.d.ts +343 -0
  149. package/lib/langium/model-service/client-session.d.ts.map +1 -0
  150. package/lib/langium/model-service/client-session.js +411 -0
  151. package/lib/langium/model-service/client-session.js.map +1 -0
  152. package/lib/langium/model-service/index.d.ts +2 -0
  153. package/lib/langium/model-service/index.d.ts.map +1 -1
  154. package/lib/langium/model-service/index.js +2 -0
  155. package/lib/langium/model-service/index.js.map +1 -1
  156. package/lib/langium/model-service/model-events.d.ts +61 -0
  157. package/lib/langium/model-service/model-events.d.ts.map +1 -0
  158. package/lib/langium/model-service/model-events.js +10 -0
  159. package/lib/langium/model-service/model-events.js.map +1 -0
  160. package/lib/langium/model-service/model-service.d.ts +432 -282
  161. package/lib/langium/model-service/model-service.d.ts.map +1 -1
  162. package/lib/langium/model-service/model-service.js +504 -438
  163. package/lib/langium/model-service/model-service.js.map +1 -1
  164. package/lib/langium/module.d.ts +157 -35
  165. package/lib/langium/module.d.ts.map +1 -1
  166. package/lib/langium/module.js +52 -35
  167. package/lib/langium/module.js.map +1 -1
  168. package/lib/langium/naming/name-provider.d.ts +25 -4
  169. package/lib/langium/naming/name-provider.d.ts.map +1 -1
  170. package/lib/langium/naming/name-provider.js +2 -1
  171. package/lib/langium/naming/name-provider.js.map +1 -1
  172. package/lib/langium/naming/name-separator-validation.d.ts +23 -0
  173. package/lib/langium/naming/name-separator-validation.d.ts.map +1 -1
  174. package/lib/langium/naming/name-separator-validation.js +30 -1
  175. package/lib/langium/naming/name-separator-validation.js.map +1 -1
  176. package/lib/langium/project/abstract-project-manager.d.ts.map +1 -1
  177. package/lib/langium/project/abstract-project-manager.js +9 -2
  178. package/lib/langium/project/abstract-project-manager.js.map +1 -1
  179. package/lib/langium/project/project-change-event.d.ts +2 -2
  180. package/lib/langium/project/single-project-manager.d.ts.map +1 -1
  181. package/lib/langium/project/single-project-manager.js.map +1 -1
  182. package/lib/langium/residency/cst-residency-service.d.ts +31 -11
  183. package/lib/langium/residency/cst-residency-service.d.ts.map +1 -1
  184. package/lib/langium/residency/cst-residency-service.js +23 -57
  185. package/lib/langium/residency/cst-residency-service.js.map +1 -1
  186. package/lib/langium/scope/ast-node-description-provider.d.ts.map +1 -1
  187. package/lib/langium/scope/ast-node-description-provider.js.map +1 -1
  188. package/lib/langium/scope/hydranium-scope-computation.d.ts.map +1 -1
  189. package/lib/langium/scope/hydranium-scope-computation.js.map +1 -1
  190. package/lib/langium/scope/hydranium-scope-provider.d.ts +48 -13
  191. package/lib/langium/scope/hydranium-scope-provider.d.ts.map +1 -1
  192. package/lib/langium/scope/hydranium-scope-provider.js +56 -20
  193. package/lib/langium/scope/hydranium-scope-provider.js.map +1 -1
  194. package/lib/langium/scope/reference-builder.d.ts.map +1 -1
  195. package/lib/langium/scope/reference-builder.js.map +1 -1
  196. package/lib/langium/scope/reference-candidate-provider.d.ts.map +1 -1
  197. package/lib/langium/scope/reference-candidate-provider.js.map +1 -1
  198. package/lib/langium/scope/scope-extension-service.d.ts.map +1 -1
  199. package/lib/langium/scope/scope-extension-service.js.map +1 -1
  200. package/lib/langium/serialization/abstract-serializer.d.ts +11 -20
  201. package/lib/langium/serialization/abstract-serializer.d.ts.map +1 -1
  202. package/lib/langium/serialization/abstract-serializer.js +12 -21
  203. package/lib/langium/serialization/abstract-serializer.js.map +1 -1
  204. package/lib/langium/serialization/json-serializer.d.ts +1 -1
  205. package/lib/langium/serialization/json-serializer.d.ts.map +1 -1
  206. package/lib/langium/serialization/json-serializer.js.map +1 -1
  207. package/lib/langium/serialization/yaml-serializer.d.ts.map +1 -1
  208. package/lib/langium/serialization/yaml-serializer.js.map +1 -1
  209. package/lib/langium/service-registry.d.ts +29 -1
  210. package/lib/langium/service-registry.d.ts.map +1 -1
  211. package/lib/langium/service-registry.js +37 -0
  212. package/lib/langium/service-registry.js.map +1 -1
  213. package/lib/langium/shared-services.d.ts +23 -6
  214. package/lib/langium/shared-services.d.ts.map +1 -1
  215. package/lib/langium/shared-services.js.map +1 -1
  216. package/lib/langium/single-langium-copy.d.ts +22 -0
  217. package/lib/langium/single-langium-copy.d.ts.map +1 -0
  218. package/lib/langium/single-langium-copy.js +36 -0
  219. package/lib/langium/single-langium-copy.js.map +1 -0
  220. package/lib/langium/transfer/transfer-encoder.d.ts +77 -26
  221. package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
  222. package/lib/langium/transfer/transfer-encoder.js +46 -24
  223. package/lib/langium/transfer/transfer-encoder.js.map +1 -1
  224. package/lib/langium/trivia/comment-preserver.d.ts +423 -0
  225. package/lib/langium/trivia/comment-preserver.d.ts.map +1 -0
  226. package/lib/langium/trivia/comment-preserver.js +906 -0
  227. package/lib/langium/trivia/comment-preserver.js.map +1 -0
  228. package/lib/langium/trivia/document-ending-preserver.d.ts +43 -0
  229. package/lib/langium/trivia/document-ending-preserver.d.ts.map +1 -0
  230. package/lib/langium/trivia/document-ending-preserver.js +48 -0
  231. package/lib/langium/trivia/document-ending-preserver.js.map +1 -0
  232. package/lib/langium/trivia/index.d.ts +14 -0
  233. package/lib/langium/trivia/index.d.ts.map +1 -0
  234. package/lib/langium/trivia/index.js +14 -0
  235. package/lib/langium/trivia/index.js.map +1 -0
  236. package/lib/langium/trivia/trivia-contribution.d.ts +37 -0
  237. package/lib/langium/trivia/trivia-contribution.d.ts.map +1 -0
  238. package/lib/langium/trivia/trivia-contribution.js +10 -0
  239. package/lib/langium/trivia/trivia-contribution.js.map +1 -0
  240. package/lib/langium/trivia/trivia-preserver.d.ts +50 -0
  241. package/lib/langium/trivia/trivia-preserver.d.ts.map +1 -0
  242. package/lib/langium/trivia/trivia-preserver.js +10 -0
  243. package/lib/langium/trivia/trivia-preserver.js.map +1 -0
  244. package/lib/langium/trivia/trivia-service.d.ts +70 -0
  245. package/lib/langium/trivia/trivia-service.d.ts.map +1 -0
  246. package/lib/langium/trivia/trivia-service.js +56 -0
  247. package/lib/langium/trivia/trivia-service.js.map +1 -0
  248. package/lib/langium/update-rewrite/normalize-empty-strings.d.ts.map +1 -1
  249. package/lib/langium/update-rewrite/update-rewrite-service.d.ts.map +1 -1
  250. package/lib/langium/update-rewrite/update-rewrite-service.js.map +1 -1
  251. package/lib/langium/update-rewrite/update-rewrite.d.ts +1 -1
  252. package/lib/langium/validation/document-validator.d.ts +294 -10
  253. package/lib/langium/validation/document-validator.d.ts.map +1 -1
  254. package/lib/langium/validation/document-validator.js +448 -5
  255. package/lib/langium/validation/document-validator.js.map +1 -1
  256. package/lib/langium/validation/validation-contribution-collector.d.ts +9 -1
  257. package/lib/langium/validation/validation-contribution-collector.d.ts.map +1 -1
  258. package/lib/langium/validation/validation-contribution-collector.js +1 -1
  259. package/lib/langium/validation/validation-contribution-collector.js.map +1 -1
  260. package/lib/langium/workspace/document-uri-policy.d.ts +18 -14
  261. package/lib/langium/workspace/document-uri-policy.d.ts.map +1 -1
  262. package/lib/langium/workspace/document-uri-policy.js +10 -9
  263. package/lib/langium/workspace/document-uri-policy.js.map +1 -1
  264. package/lib/langium/workspace/file-not-found.d.ts +23 -0
  265. package/lib/langium/workspace/file-not-found.d.ts.map +1 -0
  266. package/lib/langium/workspace/file-not-found.js +31 -0
  267. package/lib/langium/workspace/file-not-found.js.map +1 -0
  268. package/lib/langium/workspace/file-system-provider.d.ts +135 -9
  269. package/lib/langium/workspace/file-system-provider.d.ts.map +1 -1
  270. package/lib/langium/workspace/file-system-provider.js +93 -14
  271. package/lib/langium/workspace/file-system-provider.js.map +1 -1
  272. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts +56 -1
  273. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts.map +1 -1
  274. package/lib/langium/workspace/hydranium-langium-document-factory.js +79 -0
  275. package/lib/langium/workspace/hydranium-langium-document-factory.js.map +1 -1
  276. package/lib/langium/workspace/hydranium-workspace-lock.d.ts +43 -1
  277. package/lib/langium/workspace/hydranium-workspace-lock.d.ts.map +1 -1
  278. package/lib/langium/workspace/hydranium-workspace-lock.js +58 -1
  279. package/lib/langium/workspace/hydranium-workspace-lock.js.map +1 -1
  280. package/lib/langium/workspace/hydranium-workspace-manager.d.ts +82 -9
  281. package/lib/langium/workspace/hydranium-workspace-manager.d.ts.map +1 -1
  282. package/lib/langium/workspace/hydranium-workspace-manager.js +128 -10
  283. package/lib/langium/workspace/hydranium-workspace-manager.js.map +1 -1
  284. package/lib/langium/workspace/in-memory-file-system-provider.d.ts +26 -3
  285. package/lib/langium/workspace/in-memory-file-system-provider.d.ts.map +1 -1
  286. package/lib/langium/workspace/in-memory-file-system-provider.js +41 -15
  287. package/lib/langium/workspace/in-memory-file-system-provider.js.map +1 -1
  288. package/lib/langium/workspace/index-manager.d.ts.map +1 -1
  289. package/lib/langium/workspace/index-manager.js.map +1 -1
  290. package/lib/langium/workspace/index.d.ts +1 -0
  291. package/lib/langium/workspace/index.d.ts.map +1 -1
  292. package/lib/langium/workspace/index.js +1 -0
  293. package/lib/langium/workspace/index.js.map +1 -1
  294. package/lib/langium/workspace/initialize-workspace.d.ts +31 -2
  295. package/lib/langium/workspace/initialize-workspace.d.ts.map +1 -1
  296. package/lib/langium/workspace/initialize-workspace.js +13 -5
  297. package/lib/langium/workspace/initialize-workspace.js.map +1 -1
  298. package/lib/langium/workspace/langium-documents.d.ts +86 -17
  299. package/lib/langium/workspace/langium-documents.d.ts.map +1 -1
  300. package/lib/langium/workspace/langium-documents.js +101 -29
  301. package/lib/langium/workspace/langium-documents.js.map +1 -1
  302. package/lib/langium/workspace/persistent-file-system-provider.d.ts +1 -8
  303. package/lib/langium/workspace/persistent-file-system-provider.d.ts.map +1 -1
  304. package/lib/langium/workspace/persistent-file-system-provider.js +0 -7
  305. package/lib/langium/workspace/persistent-file-system-provider.js.map +1 -1
  306. package/lib/{documents → langium/workspace}/self-save-registry.d.ts +38 -7
  307. package/lib/langium/workspace/self-save-registry.d.ts.map +1 -0
  308. package/lib/{documents → langium/workspace}/self-save-registry.js +29 -16
  309. package/lib/langium/workspace/self-save-registry.js.map +1 -0
  310. package/lib/langium/workspace/virtual-document.d.ts +48 -15
  311. package/lib/langium/workspace/virtual-document.d.ts.map +1 -1
  312. package/lib/langium/workspace/virtual-document.js +78 -18
  313. package/lib/langium/workspace/virtual-document.js.map +1 -1
  314. package/lib/langium/workspace/write-lock-scope.d.ts +20 -10
  315. package/lib/langium/workspace/write-lock-scope.d.ts.map +1 -1
  316. package/lib/langium/workspace/write-lock-scope.js +12 -4
  317. package/lib/langium/workspace/write-lock-scope.js.map +1 -1
  318. package/lib/locale/index.d.ts +10 -0
  319. package/lib/locale/index.d.ts.map +1 -0
  320. package/lib/locale/index.js +10 -0
  321. package/lib/locale/index.js.map +1 -0
  322. package/lib/locale/server-locale.d.ts +73 -0
  323. package/lib/locale/server-locale.d.ts.map +1 -0
  324. package/lib/locale/server-locale.js +61 -0
  325. package/lib/locale/server-locale.js.map +1 -0
  326. package/lib/lsp/completion/hydranium-completion-provider.d.ts +44 -2
  327. package/lib/lsp/completion/hydranium-completion-provider.d.ts.map +1 -1
  328. package/lib/lsp/completion/hydranium-completion-provider.js +68 -0
  329. package/lib/lsp/completion/hydranium-completion-provider.js.map +1 -1
  330. package/lib/lsp/connection-features.d.ts +23 -0
  331. package/lib/lsp/connection-features.d.ts.map +1 -0
  332. package/lib/lsp/connection-features.js +60 -0
  333. package/lib/lsp/connection-features.js.map +1 -0
  334. package/lib/lsp/diagnostics-connection.d.ts +27 -0
  335. package/lib/lsp/diagnostics-connection.d.ts.map +1 -0
  336. package/lib/lsp/diagnostics-connection.js +53 -0
  337. package/lib/lsp/diagnostics-connection.js.map +1 -0
  338. package/lib/lsp/hydranium-document-update-handler.d.ts +92 -81
  339. package/lib/lsp/hydranium-document-update-handler.d.ts.map +1 -1
  340. package/lib/lsp/hydranium-document-update-handler.js +153 -99
  341. package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
  342. package/lib/lsp/index.d.ts +3 -1
  343. package/lib/lsp/index.d.ts.map +1 -1
  344. package/lib/lsp/index.js +3 -1
  345. package/lib/lsp/index.js.map +1 -1
  346. package/lib/lsp/lsp-latency.d.ts +39 -0
  347. package/lib/lsp/lsp-latency.d.ts.map +1 -0
  348. package/lib/lsp/lsp-latency.js +58 -0
  349. package/lib/lsp/lsp-latency.js.map +1 -0
  350. package/lib/lsp/semantic-token-provider.d.ts +34 -1
  351. package/lib/lsp/semantic-token-provider.d.ts.map +1 -1
  352. package/lib/lsp/semantic-token-provider.js +55 -8
  353. package/lib/lsp/semantic-token-provider.js.map +1 -1
  354. package/lib/lsp/shared-module.d.ts +4 -8
  355. package/lib/lsp/shared-module.d.ts.map +1 -1
  356. package/lib/lsp/shared-module.js.map +1 -1
  357. package/lib/lsp/start-language-server.d.ts +8 -7
  358. package/lib/lsp/start-language-server.d.ts.map +1 -1
  359. package/lib/lsp/start-language-server.js +13 -7
  360. package/lib/lsp/start-language-server.js.map +1 -1
  361. package/lib/messages/carriers.d.ts +54 -0
  362. package/lib/messages/carriers.d.ts.map +1 -0
  363. package/lib/messages/carriers.js +62 -0
  364. package/lib/messages/carriers.js.map +1 -0
  365. package/lib/messages/index.d.ts +25 -0
  366. package/lib/messages/index.d.ts.map +1 -0
  367. package/lib/messages/index.js +25 -0
  368. package/lib/messages/index.js.map +1 -0
  369. package/lib/messages/renderer.d.ts +142 -0
  370. package/lib/messages/renderer.d.ts.map +1 -0
  371. package/lib/messages/renderer.js +165 -0
  372. package/lib/messages/renderer.js.map +1 -0
  373. package/lib/node/event-loop-monitor.js.map +1 -1
  374. package/lib/node/heap-ceiling.d.ts +61 -0
  375. package/lib/node/heap-ceiling.d.ts.map +1 -0
  376. package/lib/node/heap-ceiling.js +72 -0
  377. package/lib/node/heap-ceiling.js.map +1 -0
  378. package/lib/node/index.d.ts +1 -1
  379. package/lib/node/index.d.ts.map +1 -1
  380. package/lib/node/index.js +1 -1
  381. package/lib/node/index.js.map +1 -1
  382. package/lib/node/latency-from-env.d.ts +1 -1
  383. package/lib/node/latency-from-env.js +1 -1
  384. package/lib/node/lint-grammar.js.map +1 -1
  385. package/lib/node/measure-memory.d.ts.map +1 -1
  386. package/lib/node/measure-memory.js +1 -0
  387. package/lib/node/measure-memory.js.map +1 -1
  388. package/lib/node/memory-monitor.js.map +1 -1
  389. package/lib/node/node-file-system-provider.d.ts +41 -6
  390. package/lib/node/node-file-system-provider.d.ts.map +1 -1
  391. package/lib/node/node-file-system-provider.js +109 -49
  392. package/lib/node/node-file-system-provider.js.map +1 -1
  393. package/lib/node/profile-capture.d.ts +8 -2
  394. package/lib/node/profile-capture.d.ts.map +1 -1
  395. package/lib/node/profile-capture.js +1 -1
  396. package/lib/node/profile-capture.js.map +1 -1
  397. package/lib/node/profile-digest.js.map +1 -1
  398. package/lib/node/profiling-run.d.ts +13 -3
  399. package/lib/node/profiling-run.d.ts.map +1 -1
  400. package/lib/node/profiling-run.js +17 -8
  401. package/lib/node/profiling-run.js.map +1 -1
  402. package/lib/node/rename-over-open-readers.d.ts +52 -0
  403. package/lib/node/rename-over-open-readers.d.ts.map +1 -0
  404. package/lib/node/rename-over-open-readers.js +66 -0
  405. package/lib/node/rename-over-open-readers.js.map +1 -0
  406. package/lib/node/socket-launcher.d.ts +20 -4
  407. package/lib/node/socket-launcher.d.ts.map +1 -1
  408. package/lib/node/socket-launcher.js +5 -4
  409. package/lib/node/socket-launcher.js.map +1 -1
  410. package/lib/node/stdio-launcher.d.ts +6 -5
  411. package/lib/node/stdio-launcher.d.ts.map +1 -1
  412. package/lib/node/stdio-launcher.js +2 -2
  413. package/lib/node/stdio-launcher.js.map +1 -1
  414. package/lib/testing/document-uri-policy-conformance.js.map +1 -1
  415. package/lib/testing/fake-description.js.map +1 -1
  416. package/lib/testing/fake-document.d.ts +16 -4
  417. package/lib/testing/fake-document.d.ts.map +1 -1
  418. package/lib/testing/fake-document.js +18 -3
  419. package/lib/testing/fake-document.js.map +1 -1
  420. package/lib/testing/index.d.ts +1 -1
  421. package/lib/testing/index.d.ts.map +1 -1
  422. package/lib/testing/index.js +2 -1
  423. package/lib/testing/index.js.map +1 -1
  424. package/lib/testing/langium-test-helpers.d.ts.map +1 -1
  425. package/lib/testing/langium-test-helpers.js +1 -0
  426. package/lib/testing/langium-test-helpers.js.map +1 -1
  427. package/lib/testing/make-noop-language-services.js.map +1 -1
  428. package/lib/testing/make-noop-shared-services.d.ts +14 -0
  429. package/lib/testing/make-noop-shared-services.d.ts.map +1 -1
  430. package/lib/testing/make-noop-shared-services.js +28 -2
  431. package/lib/testing/make-noop-shared-services.js.map +1 -1
  432. package/lib/testing/make-test-services.d.ts +72 -14
  433. package/lib/testing/make-test-services.d.ts.map +1 -1
  434. package/lib/testing/make-test-services.js +42 -10
  435. package/lib/testing/make-test-services.js.map +1 -1
  436. package/lib/testing/make-test-tracer.d.ts +12 -0
  437. package/lib/testing/make-test-tracer.d.ts.map +1 -1
  438. package/lib/testing/make-test-tracer.js +13 -0
  439. package/lib/testing/make-test-tracer.js.map +1 -1
  440. package/lib/testing/node/golden-corpus.js.map +1 -1
  441. package/lib/testing/node/index.d.ts +1 -0
  442. package/lib/testing/node/index.d.ts.map +1 -1
  443. package/lib/testing/node/index.js +1 -0
  444. package/lib/testing/node/index.js.map +1 -1
  445. package/lib/testing/node/lsp-harness.d.ts.map +1 -1
  446. package/lib/testing/node/lsp-harness.js +2 -0
  447. package/lib/testing/node/lsp-harness.js.map +1 -1
  448. package/lib/testing/node/lsp-server-connection.d.ts +11 -3
  449. package/lib/testing/node/lsp-server-connection.d.ts.map +1 -1
  450. package/lib/testing/node/lsp-server-connection.js +43 -10
  451. package/lib/testing/node/lsp-server-connection.js.map +1 -1
  452. package/lib/testing/node/scratch-workspace.d.ts.map +1 -1
  453. package/lib/testing/node/scratch-workspace.js +10 -5
  454. package/lib/testing/node/scratch-workspace.js.map +1 -1
  455. package/lib/testing/node/spawned-server.d.ts +14 -0
  456. package/lib/testing/node/spawned-server.d.ts.map +1 -1
  457. package/lib/testing/node/spawned-server.js +34 -2
  458. package/lib/testing/node/spawned-server.js.map +1 -1
  459. package/lib/testing/node/unhandled-rejections.d.ts +20 -0
  460. package/lib/testing/node/unhandled-rejections.d.ts.map +1 -0
  461. package/lib/testing/node/unhandled-rejections.js +32 -0
  462. package/lib/testing/node/unhandled-rejections.js.map +1 -0
  463. package/lib/testing/playwright/browser-capture-bridge.js.map +1 -1
  464. package/lib/testing/playwright/e2e-profiling.js.map +1 -1
  465. package/lib/testing/playwright/flaky-network-proxy.d.ts +76 -0
  466. package/lib/testing/playwright/flaky-network-proxy.d.ts.map +1 -0
  467. package/lib/testing/playwright/flaky-network-proxy.js +164 -0
  468. package/lib/testing/playwright/flaky-network-proxy.js.map +1 -0
  469. package/lib/testing/playwright/index.d.ts +1 -0
  470. package/lib/testing/playwright/index.d.ts.map +1 -1
  471. package/lib/testing/playwright/index.js +1 -0
  472. package/lib/testing/playwright/index.js.map +1 -1
  473. package/lib/testing/playwright/server-log-capture.d.ts +24 -8
  474. package/lib/testing/playwright/server-log-capture.d.ts.map +1 -1
  475. package/lib/testing/playwright/server-log-capture.js +27 -6
  476. package/lib/testing/playwright/server-log-capture.js.map +1 -1
  477. package/lib/testing/playwright/server-log-rename-reporter.d.ts.map +1 -1
  478. package/lib/testing/playwright/server-log-rename-reporter.js +10 -1
  479. package/lib/testing/playwright/server-log-rename-reporter.js.map +1 -1
  480. package/lib/testing/run-update-pipeline.d.ts +4 -4
  481. package/lib/testing/run-update-pipeline.d.ts.map +1 -1
  482. package/lib/testing/stub-ast-document-manager.d.ts +11 -52
  483. package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
  484. package/lib/testing/stub-ast-document-manager.js +24 -65
  485. package/lib/testing/stub-ast-document-manager.js.map +1 -1
  486. package/lib/testing/stub-document-builder.d.ts +26 -11
  487. package/lib/testing/stub-document-builder.d.ts.map +1 -1
  488. package/lib/testing/stub-document-builder.js +78 -5
  489. package/lib/testing/stub-document-builder.js.map +1 -1
  490. package/lib/testing/stub-hydranium-text-documents.d.ts +33 -10
  491. package/lib/testing/stub-hydranium-text-documents.d.ts.map +1 -1
  492. package/lib/testing/stub-hydranium-text-documents.js +115 -16
  493. package/lib/testing/stub-hydranium-text-documents.js.map +1 -1
  494. package/lib/testing/stub-index-manager.js.map +1 -1
  495. package/lib/testing/stub-langium-documents.d.ts +3 -2
  496. package/lib/testing/stub-langium-documents.d.ts.map +1 -1
  497. package/lib/testing/stub-langium-documents.js.map +1 -1
  498. package/lib/testing/stub-model-service.d.ts +7 -6
  499. package/lib/testing/stub-model-service.d.ts.map +1 -1
  500. package/lib/testing/stub-model-service.js +4 -4
  501. package/lib/testing/stub-model-service.js.map +1 -1
  502. package/lib/testing/stub-project-manager.js.map +1 -1
  503. package/lib/testing/stub-self-save-registry.d.ts +1 -1
  504. package/lib/testing/stub-self-save-registry.d.ts.map +1 -1
  505. package/lib/testing/stub-service-registry.d.ts +1 -1
  506. package/lib/testing/stub-service-registry.js.map +1 -1
  507. package/lib/testing/stub-writable-file-system.d.ts +1 -1
  508. package/lib/testing/stub-writable-file-system.d.ts.map +1 -1
  509. package/lib/util/connection-liveness.d.ts +7 -6
  510. package/lib/util/connection-liveness.d.ts.map +1 -1
  511. package/lib/util/connection-liveness.js +35 -14
  512. package/lib/util/connection-liveness.js.map +1 -1
  513. package/lib/util/environment.d.ts.map +1 -1
  514. package/lib/util/environment.js.map +1 -1
  515. package/lib/util/registry.d.ts.map +1 -1
  516. package/package.json +32 -48
  517. package/src/documents/ast-document-manager.ts +379 -231
  518. package/src/documents/client-ids.ts +5 -22
  519. package/src/documents/client-session-errors.ts +24 -0
  520. package/src/documents/client-session-registry.ts +262 -0
  521. package/src/documents/dirty-state-tracker.ts +130 -0
  522. package/src/documents/document-release-handler.ts +365 -0
  523. package/src/documents/document-release-scheduler.ts +121 -0
  524. package/src/documents/file-system-task-queue.ts +68 -0
  525. package/src/documents/hydranium-text-documents.ts +931 -595
  526. package/src/documents/index.ts +10 -2
  527. package/src/documents/language-client-shadow.ts +451 -0
  528. package/src/documents/model-ledger.ts +66 -0
  529. package/src/documents/text-ledger.ts +112 -0
  530. package/src/documents/version-sync-service.ts +267 -0
  531. package/src/index.ts +8 -0
  532. package/src/langium/ast-extension/ast-node-builder.ts +66 -22
  533. package/src/langium/bootstrap.ts +66 -28
  534. package/src/langium/composite-ast-reflection.ts +112 -0
  535. package/src/langium/config/configuration-provider.ts +119 -0
  536. package/src/langium/config/index.ts +1 -0
  537. package/src/langium/diagnostics/logger.ts +12 -5
  538. package/src/langium/diagnostics/lsp-logger.ts +59 -15
  539. package/src/langium/document-builder/build-pipeline-integration.ts +50 -5
  540. package/src/langium/document-builder/build-session.ts +87 -0
  541. package/src/langium/document-builder/document-builder.ts +825 -59
  542. package/src/langium/document-builder/index.ts +1 -0
  543. package/src/langium/integration-services.ts +83 -24
  544. package/src/langium/integrity/integrity-rule.ts +16 -8
  545. package/src/langium/integrity/integrity-service.ts +287 -62
  546. package/src/langium/keys/containment.ts +87 -0
  547. package/src/langium/keys/index.ts +1 -0
  548. package/src/langium/keys/name-based-key-provider.ts +4 -0
  549. package/src/langium/language-module.ts +48 -7
  550. package/src/langium/model-service/client-session.ts +644 -0
  551. package/src/langium/model-service/index.ts +2 -0
  552. package/src/langium/model-service/model-events.ts +75 -0
  553. package/src/langium/model-service/model-service.ts +790 -468
  554. package/src/langium/module.ts +210 -64
  555. package/src/langium/naming/name-provider.ts +27 -5
  556. package/src/langium/naming/name-separator-validation.ts +34 -5
  557. package/src/langium/project/abstract-project-manager.ts +9 -1
  558. package/src/langium/project/project-change-event.ts +2 -2
  559. package/src/langium/residency/cst-residency-service.ts +46 -15
  560. package/src/langium/scope/hydranium-scope-provider.ts +60 -22
  561. package/src/langium/serialization/abstract-serializer.ts +13 -32
  562. package/src/langium/service-registry.ts +41 -2
  563. package/src/langium/shared-services.ts +27 -6
  564. package/src/langium/single-langium-copy.ts +42 -0
  565. package/src/langium/transfer/transfer-encoder.ts +104 -37
  566. package/src/langium/trivia/comment-preserver.ts +1100 -0
  567. package/src/langium/trivia/document-ending-preserver.ts +55 -0
  568. package/src/langium/trivia/index.ts +14 -0
  569. package/src/langium/trivia/trivia-contribution.ts +39 -0
  570. package/src/langium/trivia/trivia-preserver.ts +54 -0
  571. package/src/langium/trivia/trivia-service.ts +99 -0
  572. package/src/langium/update-rewrite/update-rewrite.ts +1 -1
  573. package/src/langium/validation/document-validator.ts +537 -11
  574. package/src/langium/validation/validation-contribution-collector.ts +10 -1
  575. package/src/langium/workspace/document-uri-policy.ts +18 -14
  576. package/src/langium/workspace/file-not-found.ts +35 -0
  577. package/src/langium/workspace/file-system-provider.ts +205 -17
  578. package/src/langium/workspace/hydranium-langium-document-factory.ts +117 -0
  579. package/src/langium/workspace/hydranium-workspace-lock.ts +86 -2
  580. package/src/langium/workspace/hydranium-workspace-manager.ts +154 -14
  581. package/src/langium/workspace/in-memory-file-system-provider.ts +48 -17
  582. package/src/langium/workspace/index.ts +1 -0
  583. package/src/langium/workspace/initialize-workspace.ts +43 -5
  584. package/src/langium/workspace/langium-documents.ts +124 -33
  585. package/src/langium/workspace/persistent-file-system-provider.ts +1 -8
  586. package/src/{documents → langium/workspace}/self-save-registry.ts +54 -15
  587. package/src/langium/workspace/virtual-document.ts +96 -19
  588. package/src/langium/workspace/write-lock-scope.ts +24 -11
  589. package/src/locale/index.ts +10 -0
  590. package/src/locale/server-locale.ts +86 -0
  591. package/src/lsp/completion/hydranium-completion-provider.ts +82 -2
  592. package/src/lsp/connection-features.ts +67 -0
  593. package/src/lsp/diagnostics-connection.ts +56 -0
  594. package/src/lsp/hydranium-document-update-handler.ts +187 -108
  595. package/src/lsp/index.ts +3 -1
  596. package/src/lsp/lsp-latency.ts +62 -0
  597. package/src/lsp/semantic-token-provider.ts +74 -7
  598. package/src/lsp/shared-module.ts +4 -8
  599. package/src/lsp/start-language-server.ts +13 -7
  600. package/src/messages/carriers.ts +78 -0
  601. package/src/messages/index.ts +36 -0
  602. package/src/messages/renderer.ts +212 -0
  603. package/src/node/heap-ceiling.ts +108 -0
  604. package/src/node/index.ts +1 -1
  605. package/src/node/latency-from-env.ts +1 -1
  606. package/src/node/measure-memory.ts +1 -0
  607. package/src/node/node-file-system-provider.ts +124 -53
  608. package/src/node/profile-capture.ts +9 -3
  609. package/src/node/profiling-run.ts +30 -8
  610. package/src/node/rename-over-open-readers.ts +78 -0
  611. package/src/node/socket-launcher.ts +24 -8
  612. package/src/node/stdio-launcher.ts +8 -7
  613. package/src/testing/fake-document.ts +24 -5
  614. package/src/testing/index.ts +2 -1
  615. package/src/testing/langium-test-helpers.ts +1 -0
  616. package/src/testing/make-noop-shared-services.ts +50 -2
  617. package/src/testing/make-test-services.ts +125 -31
  618. package/src/testing/make-test-tracer.ts +26 -0
  619. package/src/testing/node/index.ts +1 -0
  620. package/src/testing/node/lsp-harness.ts +2 -0
  621. package/src/testing/node/lsp-server-connection.ts +66 -12
  622. package/src/testing/node/scratch-workspace.ts +10 -5
  623. package/src/testing/node/spawned-server.ts +36 -2
  624. package/src/testing/node/unhandled-rejections.ts +31 -0
  625. package/src/testing/parse-semantic-root.ts +1 -1
  626. package/src/testing/playwright/flaky-network-proxy.ts +240 -0
  627. package/src/testing/playwright/index.ts +1 -0
  628. package/src/testing/playwright/server-log-capture.ts +45 -11
  629. package/src/testing/playwright/server-log-rename-reporter.ts +12 -1
  630. package/src/testing/run-update-pipeline.ts +4 -4
  631. package/src/testing/stub-ast-document-manager.ts +36 -138
  632. package/src/testing/stub-document-builder.ts +102 -18
  633. package/src/testing/stub-hydranium-text-documents.ts +165 -27
  634. package/src/testing/stub-langium-documents.ts +3 -2
  635. package/src/testing/stub-model-service.ts +9 -8
  636. package/src/testing/stub-self-save-registry.ts +1 -1
  637. package/src/testing/stub-service-registry.ts +1 -1
  638. package/src/testing/stub-writable-file-system.ts +1 -1
  639. package/src/util/connection-liveness.ts +37 -14
  640. package/src/util/environment.ts +9 -1
  641. package/lib/documents/language-client-text-shadow.d.ts +0 -101
  642. package/lib/documents/language-client-text-shadow.d.ts.map +0 -1
  643. package/lib/documents/language-client-text-shadow.js +0 -156
  644. package/lib/documents/language-client-text-shadow.js.map +0 -1
  645. package/lib/documents/self-save-registry.d.ts.map +0 -1
  646. package/lib/documents/self-save-registry.js.map +0 -1
  647. package/lib/lsp/instrument-connection.d.ts +0 -36
  648. package/lib/lsp/instrument-connection.d.ts.map +0 -1
  649. package/lib/lsp/instrument-connection.js +0 -62
  650. package/lib/lsp/instrument-connection.js.map +0 -1
  651. package/lib/node/process-memory.d.ts +0 -66
  652. package/lib/node/process-memory.d.ts.map +0 -1
  653. package/lib/node/process-memory.js +0 -252
  654. package/lib/node/process-memory.js.map +0 -1
  655. package/src/documents/language-client-text-shadow.ts +0 -175
  656. package/src/lsp/instrument-connection.ts +0 -66
  657. package/src/node/process-memory.ts +0 -299
@@ -0,0 +1,112 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import { DefaultConfigurationProvider } from '@hydranium/langium';
10
+ /**
11
+ * Configuration provider that asks the client about a section the first time
12
+ * something reads it.
13
+ *
14
+ * Langium's base requests one section per registered language, named after the
15
+ * language id, and never asks again. A read of any other section — including
16
+ * whatever `lsp.configurationRoot` is bound to — then resolves `undefined` with
17
+ * no request on the wire, which is indistinguishable from a setting the user has
18
+ * not set.
19
+ *
20
+ * Asking on first read rather than from a list collected up front: a reader
21
+ * names its section during DI, after `initialized` has taken its one-shot pass,
22
+ * so a list would have to be complete before the server initialized.
23
+ */
24
+ export class HydraniumConfigurationProvider extends DefaultConfigurationProvider {
25
+ /**
26
+ * The client-facing hooks, captured because they arrive once as arguments to
27
+ * {@link initialized} and are needed on every later read. Absent in a
28
+ * headless composition, which has no connection to ask.
29
+ */
30
+ registerForSection;
31
+ fetchSections;
32
+ /**
33
+ * Sections already dealt with, holding the in-flight work so concurrent
34
+ * readers share one round trip. Entries stay after they settle: they record
35
+ * that the section was HANDLED, and without that an unset section is
36
+ * re-requested on every read, "unset" and "not fetched" being the same
37
+ * absence in the store.
38
+ *
39
+ * A section the client's capabilities ruled out counts as handled, having
40
+ * been settled by asking nothing.
41
+ */
42
+ requestedSections = new Map();
43
+ async initialized(params) {
44
+ this.registerForSection = params.register;
45
+ this.fetchSections = params.fetchConfiguration;
46
+ await super.initialized(params);
47
+ }
48
+ /**
49
+ * The `ready` await precedes the emptiness check: the base resolves it at the
50
+ * end of its own initial fetch, so testing the store first calls every
51
+ * language section missing and re-requests what is already on its way.
52
+ */
53
+ async getConfiguration(language, configuration) {
54
+ await this.ready;
55
+ const section = this.toSectionName(language);
56
+ if (this.settings[section] === undefined) {
57
+ await this.requestSection(section);
58
+ }
59
+ return super.getConfiguration(language, configuration);
60
+ }
61
+ /** Ask about `section` once, sharing the request with any concurrent reader. */
62
+ requestSection(section) {
63
+ const existing = this.requestedSections.get(section);
64
+ if (existing) {
65
+ return existing;
66
+ }
67
+ const request = this.doRequestSection(section);
68
+ this.requestedSections.set(section, request);
69
+ return request;
70
+ }
71
+ /**
72
+ * The hooks are gated on the client having declared `workspace.configuration`.
73
+ * A connection binds them whatever the client said, so their presence is not
74
+ * consent: calling them sends a `client/registerCapability` and a
75
+ * `workspace/configuration` to a client that advertised support for neither,
76
+ * which is entitled to answer either with a method-not-found and may drop the
77
+ * connection.
78
+ *
79
+ * That flag is exact for the fetch and KNOWINGLY coarse for the registration,
80
+ * which the spec governs by
81
+ * `workspace.didChangeConfiguration.dynamicRegistration`. The base registers
82
+ * under `workspace.configuration` alone before any of this runs, so gating
83
+ * the registration on the narrower flag here would withhold a request whose
84
+ * twin has already gone out, sparing the client nothing. A client declaring
85
+ * `workspace.configuration` without dynamic registration is still registered
86
+ * for, by the base and by this; closing that means changing the base's pass,
87
+ * not this gate.
88
+ *
89
+ * Registering before fetching, so an edit landing between the two arrives as
90
+ * a notification instead of being lost; the reverse order drops it.
91
+ *
92
+ * A `null` result is left out of the store rather than written, so the
93
+ * section reads as unset, and no `onConfigurationSectionUpdate` fires — the
94
+ * value goes to the caller that asked for it, and an event would announce a
95
+ * change that is only this provider catching up.
96
+ */
97
+ async doRequestSection(section) {
98
+ if (!this.workspaceConfig) {
99
+ return;
100
+ }
101
+ this.registerForSection?.({ section });
102
+ if (!this.fetchSections) {
103
+ return;
104
+ }
105
+ const fetched = await this.fetchSections([{ section }]);
106
+ const value = Array.isArray(fetched) ? fetched[0] : fetched;
107
+ if (value !== null && value !== undefined) {
108
+ this.updateSectionConfiguration(section, value);
109
+ }
110
+ }
111
+ }
112
+ //# sourceMappingURL=configuration-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration-provider.js","sourceRoot":"","sources":["../../../src/langium/config/configuration-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAuC,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAGvG;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,8BAA+B,SAAQ,4BAA4B;IAC7E;;;;OAIG;IACO,kBAAkB,CAA+D;IACjF,aAAa,CAAoD;IAE3E;;;;;;;;;OASG;IACgB,iBAAiB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE/D,KAAK,CAAC,WAAW,CAAC,MAAsC;QAC9D,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAC/C,MAAM,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACM,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,aAAqB;QACpE,MAAM,IAAI,CAAC,KAAK,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED,gFAAgF;IACtE,cAAc,CAAC,OAAe;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,QAAQ,EAAE,CAAC;YACZ,OAAO,QAAQ,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,OAAO,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACO,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAC7C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO;QACV,CAAC;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO;QACV,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;IACJ,CAAC;CACH"}
@@ -6,5 +6,6 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
+ export * from './configuration-provider.js';
9
10
  export * from './settings.js';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/langium/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/langium/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC"}
@@ -6,5 +6,6 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
+ export * from './configuration-provider.js';
9
10
  export * from './settings.js';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/langium/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/langium/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/langium/config/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/langium/config/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AA0ChD;;;;;GAKG;AACH,SAAS,OAAO,CAAC,OAAgB,EAAE,GAA+B;IAC/D,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvD,IAAI,OAAO,GAAY,OAAO,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACnD,OAAO,SAAS,CAAC;QACpB,CAAC;QACD,OAAO,GAAI,OAAmC,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,OAAO,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,KAAW,QAAQ,CAgPxB;AAhPD,WAAiB,QAAQ;IAkCtB;;;;;;OAMG;IACH,SAAgB,KAAK,CAAkB,OAAsC;QAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,qBAAqB,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAU,CAAC;QACtC,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAE9B,MAAM,KAAK,GAAG,CAAC,OAAgB,EAAQ,EAAE;YACtC,IAAI,SAAoC,CAAC;YACzC,IAAI,CAAC;gBACF,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,OAAkB,CAAC,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACN,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;YAC/B,CAAC;YACD,MAAM,IAAI,GAAW,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACjG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC7B,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACJ,CAAC,CAAC;QAEF,+DAA+D;QAC/D,wEAAwE;QACxE,uEAAuE;QACvE,KAAK,QAAQ,CAAC,KAAK;aACf,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAC7E,KAAK,CAAC,OAAO,CAAC,CAAC;QAClB,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACT,kEAAkE;YAClE,yDAAyD;YACzD,oEAAoE;QACvE,CAAC,CAAC,CAAC;QAEN,QAAQ,CAAC,4BAA4B,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAA+C,EAAE,EAAE;YAC/G,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO;YACV,CAAC;YACD,MAAM,OAAO,GACV,aAAa,KAAK,IAAI,IAAI,OAAO,aAAa,KAAK,QAAQ;gBACxD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAE,aAAyC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC1E,KAAK,CAAC,OAAO,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO;YACJ,IAAI,KAAK;gBACN,OAAO,OAAO,CAAC;YAClB,CAAC;YACD,QAAQ,EAAE,OAAO,CAAC,KAAK;SACzB,CAAC;IACL,CAAC;IAnDe,SAAA,KAAK,QAmDpB,CAAA;IAkDD;;;OAGG;IACH,SAAgB,MAAM,CAAoB,OAA+B;QACtE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;QAClD,OAAO,KAAK,CAAkB;YAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,EAAE;gBACf,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,MAAc,CAAC;gBACnB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,GAAG,GAAG,CAAC;gBAChB,CAAC;qBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,YAAY,EAAE,CAAC;oBAClD,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACL,OAAO,SAAS,CAAC;gBACpB,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5B,OAAO,SAAS,CAAC;gBACpB,CAAC;gBACD,IAAI,OAAO,CAAC,WAAW,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrC,OAAO,SAAS,CAAC;gBACpB,CAAC;gBACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;oBACrD,OAAO,SAAS,CAAC;gBACpB,CAAC;gBACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;oBACrD,OAAO,SAAS,CAAC;gBACpB,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACxD,CAAC;SACH,CAAC,CAAC;IACN,CAAC;IAhCe,SAAA,MAAM,SAgCrB,CAAA;IAED;;;OAGG;IACH,SAAgB,OAAO,CAAoB,OAAgC;QACxE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;QAClD,OAAO,KAAK,CAAmB;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,EAAE;gBACf,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC5B,OAAO,GAAG,CAAC;gBACd,CAAC;gBACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,YAAY,EAAE,CAAC;oBAC3C,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAC5C,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;wBAC/C,OAAO,IAAI,CAAC;oBACf,CAAC;oBACD,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;wBAChD,OAAO,KAAK,CAAC;oBAChB,CAAC;gBACJ,CAAC;gBACD,OAAO,SAAS,CAAC;YACpB,CAAC;SACH,CAAC,CAAC;IACN,CAAC;IAxBe,SAAA,OAAO,UAwBtB,CAAA;IAED;;;;OAIG;IACH,SAAgB,MAAM,CAA+C,OAAkC;QACpG,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;QACvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,OAAO,KAAK,CAAa;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,EAAE;gBACf,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,MAAc,CAAC;gBACnB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,GAAG,GAAG,CAAC;gBAChB,CAAC;qBAAM,IAAI,cAAc,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBAC9D,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACL,OAAO,SAAS,CAAC;gBACpB,CAAC;gBACD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAW,CAAC,EAAE,CAAC;oBAC7C,OAAO,SAAS,CAAC;gBACpB,CAAC;gBACD,OAAO,MAAW,CAAC;YACtB,CAAC;SACH,CAAC,CAAC;IACN,CAAC;IAxBe,SAAA,MAAM,SAwBrB,CAAA;AACJ,CAAC,EAhPgB,QAAQ,KAAR,QAAQ,QAgPxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-langium-profiler.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/hydranium-langium-profiler.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EACJ,sBAAsB,EAGtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,aAAa,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAKzE,iEAAiE;AACjE,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC3D;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,kHAAkH;AAClH,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,wBAAyB,SAAQ,sBAAsB;IACjE,4FAA4F;IAC5F,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEtB,QAAQ,EAAE,2BAA2B,EAAE,OAAO,GAAE,sBAA2B;IAevF;;;;OAIG;IACM,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO;IAIvD;;;;;OAKG;IACM,UAAU,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;IAO/E;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe;IAUjE;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,GAAG,UAAU,EAAE,iBAAiB,EAAE,GAAG,IAAI;CAiCjD"}
1
+ {"version":3,"file":"hydranium-langium-profiler.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/hydranium-langium-profiler.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EACJ,sBAAsB,EAGtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,aAAa,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAKzE,iEAAiE;AACjE,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC3D;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,kHAAkH;AAClH,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,wBAAyB,SAAQ,sBAAsB;IACjE,4FAA4F;IAC5F,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,YAAY,QAAQ,EAAE,2BAA2B,EAAE,OAAO,GAAE,sBAA2B,EAatF;IAED;;;;OAIG;IACM,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAEtD;IAED;;;;;OAKG;IACM,UAAU,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAK9E;IAED;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAQhE;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,GAAG,UAAU,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAgC9C;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-langium-profiler.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/hydranium-langium-profiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydranium-langium-profiler.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/hydranium-langium-profiler.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
+ import { type LogLevel, type LogThreshold } from '@hydranium/protocol';
9
10
  /** Only append a memory suffix when the heap has moved by at least this much since the last log line. */
10
11
  export declare const MEMORY_DELTA_BYTES: number;
11
12
  /**
@@ -33,8 +34,13 @@ export declare function setLogFileSink(sink: LogFileSink | undefined): void;
33
34
  * until every token is supplied via {@link resolveLogFilePlaceholder}.
34
35
  * Called by the `LspLogger` constructor's
35
36
  * one-time `HYDRANIUM_LOG_FILE` env baseline (and by tests).
37
+ *
38
+ * `level` becomes `Logger.setFileLevel`, cleared with the target and when
39
+ * omitted. Setting the file level apart from the target lets it outlive the
40
+ * file, and every sender keeps building lines above the process threshold
41
+ * that nothing writes.
36
42
  */
37
- export declare function setLogFilePath(path: string | undefined): void;
43
+ export declare function setLogFilePath(path: string | undefined, level?: LogThreshold): void;
38
44
  /**
39
45
  * Supply a value for a `{name}` placeholder in the configured target. Once the
40
46
  * last placeholder is supplied the target resolves and any lines buffered while
@@ -54,12 +60,13 @@ export declare function flushLogFileFallback(): void;
54
60
  export declare function getLogFilePath(): string | undefined;
55
61
  /**
56
62
  * Fan a single already-formatted log line out to the file-tee target, if one is
57
- * configured. Called by `LspLogger`'s emit in
63
+ * configured and `level` is within the file's threshold
64
+ * (`Logger.getFileLevel() ?? Logger.getLevel()`). Called by `LspLogger`'s emit in
58
65
  * addition to the LSP/console sink — log sinks fan out, they don't replace.
59
66
  * While the target is still pending (unresolved `{placeholder}`), the line is
60
67
  * buffered instead of dropped.
61
68
  */
62
- export declare function teeLogLine(formatted: string): void;
69
+ export declare function teeLogLine(level: LogLevel, formatted: string): void;
63
70
  export { toLogFileWorkspaceToken } from './log-file-token.js';
64
71
  /**
65
72
  * Shared options-base for every framework-bound service that derives a
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAKlF,yGAAyG;AACzG,eAAO,MAAM,kBAAkB,QAAkB,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IACzB,2EAA2E;IAC3E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,6EAA6E;IAC7E,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAID,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAElE;AA6ED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAM7D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAG3E;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAO3C;AAaD,oFAAoF;AACpF,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAYlD;AAKD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,cAAc;IAC5B;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAMrC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAuB,KAAK,QAAQ,EAAU,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGpG,yGAAyG;AACzG,eAAO,MAAM,kBAAkB,QAAkB,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IACzB,2EAA2E;IAC3E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,6EAA6E;IAC7E,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAID,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAElE;AA6ED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAOnF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAG3E;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAO3C;AAaD,oFAAoF;AACpF,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAYnE;AAKD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,cAAc;IAC5B;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAMrC"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { Format } from '@hydranium/protocol';
9
+ import { Format, LEVEL_ORDER, Logger } from '@hydranium/protocol';
10
10
  import { currentMemoryUsage, onProcessEvent, processPid } from '../../util/environment.js';
11
11
  /** Only append a memory suffix when the heap has moved by at least this much since the last log line. */
12
12
  export const MEMORY_DELTA_BYTES = 5 * 1024 * 1024;
@@ -91,9 +91,15 @@ function flushPendingLogLines() {
91
91
  * until every token is supplied via {@link resolveLogFilePlaceholder}.
92
92
  * Called by the `LspLogger` constructor's
93
93
  * one-time `HYDRANIUM_LOG_FILE` env baseline (and by tests).
94
+ *
95
+ * `level` becomes `Logger.setFileLevel`, cleared with the target and when
96
+ * omitted. Setting the file level apart from the target lets it outlive the
97
+ * file, and every sender keeps building lines above the process threshold
98
+ * that nothing writes.
94
99
  */
95
- export function setLogFilePath(path) {
100
+ export function setLogFilePath(path, level) {
96
101
  logFileTemplate = path && path.length > 0 ? path : undefined;
102
+ Logger.setFileLevel(logFileTemplate ? level : undefined);
97
103
  logFilePlaceholders.clear();
98
104
  pendingLogLines.length = 0;
99
105
  resolvedLogFilePath = undefined;
@@ -140,13 +146,14 @@ export function getLogFilePath() {
140
146
  }
141
147
  /**
142
148
  * Fan a single already-formatted log line out to the file-tee target, if one is
143
- * configured. Called by `LspLogger`'s emit in
149
+ * configured and `level` is within the file's threshold
150
+ * (`Logger.getFileLevel() ?? Logger.getLevel()`). Called by `LspLogger`'s emit in
144
151
  * addition to the LSP/console sink — log sinks fan out, they don't replace.
145
152
  * While the target is still pending (unresolved `{placeholder}`), the line is
146
153
  * buffered instead of dropped.
147
154
  */
148
- export function teeLogLine(formatted) {
149
- if (!logFileTemplate) {
155
+ export function teeLogLine(level, formatted) {
156
+ if (!logFileTemplate || LEVEL_ORDER[level] > LEVEL_ORDER[Logger.getFileLevel() ?? Logger.getLevel()]) {
150
157
  return;
151
158
  }
152
159
  const line = `${formatted}\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/logger.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,23 @@ export interface LspLoggerOptions {
51
51
  export declare class LspLogger extends AbstractLogger implements Logger {
52
52
  protected readonly services: ServerSharedServices;
53
53
  constructor(services: ServerSharedServices, options?: LspLoggerOptions);
54
+ /**
55
+ * Set the process-wide threshold and announce the transition under whichever
56
+ * of the two thresholds can carry the notice, so a reader sees every change
57
+ * and its absence means the threshold never moved.
58
+ *
59
+ * `error` and `off` admit no notice of their own — `off` nothing at all, and
60
+ * an error-severity line is read as a fault, which a client that marks its
61
+ * log as having seen an error keeps for the session. Entering either is
62
+ * therefore announced BEFORE the switch, under the outgoing threshold; every
63
+ * other change is announced after it, at the level being entered. Leaving
64
+ * `error` or `off` for one of those two says nothing, both thresholds being
65
+ * unable to carry it.
66
+ *
67
+ * Only on a real transition: the bound setting re-fires for configuration
68
+ * changes that leave the value alone.
69
+ */
70
+ protected applyLevel(next: LogThreshold, source: string): void;
54
71
  /**
55
72
  * Route logger timing and timestamps through the injected framework
56
73
  * {@link Clock} (the dedicated `shared.Clock` slot) so server-side log time
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-logger.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/lsp-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,cAAc,EACd,KAAK,KAAK,EAGV,MAAM,EACN,KAAK,QAAQ,EACb,KAAK,YAAY,EAEjB,KAAK,oBAAoB,EAE3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAYzD;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;CACzE;AAED;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,SAAQ,cAAe,YAAW,MAAM;IAEzD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB;gBAA9B,QAAQ,EAAE,oBAAoB,EACjD,OAAO,GAAE,gBAAqB;IA2CjC;;;;;;;OAOG;cACgB,KAAK,IAAI,KAAK;IAIjC;;;;;;;;OAQG;IACM,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI;IAIzC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI;IAuC/F,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAM3C"}
1
+ {"version":3,"file":"lsp-logger.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/lsp-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,cAAc,EACd,KAAK,KAAK,EAKV,MAAM,EACN,KAAK,QAAQ,EACb,KAAK,YAAY,EAEjB,KAAK,oBAAoB,EAE3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAYzD;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;CACzE;AAED;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,SAAQ,cAAe,YAAW,MAAM;IAEzD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB;IADpD,YACsB,QAAQ,EAAE,oBAAoB,EACjD,OAAO,GAAE,gBAAqB,EAiDhC;IAED;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAc7D;IAED;;;;;;;OAOG;IACH,UAAmB,KAAK,IAAI,KAAK,CAEhC;IAED;;;;;;;;OAQG;IACM,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAExC;IAED,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAuC9F;IAED,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAGxC;CAGH"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { AbstractLogger, DEFAULT_LOG_FILE_ENV, DEFAULT_LOG_LEVEL_ENV, Logger, ObservableValue, parseLogLevel } from '@hydranium/protocol';
9
+ import { AbstractLogger, DEFAULT_LOG_FILE_ENV, DEFAULT_LOG_FILE_LEVEL_ENV, DEFAULT_LOG_LEVEL_ENV, LEVEL_ORDER, Logger, ObservableValue, parseLogLevel } from '@hydranium/protocol';
10
10
  import { setLogFilePath, teeLogLine } from './logger.js';
11
11
  import { processEnv, writeStderr } from '../../util/environment.js';
12
12
  /**
@@ -32,9 +32,10 @@ export class LspLogger extends AbstractLogger {
32
32
  constructor(services, options = {}) {
33
33
  super(options.component);
34
34
  this.services = services;
35
- // Apply the framework env baselines (`HYDRANIUM_LOG_LEVEL` and
36
- // `HYDRANIUM_LOG_FILE`) exactly once, on the first logger construction,
37
- // before any setting is read. Unconditional and process-global, so it
35
+ // Apply the framework env baselines (`HYDRANIUM_LOG_LEVEL`,
36
+ // `HYDRANIUM_LOG_FILE` and `HYDRANIUM_LOG_FILE_LEVEL`) exactly once, on
37
+ // the first logger construction, before any setting is read.
38
+ // Unconditional and process-global, so it
38
39
  // needs no root detection and is never re-applied by derived children —
39
40
  // which would otherwise clobber a live setting. These are the single env
40
41
  // vars for level / file-tee (an adopter brands them by renaming the
@@ -45,13 +46,20 @@ export class LspLogger extends AbstractLogger {
45
46
  // a Node concern; skip it cleanly there.
46
47
  const env = processEnv();
47
48
  if (env) {
48
- const envLevel = parseLogLevel(env[DEFAULT_LOG_LEVEL_ENV]);
49
- if (envLevel) {
50
- Logger.setLevel(envLevel);
51
- }
49
+ // The file-tee target FIRST: the other order writes the level
50
+ // announcement before the sink exists, losing the one line that says
51
+ // which threshold the rest of the file was written at.
52
52
  const envLogFile = env[DEFAULT_LOG_FILE_ENV];
53
53
  if (envLogFile) {
54
- setLogFilePath(envLogFile);
54
+ const fileLevel = parseLogLevel(env[DEFAULT_LOG_FILE_LEVEL_ENV]);
55
+ setLogFilePath(envLogFile, fileLevel);
56
+ if (fileLevel) {
57
+ this.logAt(fileLevel, `Log file level ${fileLevel} (${DEFAULT_LOG_FILE_LEVEL_ENV})`);
58
+ }
59
+ }
60
+ const envLevel = parseLogLevel(env[DEFAULT_LOG_LEVEL_ENV]);
61
+ if (envLevel) {
62
+ this.applyLevel(envLevel, DEFAULT_LOG_LEVEL_ENV);
55
63
  }
56
64
  }
57
65
  }
@@ -62,15 +70,46 @@ export class LspLogger extends AbstractLogger {
62
70
  if (options.logThreshold !== undefined) {
63
71
  const level = ObservableValue.from(options.logThreshold);
64
72
  if (level.value) {
65
- Logger.setLevel(level.value);
73
+ this.applyLevel(level.value, 'setting');
66
74
  }
67
75
  level.onChange(next => {
68
76
  if (next) {
69
- Logger.setLevel(next);
77
+ this.applyLevel(next, 'setting');
70
78
  }
71
79
  });
72
80
  }
73
81
  }
82
+ /**
83
+ * Set the process-wide threshold and announce the transition under whichever
84
+ * of the two thresholds can carry the notice, so a reader sees every change
85
+ * and its absence means the threshold never moved.
86
+ *
87
+ * `error` and `off` admit no notice of their own — `off` nothing at all, and
88
+ * an error-severity line is read as a fault, which a client that marks its
89
+ * log as having seen an error keeps for the session. Entering either is
90
+ * therefore announced BEFORE the switch, under the outgoing threshold; every
91
+ * other change is announced after it, at the level being entered. Leaving
92
+ * `error` or `off` for one of those two says nothing, both thresholds being
93
+ * unable to carry it.
94
+ *
95
+ * Only on a real transition: the bound setting re-fires for configuration
96
+ * changes that leave the value alone.
97
+ */
98
+ applyLevel(next, source) {
99
+ const previous = Logger.getLevel();
100
+ if (previous === next) {
101
+ return;
102
+ }
103
+ const message = `Log level ${previous} → ${next} (${source})`;
104
+ const announceFirst = next === 'error' || next === 'off';
105
+ if (announceFirst && previous !== 'error') {
106
+ this.logAt(previous, message);
107
+ }
108
+ Logger.setLevel(next);
109
+ if (!announceFirst) {
110
+ this.logAt(next, message);
111
+ }
112
+ }
74
113
  /**
75
114
  * Route logger timing and timestamps through the injected framework
76
115
  * {@link Clock} (the dedicated `shared.Clock` slot) so server-side log time
@@ -95,9 +134,7 @@ export class LspLogger extends AbstractLogger {
95
134
  return this.with(this.services.workspace.WorkspaceManager.wsRelativePath(uri));
96
135
  }
97
136
  emit(level, label, message, args) {
98
- const component = this.component ? ` [${this.component}]` : '';
99
- // Pad to the widest label (5 chars — 'Error'/'Debug'/'Trace') so timestamps line up.
100
- const prefix = `[${label.padEnd(5)} - ${this.timestamp()}]${component}`;
137
+ const prefix = this.formatLinePrefix(label);
101
138
  const combined = args.length === 0 ? message : `${message} ${args.map(formatLogArg).join(' ')}`;
102
139
  const formatted = `${prefix} ${combined}`;
103
140
  const connection = this.services.lsp.Connection;
@@ -115,7 +152,11 @@ export class LspLogger extends AbstractLogger {
115
152
  // shutdown diagnostics and the workspace manager's own
116
153
  // unhandled-rejection handler. A log sink that throws turns a diagnostic
117
154
  // into a crash, so a dead channel degrades to stderr instead.
118
- if (!connection || !sendViaConnection(connection, level, formatted)) {
155
+ //
156
+ // `send` admits a line either threshold takes, so the client sink checks
157
+ // its own; the file-tee filters for itself.
158
+ const toClient = LEVEL_ORDER[level] <= LEVEL_ORDER[Logger.getLevel()];
159
+ if (toClient && (!connection || !sendViaConnection(connection, level, formatted))) {
119
160
  if (!writeStderr(`${formatted}\n`)) {
120
161
  // Browser only. In Node every level goes to STDERR, including the
121
162
  // three that `console.*` would put on stdout (`info` / `debug` /
@@ -130,7 +171,7 @@ export class LspLogger extends AbstractLogger {
130
171
  }
131
172
  // File-tee fan-out for headless capture (see `setLogFilePath`). Always runs
132
173
  // in addition to the LSP/console sink — log sinks fan out, they don't replace.
133
- teeLogLine(formatted);
174
+ teeLogLine(level, formatted);
134
175
  }
135
176
  derive(component) {
136
177
  const Subclass = this.constructor;
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-logger.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/lsp-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lsp-logger.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/lsp-logger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-tracer.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/server-tracer.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,KAAK,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQ9G;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,aAAa;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAI/B,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAiB,GAAG,IAAI;cAW/C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;cAI5B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM;cAQtG,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW;CAG5E"}
1
+ {"version":3,"file":"server-tracer.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/server-tracer.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,KAAK,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQ9G;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,aAAa;IAC5C,YAAY,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAEvC;IAEQ,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAiB,GAAG,IAAI,CASjE;IAED,UAAmB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9C;IAED,UAAmB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAMxH;IAED,UAAmB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,CAEzE;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-tracer.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/server-tracer.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAc,aAAa,EAAgD,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/D,2FAA2F;AAC3F,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAE5B;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC5C,YAAY,MAAc,EAAE,KAAY;QACrC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC;IAEQ,MAAM,CAAC,KAAc,EAAE,WAAqB,MAAM;QACxD,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACR,kFAAkF;YAClF,OAAO;QACV,CAAC;QACD,mBAAmB,GAAG,GAAG,CAAC,QAAQ,CAAC;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAEkB,MAAM,CAAC,MAAc;QACrC,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAS,CAAC;IACvD,CAAC;IAEkB,YAAY,CAAC,MAAuC,EAAE,SAAiB,EAAE,OAAoB;QAC7G,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACb,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,kBAAkB,KAAK,SAAS,IAAI,SAAS,IAAI,OAAO,CAAC,kBAAkB,CAAC;QAClG,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAEkB,eAAe,CAAC,KAAc;QAC9C,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/D,CAAC;CACH;AAED,6FAA6F;AAC7F,SAAS,iBAAiB,CAAC,KAAK,GAAG,KAAK;IACrC,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,IAAI,CAAC,GAAG,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;IACb,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC1B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,mBAAmB,CAAC,GAAG,kBAAkB,EAAE,CAAC;QACvE,OAAO,EAAE,CAAC;IACb,CAAC;IACD,mBAAmB,GAAG,IAAI,CAAC;IAC3B,OAAO,KAAK,YAAY,EAAE,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"server-tracer.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/server-tracer.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAc,aAAa,EAAgD,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/D,2FAA2F;AAC3F,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAE5B;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC5C,YAAY,MAAc,EAAE,KAAY;QACrC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC;IAEQ,MAAM,CAAC,KAAc,EAAE,QAAQ,GAAa,MAAM;QACxD,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACR,kFAAkF;YAClF,OAAO;QACV,CAAC;QACD,mBAAmB,GAAG,GAAG,CAAC,QAAQ,CAAC;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAEkB,MAAM,CAAC,MAAc;QACrC,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAS,CAAC;IACvD,CAAC;IAEkB,YAAY,CAAC,MAAuC,EAAE,SAAiB,EAAE,OAAoB;QAC7G,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACb,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,kBAAkB,KAAK,SAAS,IAAI,SAAS,IAAI,OAAO,CAAC,kBAAkB,CAAC;QAClG,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAEkB,eAAe,CAAC,KAAc;QAC9C,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/D,CAAC;CACH;AAED,6FAA6F;AAC7F,SAAS,iBAAiB,CAAC,KAAK,GAAG,KAAK;IACrC,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,IAAI,CAAC,GAAG,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;IACb,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC1B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,mBAAmB,CAAC,GAAG,kBAAkB,EAAE,CAAC;QACvE,OAAO,EAAE,CAAC;IACb,CAAC;IACD,mBAAmB,GAAG,IAAI,CAAC;IAC3B,OAAO,KAAK,YAAY,EAAE,EAAE,CAAC;AAChC,CAAC"}
@@ -33,6 +33,18 @@ export interface BuildPipelineIntegrationOptions {
33
33
  */
34
34
  readonly integrityPriority?: number;
35
35
  }
36
+ /**
37
+ * The build-pipeline slot. Empty because nothing calls this service — it wires
38
+ * itself in its constructor and every seam it offers is `protected`.
39
+ *
40
+ * Typing the slot by the class instead would stop an adopter's subclass
41
+ * satisfying it, since a class carries its `protected` members into the check
42
+ * and they compare by declaration rather than by shape. The cost of the empty
43
+ * shape is that any non-null value satisfies it, so a mis-bound slot compiles
44
+ * and the framework's phase listeners are then never attached.
45
+ */
46
+ export interface BuildPipelineIntegration {
47
+ }
36
48
  /**
37
49
  * Wires the framework's build-time features (integrity rules, AST
38
50
  * enrichment) into Langium's document-build pipeline. The single shared
@@ -58,7 +70,7 @@ export interface BuildPipelineIntegrationOptions {
58
70
  * Eagerly constructed (via `DEFAULT_EAGER_SERVICES`) so the listeners are
59
71
  * attached before the first build cycle.
60
72
  */
61
- export declare class BuildPipelineIntegration {
73
+ export declare class DefaultBuildPipelineIntegration implements BuildPipelineIntegration {
62
74
  protected readonly services: ServerSharedServices;
63
75
  constructor(services: ServerSharedServices, options?: BuildPipelineIntegrationOptions);
64
76
  /**
@@ -73,6 +85,14 @@ export declare class BuildPipelineIntegration {
73
85
  * `ValidationRegistry` before Langium reaches the `Validated` phase.
74
86
  */
75
87
  protected callIntegrity(documents: readonly LangiumDocument[], phase: DocumentState, cancelToken: CancellationToken): Promise<void>;
88
+ /**
89
+ * Drop the cached scopes of every REGISTERED language, not of those owning a
90
+ * document in the batch. The index a scope is built from is
91
+ * workspace-global, so narrowing to the batch with
92
+ * {@link groupDocumentsByLanguage}, the way {@link callIntegrity} does,
93
+ * leaves a cross-grammar reference resolving against a mid-rebuild scope.
94
+ */
95
+ protected clearScopeCaches(): void;
76
96
  /** Run AST enrichment for a single document at `phase` via its language service. */
77
97
  protected extendAst(document: LangiumDocument, phase: DocumentState, cancelToken: CancellationToken): void;
78
98
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"build-pipeline-integration.d.ts","sourceRoot":"","sources":["../../../src/langium/document-builder/build-pipeline-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AA4BzD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAE7C,iEAAiE;AACjE,MAAM,WAAW,+BAA+B;IAC7C;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,wBAAwB;IAE/B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB;gBAA9B,QAAQ,EAAE,oBAAoB,EACjD,OAAO,GAAE,+BAAoC;IAsDhD;;;;;;;;;;OAUG;cACa,aAAa,CAC1B,SAAS,EAAE,SAAS,eAAe,EAAE,EACrC,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,iBAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAYhB,oFAAoF;IACpF,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI;IAI1G;;;;;;;OAOG;IACH,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrI"}
1
+ {"version":3,"file":"build-pipeline-integration.d.ts","sourceRoot":"","sources":["../../../src/langium/document-builder/build-pipeline-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAuCzD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAE7C,iEAAiE;AACjE,MAAM,WAAW,+BAA+B;IAC7C;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;;;;;;;;GASG;AAEH,MAAM,WAAW,wBAAwB;CAAG;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,+BAAgC,YAAW,wBAAwB;IAE1E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB;IADpD,YACsB,QAAQ,EAAE,oBAAoB,EACjD,OAAO,GAAE,+BAAoC,EAwD/C;IAMD;;;;;;;;;;OAUG;IACH,UAAgB,aAAa,CAC1B,SAAS,EAAE,SAAS,eAAe,EAAE,EACrC,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,iBAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAUf;IAED;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI,CAIjC;IAED,oFAAoF;IACpF,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAEzG;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElI;CACH"}