@hydranium/core 1.0.0-next.27 → 1.0.0-next.270

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 (725) hide show
  1. package/README.md +64 -82
  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 +242 -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 +86 -0
  19. package/lib/documents/dirty-state-tracker.d.ts.map +1 -0
  20. package/lib/documents/dirty-state-tracker.js +72 -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 +401 -282
  35. package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
  36. package/lib/documents/hydranium-text-documents.js +827 -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 +34 -25
  70. package/lib/langium/bootstrap.d.ts.map +1 -1
  71. package/lib/langium/bootstrap.js +77 -37
  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.map +1 -1
  111. package/lib/langium/document-builder/build-session.js.map +1 -1
  112. package/lib/langium/document-builder/document-builder.d.ts +306 -33
  113. package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
  114. package/lib/langium/document-builder/document-builder.js +501 -64
  115. package/lib/langium/document-builder/document-builder.js.map +1 -1
  116. package/lib/langium/documentation/comment-provider.d.ts.map +1 -1
  117. package/lib/langium/documentation/comment-provider.js.map +1 -1
  118. package/lib/langium/integration-services.d.ts +61 -19
  119. package/lib/langium/integration-services.d.ts.map +1 -1
  120. package/lib/langium/integration-services.js +10 -5
  121. package/lib/langium/integration-services.js.map +1 -1
  122. package/lib/langium/integrity/integrity-rule.d.ts +16 -8
  123. package/lib/langium/integrity/integrity-rule.d.ts.map +1 -1
  124. package/lib/langium/integrity/integrity-rule.js.map +1 -1
  125. package/lib/langium/integrity/integrity-service.d.ts +83 -27
  126. package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
  127. package/lib/langium/integrity/integrity-service.js +271 -61
  128. package/lib/langium/integrity/integrity-service.js.map +1 -1
  129. package/lib/langium/keys/containment.d.ts +64 -0
  130. package/lib/langium/keys/containment.d.ts.map +1 -0
  131. package/lib/langium/keys/containment.js +53 -0
  132. package/lib/langium/keys/containment.js.map +1 -0
  133. package/lib/langium/keys/index.d.ts +1 -0
  134. package/lib/langium/keys/index.d.ts.map +1 -1
  135. package/lib/langium/keys/index.js +1 -0
  136. package/lib/langium/keys/index.js.map +1 -1
  137. package/lib/langium/keys/name-based-key-provider.d.ts +4 -0
  138. package/lib/langium/keys/name-based-key-provider.d.ts.map +1 -1
  139. package/lib/langium/keys/name-based-key-provider.js +4 -0
  140. package/lib/langium/keys/name-based-key-provider.js.map +1 -1
  141. package/lib/langium/keys/positional-key-provider.d.ts.map +1 -1
  142. package/lib/langium/keys/positional-key-provider.js.map +1 -1
  143. package/lib/langium/labeling/label-provider.d.ts.map +1 -1
  144. package/lib/langium/labeling/label-provider.js.map +1 -1
  145. package/lib/langium/language-module.d.ts +30 -5
  146. package/lib/langium/language-module.d.ts.map +1 -1
  147. package/lib/langium/language-module.js +18 -4
  148. package/lib/langium/language-module.js.map +1 -1
  149. package/lib/langium/model-service/client-session.d.ts +343 -0
  150. package/lib/langium/model-service/client-session.d.ts.map +1 -0
  151. package/lib/langium/model-service/client-session.js +428 -0
  152. package/lib/langium/model-service/client-session.js.map +1 -0
  153. package/lib/langium/model-service/index.d.ts +2 -0
  154. package/lib/langium/model-service/index.d.ts.map +1 -1
  155. package/lib/langium/model-service/index.js +2 -0
  156. package/lib/langium/model-service/index.js.map +1 -1
  157. package/lib/langium/model-service/model-events.d.ts +61 -0
  158. package/lib/langium/model-service/model-events.d.ts.map +1 -0
  159. package/lib/langium/model-service/model-events.js +10 -0
  160. package/lib/langium/model-service/model-events.js.map +1 -0
  161. package/lib/langium/model-service/model-service.d.ts +433 -282
  162. package/lib/langium/model-service/model-service.d.ts.map +1 -1
  163. package/lib/langium/model-service/model-service.js +537 -441
  164. package/lib/langium/model-service/model-service.js.map +1 -1
  165. package/lib/langium/module.d.ts +151 -36
  166. package/lib/langium/module.d.ts.map +1 -1
  167. package/lib/langium/module.js +48 -36
  168. package/lib/langium/module.js.map +1 -1
  169. package/lib/langium/naming/name-provider.d.ts +27 -6
  170. package/lib/langium/naming/name-provider.d.ts.map +1 -1
  171. package/lib/langium/naming/name-provider.js +4 -3
  172. package/lib/langium/naming/name-provider.js.map +1 -1
  173. package/lib/langium/naming/name-separator-validation.d.ts +23 -1
  174. package/lib/langium/naming/name-separator-validation.d.ts.map +1 -1
  175. package/lib/langium/naming/name-separator-validation.js +22 -0
  176. package/lib/langium/naming/name-separator-validation.js.map +1 -1
  177. package/lib/langium/project/abstract-project-manager.d.ts.map +1 -1
  178. package/lib/langium/project/abstract-project-manager.js +13 -6
  179. package/lib/langium/project/abstract-project-manager.js.map +1 -1
  180. package/lib/langium/project/project-change-event.d.ts +2 -2
  181. package/lib/langium/project/single-project-manager.d.ts.map +1 -1
  182. package/lib/langium/project/single-project-manager.js.map +1 -1
  183. package/lib/langium/residency/cst-residency-service.d.ts +35 -12
  184. package/lib/langium/residency/cst-residency-service.d.ts.map +1 -1
  185. package/lib/langium/residency/cst-residency-service.js +23 -57
  186. package/lib/langium/residency/cst-residency-service.js.map +1 -1
  187. package/lib/langium/scope/ast-node-description-provider.d.ts.map +1 -1
  188. package/lib/langium/scope/ast-node-description-provider.js.map +1 -1
  189. package/lib/langium/scope/fallback-scope.d.ts +27 -0
  190. package/lib/langium/scope/fallback-scope.d.ts.map +1 -0
  191. package/lib/langium/scope/fallback-scope.js +35 -0
  192. package/lib/langium/scope/fallback-scope.js.map +1 -0
  193. package/lib/langium/scope/hydranium-scope-computation.d.ts +21 -18
  194. package/lib/langium/scope/hydranium-scope-computation.d.ts.map +1 -1
  195. package/lib/langium/scope/hydranium-scope-computation.js +38 -39
  196. package/lib/langium/scope/hydranium-scope-computation.js.map +1 -1
  197. package/lib/langium/scope/hydranium-scope-provider.d.ts +61 -24
  198. package/lib/langium/scope/hydranium-scope-provider.d.ts.map +1 -1
  199. package/lib/langium/scope/hydranium-scope-provider.js +74 -35
  200. package/lib/langium/scope/hydranium-scope-provider.js.map +1 -1
  201. package/lib/langium/scope/index.d.ts +1 -0
  202. package/lib/langium/scope/index.d.ts.map +1 -1
  203. package/lib/langium/scope/index.js +1 -0
  204. package/lib/langium/scope/index.js.map +1 -1
  205. package/lib/langium/scope/reference-builder.d.ts.map +1 -1
  206. package/lib/langium/scope/reference-builder.js.map +1 -1
  207. package/lib/langium/scope/reference-candidate-provider.d.ts +6 -5
  208. package/lib/langium/scope/reference-candidate-provider.d.ts.map +1 -1
  209. package/lib/langium/scope/reference-candidate-provider.js +3 -2
  210. package/lib/langium/scope/reference-candidate-provider.js.map +1 -1
  211. package/lib/langium/scope/scope-extension-service.d.ts +41 -37
  212. package/lib/langium/scope/scope-extension-service.d.ts.map +1 -1
  213. package/lib/langium/scope/scope-extension-service.js +57 -29
  214. package/lib/langium/scope/scope-extension-service.js.map +1 -1
  215. package/lib/langium/scope/scoped-ast-node-description.d.ts +1 -3
  216. package/lib/langium/scope/scoped-ast-node-description.d.ts.map +1 -1
  217. package/lib/langium/scope/scoped-ast-node-description.js +1 -3
  218. package/lib/langium/scope/scoped-ast-node-description.js.map +1 -1
  219. package/lib/langium/serialization/abstract-serializer.d.ts +11 -20
  220. package/lib/langium/serialization/abstract-serializer.d.ts.map +1 -1
  221. package/lib/langium/serialization/abstract-serializer.js +12 -21
  222. package/lib/langium/serialization/abstract-serializer.js.map +1 -1
  223. package/lib/langium/serialization/json-serializer.d.ts +1 -1
  224. package/lib/langium/serialization/json-serializer.d.ts.map +1 -1
  225. package/lib/langium/serialization/json-serializer.js.map +1 -1
  226. package/lib/langium/serialization/serializer.d.ts +1 -1
  227. package/lib/langium/serialization/yaml-serializer.d.ts.map +1 -1
  228. package/lib/langium/serialization/yaml-serializer.js.map +1 -1
  229. package/lib/langium/service-registry.d.ts +29 -1
  230. package/lib/langium/service-registry.d.ts.map +1 -1
  231. package/lib/langium/service-registry.js +37 -0
  232. package/lib/langium/service-registry.js.map +1 -1
  233. package/lib/langium/shared-services.d.ts +23 -6
  234. package/lib/langium/shared-services.d.ts.map +1 -1
  235. package/lib/langium/shared-services.js.map +1 -1
  236. package/lib/langium/single-langium-copy.d.ts +22 -0
  237. package/lib/langium/single-langium-copy.d.ts.map +1 -0
  238. package/lib/langium/single-langium-copy.js +36 -0
  239. package/lib/langium/single-langium-copy.js.map +1 -0
  240. package/lib/langium/transfer/transfer-encoder.d.ts +88 -36
  241. package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
  242. package/lib/langium/transfer/transfer-encoder.js +46 -24
  243. package/lib/langium/transfer/transfer-encoder.js.map +1 -1
  244. package/lib/langium/trivia/comment-preserver.d.ts +423 -0
  245. package/lib/langium/trivia/comment-preserver.d.ts.map +1 -0
  246. package/lib/langium/trivia/comment-preserver.js +906 -0
  247. package/lib/langium/trivia/comment-preserver.js.map +1 -0
  248. package/lib/langium/trivia/document-ending-preserver.d.ts +43 -0
  249. package/lib/langium/trivia/document-ending-preserver.d.ts.map +1 -0
  250. package/lib/langium/trivia/document-ending-preserver.js +48 -0
  251. package/lib/langium/trivia/document-ending-preserver.js.map +1 -0
  252. package/lib/langium/trivia/index.d.ts +14 -0
  253. package/lib/langium/trivia/index.d.ts.map +1 -0
  254. package/lib/langium/trivia/index.js +14 -0
  255. package/lib/langium/trivia/index.js.map +1 -0
  256. package/lib/langium/trivia/trivia-contribution.d.ts +37 -0
  257. package/lib/langium/trivia/trivia-contribution.d.ts.map +1 -0
  258. package/lib/langium/trivia/trivia-contribution.js +10 -0
  259. package/lib/langium/trivia/trivia-contribution.js.map +1 -0
  260. package/lib/langium/trivia/trivia-preserver.d.ts +50 -0
  261. package/lib/langium/trivia/trivia-preserver.d.ts.map +1 -0
  262. package/lib/langium/trivia/trivia-preserver.js +10 -0
  263. package/lib/langium/trivia/trivia-preserver.js.map +1 -0
  264. package/lib/langium/trivia/trivia-service.d.ts +70 -0
  265. package/lib/langium/trivia/trivia-service.d.ts.map +1 -0
  266. package/lib/langium/trivia/trivia-service.js +56 -0
  267. package/lib/langium/trivia/trivia-service.js.map +1 -0
  268. package/lib/langium/update-rewrite/normalize-empty-strings.d.ts.map +1 -1
  269. package/lib/langium/update-rewrite/update-rewrite-service.d.ts +1 -1
  270. package/lib/langium/update-rewrite/update-rewrite-service.d.ts.map +1 -1
  271. package/lib/langium/update-rewrite/update-rewrite-service.js.map +1 -1
  272. package/lib/langium/update-rewrite/update-rewrite.d.ts +1 -1
  273. package/lib/langium/validation/document-validator.d.ts +280 -9
  274. package/lib/langium/validation/document-validator.d.ts.map +1 -1
  275. package/lib/langium/validation/document-validator.js +453 -8
  276. package/lib/langium/validation/document-validator.js.map +1 -1
  277. package/lib/langium/validation/validation-contribution-collector.d.ts +9 -1
  278. package/lib/langium/validation/validation-contribution-collector.d.ts.map +1 -1
  279. package/lib/langium/validation/validation-contribution-collector.js +1 -1
  280. package/lib/langium/validation/validation-contribution-collector.js.map +1 -1
  281. package/lib/langium/workspace/document-uri-policy.d.ts +15 -10
  282. package/lib/langium/workspace/document-uri-policy.d.ts.map +1 -1
  283. package/lib/langium/workspace/document-uri-policy.js +7 -5
  284. package/lib/langium/workspace/document-uri-policy.js.map +1 -1
  285. package/lib/langium/workspace/file-not-found.d.ts +23 -0
  286. package/lib/langium/workspace/file-not-found.d.ts.map +1 -0
  287. package/lib/langium/workspace/file-not-found.js +31 -0
  288. package/lib/langium/workspace/file-not-found.js.map +1 -0
  289. package/lib/langium/workspace/file-system-provider.d.ts +147 -9
  290. package/lib/langium/workspace/file-system-provider.d.ts.map +1 -1
  291. package/lib/langium/workspace/file-system-provider.js +97 -14
  292. package/lib/langium/workspace/file-system-provider.js.map +1 -1
  293. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts +56 -1
  294. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts.map +1 -1
  295. package/lib/langium/workspace/hydranium-langium-document-factory.js +79 -0
  296. package/lib/langium/workspace/hydranium-langium-document-factory.js.map +1 -1
  297. package/lib/langium/workspace/hydranium-workspace-lock.d.ts +43 -1
  298. package/lib/langium/workspace/hydranium-workspace-lock.d.ts.map +1 -1
  299. package/lib/langium/workspace/hydranium-workspace-lock.js +58 -1
  300. package/lib/langium/workspace/hydranium-workspace-lock.js.map +1 -1
  301. package/lib/langium/workspace/hydranium-workspace-manager.d.ts +82 -9
  302. package/lib/langium/workspace/hydranium-workspace-manager.d.ts.map +1 -1
  303. package/lib/langium/workspace/hydranium-workspace-manager.js +129 -12
  304. package/lib/langium/workspace/hydranium-workspace-manager.js.map +1 -1
  305. package/lib/langium/workspace/in-memory-file-system-provider.d.ts +22 -7
  306. package/lib/langium/workspace/in-memory-file-system-provider.d.ts.map +1 -1
  307. package/lib/langium/workspace/in-memory-file-system-provider.js +36 -19
  308. package/lib/langium/workspace/in-memory-file-system-provider.js.map +1 -1
  309. package/lib/langium/workspace/index-manager.d.ts.map +1 -1
  310. package/lib/langium/workspace/index-manager.js.map +1 -1
  311. package/lib/langium/workspace/index.d.ts +1 -0
  312. package/lib/langium/workspace/index.d.ts.map +1 -1
  313. package/lib/langium/workspace/index.js +1 -0
  314. package/lib/langium/workspace/index.js.map +1 -1
  315. package/lib/langium/workspace/initialize-workspace.d.ts +31 -2
  316. package/lib/langium/workspace/initialize-workspace.d.ts.map +1 -1
  317. package/lib/langium/workspace/initialize-workspace.js +13 -5
  318. package/lib/langium/workspace/initialize-workspace.js.map +1 -1
  319. package/lib/langium/workspace/langium-documents.d.ts +37 -4
  320. package/lib/langium/workspace/langium-documents.d.ts.map +1 -1
  321. package/lib/langium/workspace/langium-documents.js +49 -4
  322. package/lib/langium/workspace/langium-documents.js.map +1 -1
  323. package/lib/langium/workspace/persistent-file-system-provider.d.ts +1 -8
  324. package/lib/langium/workspace/persistent-file-system-provider.d.ts.map +1 -1
  325. package/lib/langium/workspace/persistent-file-system-provider.js +2 -8
  326. package/lib/langium/workspace/persistent-file-system-provider.js.map +1 -1
  327. package/lib/{documents → langium/workspace}/self-save-registry.d.ts +38 -7
  328. package/lib/langium/workspace/self-save-registry.d.ts.map +1 -0
  329. package/lib/{documents → langium/workspace}/self-save-registry.js +29 -16
  330. package/lib/langium/workspace/self-save-registry.js.map +1 -0
  331. package/lib/langium/workspace/virtual-document.d.ts +48 -15
  332. package/lib/langium/workspace/virtual-document.d.ts.map +1 -1
  333. package/lib/langium/workspace/virtual-document.js +78 -18
  334. package/lib/langium/workspace/virtual-document.js.map +1 -1
  335. package/lib/langium/workspace/write-lock-scope.d.ts +20 -10
  336. package/lib/langium/workspace/write-lock-scope.d.ts.map +1 -1
  337. package/lib/langium/workspace/write-lock-scope.js +12 -4
  338. package/lib/langium/workspace/write-lock-scope.js.map +1 -1
  339. package/lib/launcher/integrated-server.d.ts +3 -1
  340. package/lib/launcher/integrated-server.d.ts.map +1 -1
  341. package/lib/locale/index.d.ts +10 -0
  342. package/lib/locale/index.d.ts.map +1 -0
  343. package/lib/locale/index.js +10 -0
  344. package/lib/locale/index.js.map +1 -0
  345. package/lib/locale/server-locale.d.ts +73 -0
  346. package/lib/locale/server-locale.d.ts.map +1 -0
  347. package/lib/locale/server-locale.js +61 -0
  348. package/lib/locale/server-locale.js.map +1 -0
  349. package/lib/lsp/completion/hydranium-completion-provider.d.ts +44 -2
  350. package/lib/lsp/completion/hydranium-completion-provider.d.ts.map +1 -1
  351. package/lib/lsp/completion/hydranium-completion-provider.js +68 -0
  352. package/lib/lsp/completion/hydranium-completion-provider.js.map +1 -1
  353. package/lib/lsp/connection-features.d.ts +23 -0
  354. package/lib/lsp/connection-features.d.ts.map +1 -0
  355. package/lib/lsp/connection-features.js +60 -0
  356. package/lib/lsp/connection-features.js.map +1 -0
  357. package/lib/lsp/diagnostics-connection.d.ts +27 -0
  358. package/lib/lsp/diagnostics-connection.d.ts.map +1 -0
  359. package/lib/lsp/diagnostics-connection.js +53 -0
  360. package/lib/lsp/diagnostics-connection.js.map +1 -0
  361. package/lib/lsp/hydranium-document-update-handler.d.ts +92 -81
  362. package/lib/lsp/hydranium-document-update-handler.d.ts.map +1 -1
  363. package/lib/lsp/hydranium-document-update-handler.js +155 -101
  364. package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
  365. package/lib/lsp/index.d.ts +3 -1
  366. package/lib/lsp/index.d.ts.map +1 -1
  367. package/lib/lsp/index.js +3 -1
  368. package/lib/lsp/index.js.map +1 -1
  369. package/lib/lsp/lsp-latency.d.ts +39 -0
  370. package/lib/lsp/lsp-latency.d.ts.map +1 -0
  371. package/lib/lsp/lsp-latency.js +58 -0
  372. package/lib/lsp/lsp-latency.js.map +1 -0
  373. package/lib/lsp/semantic-token-provider.d.ts +34 -1
  374. package/lib/lsp/semantic-token-provider.d.ts.map +1 -1
  375. package/lib/lsp/semantic-token-provider.js +55 -8
  376. package/lib/lsp/semantic-token-provider.js.map +1 -1
  377. package/lib/lsp/shared-module.d.ts +4 -8
  378. package/lib/lsp/shared-module.d.ts.map +1 -1
  379. package/lib/lsp/shared-module.js.map +1 -1
  380. package/lib/lsp/start-language-server.d.ts +8 -7
  381. package/lib/lsp/start-language-server.d.ts.map +1 -1
  382. package/lib/lsp/start-language-server.js +13 -7
  383. package/lib/lsp/start-language-server.js.map +1 -1
  384. package/lib/messages/carriers.d.ts +18 -12
  385. package/lib/messages/carriers.d.ts.map +1 -1
  386. package/lib/messages/carriers.js +22 -13
  387. package/lib/messages/carriers.js.map +1 -1
  388. package/lib/messages/index.d.ts +4 -1
  389. package/lib/messages/index.d.ts.map +1 -1
  390. package/lib/messages/index.js +4 -1
  391. package/lib/messages/index.js.map +1 -1
  392. package/lib/messages/renderer.d.ts +142 -0
  393. package/lib/messages/renderer.d.ts.map +1 -0
  394. package/lib/messages/renderer.js +165 -0
  395. package/lib/messages/renderer.js.map +1 -0
  396. package/lib/node/event-loop-monitor.d.ts.map +1 -1
  397. package/lib/node/event-loop-monitor.js +2 -1
  398. package/lib/node/event-loop-monitor.js.map +1 -1
  399. package/lib/node/heap-ceiling.d.ts +61 -0
  400. package/lib/node/heap-ceiling.d.ts.map +1 -0
  401. package/lib/node/heap-ceiling.js +72 -0
  402. package/lib/node/heap-ceiling.js.map +1 -0
  403. package/lib/node/index.d.ts +1 -1
  404. package/lib/node/index.d.ts.map +1 -1
  405. package/lib/node/index.js +1 -1
  406. package/lib/node/index.js.map +1 -1
  407. package/lib/node/latency-from-env.d.ts +1 -1
  408. package/lib/node/latency-from-env.js +1 -1
  409. package/lib/node/lint-grammar.js.map +1 -1
  410. package/lib/node/log-preamble-node.d.ts +5 -3
  411. package/lib/node/log-preamble-node.d.ts.map +1 -1
  412. package/lib/node/log-preamble-node.js +13 -10
  413. package/lib/node/log-preamble-node.js.map +1 -1
  414. package/lib/node/measure-memory.d.ts.map +1 -1
  415. package/lib/node/measure-memory.js +1 -0
  416. package/lib/node/measure-memory.js.map +1 -1
  417. package/lib/node/memory-monitor.d.ts +2 -2
  418. package/lib/node/memory-monitor.d.ts.map +1 -1
  419. package/lib/node/memory-monitor.js +3 -5
  420. package/lib/node/memory-monitor.js.map +1 -1
  421. package/lib/node/node-file-system-provider.d.ts +54 -9
  422. package/lib/node/node-file-system-provider.d.ts.map +1 -1
  423. package/lib/node/node-file-system-provider.js +141 -52
  424. package/lib/node/node-file-system-provider.js.map +1 -1
  425. package/lib/node/profile-capture.d.ts +8 -2
  426. package/lib/node/profile-capture.d.ts.map +1 -1
  427. package/lib/node/profile-capture.js +1 -1
  428. package/lib/node/profile-capture.js.map +1 -1
  429. package/lib/node/profile-digest.js.map +1 -1
  430. package/lib/node/profiling-run.d.ts +13 -3
  431. package/lib/node/profiling-run.d.ts.map +1 -1
  432. package/lib/node/profiling-run.js +17 -8
  433. package/lib/node/profiling-run.js.map +1 -1
  434. package/lib/node/rename-over-open-readers.d.ts +61 -0
  435. package/lib/node/rename-over-open-readers.d.ts.map +1 -0
  436. package/lib/node/rename-over-open-readers.js +80 -0
  437. package/lib/node/rename-over-open-readers.js.map +1 -0
  438. package/lib/node/server-diagnostics.js +1 -1
  439. package/lib/node/server-diagnostics.js.map +1 -1
  440. package/lib/node/socket-launcher.d.ts +20 -4
  441. package/lib/node/socket-launcher.d.ts.map +1 -1
  442. package/lib/node/socket-launcher.js +8 -7
  443. package/lib/node/socket-launcher.js.map +1 -1
  444. package/lib/node/stdio-launcher.d.ts +6 -5
  445. package/lib/node/stdio-launcher.d.ts.map +1 -1
  446. package/lib/node/stdio-launcher.js +13 -4
  447. package/lib/node/stdio-launcher.js.map +1 -1
  448. package/lib/testing/document-uri-policy-conformance.js +1 -1
  449. package/lib/testing/document-uri-policy-conformance.js.map +1 -1
  450. package/lib/testing/fake-description.js.map +1 -1
  451. package/lib/testing/fake-document.d.ts +16 -4
  452. package/lib/testing/fake-document.d.ts.map +1 -1
  453. package/lib/testing/fake-document.js +18 -3
  454. package/lib/testing/fake-document.js.map +1 -1
  455. package/lib/testing/index.d.ts +1 -1
  456. package/lib/testing/index.d.ts.map +1 -1
  457. package/lib/testing/index.js +2 -1
  458. package/lib/testing/index.js.map +1 -1
  459. package/lib/testing/langium-test-helpers.d.ts.map +1 -1
  460. package/lib/testing/langium-test-helpers.js +1 -0
  461. package/lib/testing/langium-test-helpers.js.map +1 -1
  462. package/lib/testing/make-noop-language-services.js.map +1 -1
  463. package/lib/testing/make-noop-shared-services.d.ts +14 -0
  464. package/lib/testing/make-noop-shared-services.d.ts.map +1 -1
  465. package/lib/testing/make-noop-shared-services.js +28 -2
  466. package/lib/testing/make-noop-shared-services.js.map +1 -1
  467. package/lib/testing/make-test-services.d.ts +72 -14
  468. package/lib/testing/make-test-services.d.ts.map +1 -1
  469. package/lib/testing/make-test-services.js +42 -10
  470. package/lib/testing/make-test-services.js.map +1 -1
  471. package/lib/testing/make-test-tracer.d.ts +12 -0
  472. package/lib/testing/make-test-tracer.d.ts.map +1 -1
  473. package/lib/testing/make-test-tracer.js +13 -0
  474. package/lib/testing/make-test-tracer.js.map +1 -1
  475. package/lib/testing/node/applied-edit-capture.d.ts +29 -0
  476. package/lib/testing/node/applied-edit-capture.d.ts.map +1 -0
  477. package/lib/testing/node/applied-edit-capture.js +115 -0
  478. package/lib/testing/node/applied-edit-capture.js.map +1 -0
  479. package/lib/testing/node/golden-corpus.js.map +1 -1
  480. package/lib/testing/node/index.d.ts +1 -0
  481. package/lib/testing/node/index.d.ts.map +1 -1
  482. package/lib/testing/node/index.js +1 -0
  483. package/lib/testing/node/index.js.map +1 -1
  484. package/lib/testing/node/lsp-harness.d.ts.map +1 -1
  485. package/lib/testing/node/lsp-harness.js +2 -0
  486. package/lib/testing/node/lsp-harness.js.map +1 -1
  487. package/lib/testing/node/lsp-server-connection.d.ts +12 -4
  488. package/lib/testing/node/lsp-server-connection.d.ts.map +1 -1
  489. package/lib/testing/node/lsp-server-connection.js +45 -106
  490. package/lib/testing/node/lsp-server-connection.js.map +1 -1
  491. package/lib/testing/node/scratch-workspace.d.ts.map +1 -1
  492. package/lib/testing/node/scratch-workspace.js +10 -5
  493. package/lib/testing/node/scratch-workspace.js.map +1 -1
  494. package/lib/testing/node/spawned-server.d.ts +30 -1
  495. package/lib/testing/node/spawned-server.d.ts.map +1 -1
  496. package/lib/testing/node/spawned-server.js +39 -2
  497. package/lib/testing/node/spawned-server.js.map +1 -1
  498. package/lib/testing/node/unhandled-rejections.d.ts +20 -0
  499. package/lib/testing/node/unhandled-rejections.d.ts.map +1 -0
  500. package/lib/testing/node/unhandled-rejections.js +32 -0
  501. package/lib/testing/node/unhandled-rejections.js.map +1 -0
  502. package/lib/testing/playwright/browser-capture-bridge.js.map +1 -1
  503. package/lib/testing/playwright/e2e-profiling.js.map +1 -1
  504. package/lib/testing/playwright/flaky-network-proxy.d.ts +76 -0
  505. package/lib/testing/playwright/flaky-network-proxy.d.ts.map +1 -0
  506. package/lib/testing/playwright/flaky-network-proxy.js +164 -0
  507. package/lib/testing/playwright/flaky-network-proxy.js.map +1 -0
  508. package/lib/testing/playwright/index.d.ts +1 -0
  509. package/lib/testing/playwright/index.d.ts.map +1 -1
  510. package/lib/testing/playwright/index.js +1 -0
  511. package/lib/testing/playwright/index.js.map +1 -1
  512. package/lib/testing/playwright/server-log-capture.d.ts +35 -8
  513. package/lib/testing/playwright/server-log-capture.d.ts.map +1 -1
  514. package/lib/testing/playwright/server-log-capture.js +39 -6
  515. package/lib/testing/playwright/server-log-capture.js.map +1 -1
  516. package/lib/testing/playwright/server-log-fixture.d.ts +16 -0
  517. package/lib/testing/playwright/server-log-fixture.d.ts.map +1 -1
  518. package/lib/testing/playwright/server-log-fixture.js +25 -6
  519. package/lib/testing/playwright/server-log-fixture.js.map +1 -1
  520. package/lib/testing/playwright/server-log-region.d.ts +15 -0
  521. package/lib/testing/playwright/server-log-region.d.ts.map +1 -0
  522. package/lib/testing/playwright/server-log-region.js +30 -0
  523. package/lib/testing/playwright/server-log-region.js.map +1 -0
  524. package/lib/testing/playwright/server-log-rename-reporter.d.ts.map +1 -1
  525. package/lib/testing/playwright/server-log-rename-reporter.js +10 -1
  526. package/lib/testing/playwright/server-log-rename-reporter.js.map +1 -1
  527. package/lib/testing/run-update-pipeline.d.ts +6 -5
  528. package/lib/testing/run-update-pipeline.d.ts.map +1 -1
  529. package/lib/testing/run-update-pipeline.js.map +1 -1
  530. package/lib/testing/stub-ast-document-manager.d.ts +11 -52
  531. package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
  532. package/lib/testing/stub-ast-document-manager.js +24 -65
  533. package/lib/testing/stub-ast-document-manager.js.map +1 -1
  534. package/lib/testing/stub-document-builder.d.ts +33 -11
  535. package/lib/testing/stub-document-builder.d.ts.map +1 -1
  536. package/lib/testing/stub-document-builder.js +103 -5
  537. package/lib/testing/stub-document-builder.js.map +1 -1
  538. package/lib/testing/stub-hydranium-text-documents.d.ts +33 -10
  539. package/lib/testing/stub-hydranium-text-documents.d.ts.map +1 -1
  540. package/lib/testing/stub-hydranium-text-documents.js +115 -16
  541. package/lib/testing/stub-hydranium-text-documents.js.map +1 -1
  542. package/lib/testing/stub-index-manager.js.map +1 -1
  543. package/lib/testing/stub-langium-documents.d.ts +3 -2
  544. package/lib/testing/stub-langium-documents.d.ts.map +1 -1
  545. package/lib/testing/stub-langium-documents.js.map +1 -1
  546. package/lib/testing/stub-model-service.d.ts +9 -8
  547. package/lib/testing/stub-model-service.d.ts.map +1 -1
  548. package/lib/testing/stub-model-service.js +6 -6
  549. package/lib/testing/stub-model-service.js.map +1 -1
  550. package/lib/testing/stub-project-manager.js.map +1 -1
  551. package/lib/testing/stub-self-save-registry.d.ts +1 -1
  552. package/lib/testing/stub-self-save-registry.d.ts.map +1 -1
  553. package/lib/testing/stub-service-registry.d.ts +1 -1
  554. package/lib/testing/stub-service-registry.js.map +1 -1
  555. package/lib/testing/stub-writable-file-system.d.ts +1 -1
  556. package/lib/testing/stub-writable-file-system.d.ts.map +1 -1
  557. package/lib/util/connection-liveness.d.ts +19 -6
  558. package/lib/util/connection-liveness.d.ts.map +1 -1
  559. package/lib/util/connection-liveness.js +61 -15
  560. package/lib/util/connection-liveness.js.map +1 -1
  561. package/lib/util/environment.d.ts.map +1 -1
  562. package/lib/util/environment.js.map +1 -1
  563. package/lib/util/registry.d.ts.map +1 -1
  564. package/package.json +29 -53
  565. package/src/documents/ast-document-manager.ts +383 -231
  566. package/src/documents/client-ids.ts +5 -22
  567. package/src/documents/client-session-errors.ts +24 -0
  568. package/src/documents/client-session-registry.ts +262 -0
  569. package/src/documents/dirty-state-tracker.ts +140 -0
  570. package/src/documents/document-release-handler.ts +404 -0
  571. package/src/documents/document-release-scheduler.ts +121 -0
  572. package/src/documents/file-system-task-queue.ts +68 -0
  573. package/src/documents/hydranium-text-documents.ts +944 -595
  574. package/src/documents/index.ts +10 -2
  575. package/src/documents/language-client-shadow.ts +452 -0
  576. package/src/documents/model-ledger.ts +66 -0
  577. package/src/documents/text-ledger.ts +112 -0
  578. package/src/documents/version-sync-service.ts +275 -0
  579. package/src/index.ts +8 -0
  580. package/src/langium/ast-extension/ast-extension-service.ts +3 -0
  581. package/src/langium/ast-extension/ast-node-builder.ts +66 -22
  582. package/src/langium/bootstrap.ts +77 -37
  583. package/src/langium/build-phase-pass/build-phase-pass-service.ts +1 -1
  584. package/src/langium/build-phase-pass/build-phase-pass.ts +1 -1
  585. package/src/langium/composite-ast-reflection.ts +112 -0
  586. package/src/langium/config/configuration-provider.ts +119 -0
  587. package/src/langium/config/index.ts +1 -0
  588. package/src/langium/diagnostics/hydranium-langium-profiler.ts +15 -39
  589. package/src/langium/diagnostics/log-preamble.ts +1 -1
  590. package/src/langium/diagnostics/logger.ts +12 -5
  591. package/src/langium/diagnostics/lsp-logger.ts +61 -16
  592. package/src/langium/document-builder/build-pipeline-integration.ts +50 -5
  593. package/src/langium/document-builder/document-builder.ts +605 -62
  594. package/src/langium/integration-services.ts +83 -24
  595. package/src/langium/integrity/integrity-rule.ts +16 -8
  596. package/src/langium/integrity/integrity-service.ts +294 -67
  597. package/src/langium/keys/containment.ts +87 -0
  598. package/src/langium/keys/index.ts +1 -0
  599. package/src/langium/keys/name-based-key-provider.ts +4 -0
  600. package/src/langium/language-module.ts +49 -8
  601. package/src/langium/model-service/client-session.ts +661 -0
  602. package/src/langium/model-service/index.ts +2 -0
  603. package/src/langium/model-service/model-events.ts +75 -0
  604. package/src/langium/model-service/model-service.ts +824 -471
  605. package/src/langium/module.ts +201 -66
  606. package/src/langium/naming/name-provider.ts +29 -7
  607. package/src/langium/naming/name-separator-validation.ts +25 -3
  608. package/src/langium/project/abstract-project-manager.ts +13 -5
  609. package/src/langium/project/project-change-event.ts +2 -2
  610. package/src/langium/residency/cst-residency-service.ts +50 -16
  611. package/src/langium/scope/fallback-scope.ts +38 -0
  612. package/src/langium/scope/hydranium-scope-computation.ts +45 -44
  613. package/src/langium/scope/hydranium-scope-provider.ts +89 -38
  614. package/src/langium/scope/index.ts +1 -0
  615. package/src/langium/scope/reference-candidate-provider.ts +6 -5
  616. package/src/langium/scope/scope-extension-service.ts +74 -59
  617. package/src/langium/scope/scoped-ast-node-description.ts +1 -3
  618. package/src/langium/serialization/abstract-serializer.ts +13 -32
  619. package/src/langium/serialization/serializer.ts +1 -1
  620. package/src/langium/service-registry.ts +41 -2
  621. package/src/langium/shared-services.ts +26 -6
  622. package/src/langium/single-langium-copy.ts +42 -0
  623. package/src/langium/transfer/transfer-encoder.ts +115 -47
  624. package/src/langium/trivia/comment-preserver.ts +1100 -0
  625. package/src/langium/trivia/document-ending-preserver.ts +55 -0
  626. package/src/langium/trivia/index.ts +14 -0
  627. package/src/langium/trivia/trivia-contribution.ts +39 -0
  628. package/src/langium/trivia/trivia-preserver.ts +54 -0
  629. package/src/langium/trivia/trivia-service.ts +99 -0
  630. package/src/langium/update-rewrite/update-rewrite-service.ts +1 -1
  631. package/src/langium/update-rewrite/update-rewrite.ts +1 -1
  632. package/src/langium/validation/document-validator.ts +528 -13
  633. package/src/langium/validation/validation-contribution-collector.ts +10 -1
  634. package/src/langium/workspace/document-uri-policy.ts +15 -10
  635. package/src/langium/workspace/file-not-found.ts +35 -0
  636. package/src/langium/workspace/file-system-provider.ts +221 -17
  637. package/src/langium/workspace/hydranium-langium-document-factory.ts +117 -0
  638. package/src/langium/workspace/hydranium-workspace-lock.ts +86 -2
  639. package/src/langium/workspace/hydranium-workspace-manager.ts +155 -16
  640. package/src/langium/workspace/in-memory-file-system-provider.ts +41 -20
  641. package/src/langium/workspace/index.ts +1 -0
  642. package/src/langium/workspace/initialize-workspace.ts +43 -5
  643. package/src/langium/workspace/langium-documents.ts +63 -5
  644. package/src/langium/workspace/persistent-file-system-provider.ts +3 -9
  645. package/src/{documents → langium/workspace}/self-save-registry.ts +54 -15
  646. package/src/langium/workspace/virtual-document.ts +96 -19
  647. package/src/langium/workspace/write-lock-scope.ts +24 -11
  648. package/src/launcher/integrated-server.ts +3 -1
  649. package/src/locale/index.ts +10 -0
  650. package/src/locale/server-locale.ts +86 -0
  651. package/src/lsp/completion/hydranium-completion-provider.ts +82 -2
  652. package/src/lsp/connection-features.ts +67 -0
  653. package/src/lsp/diagnostics-connection.ts +56 -0
  654. package/src/lsp/hydranium-document-update-handler.ts +197 -110
  655. package/src/lsp/index.ts +3 -1
  656. package/src/lsp/lsp-latency.ts +62 -0
  657. package/src/lsp/semantic-token-provider.ts +74 -7
  658. package/src/lsp/shared-module.ts +4 -8
  659. package/src/lsp/start-language-server.ts +13 -7
  660. package/src/messages/carriers.ts +23 -15
  661. package/src/messages/index.ts +13 -1
  662. package/src/messages/renderer.ts +212 -0
  663. package/src/node/event-loop-monitor.ts +2 -1
  664. package/src/node/heap-ceiling.ts +108 -0
  665. package/src/node/index.ts +1 -1
  666. package/src/node/latency-from-env.ts +1 -1
  667. package/src/node/log-preamble-node.ts +20 -10
  668. package/src/node/measure-memory.ts +1 -0
  669. package/src/node/memory-monitor.ts +4 -5
  670. package/src/node/node-file-system-provider.ts +157 -56
  671. package/src/node/profile-capture.ts +9 -3
  672. package/src/node/profiling-run.ts +30 -8
  673. package/src/node/rename-over-open-readers.ts +94 -0
  674. package/src/node/server-diagnostics.ts +1 -1
  675. package/src/node/socket-launcher.ts +27 -11
  676. package/src/node/stdio-launcher.ts +18 -9
  677. package/src/testing/document-uri-policy-conformance.ts +1 -1
  678. package/src/testing/fake-document.ts +24 -5
  679. package/src/testing/index.ts +2 -1
  680. package/src/testing/langium-test-helpers.ts +1 -0
  681. package/src/testing/make-noop-shared-services.ts +50 -2
  682. package/src/testing/make-test-services.ts +125 -31
  683. package/src/testing/make-test-tracer.ts +26 -0
  684. package/src/testing/node/applied-edit-capture.ts +139 -0
  685. package/src/testing/node/index.ts +1 -0
  686. package/src/testing/node/lsp-harness.ts +2 -0
  687. package/src/testing/node/lsp-server-connection.ts +74 -117
  688. package/src/testing/node/scratch-workspace.ts +10 -5
  689. package/src/testing/node/spawned-server.ts +57 -3
  690. package/src/testing/node/unhandled-rejections.ts +31 -0
  691. package/src/testing/parse-semantic-root.ts +1 -1
  692. package/src/testing/playwright/flaky-network-proxy.ts +240 -0
  693. package/src/testing/playwright/index.ts +1 -0
  694. package/src/testing/playwright/server-log-capture.ts +63 -11
  695. package/src/testing/playwright/server-log-fixture.ts +46 -6
  696. package/src/testing/playwright/server-log-region.ts +32 -0
  697. package/src/testing/playwright/server-log-rename-reporter.ts +12 -1
  698. package/src/testing/run-update-pipeline.ts +6 -5
  699. package/src/testing/stub-ast-document-manager.ts +36 -138
  700. package/src/testing/stub-document-builder.ts +133 -18
  701. package/src/testing/stub-hydranium-text-documents.ts +165 -27
  702. package/src/testing/stub-langium-documents.ts +3 -2
  703. package/src/testing/stub-model-service.ts +11 -10
  704. package/src/testing/stub-self-save-registry.ts +1 -1
  705. package/src/testing/stub-service-registry.ts +1 -1
  706. package/src/testing/stub-writable-file-system.ts +1 -1
  707. package/src/util/connection-liveness.ts +67 -15
  708. package/src/util/environment.ts +9 -1
  709. package/lib/documents/language-client-text-shadow.d.ts +0 -101
  710. package/lib/documents/language-client-text-shadow.d.ts.map +0 -1
  711. package/lib/documents/language-client-text-shadow.js +0 -156
  712. package/lib/documents/language-client-text-shadow.js.map +0 -1
  713. package/lib/documents/self-save-registry.d.ts.map +0 -1
  714. package/lib/documents/self-save-registry.js.map +0 -1
  715. package/lib/lsp/instrument-connection.d.ts +0 -36
  716. package/lib/lsp/instrument-connection.d.ts.map +0 -1
  717. package/lib/lsp/instrument-connection.js +0 -62
  718. package/lib/lsp/instrument-connection.js.map +0 -1
  719. package/lib/node/process-memory.d.ts +0 -66
  720. package/lib/node/process-memory.d.ts.map +0 -1
  721. package/lib/node/process-memory.js +0 -252
  722. package/lib/node/process-memory.js.map +0 -1
  723. package/src/documents/language-client-text-shadow.ts +0 -175
  724. package/src/lsp/instrument-connection.ts +0 -66
  725. package/src/node/process-memory.ts +0 -299
@@ -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, describeErrorWithStack, 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;
@@ -208,7 +249,7 @@ function formatLogArg(value) {
208
249
  return value;
209
250
  }
210
251
  if (value instanceof Error) {
211
- return value.stack ?? value.message;
252
+ return describeErrorWithStack(value);
212
253
  }
213
254
  if (typeof value === 'object') {
214
255
  try {
@@ -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"}
@@ -26,13 +26,24 @@ const AST_EXTENSION_PHASES = [
26
26
  DocumentState.Validated
27
27
  ];
28
28
  /**
29
- * Build phases at which the `BuildPhasePassService` is driven. Same useful
30
- * set as {@link AST_EXTENSION_PHASES}: a pass registered at any other state
31
- * never fires (the listener is not wired), mirroring the AST-extension contract.
29
+ * Build phases at which the `BuildPhasePassService` is driven. A pass
30
+ * registered at any other state never fires (the listener is not wired), and
32
31
  * `runPasses` no-ops at a phase with no registered pass, so wiring the full set
33
32
  * unconditionally costs only an empty-bucket check per phase.
33
+ *
34
+ * `IndexedContent` belongs here and NOT in {@link AST_EXTENSION_PHASES}, so the
35
+ * two cannot be collapsed. Per document it carries nothing `Parsed` does; per
36
+ * BATCH it is the only phase meaning the global index is whole again, which
37
+ * batch work keyed on a complete index has nowhere else to run.
34
38
  */
35
- const BUILD_PHASE_PASS_STATES = AST_EXTENSION_PHASES;
39
+ const BUILD_PHASE_PASS_STATES = [
40
+ DocumentState.Parsed,
41
+ DocumentState.IndexedContent,
42
+ DocumentState.ComputedScopes,
43
+ DocumentState.Linked,
44
+ DocumentState.IndexedReferences,
45
+ DocumentState.Validated
46
+ ];
36
47
  /**
37
48
  * Default priority of the framework integrity passes. Integrity mutates / cleans
38
49
  * the AST that every derived-state pass reads, so it is *foundational* and must
@@ -71,7 +82,7 @@ export const INTEGRITY_PASS_PRIORITY = -1000;
71
82
  * Eagerly constructed (via `DEFAULT_EAGER_SERVICES`) so the listeners are
72
83
  * attached before the first build cycle.
73
84
  */
74
- export class BuildPipelineIntegration {
85
+ export class DefaultBuildPipelineIntegration {
75
86
  services;
76
87
  constructor(services, options = {}) {
77
88
  this.services = services;
@@ -99,6 +110,10 @@ export class BuildPipelineIntegration {
99
110
  for (const phase of BUILD_PHASE_PASS_STATES) {
100
111
  builder.onBuildPhase(phase, labelPhaseListener((documents, cancelToken) => this.runBuildPhase(documents, phase, cancelToken), `BuildPipeline.runBuildPhase.${DocumentState[phase]}`));
101
112
  }
113
+ // Per DOCUMENT as well: `reparseAndRelink` re-indexes one document from
114
+ // inside the `Linked` phase and fires no build-phase notification, so a
115
+ // batch-level listener cannot see the AST it replaced.
116
+ builder.onDocumentPhase(DocumentState.IndexedContent, labelPhaseListener(() => this.clearScopeCaches(), 'BuildPipeline.clearScopeCaches'));
102
117
  // AST enrichment stays per-document (onDocumentPhase) and node-granular —
103
118
  // unchanged by the build-phase-pass registry, which is batch-granular. The
104
119
  // listener calls the `extendAst` seam directly (the document-phase analog of
@@ -132,6 +147,18 @@ export class BuildPipelineIntegration {
132
147
  await languageServices.integrity.IntegrityService.enforceBatch(group, phase, cancelToken);
133
148
  }
134
149
  }
150
+ /**
151
+ * Drop the cached scopes of every REGISTERED language, not of those owning a
152
+ * document in the batch. The index a scope is built from is
153
+ * workspace-global, so narrowing to the batch with
154
+ * {@link groupDocumentsByLanguage}, the way {@link callIntegrity} does,
155
+ * leaves a cross-grammar reference resolving against a mid-rebuild scope.
156
+ */
157
+ clearScopeCaches() {
158
+ for (const languageServices of this.services.ServiceRegistry.all) {
159
+ languageServices.references.ScopeProvider.clearScopeCaches();
160
+ }
161
+ }
135
162
  /** Run AST enrichment for a single document at `phase` via its language service. */
136
163
  extendAst(document, phase, cancelToken) {
137
164
  this.services.ServiceRegistry.getServices(document.uri).ast.AstExtensionService.extendDocument(document, phase, cancelToken);
@@ -1 +1 @@
1
- {"version":3,"file":"build-pipeline-integration.js","sourceRoot":"","sources":["../../../src/langium/document-builder/build-pipeline-integration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-pipeline-integration.js","sourceRoot":"","sources":["../../../src/langium/document-builder/build-pipeline-integration.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-session.d.ts","sourceRoot":"","sources":["../../../src/langium/document-builder/build-session.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,sFAAsF;AACtF,MAAM,WAAW,mBAAmB;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IAClC,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE,CAAC;IACjC,8GAA8G;IAC9G,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,YAAY;IAenB,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,uGAAuG;IACvG,QAAQ,CAAC,iBAAiB,EAAE,OAAO;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IA1BrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,SAAS,UAAS;IAClB,4HAA4H;IAC5H,YAAY,SAAK;IACjB,4FAA4F;IAC5F,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,CAAM;;IAGnC,4FAA4F;IACnF,OAAO,EAAE,MAAM;IACxB,sFAAsF;IAC7E,OAAO,EAAE,MAAM;IACxB,uGAAuG;IAC9F,iBAAiB,EAAE,OAAO;IACnC;;;;;OAKG;IACM,iBAAiB,EAAE,MAAM;IAGrC,gFAAgF;IAChF,IAAI,OAAO,IAAI,OAAO,CAErB;CACH"}
1
+ {"version":3,"file":"build-session.d.ts","sourceRoot":"","sources":["../../../src/langium/document-builder/build-session.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,sFAAsF;AACtF,MAAM,WAAW,mBAAmB;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IAClC,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE,CAAC;IACjC,8GAA8G;IAC9G,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,YAAY;IAenB,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,uGAAuG;IACvG,QAAQ,CAAC,iBAAiB,EAAE,OAAO;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IA1BrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,SAAS,UAAS;IAClB,4HAA4H;IAC5H,YAAY,SAAK;IACjB,4FAA4F;IAC5F,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,CAAM;IAEtC;IACG,4FAA4F;IACnF,OAAO,EAAE,MAAM;IACxB,sFAAsF;IAC7E,OAAO,EAAE,MAAM;IACxB,uGAAuG;IAC9F,iBAAiB,EAAE,OAAO;IACnC;;;;;OAKG;IACM,iBAAiB,EAAE,MAAM,EACjC;IAEJ,gFAAgF;IAChF,IAAI,OAAO,IAAI,OAAO,CAErB;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-session.js","sourceRoot":"","sources":["../../../src/langium/document-builder/build-session.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAuBlF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,YAAY;IAgBV;IAEA;IAEA;IAOA;IA1BZ;;;;OAIG;IACH,OAAO,CAAU;IACjB,sGAAsG;IACtG,SAAS,GAAG,KAAK,CAAC;IAClB,4HAA4H;IAC5H,YAAY,GAAG,CAAC,CAAC;IACjB,4FAA4F;IACnF,aAAa,GAAa,EAAE,CAAC;IAEtC;IACG,4FAA4F;IACnF,OAAe;IACxB,sFAAsF;IAC7E,OAAe;IACxB,uGAAuG;IAC9F,iBAA0B;IACnC;;;;;OAKG;IACM,iBAAyB;QAXzB,YAAO,GAAP,OAAO,CAAQ;QAEf,YAAO,GAAP,OAAO,CAAQ;QAEf,sBAAiB,GAAjB,iBAAiB,CAAS;QAO1B,sBAAiB,GAAjB,iBAAiB,CAAQ;IAClC,CAAC;IAEJ,gFAAgF;IAChF,IAAI,OAAO;QACR,OAAO,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IACrC,CAAC;CACH"}
1
+ {"version":3,"file":"build-session.js","sourceRoot":"","sources":["../../../src/langium/document-builder/build-session.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAuBlF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,YAAY;IAgBV,OAAO;IAEP,OAAO;IAEP,iBAAiB;IAOjB,iBAAiB;IA1B7B;;;;OAIG;IACH,OAAO,CAAU;IACjB,sGAAsG;IACtG,SAAS,GAAG,KAAK,CAAC;IAClB,4HAA4H;IAC5H,YAAY,GAAG,CAAC,CAAC;IACjB,4FAA4F;IACnF,aAAa,GAAa,EAAE,CAAC;IAEtC;IACG,4FAA4F;IACnF,OAAe;IACxB,sFAAsF;IAC7E,OAAe;IACxB,uGAAuG;IAC9F,iBAA0B;IACnC;;;;;OAKG;IACM,iBAAyB;uBAXzB,OAAO;uBAEP,OAAO;iCAEP,iBAAiB;iCAOjB,iBAAiB;IAC1B,CAAC;IAEJ,gFAAgF;IAChF,IAAI,OAAO;QACR,OAAO,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IACrC,CAAC;CACH"}