@hydranium/core 1.0.0-next.28 → 1.0.0-next.280

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 (740) hide show
  1. package/README.md +64 -82
  2. package/lib/documents/ast-document-manager.d.ts +252 -122
  3. package/lib/documents/ast-document-manager.d.ts.map +1 -1
  4. package/lib/documents/ast-document-manager.js +290 -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 +101 -0
  19. package/lib/documents/dirty-state-tracker.d.ts.map +1 -0
  20. package/lib/documents/dirty-state-tracker.js +85 -0
  21. package/lib/documents/dirty-state-tracker.js.map +1 -0
  22. package/lib/documents/document-release-handler.d.ts +204 -0
  23. package/lib/documents/document-release-handler.d.ts.map +1 -0
  24. package/lib/documents/document-release-handler.js +317 -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 +415 -282
  35. package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
  36. package/lib/documents/hydranium-text-documents.js +849 -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 +284 -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 +138 -0
  55. package/lib/documents/version-sync-service.d.ts.map +1 -0
  56. package/lib/documents/version-sync-service.js +173 -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 +3 -0
  63. package/lib/langium/ast-extension/ast-extension-service.d.ts.map +1 -1
  64. package/lib/langium/ast-extension/ast-extension-service.js.map +1 -1
  65. package/lib/langium/ast-extension/ast-node-builder.d.ts +32 -9
  66. package/lib/langium/ast-extension/ast-node-builder.d.ts.map +1 -1
  67. package/lib/langium/ast-extension/ast-node-builder.js +60 -22
  68. package/lib/langium/ast-extension/ast-node-builder.js.map +1 -1
  69. package/lib/langium/bootstrap.d.ts +49 -36
  70. package/lib/langium/bootstrap.d.ts.map +1 -1
  71. package/lib/langium/bootstrap.js +91 -45
  72. package/lib/langium/bootstrap.js.map +1 -1
  73. package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts +1 -1
  74. package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts.map +1 -1
  75. package/lib/langium/build-phase-pass/build-phase-pass-service.js.map +1 -1
  76. package/lib/langium/build-phase-pass/build-phase-pass.d.ts +1 -1
  77. package/lib/langium/composite-ast-reflection.d.ts +46 -0
  78. package/lib/langium/composite-ast-reflection.d.ts.map +1 -0
  79. package/lib/langium/composite-ast-reflection.js +97 -0
  80. package/lib/langium/composite-ast-reflection.js.map +1 -0
  81. package/lib/langium/config/configuration-provider.d.ts +81 -0
  82. package/lib/langium/config/configuration-provider.d.ts.map +1 -0
  83. package/lib/langium/config/configuration-provider.js +112 -0
  84. package/lib/langium/config/configuration-provider.js.map +1 -0
  85. package/lib/langium/config/index.d.ts +1 -0
  86. package/lib/langium/config/index.d.ts.map +1 -1
  87. package/lib/langium/config/index.js +1 -0
  88. package/lib/langium/config/index.js.map +1 -1
  89. package/lib/langium/config/settings.js.map +1 -1
  90. package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts +9 -20
  91. package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts.map +1 -1
  92. package/lib/langium/diagnostics/hydranium-langium-profiler.js +15 -24
  93. package/lib/langium/diagnostics/hydranium-langium-profiler.js.map +1 -1
  94. package/lib/langium/diagnostics/log-preamble.js +1 -1
  95. package/lib/langium/diagnostics/log-preamble.js.map +1 -1
  96. package/lib/langium/diagnostics/logger.d.ts +10 -3
  97. package/lib/langium/diagnostics/logger.d.ts.map +1 -1
  98. package/lib/langium/diagnostics/logger.js +12 -5
  99. package/lib/langium/diagnostics/logger.js.map +1 -1
  100. package/lib/langium/diagnostics/lsp-logger.d.ts +17 -0
  101. package/lib/langium/diagnostics/lsp-logger.d.ts.map +1 -1
  102. package/lib/langium/diagnostics/lsp-logger.js +58 -17
  103. package/lib/langium/diagnostics/lsp-logger.js.map +1 -1
  104. package/lib/langium/diagnostics/server-tracer.d.ts.map +1 -1
  105. package/lib/langium/diagnostics/server-tracer.js.map +1 -1
  106. package/lib/langium/document-builder/build-pipeline-integration.d.ts +21 -1
  107. package/lib/langium/document-builder/build-pipeline-integration.d.ts.map +1 -1
  108. package/lib/langium/document-builder/build-pipeline-integration.js +32 -5
  109. package/lib/langium/document-builder/build-pipeline-integration.js.map +1 -1
  110. package/lib/langium/document-builder/build-session.d.ts +6 -5
  111. package/lib/langium/document-builder/build-session.d.ts.map +1 -1
  112. package/lib/langium/document-builder/build-session.js +5 -5
  113. package/lib/langium/document-builder/build-session.js.map +1 -1
  114. package/lib/langium/document-builder/document-builder.d.ts +309 -35
  115. package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
  116. package/lib/langium/document-builder/document-builder.js +511 -75
  117. package/lib/langium/document-builder/document-builder.js.map +1 -1
  118. package/lib/langium/documentation/comment-provider.d.ts.map +1 -1
  119. package/lib/langium/documentation/comment-provider.js.map +1 -1
  120. package/lib/langium/integration-services.d.ts +40 -24
  121. package/lib/langium/integration-services.d.ts.map +1 -1
  122. package/lib/langium/integration-services.js +7 -4
  123. package/lib/langium/integration-services.js.map +1 -1
  124. package/lib/langium/integrity/integrity-rule.d.ts +16 -8
  125. package/lib/langium/integrity/integrity-rule.d.ts.map +1 -1
  126. package/lib/langium/integrity/integrity-rule.js.map +1 -1
  127. package/lib/langium/integrity/integrity-service.d.ts +83 -27
  128. package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
  129. package/lib/langium/integrity/integrity-service.js +273 -63
  130. package/lib/langium/integrity/integrity-service.js.map +1 -1
  131. package/lib/langium/keys/containment.d.ts +64 -0
  132. package/lib/langium/keys/containment.d.ts.map +1 -0
  133. package/lib/langium/keys/containment.js +53 -0
  134. package/lib/langium/keys/containment.js.map +1 -0
  135. package/lib/langium/keys/index.d.ts +1 -0
  136. package/lib/langium/keys/index.d.ts.map +1 -1
  137. package/lib/langium/keys/index.js +1 -0
  138. package/lib/langium/keys/index.js.map +1 -1
  139. package/lib/langium/keys/name-based-key-provider.d.ts +4 -0
  140. package/lib/langium/keys/name-based-key-provider.d.ts.map +1 -1
  141. package/lib/langium/keys/name-based-key-provider.js +4 -0
  142. package/lib/langium/keys/name-based-key-provider.js.map +1 -1
  143. package/lib/langium/keys/positional-key-provider.d.ts.map +1 -1
  144. package/lib/langium/keys/positional-key-provider.js.map +1 -1
  145. package/lib/langium/labeling/label-provider.d.ts.map +1 -1
  146. package/lib/langium/labeling/label-provider.js.map +1 -1
  147. package/lib/langium/language-module.d.ts +30 -5
  148. package/lib/langium/language-module.d.ts.map +1 -1
  149. package/lib/langium/language-module.js +18 -4
  150. package/lib/langium/language-module.js.map +1 -1
  151. package/lib/langium/model-service/client-session.d.ts +372 -0
  152. package/lib/langium/model-service/client-session.d.ts.map +1 -0
  153. package/lib/langium/model-service/client-session.js +446 -0
  154. package/lib/langium/model-service/client-session.js.map +1 -0
  155. package/lib/langium/model-service/index.d.ts +2 -0
  156. package/lib/langium/model-service/index.d.ts.map +1 -1
  157. package/lib/langium/model-service/index.js +2 -0
  158. package/lib/langium/model-service/index.js.map +1 -1
  159. package/lib/langium/model-service/model-events.d.ts +66 -0
  160. package/lib/langium/model-service/model-events.d.ts.map +1 -0
  161. package/lib/langium/model-service/model-events.js +10 -0
  162. package/lib/langium/model-service/model-events.js.map +1 -0
  163. package/lib/langium/model-service/model-service.d.ts +440 -282
  164. package/lib/langium/model-service/model-service.d.ts.map +1 -1
  165. package/lib/langium/model-service/model-service.js +542 -446
  166. package/lib/langium/model-service/model-service.js.map +1 -1
  167. package/lib/langium/module.d.ts +158 -37
  168. package/lib/langium/module.d.ts.map +1 -1
  169. package/lib/langium/module.js +52 -36
  170. package/lib/langium/module.js.map +1 -1
  171. package/lib/langium/naming/name-provider.d.ts +27 -6
  172. package/lib/langium/naming/name-provider.d.ts.map +1 -1
  173. package/lib/langium/naming/name-provider.js +4 -3
  174. package/lib/langium/naming/name-provider.js.map +1 -1
  175. package/lib/langium/naming/name-separator-validation.d.ts +23 -1
  176. package/lib/langium/naming/name-separator-validation.d.ts.map +1 -1
  177. package/lib/langium/naming/name-separator-validation.js +22 -0
  178. package/lib/langium/naming/name-separator-validation.js.map +1 -1
  179. package/lib/langium/project/abstract-project-manager.d.ts.map +1 -1
  180. package/lib/langium/project/abstract-project-manager.js +13 -6
  181. package/lib/langium/project/abstract-project-manager.js.map +1 -1
  182. package/lib/langium/project/project-change-event.d.ts +2 -2
  183. package/lib/langium/project/single-project-manager.d.ts.map +1 -1
  184. package/lib/langium/project/single-project-manager.js.map +1 -1
  185. package/lib/langium/residency/cst-residency-service.d.ts +35 -12
  186. package/lib/langium/residency/cst-residency-service.d.ts.map +1 -1
  187. package/lib/langium/residency/cst-residency-service.js +23 -57
  188. package/lib/langium/residency/cst-residency-service.js.map +1 -1
  189. package/lib/langium/scope/ast-node-description-provider.d.ts.map +1 -1
  190. package/lib/langium/scope/ast-node-description-provider.js.map +1 -1
  191. package/lib/langium/scope/fallback-scope.d.ts +27 -0
  192. package/lib/langium/scope/fallback-scope.d.ts.map +1 -0
  193. package/lib/langium/scope/fallback-scope.js +35 -0
  194. package/lib/langium/scope/fallback-scope.js.map +1 -0
  195. package/lib/langium/scope/hydranium-scope-computation.d.ts +21 -18
  196. package/lib/langium/scope/hydranium-scope-computation.d.ts.map +1 -1
  197. package/lib/langium/scope/hydranium-scope-computation.js +38 -39
  198. package/lib/langium/scope/hydranium-scope-computation.js.map +1 -1
  199. package/lib/langium/scope/hydranium-scope-provider.d.ts +61 -24
  200. package/lib/langium/scope/hydranium-scope-provider.d.ts.map +1 -1
  201. package/lib/langium/scope/hydranium-scope-provider.js +74 -35
  202. package/lib/langium/scope/hydranium-scope-provider.js.map +1 -1
  203. package/lib/langium/scope/index.d.ts +1 -0
  204. package/lib/langium/scope/index.d.ts.map +1 -1
  205. package/lib/langium/scope/index.js +1 -0
  206. package/lib/langium/scope/index.js.map +1 -1
  207. package/lib/langium/scope/reference-builder.d.ts.map +1 -1
  208. package/lib/langium/scope/reference-builder.js.map +1 -1
  209. package/lib/langium/scope/reference-candidate-provider.d.ts +6 -5
  210. package/lib/langium/scope/reference-candidate-provider.d.ts.map +1 -1
  211. package/lib/langium/scope/reference-candidate-provider.js +3 -2
  212. package/lib/langium/scope/reference-candidate-provider.js.map +1 -1
  213. package/lib/langium/scope/scope-extension-service.d.ts +41 -37
  214. package/lib/langium/scope/scope-extension-service.d.ts.map +1 -1
  215. package/lib/langium/scope/scope-extension-service.js +57 -29
  216. package/lib/langium/scope/scope-extension-service.js.map +1 -1
  217. package/lib/langium/scope/scoped-ast-node-description.d.ts +1 -3
  218. package/lib/langium/scope/scoped-ast-node-description.d.ts.map +1 -1
  219. package/lib/langium/scope/scoped-ast-node-description.js +1 -3
  220. package/lib/langium/scope/scoped-ast-node-description.js.map +1 -1
  221. package/lib/langium/serialization/abstract-serializer.d.ts +38 -27
  222. package/lib/langium/serialization/abstract-serializer.d.ts.map +1 -1
  223. package/lib/langium/serialization/abstract-serializer.js +54 -30
  224. package/lib/langium/serialization/abstract-serializer.js.map +1 -1
  225. package/lib/langium/serialization/json-serializer.d.ts +8 -1
  226. package/lib/langium/serialization/json-serializer.d.ts.map +1 -1
  227. package/lib/langium/serialization/json-serializer.js +13 -3
  228. package/lib/langium/serialization/json-serializer.js.map +1 -1
  229. package/lib/langium/serialization/serializer.d.ts +1 -1
  230. package/lib/langium/serialization/yaml-serializer.d.ts +4 -0
  231. package/lib/langium/serialization/yaml-serializer.d.ts.map +1 -1
  232. package/lib/langium/serialization/yaml-serializer.js +4 -0
  233. package/lib/langium/serialization/yaml-serializer.js.map +1 -1
  234. package/lib/langium/service-registry.d.ts +29 -1
  235. package/lib/langium/service-registry.d.ts.map +1 -1
  236. package/lib/langium/service-registry.js +37 -0
  237. package/lib/langium/service-registry.js.map +1 -1
  238. package/lib/langium/shared-services.d.ts +23 -6
  239. package/lib/langium/shared-services.d.ts.map +1 -1
  240. package/lib/langium/shared-services.js.map +1 -1
  241. package/lib/langium/single-langium-copy.d.ts +22 -0
  242. package/lib/langium/single-langium-copy.d.ts.map +1 -0
  243. package/lib/langium/single-langium-copy.js +36 -0
  244. package/lib/langium/single-langium-copy.js.map +1 -0
  245. package/lib/langium/transfer/transfer-encoder.d.ts +84 -35
  246. package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
  247. package/lib/langium/transfer/transfer-encoder.js +34 -23
  248. package/lib/langium/transfer/transfer-encoder.js.map +1 -1
  249. package/lib/langium/trivia/comment-preserver.d.ts +423 -0
  250. package/lib/langium/trivia/comment-preserver.d.ts.map +1 -0
  251. package/lib/langium/trivia/comment-preserver.js +906 -0
  252. package/lib/langium/trivia/comment-preserver.js.map +1 -0
  253. package/lib/langium/trivia/document-ending-preserver.d.ts +43 -0
  254. package/lib/langium/trivia/document-ending-preserver.d.ts.map +1 -0
  255. package/lib/langium/trivia/document-ending-preserver.js +48 -0
  256. package/lib/langium/trivia/document-ending-preserver.js.map +1 -0
  257. package/lib/langium/trivia/index.d.ts +14 -0
  258. package/lib/langium/trivia/index.d.ts.map +1 -0
  259. package/lib/langium/trivia/index.js +14 -0
  260. package/lib/langium/trivia/index.js.map +1 -0
  261. package/lib/langium/trivia/trivia-contribution.d.ts +37 -0
  262. package/lib/langium/trivia/trivia-contribution.d.ts.map +1 -0
  263. package/lib/langium/trivia/trivia-contribution.js +10 -0
  264. package/lib/langium/trivia/trivia-contribution.js.map +1 -0
  265. package/lib/langium/trivia/trivia-preserver.d.ts +50 -0
  266. package/lib/langium/trivia/trivia-preserver.d.ts.map +1 -0
  267. package/lib/langium/trivia/trivia-preserver.js +10 -0
  268. package/lib/langium/trivia/trivia-preserver.js.map +1 -0
  269. package/lib/langium/trivia/trivia-service.d.ts +70 -0
  270. package/lib/langium/trivia/trivia-service.d.ts.map +1 -0
  271. package/lib/langium/trivia/trivia-service.js +56 -0
  272. package/lib/langium/trivia/trivia-service.js.map +1 -0
  273. package/lib/langium/update-rewrite/normalize-empty-strings.d.ts.map +1 -1
  274. package/lib/langium/update-rewrite/update-rewrite-service.d.ts +1 -1
  275. package/lib/langium/update-rewrite/update-rewrite-service.d.ts.map +1 -1
  276. package/lib/langium/update-rewrite/update-rewrite-service.js.map +1 -1
  277. package/lib/langium/update-rewrite/update-rewrite.d.ts +1 -1
  278. package/lib/langium/validation/document-validator.d.ts +280 -9
  279. package/lib/langium/validation/document-validator.d.ts.map +1 -1
  280. package/lib/langium/validation/document-validator.js +453 -8
  281. package/lib/langium/validation/document-validator.js.map +1 -1
  282. package/lib/langium/validation/validation-contribution-collector.d.ts +9 -1
  283. package/lib/langium/validation/validation-contribution-collector.d.ts.map +1 -1
  284. package/lib/langium/validation/validation-contribution-collector.js +1 -1
  285. package/lib/langium/validation/validation-contribution-collector.js.map +1 -1
  286. package/lib/langium/workspace/document-uri-policy.d.ts +15 -10
  287. package/lib/langium/workspace/document-uri-policy.d.ts.map +1 -1
  288. package/lib/langium/workspace/document-uri-policy.js +7 -5
  289. package/lib/langium/workspace/document-uri-policy.js.map +1 -1
  290. package/lib/langium/workspace/file-not-found.d.ts +23 -0
  291. package/lib/langium/workspace/file-not-found.d.ts.map +1 -0
  292. package/lib/langium/workspace/file-not-found.js +31 -0
  293. package/lib/langium/workspace/file-not-found.js.map +1 -0
  294. package/lib/langium/workspace/file-system-provider.d.ts +154 -8
  295. package/lib/langium/workspace/file-system-provider.d.ts.map +1 -1
  296. package/lib/langium/workspace/file-system-provider.js +102 -13
  297. package/lib/langium/workspace/file-system-provider.js.map +1 -1
  298. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts +56 -1
  299. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts.map +1 -1
  300. package/lib/langium/workspace/hydranium-langium-document-factory.js +79 -0
  301. package/lib/langium/workspace/hydranium-langium-document-factory.js.map +1 -1
  302. package/lib/langium/workspace/hydranium-workspace-lock.d.ts +43 -1
  303. package/lib/langium/workspace/hydranium-workspace-lock.d.ts.map +1 -1
  304. package/lib/langium/workspace/hydranium-workspace-lock.js +58 -1
  305. package/lib/langium/workspace/hydranium-workspace-lock.js.map +1 -1
  306. package/lib/langium/workspace/hydranium-workspace-manager.d.ts +109 -9
  307. package/lib/langium/workspace/hydranium-workspace-manager.d.ts.map +1 -1
  308. package/lib/langium/workspace/hydranium-workspace-manager.js +192 -12
  309. package/lib/langium/workspace/hydranium-workspace-manager.js.map +1 -1
  310. package/lib/langium/workspace/in-memory-file-system-provider.d.ts +26 -9
  311. package/lib/langium/workspace/in-memory-file-system-provider.d.ts.map +1 -1
  312. package/lib/langium/workspace/in-memory-file-system-provider.js +45 -22
  313. package/lib/langium/workspace/in-memory-file-system-provider.js.map +1 -1
  314. package/lib/langium/workspace/index-manager.d.ts.map +1 -1
  315. package/lib/langium/workspace/index-manager.js.map +1 -1
  316. package/lib/langium/workspace/index.d.ts +1 -0
  317. package/lib/langium/workspace/index.d.ts.map +1 -1
  318. package/lib/langium/workspace/index.js +1 -0
  319. package/lib/langium/workspace/index.js.map +1 -1
  320. package/lib/langium/workspace/initialize-workspace.d.ts +31 -2
  321. package/lib/langium/workspace/initialize-workspace.d.ts.map +1 -1
  322. package/lib/langium/workspace/initialize-workspace.js +13 -5
  323. package/lib/langium/workspace/initialize-workspace.js.map +1 -1
  324. package/lib/langium/workspace/langium-documents.d.ts +37 -4
  325. package/lib/langium/workspace/langium-documents.d.ts.map +1 -1
  326. package/lib/langium/workspace/langium-documents.js +49 -4
  327. package/lib/langium/workspace/langium-documents.js.map +1 -1
  328. package/lib/langium/workspace/persistent-file-system-provider.d.ts +7 -9
  329. package/lib/langium/workspace/persistent-file-system-provider.d.ts.map +1 -1
  330. package/lib/langium/workspace/persistent-file-system-provider.js +14 -13
  331. package/lib/langium/workspace/persistent-file-system-provider.js.map +1 -1
  332. package/lib/langium/workspace/self-save-registry.d.ts +84 -0
  333. package/lib/langium/workspace/self-save-registry.d.ts.map +1 -0
  334. package/lib/{documents → langium/workspace}/self-save-registry.js +33 -22
  335. package/lib/langium/workspace/self-save-registry.js.map +1 -0
  336. package/lib/langium/workspace/virtual-document.d.ts +49 -15
  337. package/lib/langium/workspace/virtual-document.d.ts.map +1 -1
  338. package/lib/langium/workspace/virtual-document.js +81 -18
  339. package/lib/langium/workspace/virtual-document.js.map +1 -1
  340. package/lib/langium/workspace/write-lock-scope.d.ts +22 -10
  341. package/lib/langium/workspace/write-lock-scope.d.ts.map +1 -1
  342. package/lib/langium/workspace/write-lock-scope.js +15 -5
  343. package/lib/langium/workspace/write-lock-scope.js.map +1 -1
  344. package/lib/launcher/integrated-server.d.ts +3 -1
  345. package/lib/launcher/integrated-server.d.ts.map +1 -1
  346. package/lib/locale/index.d.ts +10 -0
  347. package/lib/locale/index.d.ts.map +1 -0
  348. package/lib/locale/index.js +10 -0
  349. package/lib/locale/index.js.map +1 -0
  350. package/lib/locale/server-locale.d.ts +73 -0
  351. package/lib/locale/server-locale.d.ts.map +1 -0
  352. package/lib/locale/server-locale.js +61 -0
  353. package/lib/locale/server-locale.js.map +1 -0
  354. package/lib/lsp/completion/hydranium-completion-provider.d.ts +44 -2
  355. package/lib/lsp/completion/hydranium-completion-provider.d.ts.map +1 -1
  356. package/lib/lsp/completion/hydranium-completion-provider.js +68 -0
  357. package/lib/lsp/completion/hydranium-completion-provider.js.map +1 -1
  358. package/lib/lsp/connection-features.d.ts +23 -0
  359. package/lib/lsp/connection-features.d.ts.map +1 -0
  360. package/lib/lsp/connection-features.js +60 -0
  361. package/lib/lsp/connection-features.js.map +1 -0
  362. package/lib/lsp/diagnostics-connection.d.ts +27 -0
  363. package/lib/lsp/diagnostics-connection.d.ts.map +1 -0
  364. package/lib/lsp/diagnostics-connection.js +53 -0
  365. package/lib/lsp/diagnostics-connection.js.map +1 -0
  366. package/lib/lsp/hydranium-document-update-handler.d.ts +106 -82
  367. package/lib/lsp/hydranium-document-update-handler.d.ts.map +1 -1
  368. package/lib/lsp/hydranium-document-update-handler.js +182 -102
  369. package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
  370. package/lib/lsp/index.d.ts +3 -1
  371. package/lib/lsp/index.d.ts.map +1 -1
  372. package/lib/lsp/index.js +3 -1
  373. package/lib/lsp/index.js.map +1 -1
  374. package/lib/lsp/lsp-latency.d.ts +39 -0
  375. package/lib/lsp/lsp-latency.d.ts.map +1 -0
  376. package/lib/lsp/lsp-latency.js +58 -0
  377. package/lib/lsp/lsp-latency.js.map +1 -0
  378. package/lib/lsp/semantic-token-provider.d.ts +34 -1
  379. package/lib/lsp/semantic-token-provider.d.ts.map +1 -1
  380. package/lib/lsp/semantic-token-provider.js +55 -8
  381. package/lib/lsp/semantic-token-provider.js.map +1 -1
  382. package/lib/lsp/shared-module.d.ts +4 -8
  383. package/lib/lsp/shared-module.d.ts.map +1 -1
  384. package/lib/lsp/shared-module.js.map +1 -1
  385. package/lib/lsp/start-language-server.d.ts +8 -7
  386. package/lib/lsp/start-language-server.d.ts.map +1 -1
  387. package/lib/lsp/start-language-server.js +13 -7
  388. package/lib/lsp/start-language-server.js.map +1 -1
  389. package/lib/messages/carriers.d.ts +18 -12
  390. package/lib/messages/carriers.d.ts.map +1 -1
  391. package/lib/messages/carriers.js +22 -13
  392. package/lib/messages/carriers.js.map +1 -1
  393. package/lib/messages/index.d.ts +4 -1
  394. package/lib/messages/index.d.ts.map +1 -1
  395. package/lib/messages/index.js +4 -1
  396. package/lib/messages/index.js.map +1 -1
  397. package/lib/messages/renderer.d.ts +142 -0
  398. package/lib/messages/renderer.d.ts.map +1 -0
  399. package/lib/messages/renderer.js +165 -0
  400. package/lib/messages/renderer.js.map +1 -0
  401. package/lib/node/event-loop-monitor.d.ts.map +1 -1
  402. package/lib/node/event-loop-monitor.js +2 -1
  403. package/lib/node/event-loop-monitor.js.map +1 -1
  404. package/lib/node/heap-ceiling.d.ts +61 -0
  405. package/lib/node/heap-ceiling.d.ts.map +1 -0
  406. package/lib/node/heap-ceiling.js +72 -0
  407. package/lib/node/heap-ceiling.js.map +1 -0
  408. package/lib/node/index.d.ts +1 -1
  409. package/lib/node/index.d.ts.map +1 -1
  410. package/lib/node/index.js +1 -1
  411. package/lib/node/index.js.map +1 -1
  412. package/lib/node/latency-from-env.d.ts +1 -1
  413. package/lib/node/latency-from-env.js +1 -1
  414. package/lib/node/lint-grammar.js.map +1 -1
  415. package/lib/node/log-preamble-node.d.ts +5 -3
  416. package/lib/node/log-preamble-node.d.ts.map +1 -1
  417. package/lib/node/log-preamble-node.js +13 -10
  418. package/lib/node/log-preamble-node.js.map +1 -1
  419. package/lib/node/measure-memory.d.ts.map +1 -1
  420. package/lib/node/measure-memory.js +5 -4
  421. package/lib/node/measure-memory.js.map +1 -1
  422. package/lib/node/memory-monitor.d.ts +2 -2
  423. package/lib/node/memory-monitor.d.ts.map +1 -1
  424. package/lib/node/memory-monitor.js +9 -10
  425. package/lib/node/memory-monitor.js.map +1 -1
  426. package/lib/node/node-file-system-provider.d.ts +60 -9
  427. package/lib/node/node-file-system-provider.d.ts.map +1 -1
  428. package/lib/node/node-file-system-provider.js +162 -52
  429. package/lib/node/node-file-system-provider.js.map +1 -1
  430. package/lib/node/profile-capture.d.ts +12 -4
  431. package/lib/node/profile-capture.d.ts.map +1 -1
  432. package/lib/node/profile-capture.js +8 -6
  433. package/lib/node/profile-capture.js.map +1 -1
  434. package/lib/node/profile-digest.js.map +1 -1
  435. package/lib/node/profiling-run.d.ts +13 -3
  436. package/lib/node/profiling-run.d.ts.map +1 -1
  437. package/lib/node/profiling-run.js +17 -8
  438. package/lib/node/profiling-run.js.map +1 -1
  439. package/lib/node/rename-over-open-readers.d.ts +61 -0
  440. package/lib/node/rename-over-open-readers.d.ts.map +1 -0
  441. package/lib/node/rename-over-open-readers.js +80 -0
  442. package/lib/node/rename-over-open-readers.js.map +1 -0
  443. package/lib/node/server-diagnostics.js +1 -1
  444. package/lib/node/server-diagnostics.js.map +1 -1
  445. package/lib/node/server-state-snapshot.js +4 -4
  446. package/lib/node/server-state-snapshot.js.map +1 -1
  447. package/lib/node/socket-launcher.d.ts +20 -4
  448. package/lib/node/socket-launcher.d.ts.map +1 -1
  449. package/lib/node/socket-launcher.js +8 -7
  450. package/lib/node/socket-launcher.js.map +1 -1
  451. package/lib/node/stdio-launcher.d.ts +10 -10
  452. package/lib/node/stdio-launcher.d.ts.map +1 -1
  453. package/lib/node/stdio-launcher.js +17 -9
  454. package/lib/node/stdio-launcher.js.map +1 -1
  455. package/lib/testing/document-uri-policy-conformance.js +1 -1
  456. package/lib/testing/document-uri-policy-conformance.js.map +1 -1
  457. package/lib/testing/fake-description.js.map +1 -1
  458. package/lib/testing/fake-document.d.ts +16 -4
  459. package/lib/testing/fake-document.d.ts.map +1 -1
  460. package/lib/testing/fake-document.js +18 -3
  461. package/lib/testing/fake-document.js.map +1 -1
  462. package/lib/testing/index.d.ts +1 -1
  463. package/lib/testing/index.d.ts.map +1 -1
  464. package/lib/testing/index.js +2 -1
  465. package/lib/testing/index.js.map +1 -1
  466. package/lib/testing/langium-test-helpers.d.ts.map +1 -1
  467. package/lib/testing/langium-test-helpers.js +1 -0
  468. package/lib/testing/langium-test-helpers.js.map +1 -1
  469. package/lib/testing/make-noop-language-services.js.map +1 -1
  470. package/lib/testing/make-noop-shared-services.d.ts +14 -0
  471. package/lib/testing/make-noop-shared-services.d.ts.map +1 -1
  472. package/lib/testing/make-noop-shared-services.js +28 -2
  473. package/lib/testing/make-noop-shared-services.js.map +1 -1
  474. package/lib/testing/make-test-services.d.ts +72 -14
  475. package/lib/testing/make-test-services.d.ts.map +1 -1
  476. package/lib/testing/make-test-services.js +42 -10
  477. package/lib/testing/make-test-services.js.map +1 -1
  478. package/lib/testing/make-test-tracer.d.ts +12 -0
  479. package/lib/testing/make-test-tracer.d.ts.map +1 -1
  480. package/lib/testing/make-test-tracer.js +13 -0
  481. package/lib/testing/make-test-tracer.js.map +1 -1
  482. package/lib/testing/node/applied-edit-capture.d.ts +29 -0
  483. package/lib/testing/node/applied-edit-capture.d.ts.map +1 -0
  484. package/lib/testing/node/applied-edit-capture.js +115 -0
  485. package/lib/testing/node/applied-edit-capture.js.map +1 -0
  486. package/lib/testing/node/golden-corpus.js.map +1 -1
  487. package/lib/testing/node/index.d.ts +1 -0
  488. package/lib/testing/node/index.d.ts.map +1 -1
  489. package/lib/testing/node/index.js +1 -0
  490. package/lib/testing/node/index.js.map +1 -1
  491. package/lib/testing/node/lsp-harness.d.ts.map +1 -1
  492. package/lib/testing/node/lsp-harness.js +2 -0
  493. package/lib/testing/node/lsp-harness.js.map +1 -1
  494. package/lib/testing/node/lsp-server-connection.d.ts +12 -4
  495. package/lib/testing/node/lsp-server-connection.d.ts.map +1 -1
  496. package/lib/testing/node/lsp-server-connection.js +45 -106
  497. package/lib/testing/node/lsp-server-connection.js.map +1 -1
  498. package/lib/testing/node/scratch-workspace.d.ts.map +1 -1
  499. package/lib/testing/node/scratch-workspace.js +10 -5
  500. package/lib/testing/node/scratch-workspace.js.map +1 -1
  501. package/lib/testing/node/spawned-server.d.ts +30 -1
  502. package/lib/testing/node/spawned-server.d.ts.map +1 -1
  503. package/lib/testing/node/spawned-server.js +39 -2
  504. package/lib/testing/node/spawned-server.js.map +1 -1
  505. package/lib/testing/node/unhandled-rejections.d.ts +20 -0
  506. package/lib/testing/node/unhandled-rejections.d.ts.map +1 -0
  507. package/lib/testing/node/unhandled-rejections.js +32 -0
  508. package/lib/testing/node/unhandled-rejections.js.map +1 -0
  509. package/lib/testing/playwright/browser-capture-bridge.js.map +1 -1
  510. package/lib/testing/playwright/e2e-profiling.js.map +1 -1
  511. package/lib/testing/playwright/flaky-network-proxy.d.ts +76 -0
  512. package/lib/testing/playwright/flaky-network-proxy.d.ts.map +1 -0
  513. package/lib/testing/playwright/flaky-network-proxy.js +164 -0
  514. package/lib/testing/playwright/flaky-network-proxy.js.map +1 -0
  515. package/lib/testing/playwright/index.d.ts +1 -0
  516. package/lib/testing/playwright/index.d.ts.map +1 -1
  517. package/lib/testing/playwright/index.js +1 -0
  518. package/lib/testing/playwright/index.js.map +1 -1
  519. package/lib/testing/playwright/server-log-capture.d.ts +35 -8
  520. package/lib/testing/playwright/server-log-capture.d.ts.map +1 -1
  521. package/lib/testing/playwright/server-log-capture.js +39 -6
  522. package/lib/testing/playwright/server-log-capture.js.map +1 -1
  523. package/lib/testing/playwright/server-log-fixture.d.ts +16 -0
  524. package/lib/testing/playwright/server-log-fixture.d.ts.map +1 -1
  525. package/lib/testing/playwright/server-log-fixture.js +25 -6
  526. package/lib/testing/playwright/server-log-fixture.js.map +1 -1
  527. package/lib/testing/playwright/server-log-region.d.ts +15 -0
  528. package/lib/testing/playwright/server-log-region.d.ts.map +1 -0
  529. package/lib/testing/playwright/server-log-region.js +30 -0
  530. package/lib/testing/playwright/server-log-region.js.map +1 -0
  531. package/lib/testing/playwright/server-log-rename-reporter.d.ts.map +1 -1
  532. package/lib/testing/playwright/server-log-rename-reporter.js +10 -1
  533. package/lib/testing/playwright/server-log-rename-reporter.js.map +1 -1
  534. package/lib/testing/run-update-pipeline.d.ts +6 -5
  535. package/lib/testing/run-update-pipeline.d.ts.map +1 -1
  536. package/lib/testing/run-update-pipeline.js.map +1 -1
  537. package/lib/testing/stub-ast-document-manager.d.ts +11 -52
  538. package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
  539. package/lib/testing/stub-ast-document-manager.js +31 -62
  540. package/lib/testing/stub-ast-document-manager.js.map +1 -1
  541. package/lib/testing/stub-document-builder.d.ts +33 -11
  542. package/lib/testing/stub-document-builder.d.ts.map +1 -1
  543. package/lib/testing/stub-document-builder.js +103 -5
  544. package/lib/testing/stub-document-builder.js.map +1 -1
  545. package/lib/testing/stub-hydranium-text-documents.d.ts +33 -10
  546. package/lib/testing/stub-hydranium-text-documents.d.ts.map +1 -1
  547. package/lib/testing/stub-hydranium-text-documents.js +132 -16
  548. package/lib/testing/stub-hydranium-text-documents.js.map +1 -1
  549. package/lib/testing/stub-index-manager.js.map +1 -1
  550. package/lib/testing/stub-langium-documents.d.ts +3 -2
  551. package/lib/testing/stub-langium-documents.d.ts.map +1 -1
  552. package/lib/testing/stub-langium-documents.js.map +1 -1
  553. package/lib/testing/stub-model-service.d.ts +9 -8
  554. package/lib/testing/stub-model-service.d.ts.map +1 -1
  555. package/lib/testing/stub-model-service.js +6 -6
  556. package/lib/testing/stub-model-service.js.map +1 -1
  557. package/lib/testing/stub-project-manager.js.map +1 -1
  558. package/lib/testing/stub-self-save-registry.d.ts +1 -1
  559. package/lib/testing/stub-self-save-registry.d.ts.map +1 -1
  560. package/lib/testing/stub-service-registry.d.ts +1 -1
  561. package/lib/testing/stub-service-registry.js.map +1 -1
  562. package/lib/testing/stub-writable-file-system.d.ts +1 -1
  563. package/lib/testing/stub-writable-file-system.d.ts.map +1 -1
  564. package/lib/testing/stub-writable-file-system.js +2 -1
  565. package/lib/testing/stub-writable-file-system.js.map +1 -1
  566. package/lib/util/connection-liveness.d.ts +19 -6
  567. package/lib/util/connection-liveness.d.ts.map +1 -1
  568. package/lib/util/connection-liveness.js +61 -15
  569. package/lib/util/connection-liveness.js.map +1 -1
  570. package/lib/util/environment.d.ts.map +1 -1
  571. package/lib/util/environment.js.map +1 -1
  572. package/lib/util/registry.d.ts.map +1 -1
  573. package/package.json +29 -53
  574. package/src/documents/ast-document-manager.ts +463 -231
  575. package/src/documents/client-ids.ts +5 -22
  576. package/src/documents/client-session-errors.ts +24 -0
  577. package/src/documents/client-session-registry.ts +262 -0
  578. package/src/documents/dirty-state-tracker.ts +167 -0
  579. package/src/documents/document-release-handler.ts +404 -0
  580. package/src/documents/document-release-scheduler.ts +121 -0
  581. package/src/documents/file-system-task-queue.ts +68 -0
  582. package/src/documents/hydranium-text-documents.ts +968 -595
  583. package/src/documents/index.ts +10 -2
  584. package/src/documents/language-client-shadow.ts +452 -0
  585. package/src/documents/model-ledger.ts +66 -0
  586. package/src/documents/text-ledger.ts +112 -0
  587. package/src/documents/version-sync-service.ts +275 -0
  588. package/src/index.ts +8 -0
  589. package/src/langium/ast-extension/ast-extension-service.ts +3 -0
  590. package/src/langium/ast-extension/ast-node-builder.ts +66 -22
  591. package/src/langium/bootstrap.ts +95 -52
  592. package/src/langium/build-phase-pass/build-phase-pass-service.ts +1 -1
  593. package/src/langium/build-phase-pass/build-phase-pass.ts +1 -1
  594. package/src/langium/composite-ast-reflection.ts +112 -0
  595. package/src/langium/config/configuration-provider.ts +119 -0
  596. package/src/langium/config/index.ts +1 -0
  597. package/src/langium/diagnostics/hydranium-langium-profiler.ts +15 -39
  598. package/src/langium/diagnostics/log-preamble.ts +1 -1
  599. package/src/langium/diagnostics/logger.ts +12 -5
  600. package/src/langium/diagnostics/lsp-logger.ts +61 -16
  601. package/src/langium/document-builder/build-pipeline-integration.ts +50 -5
  602. package/src/langium/document-builder/build-session.ts +4 -3
  603. package/src/langium/document-builder/document-builder.ts +616 -73
  604. package/src/langium/integration-services.ts +59 -28
  605. package/src/langium/integrity/integrity-rule.ts +16 -8
  606. package/src/langium/integrity/integrity-service.ts +296 -69
  607. package/src/langium/keys/containment.ts +87 -0
  608. package/src/langium/keys/index.ts +1 -0
  609. package/src/langium/keys/name-based-key-provider.ts +4 -0
  610. package/src/langium/language-module.ts +49 -8
  611. package/src/langium/model-service/client-session.ts +702 -0
  612. package/src/langium/model-service/index.ts +2 -0
  613. package/src/langium/model-service/model-events.ts +80 -0
  614. package/src/langium/model-service/model-service.ts +835 -475
  615. package/src/langium/module.ts +212 -67
  616. package/src/langium/naming/name-provider.ts +29 -7
  617. package/src/langium/naming/name-separator-validation.ts +25 -3
  618. package/src/langium/project/abstract-project-manager.ts +13 -5
  619. package/src/langium/project/project-change-event.ts +2 -2
  620. package/src/langium/residency/cst-residency-service.ts +50 -16
  621. package/src/langium/scope/fallback-scope.ts +38 -0
  622. package/src/langium/scope/hydranium-scope-computation.ts +45 -44
  623. package/src/langium/scope/hydranium-scope-provider.ts +89 -38
  624. package/src/langium/scope/index.ts +1 -0
  625. package/src/langium/scope/reference-candidate-provider.ts +6 -5
  626. package/src/langium/scope/scope-extension-service.ts +74 -59
  627. package/src/langium/scope/scoped-ast-node-description.ts +1 -3
  628. package/src/langium/serialization/abstract-serializer.ts +57 -41
  629. package/src/langium/serialization/json-serializer.ts +14 -3
  630. package/src/langium/serialization/serializer.ts +1 -1
  631. package/src/langium/serialization/yaml-serializer.ts +4 -0
  632. package/src/langium/service-registry.ts +41 -2
  633. package/src/langium/shared-services.ts +26 -6
  634. package/src/langium/single-langium-copy.ts +42 -0
  635. package/src/langium/transfer/transfer-encoder.ts +102 -45
  636. package/src/langium/trivia/comment-preserver.ts +1100 -0
  637. package/src/langium/trivia/document-ending-preserver.ts +55 -0
  638. package/src/langium/trivia/index.ts +14 -0
  639. package/src/langium/trivia/trivia-contribution.ts +39 -0
  640. package/src/langium/trivia/trivia-preserver.ts +54 -0
  641. package/src/langium/trivia/trivia-service.ts +99 -0
  642. package/src/langium/update-rewrite/update-rewrite-service.ts +1 -1
  643. package/src/langium/update-rewrite/update-rewrite.ts +1 -1
  644. package/src/langium/validation/document-validator.ts +528 -13
  645. package/src/langium/validation/validation-contribution-collector.ts +10 -1
  646. package/src/langium/workspace/document-uri-policy.ts +15 -10
  647. package/src/langium/workspace/file-not-found.ts +35 -0
  648. package/src/langium/workspace/file-system-provider.ts +234 -16
  649. package/src/langium/workspace/hydranium-langium-document-factory.ts +117 -0
  650. package/src/langium/workspace/hydranium-workspace-lock.ts +86 -2
  651. package/src/langium/workspace/hydranium-workspace-manager.ts +221 -16
  652. package/src/langium/workspace/in-memory-file-system-provider.ts +54 -23
  653. package/src/langium/workspace/index.ts +1 -0
  654. package/src/langium/workspace/initialize-workspace.ts +43 -5
  655. package/src/langium/workspace/langium-documents.ts +63 -5
  656. package/src/langium/workspace/persistent-file-system-provider.ts +15 -14
  657. package/src/langium/workspace/self-save-registry.ts +118 -0
  658. package/src/langium/workspace/virtual-document.ts +100 -19
  659. package/src/langium/workspace/write-lock-scope.ts +27 -12
  660. package/src/launcher/integrated-server.ts +3 -1
  661. package/src/locale/index.ts +10 -0
  662. package/src/locale/server-locale.ts +86 -0
  663. package/src/lsp/completion/hydranium-completion-provider.ts +82 -2
  664. package/src/lsp/connection-features.ts +67 -0
  665. package/src/lsp/diagnostics-connection.ts +56 -0
  666. package/src/lsp/hydranium-document-update-handler.ts +227 -111
  667. package/src/lsp/index.ts +3 -1
  668. package/src/lsp/lsp-latency.ts +62 -0
  669. package/src/lsp/semantic-token-provider.ts +74 -7
  670. package/src/lsp/shared-module.ts +4 -8
  671. package/src/lsp/start-language-server.ts +13 -7
  672. package/src/messages/carriers.ts +23 -15
  673. package/src/messages/index.ts +13 -1
  674. package/src/messages/renderer.ts +212 -0
  675. package/src/node/event-loop-monitor.ts +2 -1
  676. package/src/node/heap-ceiling.ts +108 -0
  677. package/src/node/index.ts +1 -1
  678. package/src/node/latency-from-env.ts +1 -1
  679. package/src/node/log-preamble-node.ts +20 -10
  680. package/src/node/measure-memory.ts +5 -4
  681. package/src/node/memory-monitor.ts +10 -10
  682. package/src/node/node-file-system-provider.ts +178 -56
  683. package/src/node/profile-capture.ts +16 -15
  684. package/src/node/profiling-run.ts +30 -8
  685. package/src/node/rename-over-open-readers.ts +94 -0
  686. package/src/node/server-diagnostics.ts +1 -1
  687. package/src/node/server-state-snapshot.ts +5 -5
  688. package/src/node/socket-launcher.ts +27 -11
  689. package/src/node/stdio-launcher.ts +22 -14
  690. package/src/testing/document-uri-policy-conformance.ts +1 -1
  691. package/src/testing/fake-document.ts +24 -5
  692. package/src/testing/index.ts +2 -1
  693. package/src/testing/langium-test-helpers.ts +1 -0
  694. package/src/testing/make-noop-shared-services.ts +50 -2
  695. package/src/testing/make-test-services.ts +125 -31
  696. package/src/testing/make-test-tracer.ts +26 -0
  697. package/src/testing/node/applied-edit-capture.ts +139 -0
  698. package/src/testing/node/index.ts +1 -0
  699. package/src/testing/node/lsp-harness.ts +2 -0
  700. package/src/testing/node/lsp-server-connection.ts +74 -117
  701. package/src/testing/node/scratch-workspace.ts +10 -5
  702. package/src/testing/node/spawned-server.ts +57 -3
  703. package/src/testing/node/unhandled-rejections.ts +31 -0
  704. package/src/testing/parse-semantic-root.ts +1 -1
  705. package/src/testing/playwright/flaky-network-proxy.ts +240 -0
  706. package/src/testing/playwright/index.ts +1 -0
  707. package/src/testing/playwright/server-log-capture.ts +63 -11
  708. package/src/testing/playwright/server-log-fixture.ts +46 -6
  709. package/src/testing/playwright/server-log-region.ts +32 -0
  710. package/src/testing/playwright/server-log-rename-reporter.ts +12 -1
  711. package/src/testing/run-update-pipeline.ts +6 -5
  712. package/src/testing/stub-ast-document-manager.ts +47 -128
  713. package/src/testing/stub-document-builder.ts +133 -18
  714. package/src/testing/stub-hydranium-text-documents.ts +184 -27
  715. package/src/testing/stub-langium-documents.ts +3 -2
  716. package/src/testing/stub-model-service.ts +11 -10
  717. package/src/testing/stub-self-save-registry.ts +1 -1
  718. package/src/testing/stub-service-registry.ts +1 -1
  719. package/src/testing/stub-writable-file-system.ts +3 -2
  720. package/src/util/connection-liveness.ts +67 -15
  721. package/src/util/environment.ts +9 -1
  722. package/lib/documents/language-client-text-shadow.d.ts +0 -101
  723. package/lib/documents/language-client-text-shadow.d.ts.map +0 -1
  724. package/lib/documents/language-client-text-shadow.js +0 -156
  725. package/lib/documents/language-client-text-shadow.js.map +0 -1
  726. package/lib/documents/self-save-registry.d.ts +0 -55
  727. package/lib/documents/self-save-registry.d.ts.map +0 -1
  728. package/lib/documents/self-save-registry.js.map +0 -1
  729. package/lib/lsp/instrument-connection.d.ts +0 -36
  730. package/lib/lsp/instrument-connection.d.ts.map +0 -1
  731. package/lib/lsp/instrument-connection.js +0 -62
  732. package/lib/lsp/instrument-connection.js.map +0 -1
  733. package/lib/node/process-memory.d.ts +0 -66
  734. package/lib/node/process-memory.d.ts.map +0 -1
  735. package/lib/node/process-memory.js +0 -252
  736. package/lib/node/process-memory.js.map +0 -1
  737. package/src/documents/language-client-text-shadow.ts +0 -175
  738. package/src/documents/self-save-registry.ts +0 -81
  739. package/src/lsp/instrument-connection.ts +0 -66
  740. package/src/node/process-memory.ts +0 -299
@@ -47,6 +47,16 @@ export interface NameProviderOptions {
47
47
  * an `id` field) override explicitly; the explicit override at
48
48
  * the adopter side documents the grammar's convention rather than
49
49
  * burying it in a framework default.
50
+ *
51
+ * **The override is not optional where `name` is a display LABEL rather
52
+ * than an identifier**, and getting it wrong is quiet at first and then
53
+ * loud. A `name=STRING` holding `"Order.Line"` is legitimate content, but
54
+ * the default reads it as the identifier: `getName` composes a qualified
55
+ * name whose segments cannot be told apart from the label's own dots, and
56
+ * `nameSeparatorCheck` reports `hydranium/core/separator-in-name` on every
57
+ * such node. That diagnostic then names the wrong remedy — it asks for a
58
+ * different character, when the fix is to point this option at the property
59
+ * that really is the identifier.
50
60
  */
51
61
  readonly nameProperties?: readonly string[];
52
62
  }
@@ -222,10 +232,21 @@ export interface NameProvider extends LangiumNameProvider {
222
232
  /**
223
233
  * Find a unique name for a new node within `container`, using `base`
224
234
  * as a stem. Walks the AST subtree rooted at `container` and avoids
225
- * names already used by `$type === type` nodes there. Default
226
- * generates `${base}1`, `${base}2`, ... until an unused value is
227
- * found. Used by create-element operation handlers when the
228
- * uniqueness scope is one AST subtree.
235
+ * names already held there by nodes of `type` or of any subtype of it,
236
+ * as `AstReflection.isSubtype` reports. Default generates `${base}1`,
237
+ * `${base}2`, ... until an unused value is found. Used by create-element
238
+ * operation handlers when the uniqueness scope is one AST subtree.
239
+ *
240
+ * Subtype-closed rather than `$type`-exact, because a name space shared by
241
+ * several concrete types is named by their common supertype and by no
242
+ * concrete type at all — the shape a cross-reference whose target type is
243
+ * that supertype produces. An exact filter finds no collisions for such a
244
+ * call and returns the proposal unchanged, which a caller cannot tell from
245
+ * a name that was genuinely free.
246
+ * {@link NameProvider.findNextDocumentQualifiedName} and
247
+ * {@link NameProvider.findNextProjectQualifiedName} resolve `type` the same
248
+ * way, through `IndexManager.allElements`, so one type argument does not
249
+ * mean different sets at different tiers.
229
250
  */
230
251
  findNextName(type: string, base: string, container: AstNode): string;
231
252
  /**
@@ -332,8 +353,8 @@ export declare class DefaultNameProvider implements NameProvider {
332
353
  * qualified names.
333
354
  *
334
355
  * **Within-document references stay keyed by bare names** via
335
- * `HydraniumScopeComputation.addLocalSymbol`, which explicitly calls
336
- * {@link getOwnName} when populating the local-symbols map (bypassing
356
+ * `HydraniumScopeComputation.addLocalSymbolByOwnName`, which explicitly
357
+ * calls {@link getOwnName} when populating the local-symbols map (bypassing
337
358
  * Langium's default that goes through this `getName`). The
338
359
  * separation lets `getName` carry the workspace-unique form for the
339
360
  * linker without forcing qualified names into the per-document
@@ -1 +1 @@
1
- {"version":3,"file":"name-provider.d.ts","sourceRoot":"","sources":["../../../src/langium/naming/name-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"name-provider.d.ts","sourceRoot":"","sources":["../../../src/langium/naming/name-provider.ts"],"names":[],"mappings":"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"}
@@ -161,8 +161,8 @@ export class DefaultNameProvider {
161
161
  * qualified names.
162
162
  *
163
163
  * **Within-document references stay keyed by bare names** via
164
- * `HydraniumScopeComputation.addLocalSymbol`, which explicitly calls
165
- * {@link getOwnName} when populating the local-symbols map (bypassing
164
+ * `HydraniumScopeComputation.addLocalSymbolByOwnName`, which explicitly
165
+ * calls {@link getOwnName} when populating the local-symbols map (bypassing
166
166
  * Langium's default that goes through this `getName`). The
167
167
  * separation lets `getName` carry the workspace-unique form for the
168
168
  * linker without forcing qualified names into the per-document
@@ -195,8 +195,9 @@ export class DefaultNameProvider {
195
195
  }
196
196
  findNextName(type, base, container) {
197
197
  const proposal = base.replaceAll(this.nameSeparator, '_');
198
+ const reflection = this.services.shared.AstReflection;
198
199
  const knownNames = AstUtils.streamAst(container)
199
- .filter(node => node.$type === type)
200
+ .filter(node => reflection.isSubtype(node.$type, type))
200
201
  .map(node => this.getOwnName(node))
201
202
  .nonNullable()
202
203
  .toArray();
@@ -1 +1 @@
1
- {"version":3,"file":"name-provider.js","sourceRoot":"","sources":["../../../src/langium/naming/name-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"name-provider.js","sourceRoot":"","sources":["../../../src/langium/naming/name-provider.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,32 @@
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
9
  import { type AstNode, type ValidationAcceptor } from '@hydranium/langium';
10
- export declare const SEPARATOR_IN_NAME: import("@hydranium/protocol").MessageDefinition<"Name '{name}' contains the configured name separator '{separator}', which is reserved for qualified-name composition — use a different character.">;
11
10
  import { type ServerLanguageServices } from '../language-module.js';
12
11
  import { type ValidationCheckContribution, type ValidationCheckRegistry } from '../validation/validation-contribution.js';
13
12
  import type { NameProvider } from './name-provider.js';
13
+ /**
14
+ * A name value that collides with the qualified-name separator.
15
+ *
16
+ * **The sentence addresses a MODELLER, and the remedy it names is theirs**:
17
+ * where `name` really is the identifier, a different character is the fix and
18
+ * the only one available to whoever is typing.
19
+ *
20
+ * **The adopter-facing failure is a different one, and this message cannot
21
+ * carry it.** With `nameProperties` left at its default `['name']` over a
22
+ * grammar where `name` is a display LABEL — a `STRING` legitimately holding
23
+ * `"Order.Line"` — this fires on every dotted label at once, and "use a
24
+ * different character" is then advice nobody can act on: the content is
25
+ * correct and the configuration is not. A burst of this diagnostic across
26
+ * unrelated nodes is that misconfiguration, not a naming problem, and the fix
27
+ * is `nameProperties`. Widening the sentence to say both was rejected: a
28
+ * modeller cannot act on a DI option, and naming one in an editor squiggle
29
+ * teaches the wrong audience.
30
+ *
31
+ * Unreachable from a grammar whose identifier charset excludes the separator,
32
+ * which is every example here and the reference adopter — so it reads as dead
33
+ * and is not: it guards the configuration, not the content.
34
+ */
35
+ export declare const SEPARATOR_IN_NAME: import("@hydranium/protocol").MessageDefinition<"Name '{name}' contains the configured name separator '{separator}', which is reserved for qualified-name composition — use a different character.">;
14
36
  /**
15
37
  * Per-node validation check: flag name-bearing AST nodes whose name
16
38
  * value contains the configured name separator. Such values produce
@@ -1 +1 @@
1
- {"version":3,"file":"name-separator-validation.d.ts","sourceRoot":"","sources":["../../../src/langium/naming/name-separator-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,kBAAkB,EAAyB,MAAM,oBAAoB,CAAC;AAIlG,eAAO,MAAM,iBAAiB,sMAG7B,CAAC;AACF,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,KAAK,2BAA2B,EAAE,KAAK,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAC1H,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAelH;AAED;;;;;;;;;GASG;AACH,qBAAa,8BAA+B,YAAW,2BAA2B;IAC/E,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;gBAElC,QAAQ,EAAE,sBAAsB;IAI5C,wBAAwB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI;CAMnE"}
1
+ {"version":3,"file":"name-separator-validation.d.ts","sourceRoot":"","sources":["../../../src/langium/naming/name-separator-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,kBAAkB,EAAyB,MAAM,oBAAoB,CAAC;AAGlG,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,KAAK,2BAA2B,EAAE,KAAK,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAC1H,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,iBAAiB,sMAG7B,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAelH;AAED;;;;;;;;;GASG;AACH,qBAAa,8BAA+B,YAAW,2BAA2B;IAC/E,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAE9C,YAAY,QAAQ,EAAE,sBAAsB,EAE3C;IAED,wBAAwB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAKhE;CACH"}
@@ -8,6 +8,28 @@
8
8
  ********************************************************************************/
9
9
  import { defineMessage } from '@hydranium/protocol';
10
10
  import { acceptMessage } from '../../messages/carriers.js';
11
+ /**
12
+ * A name value that collides with the qualified-name separator.
13
+ *
14
+ * **The sentence addresses a MODELLER, and the remedy it names is theirs**:
15
+ * where `name` really is the identifier, a different character is the fix and
16
+ * the only one available to whoever is typing.
17
+ *
18
+ * **The adopter-facing failure is a different one, and this message cannot
19
+ * carry it.** With `nameProperties` left at its default `['name']` over a
20
+ * grammar where `name` is a display LABEL — a `STRING` legitimately holding
21
+ * `"Order.Line"` — this fires on every dotted label at once, and "use a
22
+ * different character" is then advice nobody can act on: the content is
23
+ * correct and the configuration is not. A burst of this diagnostic across
24
+ * unrelated nodes is that misconfiguration, not a naming problem, and the fix
25
+ * is `nameProperties`. Widening the sentence to say both was rejected: a
26
+ * modeller cannot act on a DI option, and naming one in an editor squiggle
27
+ * teaches the wrong audience.
28
+ *
29
+ * Unreachable from a grammar whose identifier charset excludes the separator,
30
+ * which is every example here and the reference adopter — so it reads as dead
31
+ * and is not: it guards the configuration, not the content.
32
+ */
11
33
  export const SEPARATOR_IN_NAME = defineMessage('hydranium/core/separator-in-name', "Name '{name}' contains the configured name separator '{separator}', which is reserved for qualified-name composition — use a different character.");
12
34
  /**
13
35
  * Per-node validation check: flag name-bearing AST nodes whose name
@@ -1 +1 @@
1
- {"version":3,"file":"name-separator-validation.js","sourceRoot":"","sources":["../../../src/langium/naming/name-separator-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAC3C,kCAAkC,EAClC,mJAAmJ,CACrJ,CAAC;AAKF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAA0B;IAC1D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO;QACV,CAAC;QACD,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC;QAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,kEAAkE;YAClE,mEAAmE;YACnE,wEAAwE;YACxE,+DAA+D;YAC/D,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7F,CAAC;IACJ,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,8BAA8B;IACrB,YAAY,CAAe;IAE9C,YAAY,QAAgC;QACzC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;IACxD,CAAC;IAED,wBAAwB,CAAC,QAAiC;QACvD,MAAM,MAAM,GAA2C;YACpD,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;SAChD,CAAC;QACF,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACH"}
1
+ {"version":3,"file":"name-separator-validation.js","sourceRoot":"","sources":["../../../src/langium/naming/name-separator-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAK3D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAC3C,kCAAkC,EAClC,mJAAmJ,CACrJ,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAA0B;IAC1D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO;QACV,CAAC;QACD,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC;QAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,kEAAkE;YAClE,mEAAmE;YACnE,wEAAwE;YACxE,+DAA+D;YAC/D,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7F,CAAC;IACJ,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,8BAA8B;IACrB,YAAY,CAAe;IAE9C,YAAY,QAAgC;QACzC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;IACxD,CAAC;IAED,wBAAwB,CAAC,QAAiC;QACvD,MAAM,MAAM,GAA2C;YACpD,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;SAChD,CAAC;QACF,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-project-manager.d.ts","sourceRoot":"","sources":["../../../src/langium/project/abstract-project-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract-project-manager.d.ts","sourceRoot":"","sources":["../../../src/langium/project/abstract-project-manager.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,9 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { Deferred, UNQUALIFIED_PROJECT_REFERENCE } from '@hydranium/protocol';
10
- import { AstUtils, UriUtils } from '@hydranium/langium';
11
- import { Disposable } from 'vscode-languageserver';
9
+ import { Deferred, UNQUALIFIED_PROJECT_REFERENCE, describeErrorWithStack } from '@hydranium/protocol';
10
+ import { AstUtils, DocumentState, UriUtils } from '@hydranium/langium';
11
+ import { CancellationToken, Disposable } from 'vscode-languageserver';
12
12
  import { isVirtualUri } from '../workspace/virtual-document.js';
13
13
  /**
14
14
  * Abstract base for project-aware {@link ProjectManager} implementations.
@@ -163,7 +163,7 @@ export class AbstractProjectManager {
163
163
  entries = await this.fileSystemProvider.readDirectory(folder);
164
164
  }
165
165
  catch (error) {
166
- this.tracer.warn(`Failed to read directory ${folder.toString()}: ${error}`);
166
+ this.tracer.warn(`Failed to read directory ${folder.toString()}: ${describeErrorWithStack(error)}`);
167
167
  return;
168
168
  }
169
169
  for (const entry of entries) {
@@ -307,6 +307,13 @@ export class AbstractProjectManager {
307
307
  async loadDescriptor(uri) {
308
308
  try {
309
309
  const document = await this.langiumDocuments.getOrCreateDocument(uri);
310
+ if (document.state < DocumentState.Parsed) {
311
+ // `onUpdate` fires before the build parses, so the AST is still the previous edit's.
312
+ // The state is restored so the build still runs, and notifies, its own parse phase.
313
+ const state = document.state;
314
+ await this.services.workspace.LangiumDocumentFactory.update(document, CancellationToken.None);
315
+ document.state = state;
316
+ }
310
317
  const project = await this.parseProjectDescriptor(uri, document);
311
318
  if (project) {
312
319
  this.projects.set(project.id, project);
@@ -318,7 +325,7 @@ export class AbstractProjectManager {
318
325
  return project;
319
326
  }
320
327
  catch (error) {
321
- this.tracer.error(`Failed to parse ${this.conceptName()} descriptor at ${uri.toString()}: ${error}`);
328
+ this.tracer.error(`Failed to parse ${this.conceptName()} descriptor at ${uri.toString()}: ${describeErrorWithStack(error)}`);
322
329
  return undefined;
323
330
  }
324
331
  }
@@ -527,7 +534,7 @@ export class AbstractProjectManager {
527
534
  listener(event);
528
535
  }
529
536
  catch (error) {
530
- this.tracer.error(`Project change listener failed: ${error}`);
537
+ this.tracer.error(`Project change listener failed: ${describeErrorWithStack(error)}`);
531
538
  }
532
539
  }
533
540
  }
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-project-manager.js","sourceRoot":"","sources":["../../../src/langium/project/abstract-project-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract-project-manager.js","sourceRoot":"","sources":["../../../src/langium/project/abstract-project-manager.ts"],"names":[],"mappings":"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"}
@@ -26,8 +26,8 @@ import type { URI } from '@hydranium/langium';
26
26
  * - {@link affectedDocuments} lists URIs whose reachable scope changed. The
27
27
  * default cascade plumbing in `HydraniumWorkspaceManager` subscribes to
28
28
  * this event and re-runs `DocumentBuilder.resetToState` for each entry,
29
- * which the next build cycle picks up. Consumers can subscribe
30
- * independently for other reactions.
29
+ * which the build of the update that changed the descriptor picks up.
30
+ * Consumers can subscribe independently for other reactions.
31
31
  */
32
32
  export interface ProjectChangeEvent<TProject extends Project = Project> {
33
33
  /** Ids of projects newly registered since the last event. */
@@ -1 +1 @@
1
- {"version":3,"file":"single-project-manager.d.ts","sourceRoot":"","sources":["../../../src/langium/project/single-project-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAiC,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IAkBrD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,2BAA2B;IAjB3D;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,oBAAoB,gBAAgB;IAEpD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAGjC;IACF,QAAQ,CAAC,KAAK,gBAAqB;IAEnC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACtD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAGZ,QAAQ,EAAE,2BAA2B,EACxD,OAAO,GAAE,cAAmB;IAM/B,mDAAmD;IAC7C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC,8GAA8G;IAC9G,iBAAiB,CAAC,SAAS,EAAE,qBAAqB,GAAG,UAAU;IAI/D,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,OAAO;IAIhD,oDAAoD;IACpD,eAAe,IAAI,OAAO;IAI1B;;;;OAIG;IACH,6BAA6B,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,OAAO;IAI1D,4DAA4D;IAC5D,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS;IAInD,6DAA6D;IAC7D,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IAItD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI/C,WAAW,IAAI,SAAS,OAAO,EAAE;IAIjC,oFAAoF;IACpF,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,EAAE;IAOjD,mGAAmG;IACnG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE;IAIxD,2FAA2F;IAC3F,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,UAAQ,GAAG,OAAO;CAS3F"}
1
+ {"version":3,"file":"single-project-manager.d.ts","sourceRoot":"","sources":["../../../src/langium/project/single-project-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAiC,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IAkBrD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,2BAA2B;IAjB3D;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,oBAAoB,gBAAgB;IAEpD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAGjC;IACF,QAAQ,CAAC,KAAK,gBAAqB;IAEnC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACtD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,YACsB,QAAQ,EAAE,2BAA2B,EACxD,OAAO,GAAE,cAAmB,EAI9B;IAED,mDAAmD;IAC7C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEtC;IAED,8GAA8G;IAC9G,iBAAiB,CAAC,SAAS,EAAE,qBAAqB,GAAG,UAAU,CAE9D;IAED,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,OAAO,CAE/C;IAED,oDAAoD;IACpD,eAAe,IAAI,OAAO,CAEzB;IAED;;;;OAIG;IACH,6BAA6B,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,OAAO,CAEzD;IAED,4DAA4D;IAC5D,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAElD;IAED,6DAA6D;IAC7D,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAErD;IAED,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAE9C;IAED,WAAW,IAAI,SAAS,OAAO,EAAE,CAEhC;IAED,oFAAoF;IACpF,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,EAAE,CAKhD;IAED,mGAAmG;IACnG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAEvD;IAED,2FAA2F;IAC3F,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,UAAQ,GAAG,OAAO,CAQxF;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"single-project-manager.js","sourceRoot":"","sources":["../../../src/langium/project/single-project-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAA6B,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAE/F,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMnD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,oBAAoB;IAkBR;IAjBtB;;;;OAIG;IACH,MAAM,CAAU,oBAAoB,GAAG,YAAY,CAAC;IAEjC,OAAO,GAAY;QACnC,EAAE,EAAE,oBAAoB,CAAC,oBAAoB;QAC7C,aAAa,EAAE,6BAA6B;KAC9C,CAAC;IACO,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAEhB,gBAAgB,CAAmB;IACnC,MAAM,CAAS;IAElC,YACsB,QAAqC,EACxD,UAA0B,EAAE;QADT,aAAQ,GAAR,QAAQ,CAA6B;QAGxD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAC5D,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACrG,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,gBAAgB;QACnB,QAAQ;IACX,CAAC;IAED,8GAA8G;IAC9G,iBAAiB,CAAC,SAAgC;QAC/C,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,mBAAmB,CAAC,IAAkB;QACnC,OAAO,KAAK,CAAC;IAChB,CAAC;IAED,oDAAoD;IACpD,eAAe;QACZ,OAAO,IAAI,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,6BAA6B,CAAC,IAAkB;QAC7C,OAAO,IAAI,CAAC;IACf,CAAC;IAED,4DAA4D;IAC5D,UAAU,CAAC,IAAkB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,6DAA6D;IAC7D,iBAAiB,CAAC,KAAc;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,cAAc,CAAC,EAAU;QACtB,OAAO,EAAE,KAAK,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,CAAC;IAED,WAAW;QACR,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,oFAAoF;IACpF,cAAc,CAAC,SAAiB;QAC7B,IAAI,SAAS,KAAK,oBAAoB,CAAC,oBAAoB,EAAE,CAAC;YAC3D,OAAO,EAAE,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1E,CAAC;IAED,mGAAmG;IACnG,kBAAkB,CAAC,SAAiB;QACjC,OAAO,SAAS,KAAK,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrH,CAAC;IAED,2FAA2F;IAC3F,SAAS,CAAC,eAAuB,EAAE,eAAuB,EAAE,WAAW,GAAG,KAAK;QAC5E,IAAI,eAAe,KAAK,oBAAoB,CAAC,oBAAoB,EAAE,CAAC;YACjE,OAAO,KAAK,CAAC;QAChB,CAAC;QACD,IAAI,eAAe,KAAK,eAAe,EAAE,CAAC;YACvC,OAAO,WAAW,CAAC;QACtB,CAAC;QACD,OAAO,KAAK,CAAC;IAChB,CAAC"}
1
+ {"version":3,"file":"single-project-manager.js","sourceRoot":"","sources":["../../../src/langium/project/single-project-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAA6B,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAE/F,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMnD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,oBAAoB;IAkBR,QAAQ;IAjB9B;;;;OAIG;IACH,MAAM,CAAU,oBAAoB,GAAG,YAAY,CAAC;IAEjC,OAAO,GAAY;QACnC,EAAE,EAAE,oBAAoB,CAAC,oBAAoB;QAC7C,aAAa,EAAE,6BAA6B;KAC9C,CAAC;IACO,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAEhB,gBAAgB,CAAmB;IACnC,MAAM,CAAS;IAElC,YACsB,QAAqC,EACxD,OAAO,GAAmB,EAAE;wBADT,QAAQ;QAG3B,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAC5D,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACrG,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,gBAAgB;QACnB,QAAQ;IACX,CAAC;IAED,8GAA8G;IAC9G,iBAAiB,CAAC,SAAgC;QAC/C,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,mBAAmB,CAAC,IAAkB;QACnC,OAAO,KAAK,CAAC;IAChB,CAAC;IAED,oDAAoD;IACpD,eAAe;QACZ,OAAO,IAAI,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,6BAA6B,CAAC,IAAkB;QAC7C,OAAO,IAAI,CAAC;IACf,CAAC;IAED,4DAA4D;IAC5D,UAAU,CAAC,IAAkB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,6DAA6D;IAC7D,iBAAiB,CAAC,KAAc;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,cAAc,CAAC,EAAU;QACtB,OAAO,EAAE,KAAK,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,CAAC;IAED,WAAW;QACR,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,oFAAoF;IACpF,cAAc,CAAC,SAAiB;QAC7B,IAAI,SAAS,KAAK,oBAAoB,CAAC,oBAAoB,EAAE,CAAC;YAC3D,OAAO,EAAE,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1E,CAAC;IAED,mGAAmG;IACnG,kBAAkB,CAAC,SAAiB;QACjC,OAAO,SAAS,KAAK,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrH,CAAC;IAED,2FAA2F;IAC3F,SAAS,CAAC,eAAuB,EAAE,eAAuB,EAAE,WAAW,GAAG,KAAK;QAC5E,IAAI,eAAe,KAAK,oBAAoB,CAAC,oBAAoB,EAAE,CAAC;YACjE,OAAO,KAAK,CAAC;QAChB,CAAC;QACD,IAAI,eAAe,KAAK,eAAe,EAAE,CAAC;YACvC,OAAO,WAAW,CAAC;QACtB,CAAC;QACD,OAAO,KAAK,CAAC;IAChB,CAAC;CACH"}
@@ -14,9 +14,13 @@ import { type ServerSharedServicesMinimal } from '../shared-services.js';
14
14
  /**
15
15
  * Default priority of the CST-residency pass. Deliberately very high so it runs
16
16
  * *last* among `Validated` build-phase passes (the registry iterates priority
17
- * ascending): every other reaction to the build — an adopter's own derived-state
18
- * pass included — settles while the CST is still guaranteed resident, before the
19
- * residency policy arms the shed.
17
+ * ascending).
18
+ *
19
+ * The ordering is defensive, not load-bearing: the pass only arms or cancels an
20
+ * idle timer, so every pass at `Validated` reads a resident CST whichever order
21
+ * they run in, and lowering it changes nothing observable while that holds. It
22
+ * becomes load-bearing the moment the shed stops being deferred — a pass that
23
+ * frees the CST synchronously has to run after every reader of it.
20
24
  */
21
25
  export declare const CST_RESIDENCY_PASS_PRIORITY = 1000000;
22
26
  /**
@@ -30,8 +34,11 @@ export declare const CST_RESIDENCY_PASS_PRIORITY = 1000000;
30
34
  * "off" toggle.
31
35
  * - `{ kind: 'shed-closed-when-idle', idleMs }`: shed a closed document's CST
32
36
  * once it has been idle (not in any build) for `idleMs`, keeping the AST
33
- * resident. Open documents are always kept. `idleMs: 0` sheds as soon as a
34
- * document is closed (a pure close-triggered threshold of this strategy).
37
+ * resident. Open documents are always kept. The timer starts when a build
38
+ * includes the document, so `idleMs: 0` sheds a closed document on the tick
39
+ * after each such build. A shed document that re-enters a build is re-parsed
40
+ * in full, so a window shorter than the gap between a document's builds
41
+ * re-parses a closed document on every build it rides in.
35
42
  */
36
43
  export type CstResidencyStrategy = {
37
44
  readonly kind: 'always-keep';
@@ -76,8 +83,10 @@ export declare const CST_REHYDRATION_RESET_STATE: DocumentState;
76
83
  */
77
84
  export declare function isCstShed(document: LangiumDocument): boolean;
78
85
  /**
79
- * Residency policy that reclaims memory by shedding the concrete syntax tree
80
- * (CST) of closed documents while keeping their AST resident. Each build refreshes
86
+ * Keeps a document's CST available to the readers that need one, shedding it
87
+ * for documents that have gone idle and re-grafting on demand.
88
+ *
89
+ * Each build refreshes
81
90
  * the idle window of the documents in its batch; when a closed, sheddable
82
91
  * document's window elapses, every AST node's `$cstNode` and every reference's
83
92
  * `$refNode` are nulled, and the CST root, `Range`s and `Position`s become
@@ -122,7 +131,21 @@ export declare function isCstShed(document: LangiumDocument): boolean;
122
131
  * `NameProvider.getNameNode` chokepoint, the comment provider, and
123
132
  * `HydraniumLangiumDocuments.getOrCreateDocument`.
124
133
  */
125
- export declare class CstResidencyService {
134
+ export interface CstResidencyService {
135
+ /**
136
+ * Ensure `document` has a CST, re-parsing its retained text if it was shed.
137
+ * A resident document is left exactly as it is, so this is safe to call on
138
+ * a hot path and safe to call twice.
139
+ */
140
+ rehydrate(document: LangiumDocument): void;
141
+ /**
142
+ * Node-level convenience over {@link rehydrate}, cheap enough for an
143
+ * unconditional call: a node whose `$cstNode` is already set returns
144
+ * without resolving its document.
145
+ */
146
+ rehydrateNode(node: AstNode): void;
147
+ }
148
+ export declare class DefaultCstResidencyService implements CstResidencyService {
126
149
  protected readonly services: ServerSharedServicesMinimal;
127
150
  protected readonly strategy: CstResidencyStrategy;
128
151
  /** Bytes-per-node for the optional reclaim estimate in traces; `0` disables it. */
@@ -155,14 +178,14 @@ export declare class CstResidencyService {
155
178
  * until navigation latency on shed files is actually observed to hurt. This
156
179
  * method is where that hook goes.
157
180
  */
158
- rehydrate(document: LangiumDocument): boolean;
181
+ rehydrate(document: LangiumDocument): void;
159
182
  /**
160
183
  * Node-level convenience over {@link rehydrate}: a resident node (its
161
184
  * `$cstNode` is set — true for every node of a non-shed document) returns
162
185
  * `true` without even resolving the document, so hot read paths
163
186
  * (`getNameNode`, comment lookup) call this unconditionally.
164
187
  */
165
- rehydrateNode(node: AstNode): boolean;
188
+ rehydrateNode(node: AstNode): void;
166
189
  /**
167
190
  * After each build, refresh the idle timer of every document in the batch: an
168
191
  * open document keeps its CST (its timer is cancelled — formatting, hover and
@@ -187,8 +210,8 @@ export declare class CstResidencyService {
187
210
  * or its object replaced by a rebuild).
188
211
  */
189
212
  protected onIdle(uri: string): void;
190
- /** Cancel and drop every idle timer — for clean shutdown and deterministic tests. */
191
- dispose(): void;
213
+ /** Cancel every armed shed, so a document that has gone idle keeps its CST. */
214
+ cancelPendingShed(): void;
192
215
  /**
193
216
  * Whether a closed document may have its CST shed. Only documents whose text
194
217
  * a re-parse on re-entry can recover are sheddable; the default admits
@@ -1 +1 @@
1
- {"version":3,"file":"cst-residency-service.d.ts","sourceRoot":"","sources":["../../../src/langium/residency/cst-residency-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cst-residency-service.d.ts","sourceRoot":"","sources":["../../../src/langium/residency/cst-residency-service.ts"],"names":[],"mappings":"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"}