@hydranium/core 1.0.0-next.38 → 1.0.0-next.381

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 (805) hide show
  1. package/README.md +78 -82
  2. package/lib/browser/host-heads-in-worker.d.ts +77 -0
  3. package/lib/browser/host-heads-in-worker.d.ts.map +1 -0
  4. package/lib/browser/host-heads-in-worker.js +169 -0
  5. package/lib/browser/host-heads-in-worker.js.map +1 -0
  6. package/lib/browser/index.d.ts +12 -0
  7. package/lib/browser/index.d.ts.map +1 -0
  8. package/lib/browser/index.js +17 -0
  9. package/lib/browser/index.js.map +1 -0
  10. package/lib/browser/indexeddb-file-system-store.d.ts +82 -0
  11. package/lib/browser/indexeddb-file-system-store.d.ts.map +1 -0
  12. package/lib/browser/indexeddb-file-system-store.js +181 -0
  13. package/lib/browser/indexeddb-file-system-store.js.map +1 -0
  14. package/lib/browser/start-language-server-in-worker.d.ts +32 -0
  15. package/lib/browser/start-language-server-in-worker.d.ts.map +1 -0
  16. package/lib/browser/start-language-server-in-worker.js +40 -0
  17. package/lib/browser/start-language-server-in-worker.js.map +1 -0
  18. package/lib/documents/ast-document-manager.d.ts +254 -140
  19. package/lib/documents/ast-document-manager.d.ts.map +1 -1
  20. package/lib/documents/ast-document-manager.js +311 -127
  21. package/lib/documents/ast-document-manager.js.map +1 -1
  22. package/lib/documents/client-ids.d.ts +5 -19
  23. package/lib/documents/client-ids.d.ts.map +1 -1
  24. package/lib/documents/client-ids.js +5 -19
  25. package/lib/documents/client-ids.js.map +1 -1
  26. package/lib/documents/client-session-errors.d.ts +15 -0
  27. package/lib/documents/client-session-errors.d.ts.map +1 -0
  28. package/lib/documents/client-session-errors.js +15 -0
  29. package/lib/documents/client-session-errors.js.map +1 -0
  30. package/lib/documents/client-session-registry.d.ts +146 -0
  31. package/lib/documents/client-session-registry.d.ts.map +1 -0
  32. package/lib/documents/client-session-registry.js +207 -0
  33. package/lib/documents/client-session-registry.js.map +1 -0
  34. package/lib/documents/dirty-state-tracker.d.ts +101 -0
  35. package/lib/documents/dirty-state-tracker.d.ts.map +1 -0
  36. package/lib/documents/dirty-state-tracker.js +85 -0
  37. package/lib/documents/dirty-state-tracker.js.map +1 -0
  38. package/lib/documents/document-release-handler.d.ts +204 -0
  39. package/lib/documents/document-release-handler.d.ts.map +1 -0
  40. package/lib/documents/document-release-handler.js +317 -0
  41. package/lib/documents/document-release-handler.js.map +1 -0
  42. package/lib/documents/document-release-scheduler.d.ts +67 -0
  43. package/lib/documents/document-release-scheduler.d.ts.map +1 -0
  44. package/lib/documents/document-release-scheduler.js +80 -0
  45. package/lib/documents/document-release-scheduler.js.map +1 -0
  46. package/lib/documents/file-system-task-queue.d.ts +52 -0
  47. package/lib/documents/file-system-task-queue.d.ts.map +1 -0
  48. package/lib/documents/file-system-task-queue.js +37 -0
  49. package/lib/documents/file-system-task-queue.js.map +1 -0
  50. package/lib/documents/hydranium-text-documents.d.ts +445 -282
  51. package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
  52. package/lib/documents/hydranium-text-documents.js +903 -504
  53. package/lib/documents/hydranium-text-documents.js.map +1 -1
  54. package/lib/documents/index.d.ts +10 -2
  55. package/lib/documents/index.d.ts.map +1 -1
  56. package/lib/documents/index.js +10 -2
  57. package/lib/documents/index.js.map +1 -1
  58. package/lib/documents/language-client-shadow.d.ts +234 -0
  59. package/lib/documents/language-client-shadow.d.ts.map +1 -0
  60. package/lib/documents/language-client-shadow.js +306 -0
  61. package/lib/documents/language-client-shadow.js.map +1 -0
  62. package/lib/documents/model-ledger.d.ts +47 -0
  63. package/lib/documents/model-ledger.d.ts.map +1 -0
  64. package/lib/documents/model-ledger.js +30 -0
  65. package/lib/documents/model-ledger.js.map +1 -0
  66. package/lib/documents/text-ledger.d.ts +64 -0
  67. package/lib/documents/text-ledger.d.ts.map +1 -0
  68. package/lib/documents/text-ledger.js +63 -0
  69. package/lib/documents/text-ledger.js.map +1 -0
  70. package/lib/documents/version-sync-service.d.ts +145 -0
  71. package/lib/documents/version-sync-service.d.ts.map +1 -0
  72. package/lib/documents/version-sync-service.js +177 -0
  73. package/lib/documents/version-sync-service.js.map +1 -0
  74. package/lib/index.d.ts +3 -0
  75. package/lib/index.d.ts.map +1 -1
  76. package/lib/index.js +3 -0
  77. package/lib/index.js.map +1 -1
  78. package/lib/langium/ast-extension/ast-extension-service.d.ts +42 -31
  79. package/lib/langium/ast-extension/ast-extension-service.d.ts.map +1 -1
  80. package/lib/langium/ast-extension/ast-extension-service.js +45 -19
  81. package/lib/langium/ast-extension/ast-extension-service.js.map +1 -1
  82. package/lib/langium/ast-extension/ast-node-builder.d.ts +12 -7
  83. package/lib/langium/ast-extension/ast-node-builder.d.ts.map +1 -1
  84. package/lib/langium/ast-extension/ast-node-builder.js +25 -9
  85. package/lib/langium/ast-extension/ast-node-builder.js.map +1 -1
  86. package/lib/langium/bootstrap.d.ts +49 -36
  87. package/lib/langium/bootstrap.d.ts.map +1 -1
  88. package/lib/langium/bootstrap.js +75 -36
  89. package/lib/langium/bootstrap.js.map +1 -1
  90. package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts +9 -9
  91. package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts.map +1 -1
  92. package/lib/langium/build-phase-pass/build-phase-pass-service.js +25 -16
  93. package/lib/langium/build-phase-pass/build-phase-pass-service.js.map +1 -1
  94. package/lib/langium/build-phase-pass/build-phase-pass.d.ts +20 -8
  95. package/lib/langium/build-phase-pass/build-phase-pass.d.ts.map +1 -1
  96. package/lib/langium/build-phase-pass/build-phase-pass.js +20 -0
  97. package/lib/langium/build-phase-pass/build-phase-pass.js.map +1 -1
  98. package/lib/langium/composite-ast-reflection.d.ts +46 -0
  99. package/lib/langium/composite-ast-reflection.d.ts.map +1 -0
  100. package/lib/langium/composite-ast-reflection.js +97 -0
  101. package/lib/langium/composite-ast-reflection.js.map +1 -0
  102. package/lib/langium/config/configuration-provider.d.ts +81 -0
  103. package/lib/langium/config/configuration-provider.d.ts.map +1 -0
  104. package/lib/langium/config/configuration-provider.js +112 -0
  105. package/lib/langium/config/configuration-provider.js.map +1 -0
  106. package/lib/langium/config/index.d.ts +1 -0
  107. package/lib/langium/config/index.d.ts.map +1 -1
  108. package/lib/langium/config/index.js +1 -0
  109. package/lib/langium/config/index.js.map +1 -1
  110. package/lib/langium/config/settings.js.map +1 -1
  111. package/lib/langium/diagnostics/console-tee.d.ts +27 -0
  112. package/lib/langium/diagnostics/console-tee.d.ts.map +1 -0
  113. package/lib/langium/diagnostics/console-tee.js +141 -0
  114. package/lib/langium/diagnostics/console-tee.js.map +1 -0
  115. package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts +9 -20
  116. package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts.map +1 -1
  117. package/lib/langium/diagnostics/hydranium-langium-profiler.js +15 -24
  118. package/lib/langium/diagnostics/hydranium-langium-profiler.js.map +1 -1
  119. package/lib/langium/diagnostics/log-preamble.js +1 -1
  120. package/lib/langium/diagnostics/log-preamble.js.map +1 -1
  121. package/lib/langium/diagnostics/logger.d.ts +25 -6
  122. package/lib/langium/diagnostics/logger.d.ts.map +1 -1
  123. package/lib/langium/diagnostics/logger.js +49 -17
  124. package/lib/langium/diagnostics/logger.js.map +1 -1
  125. package/lib/langium/diagnostics/lsp-logger.d.ts +25 -0
  126. package/lib/langium/diagnostics/lsp-logger.d.ts.map +1 -1
  127. package/lib/langium/diagnostics/lsp-logger.js +81 -46
  128. package/lib/langium/diagnostics/lsp-logger.js.map +1 -1
  129. package/lib/langium/diagnostics/server-tracer.d.ts.map +1 -1
  130. package/lib/langium/diagnostics/server-tracer.js.map +1 -1
  131. package/lib/langium/document-builder/build-pipeline-integration.d.ts +21 -1
  132. package/lib/langium/document-builder/build-pipeline-integration.d.ts.map +1 -1
  133. package/lib/langium/document-builder/build-pipeline-integration.js +43 -30
  134. package/lib/langium/document-builder/build-pipeline-integration.js.map +1 -1
  135. package/lib/langium/document-builder/build-session.d.ts +6 -5
  136. package/lib/langium/document-builder/build-session.d.ts.map +1 -1
  137. package/lib/langium/document-builder/build-session.js +5 -5
  138. package/lib/langium/document-builder/build-session.js.map +1 -1
  139. package/lib/langium/document-builder/document-builder.d.ts +355 -39
  140. package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
  141. package/lib/langium/document-builder/document-builder.js +578 -102
  142. package/lib/langium/document-builder/document-builder.js.map +1 -1
  143. package/lib/langium/documentation/comment-provider.d.ts.map +1 -1
  144. package/lib/langium/documentation/comment-provider.js.map +1 -1
  145. package/lib/langium/integration-services.d.ts +39 -23
  146. package/lib/langium/integration-services.d.ts.map +1 -1
  147. package/lib/langium/integration-services.js +7 -4
  148. package/lib/langium/integration-services.js.map +1 -1
  149. package/lib/langium/integrity/integrity-rule.d.ts +22 -8
  150. package/lib/langium/integrity/integrity-rule.d.ts.map +1 -1
  151. package/lib/langium/integrity/integrity-rule.js.map +1 -1
  152. package/lib/langium/integrity/integrity-service.d.ts +104 -27
  153. package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
  154. package/lib/langium/integrity/integrity-service.js +319 -65
  155. package/lib/langium/integrity/integrity-service.js.map +1 -1
  156. package/lib/langium/keys/containment.d.ts +3 -2
  157. package/lib/langium/keys/containment.d.ts.map +1 -1
  158. package/lib/langium/keys/containment.js.map +1 -1
  159. package/lib/langium/keys/name-based-key-provider.d.ts +17 -10
  160. package/lib/langium/keys/name-based-key-provider.d.ts.map +1 -1
  161. package/lib/langium/keys/name-based-key-provider.js +24 -12
  162. package/lib/langium/keys/name-based-key-provider.js.map +1 -1
  163. package/lib/langium/keys/positional-key-provider.d.ts.map +1 -1
  164. package/lib/langium/keys/positional-key-provider.js.map +1 -1
  165. package/lib/langium/labeling/label-provider.d.ts.map +1 -1
  166. package/lib/langium/labeling/label-provider.js.map +1 -1
  167. package/lib/langium/language-module.d.ts +30 -5
  168. package/lib/langium/language-module.d.ts.map +1 -1
  169. package/lib/langium/language-module.js +21 -5
  170. package/lib/langium/language-module.js.map +1 -1
  171. package/lib/langium/model-service/client-session.d.ts +405 -0
  172. package/lib/langium/model-service/client-session.d.ts.map +1 -0
  173. package/lib/langium/model-service/client-session.js +479 -0
  174. package/lib/langium/model-service/client-session.js.map +1 -0
  175. package/lib/langium/model-service/index.d.ts +2 -0
  176. package/lib/langium/model-service/index.d.ts.map +1 -1
  177. package/lib/langium/model-service/index.js +2 -0
  178. package/lib/langium/model-service/index.js.map +1 -1
  179. package/lib/langium/model-service/model-events.d.ts +68 -0
  180. package/lib/langium/model-service/model-events.d.ts.map +1 -0
  181. package/lib/langium/model-service/model-events.js +10 -0
  182. package/lib/langium/model-service/model-events.js.map +1 -0
  183. package/lib/langium/model-service/model-service.d.ts +441 -323
  184. package/lib/langium/model-service/model-service.d.ts.map +1 -1
  185. package/lib/langium/model-service/model-service.js +602 -397
  186. package/lib/langium/model-service/model-service.js.map +1 -1
  187. package/lib/langium/module.d.ts +96 -37
  188. package/lib/langium/module.d.ts.map +1 -1
  189. package/lib/langium/module.js +39 -27
  190. package/lib/langium/module.js.map +1 -1
  191. package/lib/langium/naming/name-provider.d.ts +32 -7
  192. package/lib/langium/naming/name-provider.d.ts.map +1 -1
  193. package/lib/langium/naming/name-provider.js +10 -4
  194. package/lib/langium/naming/name-provider.js.map +1 -1
  195. package/lib/langium/naming/name-separator-validation.d.ts.map +1 -1
  196. package/lib/langium/project/abstract-project-manager.d.ts +184 -13
  197. package/lib/langium/project/abstract-project-manager.d.ts.map +1 -1
  198. package/lib/langium/project/abstract-project-manager.js +336 -16
  199. package/lib/langium/project/abstract-project-manager.js.map +1 -1
  200. package/lib/langium/project/project-change-event.d.ts +22 -3
  201. package/lib/langium/project/project-change-event.d.ts.map +1 -1
  202. package/lib/langium/project/project-manager.d.ts +28 -2
  203. package/lib/langium/project/project-manager.d.ts.map +1 -1
  204. package/lib/langium/project/single-project-manager.d.ts +7 -1
  205. package/lib/langium/project/single-project-manager.d.ts.map +1 -1
  206. package/lib/langium/project/single-project-manager.js +12 -0
  207. package/lib/langium/project/single-project-manager.js.map +1 -1
  208. package/lib/langium/residency/cst-residency-service.d.ts +81 -44
  209. package/lib/langium/residency/cst-residency-service.d.ts.map +1 -1
  210. package/lib/langium/residency/cst-residency-service.js +142 -46
  211. package/lib/langium/residency/cst-residency-service.js.map +1 -1
  212. package/lib/langium/scope/ast-node-description-provider.d.ts +46 -10
  213. package/lib/langium/scope/ast-node-description-provider.d.ts.map +1 -1
  214. package/lib/langium/scope/ast-node-description-provider.js +88 -15
  215. package/lib/langium/scope/ast-node-description-provider.js.map +1 -1
  216. package/lib/langium/scope/built-local-symbols.d.ts +12 -0
  217. package/lib/langium/scope/built-local-symbols.d.ts.map +1 -0
  218. package/lib/langium/scope/built-local-symbols.js +11 -0
  219. package/lib/langium/scope/built-local-symbols.js.map +1 -0
  220. package/lib/langium/scope/fallback-scope.d.ts +27 -0
  221. package/lib/langium/scope/fallback-scope.d.ts.map +1 -0
  222. package/lib/langium/scope/fallback-scope.js +35 -0
  223. package/lib/langium/scope/fallback-scope.js.map +1 -0
  224. package/lib/langium/scope/hydranium-scope-computation.d.ts +21 -18
  225. package/lib/langium/scope/hydranium-scope-computation.d.ts.map +1 -1
  226. package/lib/langium/scope/hydranium-scope-computation.js +38 -39
  227. package/lib/langium/scope/hydranium-scope-computation.js.map +1 -1
  228. package/lib/langium/scope/hydranium-scope-provider.d.ts +122 -32
  229. package/lib/langium/scope/hydranium-scope-provider.d.ts.map +1 -1
  230. package/lib/langium/scope/hydranium-scope-provider.js +217 -39
  231. package/lib/langium/scope/hydranium-scope-provider.js.map +1 -1
  232. package/lib/langium/scope/index.d.ts +1 -0
  233. package/lib/langium/scope/index.d.ts.map +1 -1
  234. package/lib/langium/scope/index.js +1 -0
  235. package/lib/langium/scope/index.js.map +1 -1
  236. package/lib/langium/scope/reference-builder.d.ts.map +1 -1
  237. package/lib/langium/scope/reference-builder.js.map +1 -1
  238. package/lib/langium/scope/reference-candidate-provider.d.ts +6 -5
  239. package/lib/langium/scope/reference-candidate-provider.d.ts.map +1 -1
  240. package/lib/langium/scope/reference-candidate-provider.js +3 -2
  241. package/lib/langium/scope/reference-candidate-provider.js.map +1 -1
  242. package/lib/langium/scope/scope-extension-service.d.ts +69 -37
  243. package/lib/langium/scope/scope-extension-service.d.ts.map +1 -1
  244. package/lib/langium/scope/scope-extension-service.js +102 -29
  245. package/lib/langium/scope/scope-extension-service.js.map +1 -1
  246. package/lib/langium/scope/scoped-ast-node-description.d.ts +1 -3
  247. package/lib/langium/scope/scoped-ast-node-description.d.ts.map +1 -1
  248. package/lib/langium/scope/scoped-ast-node-description.js +1 -3
  249. package/lib/langium/scope/scoped-ast-node-description.js.map +1 -1
  250. package/lib/langium/serialization/abstract-serializer.d.ts +38 -27
  251. package/lib/langium/serialization/abstract-serializer.d.ts.map +1 -1
  252. package/lib/langium/serialization/abstract-serializer.js +54 -30
  253. package/lib/langium/serialization/abstract-serializer.js.map +1 -1
  254. package/lib/langium/serialization/json-serializer.d.ts +8 -1
  255. package/lib/langium/serialization/json-serializer.d.ts.map +1 -1
  256. package/lib/langium/serialization/json-serializer.js +13 -3
  257. package/lib/langium/serialization/json-serializer.js.map +1 -1
  258. package/lib/langium/serialization/serializer.d.ts +1 -1
  259. package/lib/langium/serialization/yaml-serializer.d.ts +12 -0
  260. package/lib/langium/serialization/yaml-serializer.d.ts.map +1 -1
  261. package/lib/langium/serialization/yaml-serializer.js +24 -4
  262. package/lib/langium/serialization/yaml-serializer.js.map +1 -1
  263. package/lib/langium/service-registry.d.ts +29 -1
  264. package/lib/langium/service-registry.d.ts.map +1 -1
  265. package/lib/langium/service-registry.js +37 -0
  266. package/lib/langium/service-registry.js.map +1 -1
  267. package/lib/langium/shared-services.d.ts +10 -4
  268. package/lib/langium/shared-services.d.ts.map +1 -1
  269. package/lib/langium/shared-services.js.map +1 -1
  270. package/lib/langium/single-langium-copy.d.ts +22 -0
  271. package/lib/langium/single-langium-copy.d.ts.map +1 -0
  272. package/lib/langium/single-langium-copy.js +36 -0
  273. package/lib/langium/single-langium-copy.js.map +1 -0
  274. package/lib/langium/transfer/transfer-encoder.d.ts +60 -39
  275. package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
  276. package/lib/langium/transfer/transfer-encoder.js +35 -24
  277. package/lib/langium/transfer/transfer-encoder.js.map +1 -1
  278. package/lib/langium/trivia/comment-preserver.d.ts +543 -0
  279. package/lib/langium/trivia/comment-preserver.d.ts.map +1 -0
  280. package/lib/langium/trivia/comment-preserver.js +1165 -0
  281. package/lib/langium/trivia/comment-preserver.js.map +1 -0
  282. package/lib/langium/trivia/document-ending-preserver.d.ts +51 -0
  283. package/lib/langium/trivia/document-ending-preserver.d.ts.map +1 -0
  284. package/lib/langium/trivia/document-ending-preserver.js +62 -0
  285. package/lib/langium/trivia/document-ending-preserver.js.map +1 -0
  286. package/lib/langium/trivia/index.d.ts +14 -0
  287. package/lib/langium/trivia/index.d.ts.map +1 -0
  288. package/lib/langium/trivia/index.js +14 -0
  289. package/lib/langium/trivia/index.js.map +1 -0
  290. package/lib/langium/trivia/trivia-contribution.d.ts +37 -0
  291. package/lib/langium/trivia/trivia-contribution.d.ts.map +1 -0
  292. package/lib/langium/trivia/trivia-contribution.js +10 -0
  293. package/lib/langium/trivia/trivia-contribution.js.map +1 -0
  294. package/lib/langium/trivia/trivia-preserver.d.ts +52 -0
  295. package/lib/langium/trivia/trivia-preserver.d.ts.map +1 -0
  296. package/lib/langium/trivia/trivia-preserver.js +10 -0
  297. package/lib/langium/trivia/trivia-preserver.js.map +1 -0
  298. package/lib/langium/trivia/trivia-service.d.ts +70 -0
  299. package/lib/langium/trivia/trivia-service.d.ts.map +1 -0
  300. package/lib/langium/trivia/trivia-service.js +56 -0
  301. package/lib/langium/trivia/trivia-service.js.map +1 -0
  302. package/lib/langium/update-rewrite/normalize-empty-strings.d.ts.map +1 -1
  303. package/lib/langium/update-rewrite/update-rewrite-service.d.ts +1 -1
  304. package/lib/langium/update-rewrite/update-rewrite-service.d.ts.map +1 -1
  305. package/lib/langium/update-rewrite/update-rewrite-service.js.map +1 -1
  306. package/lib/langium/update-rewrite/update-rewrite.d.ts +1 -1
  307. package/lib/langium/validation/document-validator.d.ts +168 -23
  308. package/lib/langium/validation/document-validator.d.ts.map +1 -1
  309. package/lib/langium/validation/document-validator.js +264 -26
  310. package/lib/langium/validation/document-validator.js.map +1 -1
  311. package/lib/langium/validation/validation-contribution-collector.d.ts +9 -1
  312. package/lib/langium/validation/validation-contribution-collector.d.ts.map +1 -1
  313. package/lib/langium/validation/validation-contribution-collector.js +1 -1
  314. package/lib/langium/validation/validation-contribution-collector.js.map +1 -1
  315. package/lib/langium/workspace/ast-node-locator.d.ts +24 -0
  316. package/lib/langium/workspace/ast-node-locator.d.ts.map +1 -0
  317. package/lib/langium/workspace/ast-node-locator.js +32 -0
  318. package/lib/langium/workspace/ast-node-locator.js.map +1 -0
  319. package/lib/langium/workspace/document-uri-policy.d.ts +24 -15
  320. package/lib/langium/workspace/document-uri-policy.d.ts.map +1 -1
  321. package/lib/langium/workspace/document-uri-policy.js +22 -13
  322. package/lib/langium/workspace/document-uri-policy.js.map +1 -1
  323. package/lib/langium/workspace/file-not-found.d.ts +23 -0
  324. package/lib/langium/workspace/file-not-found.d.ts.map +1 -0
  325. package/lib/langium/workspace/file-not-found.js +31 -0
  326. package/lib/langium/workspace/file-not-found.js.map +1 -0
  327. package/lib/langium/workspace/file-system-provider.d.ts +167 -8
  328. package/lib/langium/workspace/file-system-provider.d.ts.map +1 -1
  329. package/lib/langium/workspace/file-system-provider.js +115 -13
  330. package/lib/langium/workspace/file-system-provider.js.map +1 -1
  331. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts +35 -1
  332. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts.map +1 -1
  333. package/lib/langium/workspace/hydranium-langium-document-factory.js +77 -0
  334. package/lib/langium/workspace/hydranium-langium-document-factory.js.map +1 -1
  335. package/lib/langium/workspace/hydranium-workspace-lock.d.ts +43 -1
  336. package/lib/langium/workspace/hydranium-workspace-lock.d.ts.map +1 -1
  337. package/lib/langium/workspace/hydranium-workspace-lock.js +58 -1
  338. package/lib/langium/workspace/hydranium-workspace-lock.js.map +1 -1
  339. package/lib/langium/workspace/hydranium-workspace-manager.d.ts +105 -21
  340. package/lib/langium/workspace/hydranium-workspace-manager.d.ts.map +1 -1
  341. package/lib/langium/workspace/hydranium-workspace-manager.js +186 -31
  342. package/lib/langium/workspace/hydranium-workspace-manager.js.map +1 -1
  343. package/lib/langium/workspace/in-memory-file-system-provider.d.ts +26 -9
  344. package/lib/langium/workspace/in-memory-file-system-provider.d.ts.map +1 -1
  345. package/lib/langium/workspace/in-memory-file-system-provider.js +45 -22
  346. package/lib/langium/workspace/in-memory-file-system-provider.js.map +1 -1
  347. package/lib/langium/workspace/index-manager.d.ts.map +1 -1
  348. package/lib/langium/workspace/index-manager.js.map +1 -1
  349. package/lib/langium/workspace/index.d.ts +3 -0
  350. package/lib/langium/workspace/index.d.ts.map +1 -1
  351. package/lib/langium/workspace/index.js +3 -0
  352. package/lib/langium/workspace/index.js.map +1 -1
  353. package/lib/langium/workspace/initialize-workspace.d.ts +40 -3
  354. package/lib/langium/workspace/initialize-workspace.d.ts.map +1 -1
  355. package/lib/langium/workspace/initialize-workspace.js +68 -3
  356. package/lib/langium/workspace/initialize-workspace.js.map +1 -1
  357. package/lib/langium/workspace/langium-documents.d.ts +7 -0
  358. package/lib/langium/workspace/langium-documents.d.ts.map +1 -1
  359. package/lib/langium/workspace/langium-documents.js +18 -1
  360. package/lib/langium/workspace/langium-documents.js.map +1 -1
  361. package/lib/langium/workspace/persistent-file-system-provider.d.ts +16 -10
  362. package/lib/langium/workspace/persistent-file-system-provider.d.ts.map +1 -1
  363. package/lib/langium/workspace/persistent-file-system-provider.js +25 -13
  364. package/lib/langium/workspace/persistent-file-system-provider.js.map +1 -1
  365. package/lib/{documents → langium/workspace}/self-save-registry.d.ts +7 -9
  366. package/lib/langium/workspace/self-save-registry.d.ts.map +1 -0
  367. package/lib/{documents → langium/workspace}/self-save-registry.js +9 -11
  368. package/lib/langium/workspace/self-save-registry.js.map +1 -0
  369. package/lib/langium/workspace/syntax-errors.d.ts +23 -0
  370. package/lib/langium/workspace/syntax-errors.d.ts.map +1 -0
  371. package/lib/langium/workspace/syntax-errors.js +29 -0
  372. package/lib/langium/workspace/syntax-errors.js.map +1 -0
  373. package/lib/langium/workspace/virtual-document.d.ts +55 -21
  374. package/lib/langium/workspace/virtual-document.d.ts.map +1 -1
  375. package/lib/langium/workspace/virtual-document.js +87 -24
  376. package/lib/langium/workspace/virtual-document.js.map +1 -1
  377. package/lib/langium/workspace/write-lock-scope.d.ts +22 -10
  378. package/lib/langium/workspace/write-lock-scope.d.ts.map +1 -1
  379. package/lib/langium/workspace/write-lock-scope.js +15 -5
  380. package/lib/langium/workspace/write-lock-scope.js.map +1 -1
  381. package/lib/launcher/integrated-server.d.ts +3 -1
  382. package/lib/launcher/integrated-server.d.ts.map +1 -1
  383. package/lib/locale/server-locale.d.ts +6 -6
  384. package/lib/locale/server-locale.d.ts.map +1 -1
  385. package/lib/locale/server-locale.js.map +1 -1
  386. package/lib/lsp/completion/hydranium-completion-provider.d.ts +44 -2
  387. package/lib/lsp/completion/hydranium-completion-provider.d.ts.map +1 -1
  388. package/lib/lsp/completion/hydranium-completion-provider.js +68 -0
  389. package/lib/lsp/completion/hydranium-completion-provider.js.map +1 -1
  390. package/lib/lsp/connection-features.d.ts +23 -0
  391. package/lib/lsp/connection-features.d.ts.map +1 -0
  392. package/lib/lsp/connection-features.js +60 -0
  393. package/lib/lsp/connection-features.js.map +1 -0
  394. package/lib/lsp/diagnostics-connection.d.ts +27 -0
  395. package/lib/lsp/diagnostics-connection.d.ts.map +1 -0
  396. package/lib/lsp/diagnostics-connection.js +53 -0
  397. package/lib/lsp/diagnostics-connection.js.map +1 -0
  398. package/lib/lsp/edit-requests-guard.d.ts +31 -0
  399. package/lib/lsp/edit-requests-guard.d.ts.map +1 -0
  400. package/lib/lsp/edit-requests-guard.js +125 -0
  401. package/lib/lsp/edit-requests-guard.js.map +1 -0
  402. package/lib/lsp/hydranium-document-update-handler.d.ts +126 -82
  403. package/lib/lsp/hydranium-document-update-handler.d.ts.map +1 -1
  404. package/lib/lsp/hydranium-document-update-handler.js +234 -101
  405. package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
  406. package/lib/lsp/index.d.ts +6 -2
  407. package/lib/lsp/index.d.ts.map +1 -1
  408. package/lib/lsp/index.js +6 -2
  409. package/lib/lsp/index.js.map +1 -1
  410. package/lib/lsp/lsp-latency.d.ts +39 -0
  411. package/lib/lsp/lsp-latency.d.ts.map +1 -0
  412. package/lib/lsp/lsp-latency.js +58 -0
  413. package/lib/lsp/lsp-latency.js.map +1 -0
  414. package/lib/lsp/save-text-document.d.ts +31 -0
  415. package/lib/lsp/save-text-document.d.ts.map +1 -0
  416. package/lib/lsp/save-text-document.js +52 -0
  417. package/lib/lsp/save-text-document.js.map +1 -0
  418. package/lib/lsp/semantic-token-provider.d.ts +58 -2
  419. package/lib/lsp/semantic-token-provider.d.ts.map +1 -1
  420. package/lib/lsp/semantic-token-provider.js +98 -9
  421. package/lib/lsp/semantic-token-provider.js.map +1 -1
  422. package/lib/lsp/shared-module.d.ts +4 -8
  423. package/lib/lsp/shared-module.d.ts.map +1 -1
  424. package/lib/lsp/shared-module.js.map +1 -1
  425. package/lib/lsp/start-language-server.d.ts +12 -7
  426. package/lib/lsp/start-language-server.d.ts.map +1 -1
  427. package/lib/lsp/start-language-server.js +21 -7
  428. package/lib/lsp/start-language-server.js.map +1 -1
  429. package/lib/messages/carriers.d.ts +4 -6
  430. package/lib/messages/carriers.d.ts.map +1 -1
  431. package/lib/messages/carriers.js +4 -6
  432. package/lib/messages/carriers.js.map +1 -1
  433. package/lib/messages/index.d.ts +2 -2
  434. package/lib/messages/index.d.ts.map +1 -1
  435. package/lib/messages/index.js +2 -2
  436. package/lib/messages/index.js.map +1 -1
  437. package/lib/messages/renderer.d.ts +10 -4
  438. package/lib/messages/renderer.d.ts.map +1 -1
  439. package/lib/messages/renderer.js +6 -0
  440. package/lib/messages/renderer.js.map +1 -1
  441. package/lib/node/event-loop-monitor.d.ts.map +1 -1
  442. package/lib/node/event-loop-monitor.js +2 -1
  443. package/lib/node/event-loop-monitor.js.map +1 -1
  444. package/lib/node/heap-ceiling.d.ts +61 -0
  445. package/lib/node/heap-ceiling.d.ts.map +1 -0
  446. package/lib/node/heap-ceiling.js +72 -0
  447. package/lib/node/heap-ceiling.js.map +1 -0
  448. package/lib/node/index.d.ts +1 -1
  449. package/lib/node/index.d.ts.map +1 -1
  450. package/lib/node/index.js +5 -1
  451. package/lib/node/index.js.map +1 -1
  452. package/lib/node/latency-from-env.d.ts +1 -1
  453. package/lib/node/latency-from-env.js +1 -1
  454. package/lib/node/lint-grammar.js.map +1 -1
  455. package/lib/node/log-file-sink.d.ts +3 -2
  456. package/lib/node/log-file-sink.d.ts.map +1 -1
  457. package/lib/node/log-file-sink.js +6 -2
  458. package/lib/node/log-file-sink.js.map +1 -1
  459. package/lib/node/log-preamble-node.d.ts +5 -3
  460. package/lib/node/log-preamble-node.d.ts.map +1 -1
  461. package/lib/node/log-preamble-node.js +13 -10
  462. package/lib/node/log-preamble-node.js.map +1 -1
  463. package/lib/node/measure-memory.d.ts.map +1 -1
  464. package/lib/node/measure-memory.js +5 -4
  465. package/lib/node/measure-memory.js.map +1 -1
  466. package/lib/node/memory-monitor.d.ts +2 -2
  467. package/lib/node/memory-monitor.d.ts.map +1 -1
  468. package/lib/node/memory-monitor.js +9 -10
  469. package/lib/node/memory-monitor.js.map +1 -1
  470. package/lib/node/node-file-system-provider.d.ts +67 -9
  471. package/lib/node/node-file-system-provider.d.ts.map +1 -1
  472. package/lib/node/node-file-system-provider.js +198 -53
  473. package/lib/node/node-file-system-provider.js.map +1 -1
  474. package/lib/node/profile-capture.d.ts +12 -4
  475. package/lib/node/profile-capture.d.ts.map +1 -1
  476. package/lib/node/profile-capture.js +8 -6
  477. package/lib/node/profile-capture.js.map +1 -1
  478. package/lib/node/profile-digest.js.map +1 -1
  479. package/lib/node/profiling-run.d.ts +13 -3
  480. package/lib/node/profiling-run.d.ts.map +1 -1
  481. package/lib/node/profiling-run.js +17 -8
  482. package/lib/node/profiling-run.js.map +1 -1
  483. package/lib/node/rename-over-open-readers.d.ts +61 -0
  484. package/lib/node/rename-over-open-readers.d.ts.map +1 -0
  485. package/lib/node/rename-over-open-readers.js +80 -0
  486. package/lib/node/rename-over-open-readers.js.map +1 -0
  487. package/lib/node/server-diagnostics.js +1 -1
  488. package/lib/node/server-diagnostics.js.map +1 -1
  489. package/lib/node/server-state-snapshot.d.ts +1 -2
  490. package/lib/node/server-state-snapshot.d.ts.map +1 -1
  491. package/lib/node/server-state-snapshot.js +4 -4
  492. package/lib/node/server-state-snapshot.js.map +1 -1
  493. package/lib/node/socket-launcher.d.ts +43 -7
  494. package/lib/node/socket-launcher.d.ts.map +1 -1
  495. package/lib/node/socket-launcher.js +42 -7
  496. package/lib/node/socket-launcher.js.map +1 -1
  497. package/lib/node/startup-cpu-profile.d.ts +29 -0
  498. package/lib/node/startup-cpu-profile.d.ts.map +1 -0
  499. package/lib/node/startup-cpu-profile.js +91 -0
  500. package/lib/node/startup-cpu-profile.js.map +1 -0
  501. package/lib/node/stdio-launcher.d.ts +13 -13
  502. package/lib/node/stdio-launcher.d.ts.map +1 -1
  503. package/lib/node/stdio-launcher.js +21 -11
  504. package/lib/node/stdio-launcher.js.map +1 -1
  505. package/lib/node/validate-workspace.d.ts +1 -1
  506. package/lib/node/validate-workspace.d.ts.map +1 -1
  507. package/lib/node/validate-workspace.js +5 -1
  508. package/lib/node/validate-workspace.js.map +1 -1
  509. package/lib/testing/document-uri-policy-conformance.js +1 -1
  510. package/lib/testing/document-uri-policy-conformance.js.map +1 -1
  511. package/lib/testing/fake-description.js.map +1 -1
  512. package/lib/testing/fake-document.d.ts +2 -1
  513. package/lib/testing/fake-document.d.ts.map +1 -1
  514. package/lib/testing/fake-document.js.map +1 -1
  515. package/lib/testing/index.d.ts +1 -1
  516. package/lib/testing/index.d.ts.map +1 -1
  517. package/lib/testing/index.js +2 -1
  518. package/lib/testing/index.js.map +1 -1
  519. package/lib/testing/langium-test-helpers.d.ts.map +1 -1
  520. package/lib/testing/langium-test-helpers.js +1 -0
  521. package/lib/testing/langium-test-helpers.js.map +1 -1
  522. package/lib/testing/make-noop-language-services.js.map +1 -1
  523. package/lib/testing/make-noop-shared-services.js.map +1 -1
  524. package/lib/testing/make-test-services.d.ts +45 -14
  525. package/lib/testing/make-test-services.d.ts.map +1 -1
  526. package/lib/testing/make-test-services.js +23 -7
  527. package/lib/testing/make-test-services.js.map +1 -1
  528. package/lib/testing/make-test-tracer.d.ts +12 -0
  529. package/lib/testing/make-test-tracer.d.ts.map +1 -1
  530. package/lib/testing/make-test-tracer.js +13 -0
  531. package/lib/testing/make-test-tracer.js.map +1 -1
  532. package/lib/testing/node/applied-edit-capture.d.ts +29 -0
  533. package/lib/testing/node/applied-edit-capture.d.ts.map +1 -0
  534. package/lib/testing/node/applied-edit-capture.js +117 -0
  535. package/lib/testing/node/applied-edit-capture.js.map +1 -0
  536. package/lib/testing/node/golden-corpus.js.map +1 -1
  537. package/lib/testing/node/index.d.ts +1 -0
  538. package/lib/testing/node/index.d.ts.map +1 -1
  539. package/lib/testing/node/index.js +1 -0
  540. package/lib/testing/node/index.js.map +1 -1
  541. package/lib/testing/node/lsp-harness.d.ts.map +1 -1
  542. package/lib/testing/node/lsp-harness.js +2 -0
  543. package/lib/testing/node/lsp-harness.js.map +1 -1
  544. package/lib/testing/node/lsp-server-connection.d.ts +21 -6
  545. package/lib/testing/node/lsp-server-connection.d.ts.map +1 -1
  546. package/lib/testing/node/lsp-server-connection.js +49 -106
  547. package/lib/testing/node/lsp-server-connection.js.map +1 -1
  548. package/lib/testing/node/scratch-workspace.d.ts.map +1 -1
  549. package/lib/testing/node/scratch-workspace.js +10 -5
  550. package/lib/testing/node/scratch-workspace.js.map +1 -1
  551. package/lib/testing/node/spawned-server.d.ts +30 -1
  552. package/lib/testing/node/spawned-server.d.ts.map +1 -1
  553. package/lib/testing/node/spawned-server.js +39 -2
  554. package/lib/testing/node/spawned-server.js.map +1 -1
  555. package/lib/testing/node/unhandled-rejections.d.ts +20 -0
  556. package/lib/testing/node/unhandled-rejections.d.ts.map +1 -0
  557. package/lib/testing/node/unhandled-rejections.js +32 -0
  558. package/lib/testing/node/unhandled-rejections.js.map +1 -0
  559. package/lib/testing/playwright/browser-capture-bridge.js.map +1 -1
  560. package/lib/testing/playwright/e2e-profiling.js.map +1 -1
  561. package/lib/testing/playwright/flaky-network-proxy.d.ts +76 -0
  562. package/lib/testing/playwright/flaky-network-proxy.d.ts.map +1 -0
  563. package/lib/testing/playwright/flaky-network-proxy.js +164 -0
  564. package/lib/testing/playwright/flaky-network-proxy.js.map +1 -0
  565. package/lib/testing/playwright/index.d.ts +1 -0
  566. package/lib/testing/playwright/index.d.ts.map +1 -1
  567. package/lib/testing/playwright/index.js +1 -0
  568. package/lib/testing/playwright/index.js.map +1 -1
  569. package/lib/testing/playwright/server-log-capture.d.ts +46 -16
  570. package/lib/testing/playwright/server-log-capture.d.ts.map +1 -1
  571. package/lib/testing/playwright/server-log-capture.js +111 -40
  572. package/lib/testing/playwright/server-log-capture.js.map +1 -1
  573. package/lib/testing/playwright/server-log-fixture.d.ts +16 -0
  574. package/lib/testing/playwright/server-log-fixture.d.ts.map +1 -1
  575. package/lib/testing/playwright/server-log-fixture.js +25 -6
  576. package/lib/testing/playwright/server-log-fixture.js.map +1 -1
  577. package/lib/testing/playwright/server-log-region.d.ts +15 -0
  578. package/lib/testing/playwright/server-log-region.d.ts.map +1 -0
  579. package/lib/testing/playwright/server-log-region.js +30 -0
  580. package/lib/testing/playwright/server-log-region.js.map +1 -0
  581. package/lib/testing/playwright/server-log-rename-reporter.d.ts.map +1 -1
  582. package/lib/testing/playwright/server-log-rename-reporter.js +4 -3
  583. package/lib/testing/playwright/server-log-rename-reporter.js.map +1 -1
  584. package/lib/testing/run-update-pipeline.d.ts +8 -5
  585. package/lib/testing/run-update-pipeline.d.ts.map +1 -1
  586. package/lib/testing/run-update-pipeline.js.map +1 -1
  587. package/lib/testing/stub-ast-document-manager.d.ts +11 -51
  588. package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
  589. package/lib/testing/stub-ast-document-manager.js +31 -59
  590. package/lib/testing/stub-ast-document-manager.js.map +1 -1
  591. package/lib/testing/stub-document-builder.d.ts +33 -11
  592. package/lib/testing/stub-document-builder.d.ts.map +1 -1
  593. package/lib/testing/stub-document-builder.js +110 -5
  594. package/lib/testing/stub-document-builder.js.map +1 -1
  595. package/lib/testing/stub-hydranium-text-documents.d.ts +33 -10
  596. package/lib/testing/stub-hydranium-text-documents.d.ts.map +1 -1
  597. package/lib/testing/stub-hydranium-text-documents.js +132 -16
  598. package/lib/testing/stub-hydranium-text-documents.js.map +1 -1
  599. package/lib/testing/stub-index-manager.js.map +1 -1
  600. package/lib/testing/stub-langium-documents.d.ts +3 -2
  601. package/lib/testing/stub-langium-documents.d.ts.map +1 -1
  602. package/lib/testing/stub-langium-documents.js.map +1 -1
  603. package/lib/testing/stub-model-service.d.ts +8 -7
  604. package/lib/testing/stub-model-service.d.ts.map +1 -1
  605. package/lib/testing/stub-model-service.js +4 -4
  606. package/lib/testing/stub-model-service.js.map +1 -1
  607. package/lib/testing/stub-project-manager.d.ts.map +1 -1
  608. package/lib/testing/stub-project-manager.js +10 -0
  609. package/lib/testing/stub-project-manager.js.map +1 -1
  610. package/lib/testing/stub-self-save-registry.d.ts +1 -1
  611. package/lib/testing/stub-self-save-registry.d.ts.map +1 -1
  612. package/lib/testing/stub-service-registry.d.ts +1 -1
  613. package/lib/testing/stub-service-registry.js.map +1 -1
  614. package/lib/testing/stub-writable-file-system.d.ts +1 -1
  615. package/lib/testing/stub-writable-file-system.d.ts.map +1 -1
  616. package/lib/testing/stub-writable-file-system.js +2 -1
  617. package/lib/testing/stub-writable-file-system.js.map +1 -1
  618. package/lib/util/connection-liveness.d.ts +22 -6
  619. package/lib/util/connection-liveness.d.ts.map +1 -1
  620. package/lib/util/connection-liveness.js +75 -15
  621. package/lib/util/connection-liveness.js.map +1 -1
  622. package/lib/util/environment.d.ts +7 -0
  623. package/lib/util/environment.d.ts.map +1 -1
  624. package/lib/util/environment.js +15 -1
  625. package/lib/util/environment.js.map +1 -1
  626. package/lib/util/registry.d.ts.map +1 -1
  627. package/package.json +41 -60
  628. package/src/browser/host-heads-in-worker.ts +218 -0
  629. package/src/browser/index.ts +17 -0
  630. package/src/browser/indexeddb-file-system-store.ts +192 -0
  631. package/src/browser/start-language-server-in-worker.ts +56 -0
  632. package/src/documents/ast-document-manager.ts +477 -249
  633. package/src/documents/client-ids.ts +5 -22
  634. package/src/documents/client-session-errors.ts +26 -0
  635. package/src/documents/client-session-registry.ts +262 -0
  636. package/src/documents/dirty-state-tracker.ts +167 -0
  637. package/src/documents/document-release-handler.ts +404 -0
  638. package/src/documents/document-release-scheduler.ts +121 -0
  639. package/src/documents/file-system-task-queue.ts +74 -0
  640. package/src/documents/hydranium-text-documents.ts +1029 -616
  641. package/src/documents/index.ts +10 -2
  642. package/src/documents/language-client-shadow.ts +501 -0
  643. package/src/documents/model-ledger.ts +66 -0
  644. package/src/documents/text-ledger.ts +112 -0
  645. package/src/documents/version-sync-service.ts +289 -0
  646. package/src/index.ts +3 -0
  647. package/src/langium/ast-extension/ast-extension-service.ts +77 -41
  648. package/src/langium/ast-extension/ast-node-builder.ts +35 -13
  649. package/src/langium/bootstrap.ts +79 -43
  650. package/src/langium/build-phase-pass/build-phase-pass-service.ts +29 -19
  651. package/src/langium/build-phase-pass/build-phase-pass.ts +37 -8
  652. package/src/langium/composite-ast-reflection.ts +112 -0
  653. package/src/langium/config/configuration-provider.ts +119 -0
  654. package/src/langium/config/index.ts +1 -0
  655. package/src/langium/diagnostics/console-tee.ts +150 -0
  656. package/src/langium/diagnostics/hydranium-langium-profiler.ts +15 -39
  657. package/src/langium/diagnostics/log-preamble.ts +1 -1
  658. package/src/langium/diagnostics/logger.ts +51 -17
  659. package/src/langium/diagnostics/lsp-logger.ts +83 -45
  660. package/src/langium/document-builder/build-pipeline-integration.ts +57 -32
  661. package/src/langium/document-builder/build-session.ts +4 -3
  662. package/src/langium/document-builder/document-builder.ts +709 -105
  663. package/src/langium/integration-services.ts +58 -27
  664. package/src/langium/integrity/integrity-rule.ts +22 -8
  665. package/src/langium/integrity/integrity-service.ts +348 -71
  666. package/src/langium/keys/containment.ts +3 -2
  667. package/src/langium/keys/name-based-key-provider.ts +24 -12
  668. package/src/langium/language-module.ts +52 -9
  669. package/src/langium/model-service/client-session.ts +769 -0
  670. package/src/langium/model-service/index.ts +2 -0
  671. package/src/langium/model-service/model-events.ts +82 -0
  672. package/src/langium/model-service/model-service.ts +885 -522
  673. package/src/langium/module.ts +139 -63
  674. package/src/langium/naming/name-provider.ts +34 -8
  675. package/src/langium/project/abstract-project-manager.ts +409 -20
  676. package/src/langium/project/project-change-event.ts +25 -3
  677. package/src/langium/project/project-manager.ts +31 -2
  678. package/src/langium/project/single-project-manager.ts +16 -1
  679. package/src/langium/residency/cst-residency-service.ts +197 -73
  680. package/src/langium/scope/ast-node-description-provider.ts +111 -16
  681. package/src/langium/scope/built-local-symbols.ts +13 -0
  682. package/src/langium/scope/fallback-scope.ts +38 -0
  683. package/src/langium/scope/hydranium-scope-computation.ts +45 -44
  684. package/src/langium/scope/hydranium-scope-provider.ts +245 -41
  685. package/src/langium/scope/index.ts +1 -0
  686. package/src/langium/scope/reference-candidate-provider.ts +6 -5
  687. package/src/langium/scope/scope-extension-service.ts +148 -56
  688. package/src/langium/scope/scoped-ast-node-description.ts +1 -3
  689. package/src/langium/serialization/abstract-serializer.ts +57 -41
  690. package/src/langium/serialization/json-serializer.ts +14 -3
  691. package/src/langium/serialization/serializer.ts +1 -1
  692. package/src/langium/serialization/yaml-serializer.ts +26 -4
  693. package/src/langium/service-registry.ts +41 -2
  694. package/src/langium/shared-services.ts +13 -4
  695. package/src/langium/single-langium-copy.ts +42 -0
  696. package/src/langium/transfer/transfer-encoder.ts +76 -50
  697. package/src/langium/trivia/comment-preserver.ts +1410 -0
  698. package/src/langium/trivia/document-ending-preserver.ts +71 -0
  699. package/src/langium/trivia/index.ts +14 -0
  700. package/src/langium/trivia/trivia-contribution.ts +39 -0
  701. package/src/langium/trivia/trivia-preserver.ts +56 -0
  702. package/src/langium/trivia/trivia-service.ts +99 -0
  703. package/src/langium/update-rewrite/update-rewrite-service.ts +1 -1
  704. package/src/langium/update-rewrite/update-rewrite.ts +1 -1
  705. package/src/langium/validation/document-validator.ts +312 -31
  706. package/src/langium/validation/validation-contribution-collector.ts +10 -1
  707. package/src/langium/workspace/ast-node-locator.ts +33 -0
  708. package/src/langium/workspace/document-uri-policy.ts +32 -18
  709. package/src/langium/workspace/file-not-found.ts +35 -0
  710. package/src/langium/workspace/file-system-provider.ts +258 -16
  711. package/src/langium/workspace/hydranium-langium-document-factory.ts +107 -0
  712. package/src/langium/workspace/hydranium-workspace-lock.ts +86 -2
  713. package/src/langium/workspace/hydranium-workspace-manager.ts +214 -35
  714. package/src/langium/workspace/in-memory-file-system-provider.ts +54 -23
  715. package/src/langium/workspace/index.ts +3 -0
  716. package/src/langium/workspace/initialize-workspace.ts +96 -4
  717. package/src/langium/workspace/langium-documents.ts +19 -1
  718. package/src/langium/workspace/persistent-file-system-provider.ts +27 -15
  719. package/src/{documents → langium/workspace}/self-save-registry.ts +12 -14
  720. package/src/langium/workspace/syntax-errors.ts +34 -0
  721. package/src/langium/workspace/virtual-document.ts +106 -25
  722. package/src/langium/workspace/write-lock-scope.ts +27 -12
  723. package/src/launcher/integrated-server.ts +3 -1
  724. package/src/locale/server-locale.ts +6 -6
  725. package/src/lsp/completion/hydranium-completion-provider.ts +82 -2
  726. package/src/lsp/connection-features.ts +67 -0
  727. package/src/lsp/diagnostics-connection.ts +56 -0
  728. package/src/lsp/edit-requests-guard.ts +152 -0
  729. package/src/lsp/hydranium-document-update-handler.ts +284 -110
  730. package/src/lsp/index.ts +6 -2
  731. package/src/lsp/lsp-latency.ts +62 -0
  732. package/src/lsp/save-text-document.ts +63 -0
  733. package/src/lsp/semantic-token-provider.ts +146 -8
  734. package/src/lsp/shared-module.ts +4 -8
  735. package/src/lsp/start-language-server.ts +21 -7
  736. package/src/messages/carriers.ts +4 -6
  737. package/src/messages/index.ts +11 -2
  738. package/src/messages/renderer.ts +11 -3
  739. package/src/node/event-loop-monitor.ts +2 -1
  740. package/src/node/heap-ceiling.ts +108 -0
  741. package/src/node/index.ts +5 -1
  742. package/src/node/latency-from-env.ts +1 -1
  743. package/src/node/log-file-sink.ts +6 -2
  744. package/src/node/log-preamble-node.ts +20 -10
  745. package/src/node/measure-memory.ts +5 -4
  746. package/src/node/memory-monitor.ts +10 -10
  747. package/src/node/node-file-system-provider.ts +214 -57
  748. package/src/node/profile-capture.ts +16 -15
  749. package/src/node/profiling-run.ts +30 -8
  750. package/src/node/rename-over-open-readers.ts +94 -0
  751. package/src/node/server-diagnostics.ts +1 -1
  752. package/src/node/server-state-snapshot.ts +6 -7
  753. package/src/node/socket-launcher.ts +78 -14
  754. package/src/node/startup-cpu-profile.ts +94 -0
  755. package/src/node/stdio-launcher.ts +29 -19
  756. package/src/node/validate-workspace.ts +8 -2
  757. package/src/testing/document-uri-policy-conformance.ts +1 -1
  758. package/src/testing/fake-document.ts +2 -1
  759. package/src/testing/index.ts +2 -1
  760. package/src/testing/langium-test-helpers.ts +1 -0
  761. package/src/testing/make-test-services.ts +83 -31
  762. package/src/testing/make-test-tracer.ts +26 -0
  763. package/src/testing/node/applied-edit-capture.ts +141 -0
  764. package/src/testing/node/index.ts +1 -0
  765. package/src/testing/node/lsp-harness.ts +2 -0
  766. package/src/testing/node/lsp-server-connection.ts +83 -119
  767. package/src/testing/node/scratch-workspace.ts +10 -5
  768. package/src/testing/node/spawned-server.ts +57 -3
  769. package/src/testing/node/unhandled-rejections.ts +31 -0
  770. package/src/testing/parse-semantic-root.ts +1 -1
  771. package/src/testing/playwright/flaky-network-proxy.ts +240 -0
  772. package/src/testing/playwright/index.ts +1 -0
  773. package/src/testing/playwright/server-log-capture.ts +137 -47
  774. package/src/testing/playwright/server-log-fixture.ts +46 -6
  775. package/src/testing/playwright/server-log-region.ts +32 -0
  776. package/src/testing/playwright/server-log-rename-reporter.ts +4 -3
  777. package/src/testing/run-update-pipeline.ts +8 -5
  778. package/src/testing/stub-ast-document-manager.ts +47 -123
  779. package/src/testing/stub-document-builder.ts +155 -18
  780. package/src/testing/stub-hydranium-text-documents.ts +184 -27
  781. package/src/testing/stub-langium-documents.ts +3 -2
  782. package/src/testing/stub-model-service.ts +9 -8
  783. package/src/testing/stub-project-manager.ts +10 -0
  784. package/src/testing/stub-self-save-registry.ts +1 -1
  785. package/src/testing/stub-service-registry.ts +1 -1
  786. package/src/testing/stub-writable-file-system.ts +3 -2
  787. package/src/util/connection-liveness.ts +81 -15
  788. package/src/util/environment.ts +24 -2
  789. package/lib/documents/language-client-text-shadow.d.ts +0 -124
  790. package/lib/documents/language-client-text-shadow.d.ts.map +0 -1
  791. package/lib/documents/language-client-text-shadow.js +0 -190
  792. package/lib/documents/language-client-text-shadow.js.map +0 -1
  793. package/lib/documents/self-save-registry.d.ts.map +0 -1
  794. package/lib/documents/self-save-registry.js.map +0 -1
  795. package/lib/lsp/instrument-connection.d.ts +0 -36
  796. package/lib/lsp/instrument-connection.d.ts.map +0 -1
  797. package/lib/lsp/instrument-connection.js +0 -62
  798. package/lib/lsp/instrument-connection.js.map +0 -1
  799. package/lib/node/process-memory.d.ts +0 -66
  800. package/lib/node/process-memory.d.ts.map +0 -1
  801. package/lib/node/process-memory.js +0 -252
  802. package/lib/node/process-memory.js.map +0 -1
  803. package/src/documents/language-client-text-shadow.ts +0 -211
  804. package/src/lsp/instrument-connection.ts +0 -66
  805. package/src/node/process-memory.ts +0 -299
@@ -1 +1 @@
1
- {"version":3,"file":"document-builder.js","sourceRoot":"","sources":["../../../src/langium/document-builder/document-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-builder.js","sourceRoot":"","sources":["../../../src/langium/document-builder/document-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"comment-provider.d.ts","sourceRoot":"","sources":["../../../src/langium/documentation/comment-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,wBAAyB,SAAQ,sBAAsB;IACrD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,yBAAyB;gBAA3C,gBAAgB,EAAE,yBAAyB;IAIjE,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;CAIxD"}
1
+ {"version":3,"file":"comment-provider.d.ts","sourceRoot":"","sources":["../../../src/langium/documentation/comment-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,wBAAyB,SAAQ,sBAAsB;IACrD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,yBAAyB;IAA1E,YAA+B,gBAAgB,EAAE,yBAAyB,EAEzE;IAEQ,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGrD;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"comment-provider.js","sourceRoot":"","sources":["../../../src/langium/documentation/comment-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAgB,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG1E;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,wBAAyB,SAAQ,sBAAsB;IAClC;IAA/B,YAA+B,gBAA2C;QACvE,KAAK,CAAC,gBAAgB,CAAC,CAAC;QADI,qBAAgB,GAAhB,gBAAgB,CAA2B;IAE1E,CAAC;IAEQ,UAAU,CAAC,IAAa;QAC9B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/E,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACH"}
1
+ {"version":3,"file":"comment-provider.js","sourceRoot":"","sources":["../../../src/langium/documentation/comment-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAgB,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG1E;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,wBAAyB,SAAQ,sBAAsB;IAClC,gBAAgB;IAA/C,YAA+B,gBAA2C;QACvE,KAAK,CAAC,gBAAgB,CAAC,CAAC;gCADI,gBAAgB;IAE/C,CAAC;IAEQ,UAAU,CAAC,IAAa;QAC9B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/E,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACH"}
@@ -8,8 +8,7 @@
8
8
  ********************************************************************************/
9
9
  import { type DeepPartial, type Module } from '@hydranium/langium';
10
10
  import { type LangiumServices, type LangiumSharedServices, type PartialLangiumServices, type PartialLangiumSharedServices } from '@hydranium/langium/lsp';
11
- import { type ServerModuleContext } from './module.js';
12
- import type { ServerSharedServicesMinimal } from './shared-services.js';
11
+ import { type ServerModuleContext, type ServerSharedServices } from './module.js';
13
12
  /**
14
13
  * Options accepted by {@link createIntegrationServices}. Wraps the
15
14
  * canonical Langium module-composition chain that every hydranium
@@ -27,7 +26,7 @@ import type { ServerSharedServicesMinimal } from './shared-services.js';
27
26
  * helper covers the *composition* boilerplate, not adopter-specific
28
27
  * lifecycle.
29
28
  */
30
- export interface IntegrationServicesOptions<TContext extends ServerModuleContext, TShared extends LangiumSharedServices & ServerSharedServicesMinimal, TLanguage extends LangiumServices> {
29
+ export interface IntegrationServicesOptions<TContext extends ServerModuleContext, TShared extends LangiumSharedServices & ServerSharedServices, TLanguage extends LangiumServices> {
31
30
  /**
32
31
  * Shared module-construction context. Flows into the framework's
33
32
  * default factories (`createDefaultSharedModule`,
@@ -53,17 +52,17 @@ export interface IntegrationServicesOptions<TContext extends ServerModuleContext
53
52
  /**
54
53
  * Module emitted by `langium-cli` (grammar metadata, AST reflection).
55
54
  *
56
- * `AstReflection` is a SINGLE shared slot, so in a multi-grammar
57
- * composition this must be the *combined* generated shared module of
58
- * ONE `langium-cli` run over all grammars (one `langium-config.json`
59
- * with several entry grammars). Two independently generated language
60
- * packages each bind this one slot and the last one wins, leaving the
61
- * other grammar's types unknown to reflection — `isSubtype` answers
62
- * false, `getTypeMetaData` is empty, and indexing, reference routing
63
- * and the transfer encoder all silently miss those types.
55
+ * `AstReflection` is a single shared slot, so in a multi-grammar
56
+ * composition this must cover every grammar: either the combined
57
+ * generated shared module of one `langium-cli` run over all grammars,
58
+ * or a module binding `AstReflection` to a `CompositeAstReflection`
59
+ * over each separately generated package's reflection. Spreading two
60
+ * packages' generated shared modules instead keeps only the last one's
61
+ * reflection — `isSubtype` answers false for the other grammar's types,
62
+ * `getTypeMetaData` is empty, and indexing, reference routing and the
63
+ * transfer encoder all silently miss them.
64
64
  * {@link bootstrapLangiumLanguages} throws when a language's types are
65
- * wholly absent and warns on a partial gap, because the types cannot
66
- * express "these modules came from one generator run".
65
+ * wholly absent and warns on a partial gap.
67
66
  */
68
67
  generated: Module<TShared, PartialLangiumSharedServices>;
69
68
  /** Adopter's override module (workspace manager, file-system provider, integrity rules, etc.). */
@@ -142,6 +141,23 @@ export interface IntegrationServicesOptions<TContext extends ServerModuleContext
142
141
  * still win over heads.
143
142
  */
144
143
  extra?: ReadonlyArray<Module<TLanguage, PartialLangiumServices>>;
144
+ /**
145
+ * Modules composed LAST, after `adopter`, and partial over `TLanguage`
146
+ * rather than over Langium's per-language services. The language-tier
147
+ * twin of {@link IntegrationServicesOptions.sharedModules}'s
148
+ * `overrides`, and both differences carry the same weight they do
149
+ * there.
150
+ *
151
+ * A per-language framework service is constructed by the framework's
152
+ * own module with no options
153
+ * (`IntegrityService: services => new DefaultIntegrityService(services)`),
154
+ * so booting one configured differently means rebinding the slot.
155
+ * {@link extra} serves neither half of that: it composes BEFORE
156
+ * `adopter` and so loses every slot the adopter binds, and it is typed
157
+ * `PartialLangiumServices`, which cannot express a framework ADDITION
158
+ * like `IntegrityService` or `AstExtensionService` at all.
159
+ */
160
+ overrides?: ReadonlyArray<Module<TLanguage, DeepPartial<TLanguage>>>;
145
161
  };
146
162
  /**
147
163
  * Additional languages composed over the SAME shared tier — the
@@ -161,11 +177,9 @@ export interface IntegrationServicesOptions<TContext extends ServerModuleContext
161
177
  * language's, so a second grammar that reuses the same service
162
178
  * overrides only supplies its own `generated` module.
163
179
  *
164
- * Every grammar composed here must come from ONE `langium-cli` run —
165
- * see the `generated` note on {@link IntegrationServicesOptions.sharedModules}.
166
- * The shared `AstReflection` slot cannot hold two independently
167
- * generated reflections, so separately generated language packages are
168
- * detected at bootstrap rather than supported.
180
+ * The primary `generated` shared module must reflect every grammar
181
+ * composed here — see the `generated` note on
182
+ * {@link IntegrationServicesOptions.sharedModules}.
169
183
  *
170
184
  * Multi-grammar adopters should also rebind `lsp.configurationRoot`
171
185
  * (it defaults to the first registered language's id) and, if they
@@ -188,17 +202,19 @@ export interface IntegrationServicesOptions<TContext extends ServerModuleContext
188
202
  * usually reuses the same scope provider, serializer and lexer and
189
203
  * differs only in its grammar-generated module.
190
204
  */
191
- export interface AdditionalLanguageModules<TShared extends LangiumSharedServices & ServerSharedServicesMinimal, TLanguage extends LangiumServices> {
205
+ export interface AdditionalLanguageModules<TShared extends LangiumSharedServices & ServerSharedServices, TLanguage extends LangiumServices> {
192
206
  /**
193
- * Module emitted by `langium-cli` for this grammar — from the SAME run
194
- * that produced the primary language's modules and the shared
195
- * `generated` module, not a separately generated language package.
207
+ * Module emitted by `langium-cli` for this grammar. The shared
208
+ * `generated` module must reflect its types, either from the same run or
209
+ * through a `CompositeAstReflection`.
196
210
  */
197
211
  generated: Module<TLanguage, PartialLangiumServices>;
198
212
  /** Adopter overrides for this language. Defaults to the primary language's. */
199
213
  adopter?: (shared: TShared) => Module<TLanguage, PartialLangiumServices>;
200
214
  /** Protocol-head modules for this language. Defaults to the primary language's. */
201
215
  extra?: ReadonlyArray<Module<TLanguage, PartialLangiumServices>>;
216
+ /** Last-composed overrides for this language. Defaults to the primary language's. */
217
+ overrides?: ReadonlyArray<Module<TLanguage, DeepPartial<TLanguage>>>;
202
218
  }
203
219
  /**
204
220
  * Compose the standard hydranium Langium DI tree from an adopter's
@@ -217,7 +233,7 @@ export interface AdditionalLanguageModules<TShared extends LangiumSharedServices
217
233
  * adopter's wrapping `createXxxServices(context)` function around this
218
234
  * call — the helper covers composition, not bespoke lifecycle.
219
235
  */
220
- export declare function createIntegrationServices<TContext extends ServerModuleContext, TShared extends LangiumSharedServices & ServerSharedServicesMinimal, TLanguage extends LangiumServices>(options: IntegrationServicesOptions<TContext, TShared, TLanguage>): {
236
+ export declare function createIntegrationServices<TContext extends ServerModuleContext, TShared extends LangiumSharedServices & ServerSharedServices, TLanguage extends LangiumServices>(options: IntegrationServicesOptions<TContext, TShared, TLanguage>): {
221
237
  shared: TShared;
222
238
  language: TLanguage;
223
239
  languages: ReadonlyArray<TLanguage>;
@@ -1 +1 @@
1
- {"version":3,"file":"integration-services.d.ts","sourceRoot":"","sources":["../../src/langium/integration-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,WAAW,EAAU,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAGJ,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACnC,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAA4B,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAExE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,0BAA0B,CACxC,QAAQ,SAAS,mBAAmB,EACpC,OAAO,SAAS,qBAAqB,GAAG,2BAA2B,EACnE,SAAS,SAAS,eAAe;IAEjC;;;;;;;;;OASG;IACH,OAAO,EAAE,QAAQ,CAAC;IAElB;;;;;;;;;OASG;IACH,aAAa,EAAE;QACZ;;;;;;;;;;;;;;WAcG;QACH,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;QACzD,kGAAkG;QAClG,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;QACvD;;;;;;;;;;;;WAYG;QACH,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC,CAAC;QACrE;;;;;;;;;;;;;;;;;;;;;;;WAuBG;QACH,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACnE,CAAC;IAEF;;;;;;;;;;;;;;OAcG;IACH,eAAe,EAAE;QACd,wEAAwE;QACxE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QACrD;;;;WAIG;QACH,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QACxE;;;;;;;;WAQG;QACH,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC;KACnE,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,mBAAmB,CAAC,EAAE,aAAa,CAAC,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnF;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE,aAAa,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC;CAC7E;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB,CACvC,OAAO,SAAS,qBAAqB,GAAG,2BAA2B,EACnE,SAAS,SAAS,eAAe;IAEjC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;IACrD,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;IACzE,mFAAmF;IACnF,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC;CACnE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACtC,QAAQ,SAAS,mBAAmB,EACpC,OAAO,SAAS,qBAAqB,GAAG,2BAA2B,EACnE,SAAS,SAAS,eAAe,EAEjC,OAAO,EAAE,0BAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,GACjE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;CAAE,CA0D/E"}
1
+ {"version":3,"file":"integration-services.d.ts","sourceRoot":"","sources":["../../src/langium/integration-services.ts"],"names":[],"mappings":"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"}
@@ -47,16 +47,19 @@ export function createIntegrationServices(options) {
47
47
  // Each language gets its OWN `createDefaultModule({ shared })` — the
48
48
  // baseline module is per-language state (parser, lexer, linker), so it
49
49
  // cannot be shared between the grammars even though `shared` is.
50
- const composeLanguage = (generated, adopter, extra) => {
50
+ const composeLanguage = (generated, adopter, extra, overrides) => {
51
51
  const defaultLanguageModule = createDefaultModule({ shared });
52
52
  const serverLanguageModule = createServerLanguageModule(context);
53
- return inject(defaultLanguageModule, generated, serverLanguageModule, ...extra, adopter(shared));
53
+ return inject(defaultLanguageModule, generated, serverLanguageModule, ...extra, adopter(shared),
54
+ // Last, so an override outranks the adopter too — see `overrides`.
55
+ ...overrides);
54
56
  };
55
57
  const primaryExtra = (languageModules.extra ?? []);
56
- const language = composeLanguage(languageModules.generated, languageModules.adopter, primaryExtra);
58
+ const primaryOverrides = languageModules.overrides ?? [];
59
+ const language = composeLanguage(languageModules.generated, languageModules.adopter, primaryExtra, primaryOverrides);
57
60
  const languages = [
58
61
  language,
59
- ...additionalLanguages.map(additional => composeLanguage(additional.generated, additional.adopter ?? languageModules.adopter, additional.extra ?? primaryExtra))
62
+ ...additionalLanguages.map(additional => composeLanguage(additional.generated, additional.adopter ?? languageModules.adopter, additional.extra ?? primaryExtra, additional.overrides ?? primaryOverrides))
60
63
  ];
61
64
  // Registers every language before validating slots or building the
62
65
  // eager set, so a shared service that reads the registry during
@@ -1 +1 @@
1
- {"version":3,"file":"integration-services.js","sourceRoot":"","sources":["../../src/langium/integration-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAoB,MAAM,EAAe,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EACJ,mBAAmB,EACnB,yBAAyB,EAK3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAA4B,MAAM,aAAa,CAAC;AA8MjF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAKtC,OAAiE;IAEjE,MAAM,EACH,OAAO,EACP,aAAa,EACb,eAAe,EACf,mBAAmB,GAAG,EAAE,EACxB,0BAA0B,GAAG,sBAAsB,EACrD,GAAG,OAAO,CAAC;IAEZ,sEAAsE;IACtE,yEAAyE;IACzE,2EAA2E;IAC3E,oDAAoD;IACpD,6EAA6E;IAC7E,uEAAuE;IACvE,+EAA+E;IAC/E,6EAA6E;IAC7E,mCAAmC;IACnC,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,CAA6D,CAAC;IACnH,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,OAAO,CAA6D,CAAC;IAC3H,MAAM,MAAM,GAAG,MAAM,CAClB,mBAAmB,EACnB,aAAa,CAAC,SAAS,EACvB,YAAY,EACZ,GAAG,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,EAC9B,aAAa,CAAC,OAAO;IACrB,mEAAmE;IACnE,GAAI,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,CAAkE,CAChF,CAAC;IAExB,qEAAqE;IACrE,uEAAuE;IACvE,iEAAiE;IACjE,MAAM,eAAe,GAAG,CACrB,SAAoD,EACpD,OAAuE,EACvE,KAA+D,EACrD,EAAE;QACZ,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAyD,CAAC;QACtH,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,OAAO,CAAyD,CAAC;QACzH,OAAO,MAAM,CAAC,qBAAqB,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAyB,CAAC;IAC5H,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAA6D,CAAC;IAC/G,MAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnG,MAAM,SAAS,GAAG;QACf,QAAQ;QACR,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CACrC,eAAe,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,IAAI,YAAY,CAAC,CACxH;KACH,CAAC;IAEF,mEAAmE;IACnE,gEAAgE;IAChE,mCAAmC;IACnC,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,0BAA0B,CAAC,CAAC;IAEzE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"integration-services.js","sourceRoot":"","sources":["../../src/langium/integration-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAoB,MAAM,EAAe,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EACJ,mBAAmB,EACnB,yBAAyB,EAK3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAuD,MAAM,aAAa,CAAC;AA8N5G;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAKtC,OAAiE;IAEjE,MAAM,EACH,OAAO,EACP,aAAa,EACb,eAAe,EACf,mBAAmB,GAAG,EAAE,EACxB,0BAA0B,GAAG,sBAAsB,EACrD,GAAG,OAAO,CAAC;IAEZ,sEAAsE;IACtE,yEAAyE;IACzE,2EAA2E;IAC3E,oDAAoD;IACpD,6EAA6E;IAC7E,uEAAuE;IACvE,+EAA+E;IAC/E,6EAA6E;IAC7E,mCAAmC;IACnC,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,CAA6D,CAAC;IACnH,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,OAAO,CAA6D,CAAC;IAC3H,MAAM,MAAM,GAAG,MAAM,CAClB,mBAAmB,EACnB,aAAa,CAAC,SAAS,EACvB,YAAY,EACZ,GAAG,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,EAC9B,aAAa,CAAC,OAAO;IACrB,mEAAmE;IACnE,GAAI,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,CAAkE,CAChF,CAAC;IAExB,qEAAqE;IACrE,uEAAuE;IACvE,iEAAiE;IACjE,MAAM,eAAe,GAAG,CACrB,SAAoD,EACpD,OAAuE,EACvE,KAA+D,EAC/D,SAAmE,EACzD,EAAE;QACZ,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAyD,CAAC;QACtH,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,OAAO,CAAyD,CAAC;QACzH,OAAO,MAAM,CACV,qBAAqB,EACrB,SAAS,EACT,oBAAoB,EACpB,GAAG,KAAK,EACR,OAAO,CAAC,MAAM,CAAC;QACf,mEAAmE;QACnE,GAAI,SAAsE,CACpD,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAA6D,CAAC;IAC/G,MAAM,gBAAgB,GAAG,eAAe,CAAC,SAAS,IAAI,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACrH,MAAM,SAAS,GAAG;QACf,QAAQ;QACR,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CACrC,eAAe,CACZ,UAAU,CAAC,SAAS,EACpB,UAAU,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,EAC7C,UAAU,CAAC,KAAK,IAAI,YAAY,EAChC,UAAU,CAAC,SAAS,IAAI,gBAAgB,CAC1C,CACH;KACH,CAAC;IAEF,mEAAmE;IACnE,gEAAgE;IAChE,mCAAmC;IACnC,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,0BAA0B,CAAC,CAAC;IAEzE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC"}
@@ -32,14 +32,23 @@ export declare namespace IntegrityPhase {
32
32
  function toString(phase: DocumentState): string;
33
33
  }
34
34
  /**
35
- * Controls how integrity corrections are persisted for *closed* files. The
36
- * mode does not reach open files: their corrected text is delivered by the
37
- * model service's settled-state sync, whatever the mode says.
35
+ * Controls how integrity corrections are persisted for files no editor holds.
36
+ * The mode does not reach a file open in the language client: the correction
37
+ * is delivered to the editor, which shows it as an unsaved change.
38
38
  *
39
- * - `silent`: write to disk immediately; no editor involvement.
40
- * - `editor`: open the file dirty via `applyEdit`. If the user closes without
41
- * saving, the correction is suppressed until the file changes or the
42
- * workspace reloads.
39
+ * - `silent`: write to disk immediately; no editor involvement. For a file
40
+ * held only through the data or GLSP head, only while disk still holds the
41
+ * text the correction was computed from and the text store still holds the
42
+ * correction. Otherwise — the holder has unsaved edits, disk changed behind
43
+ * the server, or disk cannot be read — the correction waits in the text
44
+ * store for the next save. A server's first write, whichever language
45
+ * makes it, is logged at `info`, naming the file and the `syncMode` option.
46
+ * - `editor`: leave disk alone and stage the correction; the next open of the
47
+ * file takes it over the disk text, and an editor shows it as an unsaved
48
+ * change. Until then no editor sees it. A file held only through the data
49
+ * or GLSP head is not staged: the correction stays in the text store, and
50
+ * since those heads mark only their own edits unsaved, nothing shows that
51
+ * store and disk differ until a save or the last close.
43
52
  */
44
53
  export type IntegritySyncMode = 'silent' | 'editor';
45
54
  /**
@@ -51,13 +60,18 @@ export type IntegritySyncMode = 'silent' | 'editor';
51
60
  * bucket. Lower runs first; ties break by registration order.
52
61
  */
53
62
  export interface IntegrityRule<T extends AstNode = AstNode> extends RegistryItem {
54
- /** Which AST node type this rule applies to. */
63
+ /** Which AST node type this rule applies to, subtypes included. */
55
64
  readonly nodeType: string;
56
65
  /** At which document state this rule should run. Be aware that extension properties may not be available in all phases. */
57
66
  readonly phase: IntegrityPhase;
58
67
  /**
59
68
  * Apply the rule. Returns `true` if the AST was mutated.
60
69
  *
70
+ * The build does not call it for a document whose parse lacks some of its
71
+ * text, see `hasSkippedText`, unless an override of `isStructurallyBroken`
72
+ * says otherwise, since a repair is written back by serializing the AST. A
73
+ * direct call of `IntegrityService.enforceIntegrity` has no such check.
74
+ *
61
75
  * Mirrors Langium's `ValidationCheck` shape (`MaybePromise<void>`) so a
62
76
  * rule that must consult an external system can return a promise without
63
77
  * forcing every sync rule to pay a microtask tick per node. The
@@ -1 +1 @@
1
- {"version":3,"file":"integrity-rule.d.ts","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,KAAK,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;AAEzE,yBAAiB,cAAc,CAAC;IACtB,MAAM,MAAM,EAAE,cAAqC,CAAC;IACpD,MAAM,MAAM,EAAE,cAAqC,CAAC;IAE3D;;;;;;;;OAQG;IACH,SAAgB,GAAG,IAAI,SAAS,cAAc,EAAE,CAE/C;IAED,SAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CASrD;CACH;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,YAAY;IAC7E,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2HAA2H;IAC3H,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CACrF;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,cAAc,CAAC"}
1
+ {"version":3,"file":"integrity-rule.d.ts","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,KAAK,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;AAEzE,yBAAiB,cAAc,CAAC;IACtB,MAAM,MAAM,EAAE,cAAqC,CAAC;IACpD,MAAM,MAAM,EAAE,cAAqC,CAAC;IAE3D;;;;;;;;OAQG;IACH,SAAgB,GAAG,IAAI,SAAS,cAAc,EAAE,CAE/C;IAED,SAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CASrD;CACH;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,YAAY;IAC7E,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2HAA2H;IAC3H,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CACrF;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"integrity-rule.js","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EAAgB,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AAWvF,MAAM,KAAW,cAAc,CA2B9B;AA3BD,WAAiB,cAAc;IACf,qBAAM,GAAmB,aAAa,CAAC,MAAM,CAAC;IAC9C,qBAAM,GAAmB,aAAa,CAAC,MAAM,CAAC;IAE3D;;;;;;;;OAQG;IACH,SAAgB,GAAG;QAChB,OAAO,CAAC,eAAA,MAAM,EAAE,eAAA,MAAM,CAAC,CAAC;IAC3B,CAAC;IAFe,kBAAG,MAElB,CAAA;IAED,SAAgB,QAAQ,CAAC,KAAoB;QAC1C,QAAQ,KAAK,EAAE,CAAC;YACb,KAAK,aAAa,CAAC,MAAM;gBACtB,OAAO,QAAQ,CAAC;YACnB,KAAK,aAAa,CAAC,MAAM;gBACtB,OAAO,QAAQ,CAAC;YACnB;gBACG,OAAO,WAAW,KAAK,GAAG,CAAC;QACjC,CAAC;IACJ,CAAC;IATe,uBAAQ,WASvB,CAAA;AACJ,CAAC,EA3BgB,cAAc,KAAd,cAAc,QA2B9B;AAuCD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"integrity-rule.js","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EAAgB,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AAWvF,MAAM,KAAW,cAAc,CA2B9B;AA3BD,WAAiB,cAAc;IACf,qBAAM,GAAmB,aAAa,CAAC,MAAM,CAAC;IAC9C,qBAAM,GAAmB,aAAa,CAAC,MAAM,CAAC;IAE3D;;;;;;;;OAQG;IACH,SAAgB,GAAG;QAChB,OAAO,CAAC,qBAAM,EAAE,qBAAM,CAAC,CAAC;IAC3B,CAAC;IAFe,eAAA,GAAG,MAElB,CAAA;IAED,SAAgB,QAAQ,CAAC,KAAoB;QAC1C,QAAQ,KAAK,EAAE,CAAC;YACb,KAAK,aAAa,CAAC,MAAM;gBACtB,OAAO,QAAQ,CAAC;YACnB,KAAK,aAAa,CAAC,MAAM;gBACtB,OAAO,QAAQ,CAAC;YACnB;gBACG,OAAO,WAAW,KAAK,GAAG,CAAC;QACjC,CAAC;IACJ,CAAC;IATe,eAAA,QAAQ,WASvB,CAAA;AACJ,CAAC,EA3BgB,cAAc,KAAd,cAAc,QA2B9B;AAqDD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC"}
@@ -8,10 +8,10 @@
8
8
  ********************************************************************************/
9
9
  import { Logger, type ProfileSession, type Tracer } from '@hydranium/protocol';
10
10
  import { type AstNode, DocumentState, type LangiumDocument } from '@hydranium/langium';
11
- import { type CancellationToken, type Disposable } from 'vscode-languageserver';
11
+ import { CancellationToken, type Disposable } from 'vscode-languageserver';
12
12
  import { type HydraniumDocumentBuilder } from '../document-builder/document-builder.js';
13
13
  import { type TextDocument } from 'vscode-languageserver-textdocument';
14
- import { type WritableFileSystemProvider } from '../../documents/ast-document-manager.js';
14
+ import { type WritableFileSystemProvider } from '../workspace/file-system-provider.js';
15
15
  import { type LogNameOptions } from '../diagnostics/logger.js';
16
16
  import { type HydraniumTextDocuments } from '../../documents/hydranium-text-documents.js';
17
17
  import { Registry } from '../../util/registry.js';
@@ -67,6 +67,14 @@ export declare namespace IntegrityService {
67
67
  * at `DocumentState.Validated` and delivered separately via `publishDiagnostics`
68
68
  * or the `onModelUpdated` event.
69
69
  *
70
+ * A document whose parse lacks some of its text reaches this state
71
+ * unrepaired: no rule runs on it until it parses.
72
+ *
73
+ * The AST is what this guarantees, not the text. For a closed document whose
74
+ * repair was STAGED rather than written (`'editor'` sync mode),
75
+ * `textDocument` still mirrors disk — read the repair off the AST, or from
76
+ * the staged content the next open consumes.
77
+ *
70
78
  * Invariant: integrity rules only register at Parsed or Linked, so the build
71
79
  * is guaranteed post-integrity once it advances past `onBuildPhase(Linked)`
72
80
  * into `IndexedReferences`. {@link IntegrityService.register} enforces this at
@@ -113,15 +121,16 @@ export declare class DefaultIntegrityService<TRoot extends AstNode = AstNode> im
113
121
  /** One logger per rule, created at registration and dropped on unregister. */
114
122
  protected ruleLoggers: Map<string, Logger>;
115
123
  /**
116
- * Rules bucketed by the phase they target, preserving the registry's
117
- * priority order within each bucket. Rebuilt lazily on the first
118
- * `enforceIntegrity` call after a registry mutation — staleness is detected
119
- * via reference identity of the registry's cached array (see
120
- * {@link Registry.all}). Filtering the rule list per call would instead
121
- * allocate one transient array per document per phase, which a workspace
122
- * whose documents all settle at the same phase pays on every build.
124
+ * Rules bucketed by the phase they target, then by each `$type` from
125
+ * {@link nodeTypesFor}, preserving the registry's priority order within
126
+ * each bucket. Rebuilt lazily on the first `enforceIntegrity` call after a
127
+ * registry mutation — staleness is detected via reference identity of the
128
+ * registry's cached array (see {@link Registry.all}). Filtering the rule
129
+ * list per call would instead allocate one transient array per document per
130
+ * phase, which a workspace whose documents all settle at the same phase pays
131
+ * on every build.
123
132
  */
124
- protected phaseBuckets: Map<DocumentState, readonly IntegrityRule<AstNode>[]>;
133
+ protected phaseBuckets: Map<DocumentState, ReadonlyMap<string, readonly IntegrityRule<AstNode>[]>>;
125
134
  protected phaseBucketsFor: readonly IntegrityRule[] | undefined;
126
135
  /** Controls how corrections are persisted for closed files. See {@link IntegritySyncMode}. */
127
136
  protected readonly syncMode: IntegritySyncMode;
@@ -130,9 +139,7 @@ export declare class DefaultIntegrityService<TRoot extends AstNode = AstNode> im
130
139
  protected readonly tracer: Tracer;
131
140
  /**
132
141
  * The framework document builder, used to re-parse + re-link a document in place after a
133
- * Linked-phase correction (see {@link resyncDocument}). The framework binds
134
- * `shared.workspace.DocumentBuilder` to {@link HydraniumDocumentBuilder}; the narrowing
135
- * cast surfaces its single-document phase runner.
142
+ * Linked-phase correction (see {@link resyncDocument}).
136
143
  */
137
144
  protected readonly documentBuilder: HydraniumDocumentBuilder;
138
145
  constructor(services: ServerLanguageServices, options?: IntegrityServiceOptions);
@@ -155,6 +162,12 @@ export declare class DefaultIntegrityService<TRoot extends AstNode = AstNode> im
155
162
  register<T extends AstNode>(rule: IntegrityRule<T>): Disposable;
156
163
  /** Remove a rule by id. Returns `true` if a rule was removed. Useful for adopters that want to swap a built-in rule. */
157
164
  unregister(id: string): boolean;
165
+ /**
166
+ * Seam: does the parse of `document` lack some of its text? {@link enforceBatch}
167
+ * runs no rule on such a document, because a repair is written back by
168
+ * serializing the AST, and a recovered AST lacks what the parser skipped.
169
+ */
170
+ protected isStructurallyBroken(document: LangiumDocument): boolean;
158
171
  /**
159
172
  * Run all rules for the given phase against matching AST nodes. Returns
160
173
  * `true` if any rule mutated the AST.
@@ -173,34 +186,90 @@ export declare class DefaultIntegrityService<TRoot extends AstNode = AstNode> im
173
186
  * full rule sweep) — coarser than per (node × rule) to avoid a microtask
174
187
  * per inner iteration, finer than per-document so a long-running rule set
175
188
  * on a large file can still interrupt mid-stream. Throws
176
- * `OperationCancelled` when the token is cancelled; Langium's build
177
- * pipeline absorbs the throw at the lock-holder.
189
+ * `OperationCancelled` when the token is cancelled before any rule mutated
190
+ * the AST; Langium's build pipeline absorbs the throw at the lock-holder.
191
+ * After a mutation it stops the sweep and returns `true` instead, so the
192
+ * caller can resync what was mutated before the cancellation unwinds.
178
193
  */
179
194
  enforceIntegrity(document: LangiumDocument, phase: DocumentState, cancelToken?: CancellationToken, session?: ProfileSession): Promise<boolean>;
180
195
  /**
181
196
  * Re-serialise the document text after AST mutations, propagate corrections,
182
197
  * and re-parse at Parsed phase (safe because linking hasn't occurred yet).
183
198
  *
184
- * `cancelToken` is checked at entry so a preempted build skips the
185
- * serialise / disk-write atomic; the steps inside resync are not further
186
- * subdivided because each is a single fast operation that does not yield
187
- * a natural interruption point.
199
+ * Runs to the end whatever `cancelToken` says: the AST is already mutated,
200
+ * and skipping the resync leaves it against unchanged text that the next
201
+ * build does not re-parse. `cancelToken` reaches only the re-parse.
188
202
  */
189
203
  protected resyncDocument(document: LangiumDocument, cancelToken?: CancellationToken): Promise<void>;
204
+ /**
205
+ * Bring `document` back into agreement with the text it is supposed to
206
+ * describe, after a rule has mutated its AST.
207
+ *
208
+ * Used for a correction that was applied and for one that was abandoned,
209
+ * because the document is left inconsistent either way: applied, the text
210
+ * moved under the CST; abandoned, the AST carries a mutation the text never
211
+ * had. Both are the same question — re-read and re-derive — and the phase is
212
+ * what decides how far that has to go.
213
+ */
214
+ protected reconcileDocument(document: LangiumDocument, cancelToken?: CancellationToken): Promise<void>;
190
215
  /**
191
216
  * Propagate a correction to disk and/or the editor. The corrected text is
192
217
  * already in the synced store (in-place in {@link resyncDocument}); this
193
218
  * method routes the out-of-band part by document registration:
194
219
  *
195
- * - **Open in the language client** → nothing to push here. The AST mutation
196
- * rode the current build, so `ModelService.syncToLanguageClient` (the
197
- * persistent integrity-settled listener) mirrors the corrected text to the
198
- * client by *content* (shadow diff) — no authorship rewrite, no second
199
- * rebuild.
220
+ * - **Open in the language client** → nothing to push here. The AST
221
+ * mutation rode the current build, so
222
+ * `DefaultModelService.syncToLanguageClient` (the persistent
223
+ * integrity-settled listener) mirrors it to the client by
224
+ * *content* (shadow diff), and the editor shows it as an unsaved change.
225
+ * - **Held only through the data or GLSP head**, or waiting out the release
226
+ * grace after its last client's connection was lost → the store is the
227
+ * authority, and those heads read the correction from the settled build.
228
+ * In silent mode it is also written to disk when the text it was computed
229
+ * from is what disk holds, since the repair is then the only difference;
230
+ * otherwise it waits for the next save. Editor mode always waits, and the
231
+ * repair leaves the document dirty until a save.
200
232
  * - **Closed, silent mode** → write to disk directly (disk is authoritative).
201
- * - **Closed, editor mode** → stage so the next open picks it up via applyEdit.
233
+ * - **Closed, editor mode** → stage, so the next open takes the correction
234
+ * over the disk text.
235
+ *
236
+ * A held URI is not closed. Writing it as one persists the holder's unsaved
237
+ * edits with the repair, and staging it leaves text no open reads, because
238
+ * only a first open consumes the stage.
239
+ *
240
+ * `parsedFrom` is the text the repaired AST was parsed from. Without it a
241
+ * held URI's repair is left to the next save.
202
242
  */
203
- protected syncCorrections(document: TextDocument): Promise<void>;
243
+ protected syncCorrections(document: TextDocument, parsedFrom?: string): Promise<void>;
244
+ /**
245
+ * Write the repair in `document` to disk when disk still holds `parsedFrom`,
246
+ * the text the repair was computed from — so the write carries the repair
247
+ * and nothing a holder could still discard.
248
+ *
249
+ * The read, the compare and the write run as one task in the file's task
250
+ * queue, so no save of the file lands between them. The store is compared
251
+ * again once the read returns, and the write is skipped if it no longer
252
+ * holds the repair: an edit does not wait for the queue, and writing the
253
+ * older repair then puts text on disk that no participant holds. The
254
+ * skipped repair loses nothing: the edit drives a build of its own, and a
255
+ * save writes the store's text. A file that cannot be read is left alone
256
+ * too: there is no evidence it matches. So is a file an editor opened in the
257
+ * meantime: the editor receives the repair as an unsaved change, and writing
258
+ * it would change the file under the editor.
259
+ */
260
+ protected persistIfDiskMatches(document: TextDocument, parsedFrom: string): Promise<void>;
261
+ /**
262
+ * Hand the first repair written to disk in `'silent'` sync mode to
263
+ * {@link reportSilentWrite}. Once per server, whichever language writes,
264
+ * rather than per file: a workspace-wide repair pass would otherwise log a
265
+ * line per document.
266
+ */
267
+ protected noteSilentWrite(uri: string): void;
268
+ /**
269
+ * Log a server's first silent write-back, so an adopter learns that
270
+ * integrity rules edit their files and which setting controls it.
271
+ */
272
+ protected reportSilentWrite(uri: string): void;
204
273
  /**
205
274
  * Format a rule's name for inclusion in user-facing diagnostic strings
206
275
  * (error messages thrown during registration). Defaults to
@@ -216,6 +285,14 @@ export declare class DefaultIntegrityService<TRoot extends AstNode = AstNode> im
216
285
  * domain-specific context.
217
286
  */
218
287
  protected formatNode(node: AstNode): string;
219
- protected getPhaseBucket(phase: DocumentState): readonly IntegrityRule[];
288
+ /**
289
+ * The `$type`s `rule` runs on. Defaults to its `nodeType` and every subtype,
290
+ * as Langium's validation registry does: no node carries an abstract or union
291
+ * type as its `$type`, so an exact match never runs a rule keyed on one.
292
+ * Read only when the phase buckets rebuild after a registration change, so an
293
+ * override must not depend on anything else.
294
+ */
295
+ protected nodeTypesFor(rule: IntegrityRule): Iterable<string>;
296
+ protected getPhaseBucket(phase: DocumentState): ReadonlyMap<string, readonly IntegrityRule[]>;
220
297
  }
221
298
  //# sourceMappingURL=integrity-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"integrity-service.d.ts","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAiB,MAAM,EAAE,KAAK,cAAc,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,KAAK,OAAO,EAAY,aAAa,EAAqB,KAAK,eAAe,EAAY,MAAM,oBAAoB,CAAC;AAC9H,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAkB,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEjG;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,qBAAqB;IAC7F,iEAAiE;IACjE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC;;;;;;OAMG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChI;;;;;;;;;OASG;IACH,gBAAgB,CACb,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,EAChC,KAAK,EAAE,aAAa,EACpB,WAAW,CAAC,EAAE,iBAAiB,EAC/B,OAAO,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB;AAED,yBAAiB,gBAAgB,CAAC;IAC/B;;;;;;;;;;;;;;;;OAgBG;IACI,MAAM,YAAY,EAAE,aAA+C,CAAC;CAC7E;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC5D;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,uBAAuB,CAAC,KAAK,SAAS,OAAO,GAAG,OAAO,CAAE,YAAW,gBAAgB,CAAC,KAAK,CAAC;IAiClG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB;IAhCtD,uGAAuG;IACvG,SAAS,CAAC,QAAQ,CAAC,KAAK,mCAAiC;IACzD,8EAA8E;IAC9E,SAAS,CAAC,WAAW,sBAA6B;IAElD;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,wDAAsD;IAC5E,SAAS,CAAC,eAAe,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;IAEhE,8FAA8F;IAC9F,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAE/C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACvE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;IAClE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,wBAAwB,CAAC;gBAGvC,QAAQ,EAAE,sBAAsB,EACnD,OAAO,GAAE,uBAA4B;IAmBxC;;;;;;;;;;;;;OAaG;IACG,YAAY,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB9H,uFAAuF;IACvF,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,UAAU;IAqB/D,wHAAwH;IACxH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAQ/B;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,gBAAgB,CACnB,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,aAAa,EACpB,WAAW,CAAC,EAAE,iBAAiB,EAC/B,OAAO,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,OAAO,CAAC;IAiCnB;;;;;;;;OAQG;cACa,cAAc,CAAC,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCzG;;;;;;;;;;;;OAYG;cACa,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBtE;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;IAIjD;;;;;;OAMG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;IAQ3C,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,aAAa,EAAE;CAiB1E"}
1
+ {"version":3,"file":"integrity-service.d.ts","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-service.ts"],"names":[],"mappings":"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"}