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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (657) hide show
  1. package/README.md +21 -13
  2. package/lib/documents/ast-document-manager.d.ts +219 -122
  3. package/lib/documents/ast-document-manager.d.ts.map +1 -1
  4. package/lib/documents/ast-document-manager.js +241 -130
  5. package/lib/documents/ast-document-manager.js.map +1 -1
  6. package/lib/documents/client-ids.d.ts +5 -19
  7. package/lib/documents/client-ids.d.ts.map +1 -1
  8. package/lib/documents/client-ids.js +5 -19
  9. package/lib/documents/client-ids.js.map +1 -1
  10. package/lib/documents/client-session-errors.d.ts +15 -0
  11. package/lib/documents/client-session-errors.d.ts.map +1 -0
  12. package/lib/documents/client-session-errors.js +15 -0
  13. package/lib/documents/client-session-errors.js.map +1 -0
  14. package/lib/documents/client-session-registry.d.ts +146 -0
  15. package/lib/documents/client-session-registry.d.ts.map +1 -0
  16. package/lib/documents/client-session-registry.js +207 -0
  17. package/lib/documents/client-session-registry.js.map +1 -0
  18. package/lib/documents/dirty-state-tracker.d.ts +79 -0
  19. package/lib/documents/dirty-state-tracker.d.ts.map +1 -0
  20. package/lib/documents/dirty-state-tracker.js +69 -0
  21. package/lib/documents/dirty-state-tracker.js.map +1 -0
  22. package/lib/documents/document-release-handler.d.ts +179 -0
  23. package/lib/documents/document-release-handler.d.ts.map +1 -0
  24. package/lib/documents/document-release-handler.js +283 -0
  25. package/lib/documents/document-release-handler.js.map +1 -0
  26. package/lib/documents/document-release-scheduler.d.ts +67 -0
  27. package/lib/documents/document-release-scheduler.d.ts.map +1 -0
  28. package/lib/documents/document-release-scheduler.js +80 -0
  29. package/lib/documents/document-release-scheduler.js.map +1 -0
  30. package/lib/documents/file-system-task-queue.d.ts +49 -0
  31. package/lib/documents/file-system-task-queue.d.ts.map +1 -0
  32. package/lib/documents/file-system-task-queue.js +34 -0
  33. package/lib/documents/file-system-task-queue.js.map +1 -0
  34. package/lib/documents/hydranium-text-documents.d.ts +399 -282
  35. package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
  36. package/lib/documents/hydranium-text-documents.js +816 -483
  37. package/lib/documents/hydranium-text-documents.js.map +1 -1
  38. package/lib/documents/index.d.ts +10 -2
  39. package/lib/documents/index.d.ts.map +1 -1
  40. package/lib/documents/index.js +10 -2
  41. package/lib/documents/index.js.map +1 -1
  42. package/lib/documents/language-client-shadow.d.ts +218 -0
  43. package/lib/documents/language-client-shadow.d.ts.map +1 -0
  44. package/lib/documents/language-client-shadow.js +283 -0
  45. package/lib/documents/language-client-shadow.js.map +1 -0
  46. package/lib/documents/model-ledger.d.ts +47 -0
  47. package/lib/documents/model-ledger.d.ts.map +1 -0
  48. package/lib/documents/model-ledger.js +30 -0
  49. package/lib/documents/model-ledger.js.map +1 -0
  50. package/lib/documents/text-ledger.d.ts +64 -0
  51. package/lib/documents/text-ledger.d.ts.map +1 -0
  52. package/lib/documents/text-ledger.js +63 -0
  53. package/lib/documents/text-ledger.js.map +1 -0
  54. package/lib/documents/version-sync-service.d.ts +134 -0
  55. package/lib/documents/version-sync-service.d.ts.map +1 -0
  56. package/lib/documents/version-sync-service.js +171 -0
  57. package/lib/documents/version-sync-service.js.map +1 -0
  58. package/lib/index.d.ts +5 -0
  59. package/lib/index.d.ts.map +1 -1
  60. package/lib/index.js +8 -0
  61. package/lib/index.js.map +1 -1
  62. package/lib/langium/ast-extension/ast-extension-service.d.ts.map +1 -1
  63. package/lib/langium/ast-extension/ast-extension-service.js.map +1 -1
  64. package/lib/langium/ast-extension/ast-node-builder.d.ts +32 -9
  65. package/lib/langium/ast-extension/ast-node-builder.d.ts.map +1 -1
  66. package/lib/langium/ast-extension/ast-node-builder.js +60 -22
  67. package/lib/langium/ast-extension/ast-node-builder.js.map +1 -1
  68. package/lib/langium/bootstrap.d.ts +23 -16
  69. package/lib/langium/bootstrap.d.ts.map +1 -1
  70. package/lib/langium/bootstrap.js +66 -28
  71. package/lib/langium/bootstrap.js.map +1 -1
  72. package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts.map +1 -1
  73. package/lib/langium/build-phase-pass/build-phase-pass-service.js.map +1 -1
  74. package/lib/langium/composite-ast-reflection.d.ts +46 -0
  75. package/lib/langium/composite-ast-reflection.d.ts.map +1 -0
  76. package/lib/langium/composite-ast-reflection.js +97 -0
  77. package/lib/langium/composite-ast-reflection.js.map +1 -0
  78. package/lib/langium/config/configuration-provider.d.ts +81 -0
  79. package/lib/langium/config/configuration-provider.d.ts.map +1 -0
  80. package/lib/langium/config/configuration-provider.js +112 -0
  81. package/lib/langium/config/configuration-provider.js.map +1 -0
  82. package/lib/langium/config/index.d.ts +1 -0
  83. package/lib/langium/config/index.d.ts.map +1 -1
  84. package/lib/langium/config/index.js +1 -0
  85. package/lib/langium/config/index.js.map +1 -1
  86. package/lib/langium/config/settings.js.map +1 -1
  87. package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts.map +1 -1
  88. package/lib/langium/diagnostics/hydranium-langium-profiler.js.map +1 -1
  89. package/lib/langium/diagnostics/logger.d.ts +10 -3
  90. package/lib/langium/diagnostics/logger.d.ts.map +1 -1
  91. package/lib/langium/diagnostics/logger.js +12 -5
  92. package/lib/langium/diagnostics/logger.js.map +1 -1
  93. package/lib/langium/diagnostics/lsp-logger.d.ts +17 -0
  94. package/lib/langium/diagnostics/lsp-logger.d.ts.map +1 -1
  95. package/lib/langium/diagnostics/lsp-logger.js +57 -16
  96. package/lib/langium/diagnostics/lsp-logger.js.map +1 -1
  97. package/lib/langium/diagnostics/server-tracer.d.ts.map +1 -1
  98. package/lib/langium/diagnostics/server-tracer.js.map +1 -1
  99. package/lib/langium/document-builder/build-pipeline-integration.d.ts +21 -1
  100. package/lib/langium/document-builder/build-pipeline-integration.d.ts.map +1 -1
  101. package/lib/langium/document-builder/build-pipeline-integration.js +32 -5
  102. package/lib/langium/document-builder/build-pipeline-integration.js.map +1 -1
  103. package/lib/langium/document-builder/build-session.d.ts +93 -0
  104. package/lib/langium/document-builder/build-session.d.ts.map +1 -0
  105. package/lib/langium/document-builder/build-session.js +72 -0
  106. package/lib/langium/document-builder/build-session.js.map +1 -0
  107. package/lib/langium/document-builder/document-builder.d.ts +401 -29
  108. package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
  109. package/lib/langium/document-builder/document-builder.js +698 -61
  110. package/lib/langium/document-builder/document-builder.js.map +1 -1
  111. package/lib/langium/document-builder/index.d.ts +1 -0
  112. package/lib/langium/document-builder/index.d.ts.map +1 -1
  113. package/lib/langium/document-builder/index.js +1 -0
  114. package/lib/langium/document-builder/index.js.map +1 -1
  115. package/lib/langium/documentation/comment-provider.d.ts.map +1 -1
  116. package/lib/langium/documentation/comment-provider.js.map +1 -1
  117. package/lib/langium/integration-services.d.ts +61 -19
  118. package/lib/langium/integration-services.d.ts.map +1 -1
  119. package/lib/langium/integration-services.js +10 -5
  120. package/lib/langium/integration-services.js.map +1 -1
  121. package/lib/langium/integrity/integrity-rule.d.ts +16 -8
  122. package/lib/langium/integrity/integrity-rule.d.ts.map +1 -1
  123. package/lib/langium/integrity/integrity-rule.js.map +1 -1
  124. package/lib/langium/integrity/integrity-service.d.ts +81 -24
  125. package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
  126. package/lib/langium/integrity/integrity-service.js +264 -57
  127. package/lib/langium/integrity/integrity-service.js.map +1 -1
  128. package/lib/langium/keys/containment.d.ts +64 -0
  129. package/lib/langium/keys/containment.d.ts.map +1 -0
  130. package/lib/langium/keys/containment.js +53 -0
  131. package/lib/langium/keys/containment.js.map +1 -0
  132. package/lib/langium/keys/index.d.ts +1 -0
  133. package/lib/langium/keys/index.d.ts.map +1 -1
  134. package/lib/langium/keys/index.js +1 -0
  135. package/lib/langium/keys/index.js.map +1 -1
  136. package/lib/langium/keys/name-based-key-provider.d.ts +4 -0
  137. package/lib/langium/keys/name-based-key-provider.d.ts.map +1 -1
  138. package/lib/langium/keys/name-based-key-provider.js +4 -0
  139. package/lib/langium/keys/name-based-key-provider.js.map +1 -1
  140. package/lib/langium/keys/positional-key-provider.d.ts.map +1 -1
  141. package/lib/langium/keys/positional-key-provider.js.map +1 -1
  142. package/lib/langium/labeling/label-provider.d.ts.map +1 -1
  143. package/lib/langium/labeling/label-provider.js.map +1 -1
  144. package/lib/langium/language-module.d.ts +29 -4
  145. package/lib/langium/language-module.d.ts.map +1 -1
  146. package/lib/langium/language-module.js +18 -4
  147. package/lib/langium/language-module.js.map +1 -1
  148. package/lib/langium/model-service/client-session.d.ts +343 -0
  149. package/lib/langium/model-service/client-session.d.ts.map +1 -0
  150. package/lib/langium/model-service/client-session.js +411 -0
  151. package/lib/langium/model-service/client-session.js.map +1 -0
  152. package/lib/langium/model-service/index.d.ts +2 -0
  153. package/lib/langium/model-service/index.d.ts.map +1 -1
  154. package/lib/langium/model-service/index.js +2 -0
  155. package/lib/langium/model-service/index.js.map +1 -1
  156. package/lib/langium/model-service/model-events.d.ts +61 -0
  157. package/lib/langium/model-service/model-events.d.ts.map +1 -0
  158. package/lib/langium/model-service/model-events.js +10 -0
  159. package/lib/langium/model-service/model-events.js.map +1 -0
  160. package/lib/langium/model-service/model-service.d.ts +432 -282
  161. package/lib/langium/model-service/model-service.d.ts.map +1 -1
  162. package/lib/langium/model-service/model-service.js +504 -438
  163. package/lib/langium/model-service/model-service.js.map +1 -1
  164. package/lib/langium/module.d.ts +157 -35
  165. package/lib/langium/module.d.ts.map +1 -1
  166. package/lib/langium/module.js +52 -35
  167. package/lib/langium/module.js.map +1 -1
  168. package/lib/langium/naming/name-provider.d.ts +25 -4
  169. package/lib/langium/naming/name-provider.d.ts.map +1 -1
  170. package/lib/langium/naming/name-provider.js +2 -1
  171. package/lib/langium/naming/name-provider.js.map +1 -1
  172. package/lib/langium/naming/name-separator-validation.d.ts +23 -0
  173. package/lib/langium/naming/name-separator-validation.d.ts.map +1 -1
  174. package/lib/langium/naming/name-separator-validation.js +30 -1
  175. package/lib/langium/naming/name-separator-validation.js.map +1 -1
  176. package/lib/langium/project/abstract-project-manager.d.ts.map +1 -1
  177. package/lib/langium/project/abstract-project-manager.js +9 -2
  178. package/lib/langium/project/abstract-project-manager.js.map +1 -1
  179. package/lib/langium/project/project-change-event.d.ts +2 -2
  180. package/lib/langium/project/single-project-manager.d.ts.map +1 -1
  181. package/lib/langium/project/single-project-manager.js.map +1 -1
  182. package/lib/langium/residency/cst-residency-service.d.ts +31 -11
  183. package/lib/langium/residency/cst-residency-service.d.ts.map +1 -1
  184. package/lib/langium/residency/cst-residency-service.js +23 -57
  185. package/lib/langium/residency/cst-residency-service.js.map +1 -1
  186. package/lib/langium/scope/ast-node-description-provider.d.ts.map +1 -1
  187. package/lib/langium/scope/ast-node-description-provider.js.map +1 -1
  188. package/lib/langium/scope/hydranium-scope-computation.d.ts.map +1 -1
  189. package/lib/langium/scope/hydranium-scope-computation.js.map +1 -1
  190. package/lib/langium/scope/hydranium-scope-provider.d.ts +48 -13
  191. package/lib/langium/scope/hydranium-scope-provider.d.ts.map +1 -1
  192. package/lib/langium/scope/hydranium-scope-provider.js +56 -20
  193. package/lib/langium/scope/hydranium-scope-provider.js.map +1 -1
  194. package/lib/langium/scope/reference-builder.d.ts.map +1 -1
  195. package/lib/langium/scope/reference-builder.js.map +1 -1
  196. package/lib/langium/scope/reference-candidate-provider.d.ts.map +1 -1
  197. package/lib/langium/scope/reference-candidate-provider.js.map +1 -1
  198. package/lib/langium/scope/scope-extension-service.d.ts.map +1 -1
  199. package/lib/langium/scope/scope-extension-service.js.map +1 -1
  200. package/lib/langium/serialization/abstract-serializer.d.ts +11 -20
  201. package/lib/langium/serialization/abstract-serializer.d.ts.map +1 -1
  202. package/lib/langium/serialization/abstract-serializer.js +12 -21
  203. package/lib/langium/serialization/abstract-serializer.js.map +1 -1
  204. package/lib/langium/serialization/json-serializer.d.ts +1 -1
  205. package/lib/langium/serialization/json-serializer.d.ts.map +1 -1
  206. package/lib/langium/serialization/json-serializer.js.map +1 -1
  207. package/lib/langium/serialization/yaml-serializer.d.ts.map +1 -1
  208. package/lib/langium/serialization/yaml-serializer.js.map +1 -1
  209. package/lib/langium/service-registry.d.ts +29 -1
  210. package/lib/langium/service-registry.d.ts.map +1 -1
  211. package/lib/langium/service-registry.js +37 -0
  212. package/lib/langium/service-registry.js.map +1 -1
  213. package/lib/langium/shared-services.d.ts +23 -6
  214. package/lib/langium/shared-services.d.ts.map +1 -1
  215. package/lib/langium/shared-services.js.map +1 -1
  216. package/lib/langium/single-langium-copy.d.ts +22 -0
  217. package/lib/langium/single-langium-copy.d.ts.map +1 -0
  218. package/lib/langium/single-langium-copy.js +36 -0
  219. package/lib/langium/single-langium-copy.js.map +1 -0
  220. package/lib/langium/transfer/transfer-encoder.d.ts +77 -26
  221. package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
  222. package/lib/langium/transfer/transfer-encoder.js +46 -24
  223. package/lib/langium/transfer/transfer-encoder.js.map +1 -1
  224. package/lib/langium/trivia/comment-preserver.d.ts +423 -0
  225. package/lib/langium/trivia/comment-preserver.d.ts.map +1 -0
  226. package/lib/langium/trivia/comment-preserver.js +906 -0
  227. package/lib/langium/trivia/comment-preserver.js.map +1 -0
  228. package/lib/langium/trivia/document-ending-preserver.d.ts +43 -0
  229. package/lib/langium/trivia/document-ending-preserver.d.ts.map +1 -0
  230. package/lib/langium/trivia/document-ending-preserver.js +48 -0
  231. package/lib/langium/trivia/document-ending-preserver.js.map +1 -0
  232. package/lib/langium/trivia/index.d.ts +14 -0
  233. package/lib/langium/trivia/index.d.ts.map +1 -0
  234. package/lib/langium/trivia/index.js +14 -0
  235. package/lib/langium/trivia/index.js.map +1 -0
  236. package/lib/langium/trivia/trivia-contribution.d.ts +37 -0
  237. package/lib/langium/trivia/trivia-contribution.d.ts.map +1 -0
  238. package/lib/langium/trivia/trivia-contribution.js +10 -0
  239. package/lib/langium/trivia/trivia-contribution.js.map +1 -0
  240. package/lib/langium/trivia/trivia-preserver.d.ts +50 -0
  241. package/lib/langium/trivia/trivia-preserver.d.ts.map +1 -0
  242. package/lib/langium/trivia/trivia-preserver.js +10 -0
  243. package/lib/langium/trivia/trivia-preserver.js.map +1 -0
  244. package/lib/langium/trivia/trivia-service.d.ts +70 -0
  245. package/lib/langium/trivia/trivia-service.d.ts.map +1 -0
  246. package/lib/langium/trivia/trivia-service.js +56 -0
  247. package/lib/langium/trivia/trivia-service.js.map +1 -0
  248. package/lib/langium/update-rewrite/normalize-empty-strings.d.ts.map +1 -1
  249. package/lib/langium/update-rewrite/update-rewrite-service.d.ts.map +1 -1
  250. package/lib/langium/update-rewrite/update-rewrite-service.js.map +1 -1
  251. package/lib/langium/update-rewrite/update-rewrite.d.ts +1 -1
  252. package/lib/langium/validation/document-validator.d.ts +294 -10
  253. package/lib/langium/validation/document-validator.d.ts.map +1 -1
  254. package/lib/langium/validation/document-validator.js +448 -5
  255. package/lib/langium/validation/document-validator.js.map +1 -1
  256. package/lib/langium/validation/validation-contribution-collector.d.ts +9 -1
  257. package/lib/langium/validation/validation-contribution-collector.d.ts.map +1 -1
  258. package/lib/langium/validation/validation-contribution-collector.js +1 -1
  259. package/lib/langium/validation/validation-contribution-collector.js.map +1 -1
  260. package/lib/langium/workspace/document-uri-policy.d.ts +18 -14
  261. package/lib/langium/workspace/document-uri-policy.d.ts.map +1 -1
  262. package/lib/langium/workspace/document-uri-policy.js +10 -9
  263. package/lib/langium/workspace/document-uri-policy.js.map +1 -1
  264. package/lib/langium/workspace/file-not-found.d.ts +23 -0
  265. package/lib/langium/workspace/file-not-found.d.ts.map +1 -0
  266. package/lib/langium/workspace/file-not-found.js +31 -0
  267. package/lib/langium/workspace/file-not-found.js.map +1 -0
  268. package/lib/langium/workspace/file-system-provider.d.ts +135 -9
  269. package/lib/langium/workspace/file-system-provider.d.ts.map +1 -1
  270. package/lib/langium/workspace/file-system-provider.js +93 -14
  271. package/lib/langium/workspace/file-system-provider.js.map +1 -1
  272. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts +56 -1
  273. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts.map +1 -1
  274. package/lib/langium/workspace/hydranium-langium-document-factory.js +79 -0
  275. package/lib/langium/workspace/hydranium-langium-document-factory.js.map +1 -1
  276. package/lib/langium/workspace/hydranium-workspace-lock.d.ts +43 -1
  277. package/lib/langium/workspace/hydranium-workspace-lock.d.ts.map +1 -1
  278. package/lib/langium/workspace/hydranium-workspace-lock.js +58 -1
  279. package/lib/langium/workspace/hydranium-workspace-lock.js.map +1 -1
  280. package/lib/langium/workspace/hydranium-workspace-manager.d.ts +82 -9
  281. package/lib/langium/workspace/hydranium-workspace-manager.d.ts.map +1 -1
  282. package/lib/langium/workspace/hydranium-workspace-manager.js +128 -10
  283. package/lib/langium/workspace/hydranium-workspace-manager.js.map +1 -1
  284. package/lib/langium/workspace/in-memory-file-system-provider.d.ts +26 -3
  285. package/lib/langium/workspace/in-memory-file-system-provider.d.ts.map +1 -1
  286. package/lib/langium/workspace/in-memory-file-system-provider.js +41 -15
  287. package/lib/langium/workspace/in-memory-file-system-provider.js.map +1 -1
  288. package/lib/langium/workspace/index-manager.d.ts.map +1 -1
  289. package/lib/langium/workspace/index-manager.js.map +1 -1
  290. package/lib/langium/workspace/index.d.ts +1 -0
  291. package/lib/langium/workspace/index.d.ts.map +1 -1
  292. package/lib/langium/workspace/index.js +1 -0
  293. package/lib/langium/workspace/index.js.map +1 -1
  294. package/lib/langium/workspace/initialize-workspace.d.ts +31 -2
  295. package/lib/langium/workspace/initialize-workspace.d.ts.map +1 -1
  296. package/lib/langium/workspace/initialize-workspace.js +13 -5
  297. package/lib/langium/workspace/initialize-workspace.js.map +1 -1
  298. package/lib/langium/workspace/langium-documents.d.ts +86 -17
  299. package/lib/langium/workspace/langium-documents.d.ts.map +1 -1
  300. package/lib/langium/workspace/langium-documents.js +101 -29
  301. package/lib/langium/workspace/langium-documents.js.map +1 -1
  302. package/lib/langium/workspace/persistent-file-system-provider.d.ts +1 -8
  303. package/lib/langium/workspace/persistent-file-system-provider.d.ts.map +1 -1
  304. package/lib/langium/workspace/persistent-file-system-provider.js +0 -7
  305. package/lib/langium/workspace/persistent-file-system-provider.js.map +1 -1
  306. package/lib/{documents → langium/workspace}/self-save-registry.d.ts +38 -7
  307. package/lib/langium/workspace/self-save-registry.d.ts.map +1 -0
  308. package/lib/{documents → langium/workspace}/self-save-registry.js +29 -16
  309. package/lib/langium/workspace/self-save-registry.js.map +1 -0
  310. package/lib/langium/workspace/virtual-document.d.ts +48 -15
  311. package/lib/langium/workspace/virtual-document.d.ts.map +1 -1
  312. package/lib/langium/workspace/virtual-document.js +78 -18
  313. package/lib/langium/workspace/virtual-document.js.map +1 -1
  314. package/lib/langium/workspace/write-lock-scope.d.ts +20 -10
  315. package/lib/langium/workspace/write-lock-scope.d.ts.map +1 -1
  316. package/lib/langium/workspace/write-lock-scope.js +12 -4
  317. package/lib/langium/workspace/write-lock-scope.js.map +1 -1
  318. package/lib/locale/index.d.ts +10 -0
  319. package/lib/locale/index.d.ts.map +1 -0
  320. package/lib/locale/index.js +10 -0
  321. package/lib/locale/index.js.map +1 -0
  322. package/lib/locale/server-locale.d.ts +73 -0
  323. package/lib/locale/server-locale.d.ts.map +1 -0
  324. package/lib/locale/server-locale.js +61 -0
  325. package/lib/locale/server-locale.js.map +1 -0
  326. package/lib/lsp/completion/hydranium-completion-provider.d.ts +44 -2
  327. package/lib/lsp/completion/hydranium-completion-provider.d.ts.map +1 -1
  328. package/lib/lsp/completion/hydranium-completion-provider.js +68 -0
  329. package/lib/lsp/completion/hydranium-completion-provider.js.map +1 -1
  330. package/lib/lsp/connection-features.d.ts +23 -0
  331. package/lib/lsp/connection-features.d.ts.map +1 -0
  332. package/lib/lsp/connection-features.js +60 -0
  333. package/lib/lsp/connection-features.js.map +1 -0
  334. package/lib/lsp/diagnostics-connection.d.ts +27 -0
  335. package/lib/lsp/diagnostics-connection.d.ts.map +1 -0
  336. package/lib/lsp/diagnostics-connection.js +53 -0
  337. package/lib/lsp/diagnostics-connection.js.map +1 -0
  338. package/lib/lsp/hydranium-document-update-handler.d.ts +92 -81
  339. package/lib/lsp/hydranium-document-update-handler.d.ts.map +1 -1
  340. package/lib/lsp/hydranium-document-update-handler.js +153 -99
  341. package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
  342. package/lib/lsp/index.d.ts +3 -1
  343. package/lib/lsp/index.d.ts.map +1 -1
  344. package/lib/lsp/index.js +3 -1
  345. package/lib/lsp/index.js.map +1 -1
  346. package/lib/lsp/lsp-latency.d.ts +39 -0
  347. package/lib/lsp/lsp-latency.d.ts.map +1 -0
  348. package/lib/lsp/lsp-latency.js +58 -0
  349. package/lib/lsp/lsp-latency.js.map +1 -0
  350. package/lib/lsp/semantic-token-provider.d.ts +34 -1
  351. package/lib/lsp/semantic-token-provider.d.ts.map +1 -1
  352. package/lib/lsp/semantic-token-provider.js +55 -8
  353. package/lib/lsp/semantic-token-provider.js.map +1 -1
  354. package/lib/lsp/shared-module.d.ts +4 -8
  355. package/lib/lsp/shared-module.d.ts.map +1 -1
  356. package/lib/lsp/shared-module.js.map +1 -1
  357. package/lib/lsp/start-language-server.d.ts +8 -7
  358. package/lib/lsp/start-language-server.d.ts.map +1 -1
  359. package/lib/lsp/start-language-server.js +13 -7
  360. package/lib/lsp/start-language-server.js.map +1 -1
  361. package/lib/messages/carriers.d.ts +54 -0
  362. package/lib/messages/carriers.d.ts.map +1 -0
  363. package/lib/messages/carriers.js +62 -0
  364. package/lib/messages/carriers.js.map +1 -0
  365. package/lib/messages/index.d.ts +25 -0
  366. package/lib/messages/index.d.ts.map +1 -0
  367. package/lib/messages/index.js +25 -0
  368. package/lib/messages/index.js.map +1 -0
  369. package/lib/messages/renderer.d.ts +142 -0
  370. package/lib/messages/renderer.d.ts.map +1 -0
  371. package/lib/messages/renderer.js +165 -0
  372. package/lib/messages/renderer.js.map +1 -0
  373. package/lib/node/event-loop-monitor.js.map +1 -1
  374. package/lib/node/heap-ceiling.d.ts +61 -0
  375. package/lib/node/heap-ceiling.d.ts.map +1 -0
  376. package/lib/node/heap-ceiling.js +72 -0
  377. package/lib/node/heap-ceiling.js.map +1 -0
  378. package/lib/node/index.d.ts +1 -1
  379. package/lib/node/index.d.ts.map +1 -1
  380. package/lib/node/index.js +1 -1
  381. package/lib/node/index.js.map +1 -1
  382. package/lib/node/latency-from-env.d.ts +1 -1
  383. package/lib/node/latency-from-env.js +1 -1
  384. package/lib/node/lint-grammar.js.map +1 -1
  385. package/lib/node/measure-memory.d.ts.map +1 -1
  386. package/lib/node/measure-memory.js +1 -0
  387. package/lib/node/measure-memory.js.map +1 -1
  388. package/lib/node/memory-monitor.js.map +1 -1
  389. package/lib/node/node-file-system-provider.d.ts +41 -6
  390. package/lib/node/node-file-system-provider.d.ts.map +1 -1
  391. package/lib/node/node-file-system-provider.js +109 -49
  392. package/lib/node/node-file-system-provider.js.map +1 -1
  393. package/lib/node/profile-capture.d.ts +8 -2
  394. package/lib/node/profile-capture.d.ts.map +1 -1
  395. package/lib/node/profile-capture.js +1 -1
  396. package/lib/node/profile-capture.js.map +1 -1
  397. package/lib/node/profile-digest.js.map +1 -1
  398. package/lib/node/profiling-run.d.ts +13 -3
  399. package/lib/node/profiling-run.d.ts.map +1 -1
  400. package/lib/node/profiling-run.js +17 -8
  401. package/lib/node/profiling-run.js.map +1 -1
  402. package/lib/node/rename-over-open-readers.d.ts +52 -0
  403. package/lib/node/rename-over-open-readers.d.ts.map +1 -0
  404. package/lib/node/rename-over-open-readers.js +66 -0
  405. package/lib/node/rename-over-open-readers.js.map +1 -0
  406. package/lib/node/socket-launcher.d.ts +20 -4
  407. package/lib/node/socket-launcher.d.ts.map +1 -1
  408. package/lib/node/socket-launcher.js +5 -4
  409. package/lib/node/socket-launcher.js.map +1 -1
  410. package/lib/node/stdio-launcher.d.ts +6 -5
  411. package/lib/node/stdio-launcher.d.ts.map +1 -1
  412. package/lib/node/stdio-launcher.js +2 -2
  413. package/lib/node/stdio-launcher.js.map +1 -1
  414. package/lib/testing/document-uri-policy-conformance.js.map +1 -1
  415. package/lib/testing/fake-description.js.map +1 -1
  416. package/lib/testing/fake-document.d.ts +16 -4
  417. package/lib/testing/fake-document.d.ts.map +1 -1
  418. package/lib/testing/fake-document.js +18 -3
  419. package/lib/testing/fake-document.js.map +1 -1
  420. package/lib/testing/index.d.ts +1 -1
  421. package/lib/testing/index.d.ts.map +1 -1
  422. package/lib/testing/index.js +2 -1
  423. package/lib/testing/index.js.map +1 -1
  424. package/lib/testing/langium-test-helpers.d.ts.map +1 -1
  425. package/lib/testing/langium-test-helpers.js +1 -0
  426. package/lib/testing/langium-test-helpers.js.map +1 -1
  427. package/lib/testing/make-noop-language-services.js.map +1 -1
  428. package/lib/testing/make-noop-shared-services.d.ts +14 -0
  429. package/lib/testing/make-noop-shared-services.d.ts.map +1 -1
  430. package/lib/testing/make-noop-shared-services.js +28 -2
  431. package/lib/testing/make-noop-shared-services.js.map +1 -1
  432. package/lib/testing/make-test-services.d.ts +72 -14
  433. package/lib/testing/make-test-services.d.ts.map +1 -1
  434. package/lib/testing/make-test-services.js +42 -10
  435. package/lib/testing/make-test-services.js.map +1 -1
  436. package/lib/testing/make-test-tracer.d.ts +12 -0
  437. package/lib/testing/make-test-tracer.d.ts.map +1 -1
  438. package/lib/testing/make-test-tracer.js +13 -0
  439. package/lib/testing/make-test-tracer.js.map +1 -1
  440. package/lib/testing/node/golden-corpus.js.map +1 -1
  441. package/lib/testing/node/index.d.ts +1 -0
  442. package/lib/testing/node/index.d.ts.map +1 -1
  443. package/lib/testing/node/index.js +1 -0
  444. package/lib/testing/node/index.js.map +1 -1
  445. package/lib/testing/node/lsp-harness.d.ts.map +1 -1
  446. package/lib/testing/node/lsp-harness.js +2 -0
  447. package/lib/testing/node/lsp-harness.js.map +1 -1
  448. package/lib/testing/node/lsp-server-connection.d.ts +11 -3
  449. package/lib/testing/node/lsp-server-connection.d.ts.map +1 -1
  450. package/lib/testing/node/lsp-server-connection.js +43 -10
  451. package/lib/testing/node/lsp-server-connection.js.map +1 -1
  452. package/lib/testing/node/scratch-workspace.d.ts.map +1 -1
  453. package/lib/testing/node/scratch-workspace.js +10 -5
  454. package/lib/testing/node/scratch-workspace.js.map +1 -1
  455. package/lib/testing/node/spawned-server.d.ts +14 -0
  456. package/lib/testing/node/spawned-server.d.ts.map +1 -1
  457. package/lib/testing/node/spawned-server.js +34 -2
  458. package/lib/testing/node/spawned-server.js.map +1 -1
  459. package/lib/testing/node/unhandled-rejections.d.ts +20 -0
  460. package/lib/testing/node/unhandled-rejections.d.ts.map +1 -0
  461. package/lib/testing/node/unhandled-rejections.js +32 -0
  462. package/lib/testing/node/unhandled-rejections.js.map +1 -0
  463. package/lib/testing/playwright/browser-capture-bridge.js.map +1 -1
  464. package/lib/testing/playwright/e2e-profiling.js.map +1 -1
  465. package/lib/testing/playwright/flaky-network-proxy.d.ts +76 -0
  466. package/lib/testing/playwright/flaky-network-proxy.d.ts.map +1 -0
  467. package/lib/testing/playwright/flaky-network-proxy.js +164 -0
  468. package/lib/testing/playwright/flaky-network-proxy.js.map +1 -0
  469. package/lib/testing/playwright/index.d.ts +1 -0
  470. package/lib/testing/playwright/index.d.ts.map +1 -1
  471. package/lib/testing/playwright/index.js +1 -0
  472. package/lib/testing/playwright/index.js.map +1 -1
  473. package/lib/testing/playwright/server-log-capture.d.ts +24 -8
  474. package/lib/testing/playwright/server-log-capture.d.ts.map +1 -1
  475. package/lib/testing/playwright/server-log-capture.js +27 -6
  476. package/lib/testing/playwright/server-log-capture.js.map +1 -1
  477. package/lib/testing/playwright/server-log-rename-reporter.d.ts.map +1 -1
  478. package/lib/testing/playwright/server-log-rename-reporter.js +10 -1
  479. package/lib/testing/playwright/server-log-rename-reporter.js.map +1 -1
  480. package/lib/testing/run-update-pipeline.d.ts +4 -4
  481. package/lib/testing/run-update-pipeline.d.ts.map +1 -1
  482. package/lib/testing/stub-ast-document-manager.d.ts +11 -52
  483. package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
  484. package/lib/testing/stub-ast-document-manager.js +24 -65
  485. package/lib/testing/stub-ast-document-manager.js.map +1 -1
  486. package/lib/testing/stub-document-builder.d.ts +26 -11
  487. package/lib/testing/stub-document-builder.d.ts.map +1 -1
  488. package/lib/testing/stub-document-builder.js +78 -5
  489. package/lib/testing/stub-document-builder.js.map +1 -1
  490. package/lib/testing/stub-hydranium-text-documents.d.ts +33 -10
  491. package/lib/testing/stub-hydranium-text-documents.d.ts.map +1 -1
  492. package/lib/testing/stub-hydranium-text-documents.js +115 -16
  493. package/lib/testing/stub-hydranium-text-documents.js.map +1 -1
  494. package/lib/testing/stub-index-manager.js.map +1 -1
  495. package/lib/testing/stub-langium-documents.d.ts +3 -2
  496. package/lib/testing/stub-langium-documents.d.ts.map +1 -1
  497. package/lib/testing/stub-langium-documents.js.map +1 -1
  498. package/lib/testing/stub-model-service.d.ts +7 -6
  499. package/lib/testing/stub-model-service.d.ts.map +1 -1
  500. package/lib/testing/stub-model-service.js +4 -4
  501. package/lib/testing/stub-model-service.js.map +1 -1
  502. package/lib/testing/stub-project-manager.js.map +1 -1
  503. package/lib/testing/stub-self-save-registry.d.ts +1 -1
  504. package/lib/testing/stub-self-save-registry.d.ts.map +1 -1
  505. package/lib/testing/stub-service-registry.d.ts +1 -1
  506. package/lib/testing/stub-service-registry.js.map +1 -1
  507. package/lib/testing/stub-writable-file-system.d.ts +1 -1
  508. package/lib/testing/stub-writable-file-system.d.ts.map +1 -1
  509. package/lib/util/connection-liveness.d.ts +7 -6
  510. package/lib/util/connection-liveness.d.ts.map +1 -1
  511. package/lib/util/connection-liveness.js +35 -14
  512. package/lib/util/connection-liveness.js.map +1 -1
  513. package/lib/util/environment.d.ts.map +1 -1
  514. package/lib/util/environment.js.map +1 -1
  515. package/lib/util/registry.d.ts.map +1 -1
  516. package/package.json +32 -48
  517. package/src/documents/ast-document-manager.ts +379 -231
  518. package/src/documents/client-ids.ts +5 -22
  519. package/src/documents/client-session-errors.ts +24 -0
  520. package/src/documents/client-session-registry.ts +262 -0
  521. package/src/documents/dirty-state-tracker.ts +130 -0
  522. package/src/documents/document-release-handler.ts +365 -0
  523. package/src/documents/document-release-scheduler.ts +121 -0
  524. package/src/documents/file-system-task-queue.ts +68 -0
  525. package/src/documents/hydranium-text-documents.ts +931 -595
  526. package/src/documents/index.ts +10 -2
  527. package/src/documents/language-client-shadow.ts +451 -0
  528. package/src/documents/model-ledger.ts +66 -0
  529. package/src/documents/text-ledger.ts +112 -0
  530. package/src/documents/version-sync-service.ts +267 -0
  531. package/src/index.ts +8 -0
  532. package/src/langium/ast-extension/ast-node-builder.ts +66 -22
  533. package/src/langium/bootstrap.ts +66 -28
  534. package/src/langium/composite-ast-reflection.ts +112 -0
  535. package/src/langium/config/configuration-provider.ts +119 -0
  536. package/src/langium/config/index.ts +1 -0
  537. package/src/langium/diagnostics/logger.ts +12 -5
  538. package/src/langium/diagnostics/lsp-logger.ts +59 -15
  539. package/src/langium/document-builder/build-pipeline-integration.ts +50 -5
  540. package/src/langium/document-builder/build-session.ts +87 -0
  541. package/src/langium/document-builder/document-builder.ts +825 -59
  542. package/src/langium/document-builder/index.ts +1 -0
  543. package/src/langium/integration-services.ts +83 -24
  544. package/src/langium/integrity/integrity-rule.ts +16 -8
  545. package/src/langium/integrity/integrity-service.ts +287 -62
  546. package/src/langium/keys/containment.ts +87 -0
  547. package/src/langium/keys/index.ts +1 -0
  548. package/src/langium/keys/name-based-key-provider.ts +4 -0
  549. package/src/langium/language-module.ts +48 -7
  550. package/src/langium/model-service/client-session.ts +644 -0
  551. package/src/langium/model-service/index.ts +2 -0
  552. package/src/langium/model-service/model-events.ts +75 -0
  553. package/src/langium/model-service/model-service.ts +790 -468
  554. package/src/langium/module.ts +210 -64
  555. package/src/langium/naming/name-provider.ts +27 -5
  556. package/src/langium/naming/name-separator-validation.ts +34 -5
  557. package/src/langium/project/abstract-project-manager.ts +9 -1
  558. package/src/langium/project/project-change-event.ts +2 -2
  559. package/src/langium/residency/cst-residency-service.ts +46 -15
  560. package/src/langium/scope/hydranium-scope-provider.ts +60 -22
  561. package/src/langium/serialization/abstract-serializer.ts +13 -32
  562. package/src/langium/service-registry.ts +41 -2
  563. package/src/langium/shared-services.ts +27 -6
  564. package/src/langium/single-langium-copy.ts +42 -0
  565. package/src/langium/transfer/transfer-encoder.ts +104 -37
  566. package/src/langium/trivia/comment-preserver.ts +1100 -0
  567. package/src/langium/trivia/document-ending-preserver.ts +55 -0
  568. package/src/langium/trivia/index.ts +14 -0
  569. package/src/langium/trivia/trivia-contribution.ts +39 -0
  570. package/src/langium/trivia/trivia-preserver.ts +54 -0
  571. package/src/langium/trivia/trivia-service.ts +99 -0
  572. package/src/langium/update-rewrite/update-rewrite.ts +1 -1
  573. package/src/langium/validation/document-validator.ts +537 -11
  574. package/src/langium/validation/validation-contribution-collector.ts +10 -1
  575. package/src/langium/workspace/document-uri-policy.ts +18 -14
  576. package/src/langium/workspace/file-not-found.ts +35 -0
  577. package/src/langium/workspace/file-system-provider.ts +205 -17
  578. package/src/langium/workspace/hydranium-langium-document-factory.ts +117 -0
  579. package/src/langium/workspace/hydranium-workspace-lock.ts +86 -2
  580. package/src/langium/workspace/hydranium-workspace-manager.ts +154 -14
  581. package/src/langium/workspace/in-memory-file-system-provider.ts +48 -17
  582. package/src/langium/workspace/index.ts +1 -0
  583. package/src/langium/workspace/initialize-workspace.ts +43 -5
  584. package/src/langium/workspace/langium-documents.ts +124 -33
  585. package/src/langium/workspace/persistent-file-system-provider.ts +1 -8
  586. package/src/{documents → langium/workspace}/self-save-registry.ts +54 -15
  587. package/src/langium/workspace/virtual-document.ts +96 -19
  588. package/src/langium/workspace/write-lock-scope.ts +24 -11
  589. package/src/locale/index.ts +10 -0
  590. package/src/locale/server-locale.ts +86 -0
  591. package/src/lsp/completion/hydranium-completion-provider.ts +82 -2
  592. package/src/lsp/connection-features.ts +67 -0
  593. package/src/lsp/diagnostics-connection.ts +56 -0
  594. package/src/lsp/hydranium-document-update-handler.ts +187 -108
  595. package/src/lsp/index.ts +3 -1
  596. package/src/lsp/lsp-latency.ts +62 -0
  597. package/src/lsp/semantic-token-provider.ts +74 -7
  598. package/src/lsp/shared-module.ts +4 -8
  599. package/src/lsp/start-language-server.ts +13 -7
  600. package/src/messages/carriers.ts +78 -0
  601. package/src/messages/index.ts +36 -0
  602. package/src/messages/renderer.ts +212 -0
  603. package/src/node/heap-ceiling.ts +108 -0
  604. package/src/node/index.ts +1 -1
  605. package/src/node/latency-from-env.ts +1 -1
  606. package/src/node/measure-memory.ts +1 -0
  607. package/src/node/node-file-system-provider.ts +124 -53
  608. package/src/node/profile-capture.ts +9 -3
  609. package/src/node/profiling-run.ts +30 -8
  610. package/src/node/rename-over-open-readers.ts +78 -0
  611. package/src/node/socket-launcher.ts +24 -8
  612. package/src/node/stdio-launcher.ts +8 -7
  613. package/src/testing/fake-document.ts +24 -5
  614. package/src/testing/index.ts +2 -1
  615. package/src/testing/langium-test-helpers.ts +1 -0
  616. package/src/testing/make-noop-shared-services.ts +50 -2
  617. package/src/testing/make-test-services.ts +125 -31
  618. package/src/testing/make-test-tracer.ts +26 -0
  619. package/src/testing/node/index.ts +1 -0
  620. package/src/testing/node/lsp-harness.ts +2 -0
  621. package/src/testing/node/lsp-server-connection.ts +66 -12
  622. package/src/testing/node/scratch-workspace.ts +10 -5
  623. package/src/testing/node/spawned-server.ts +36 -2
  624. package/src/testing/node/unhandled-rejections.ts +31 -0
  625. package/src/testing/parse-semantic-root.ts +1 -1
  626. package/src/testing/playwright/flaky-network-proxy.ts +240 -0
  627. package/src/testing/playwright/index.ts +1 -0
  628. package/src/testing/playwright/server-log-capture.ts +45 -11
  629. package/src/testing/playwright/server-log-rename-reporter.ts +12 -1
  630. package/src/testing/run-update-pipeline.ts +4 -4
  631. package/src/testing/stub-ast-document-manager.ts +36 -138
  632. package/src/testing/stub-document-builder.ts +102 -18
  633. package/src/testing/stub-hydranium-text-documents.ts +165 -27
  634. package/src/testing/stub-langium-documents.ts +3 -2
  635. package/src/testing/stub-model-service.ts +9 -8
  636. package/src/testing/stub-self-save-registry.ts +1 -1
  637. package/src/testing/stub-service-registry.ts +1 -1
  638. package/src/testing/stub-writable-file-system.ts +1 -1
  639. package/src/util/connection-liveness.ts +37 -14
  640. package/src/util/environment.ts +9 -1
  641. package/lib/documents/language-client-text-shadow.d.ts +0 -101
  642. package/lib/documents/language-client-text-shadow.d.ts.map +0 -1
  643. package/lib/documents/language-client-text-shadow.js +0 -156
  644. package/lib/documents/language-client-text-shadow.js.map +0 -1
  645. package/lib/documents/self-save-registry.d.ts.map +0 -1
  646. package/lib/documents/self-save-registry.js.map +0 -1
  647. package/lib/lsp/instrument-connection.d.ts +0 -36
  648. package/lib/lsp/instrument-connection.d.ts.map +0 -1
  649. package/lib/lsp/instrument-connection.js +0 -62
  650. package/lib/lsp/instrument-connection.js.map +0 -1
  651. package/lib/node/process-memory.d.ts +0 -66
  652. package/lib/node/process-memory.d.ts.map +0 -1
  653. package/lib/node/process-memory.js +0 -252
  654. package/lib/node/process-memory.js.map +0 -1
  655. package/src/documents/language-client-text-shadow.ts +0 -175
  656. package/src/lsp/instrument-connection.ts +0 -66
  657. package/src/node/process-memory.ts +0 -299
@@ -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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"}
@@ -0,0 +1,93 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 CrossBreeze, EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import { type URI } from '@hydranium/langium';
10
+ /** What a build is about, handed to `HydraniumDocumentBuilder.createBuildSession`. */
11
+ export interface BuildSessionContext {
12
+ /**
13
+ * Which entry point opened the build: `'build'` is the workspace-wide pass
14
+ * (initialization), `'update'` an incremental rebuild. A subclass deriving
15
+ * cascade state skips the work for `'build'`, where every document is in the
16
+ * set already and `shouldRelink` is never consulted.
17
+ */
18
+ readonly kind: 'build' | 'update';
19
+ /** Formatted description of what caused the build — a URI, a count summary. */
20
+ readonly trigger: string;
21
+ /** True when {@link trigger} already states the document count. */
22
+ readonly triggerCountsDocs: boolean;
23
+ /** URIs the build was asked to rebuild, already flattened and canonicalized. */
24
+ readonly changed: readonly URI[];
25
+ /** URIs the build was asked to delete, already expanded by `collectDeletedURIs`. Empty for a `build` call. */
26
+ readonly deleted: readonly URI[];
27
+ }
28
+ /**
29
+ * One rebuild, treated as a correlated unit.
30
+ *
31
+ * Everything a build phase needs to know about the build it belongs to — what
32
+ * triggered it, when it started, whether it was cancelled, and the log lines it
33
+ * has produced so far. A `HydraniumDocumentBuilder` opens one per `update` /
34
+ * `build` call and holds it for the duration, so a per-phase hook can reach
35
+ * build-wide facts that no per-line formatting hook could.
36
+ *
37
+ * **Identity is the object, not {@link traceId}.** `Tracer.time` short-circuits
38
+ * when its log level is suppressed and never calls `captureId`, so `traceId` is
39
+ * `undefined` on every build in a production configuration that logs above
40
+ * `debug`. A teardown guard keyed on the id would then compare `undefined`
41
+ * against `undefined` and let a preempted build clear its successor's state.
42
+ * Reference equality against `HydraniumDocumentBuilder.activeSession` holds in
43
+ * both configurations, which is why nothing here is keyed on the id.
44
+ *
45
+ * Adopters carrying build-scoped state of their own subclass this and return it
46
+ * from `HydraniumDocumentBuilder.createBuildSession`, narrowing with an
47
+ * `instanceof` where they read it back. That buys them the framework's
48
+ * preemption-correct teardown rather than a second copy of it.
49
+ */
50
+ export declare class BuildSession {
51
+ /** Millisecond timestamp the build started at, on the same clock as `performance.now()`. */
52
+ readonly startMs: number;
53
+ /** What caused this build — a formatted URI, a count summary, or an adopter label. */
54
+ readonly trigger: string;
55
+ /** True when {@link trigger} already states the document count, so a phase line must not repeat it. */
56
+ readonly triggerCountsDocs: boolean;
57
+ /**
58
+ * Build duration at or above which the buffered lines are emitted; `0`
59
+ * disables buffering entirely. Captured per session so the flush decision
60
+ * uses the same value the buffering decision did, even if the underlying
61
+ * observable changed mid-build.
62
+ */
63
+ readonly detailThresholdMs: number;
64
+ /**
65
+ * `Tracer.time` correlation id, so a phase line and the build line share a
66
+ * `#N`. `undefined` until the timer starts, and permanently `undefined` when
67
+ * the timing line is suppressed.
68
+ */
69
+ traceId?: number;
70
+ /** Set when the build ended in `OperationCancelled`, so the successor can tag itself "cancels #N". */
71
+ cancelled: boolean;
72
+ /** Phase-reached lines produced so far; the first one measures from {@link startMs} rather than from the previous phase. */
73
+ phasesLogged: number;
74
+ /** Lines held back by {@link detailThresholdMs}; flushed or dropped when the build ends. */
75
+ readonly bufferedLines: string[];
76
+ constructor(
77
+ /** Millisecond timestamp the build started at, on the same clock as `performance.now()`. */
78
+ startMs: number,
79
+ /** What caused this build — a formatted URI, a count summary, or an adopter label. */
80
+ trigger: string,
81
+ /** True when {@link trigger} already states the document count, so a phase line must not repeat it. */
82
+ triggerCountsDocs: boolean,
83
+ /**
84
+ * Build duration at or above which the buffered lines are emitted; `0`
85
+ * disables buffering entirely. Captured per session so the flush decision
86
+ * uses the same value the buffering decision did, even if the underlying
87
+ * observable changed mid-build.
88
+ */
89
+ detailThresholdMs: number);
90
+ /** True while lines are being held rather than emitted as they are produced. */
91
+ get buffers(): boolean;
92
+ }
93
+ //# sourceMappingURL=build-session.d.ts.map
@@ -0,0 +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;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"}
@@ -0,0 +1,72 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 CrossBreeze, EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ /**
10
+ * One rebuild, treated as a correlated unit.
11
+ *
12
+ * Everything a build phase needs to know about the build it belongs to — what
13
+ * triggered it, when it started, whether it was cancelled, and the log lines it
14
+ * has produced so far. A `HydraniumDocumentBuilder` opens one per `update` /
15
+ * `build` call and holds it for the duration, so a per-phase hook can reach
16
+ * build-wide facts that no per-line formatting hook could.
17
+ *
18
+ * **Identity is the object, not {@link traceId}.** `Tracer.time` short-circuits
19
+ * when its log level is suppressed and never calls `captureId`, so `traceId` is
20
+ * `undefined` on every build in a production configuration that logs above
21
+ * `debug`. A teardown guard keyed on the id would then compare `undefined`
22
+ * against `undefined` and let a preempted build clear its successor's state.
23
+ * Reference equality against `HydraniumDocumentBuilder.activeSession` holds in
24
+ * both configurations, which is why nothing here is keyed on the id.
25
+ *
26
+ * Adopters carrying build-scoped state of their own subclass this and return it
27
+ * from `HydraniumDocumentBuilder.createBuildSession`, narrowing with an
28
+ * `instanceof` where they read it back. That buys them the framework's
29
+ * preemption-correct teardown rather than a second copy of it.
30
+ */
31
+ export class BuildSession {
32
+ startMs;
33
+ trigger;
34
+ triggerCountsDocs;
35
+ detailThresholdMs;
36
+ /**
37
+ * `Tracer.time` correlation id, so a phase line and the build line share a
38
+ * `#N`. `undefined` until the timer starts, and permanently `undefined` when
39
+ * the timing line is suppressed.
40
+ */
41
+ traceId;
42
+ /** Set when the build ended in `OperationCancelled`, so the successor can tag itself "cancels #N". */
43
+ cancelled = false;
44
+ /** Phase-reached lines produced so far; the first one measures from {@link startMs} rather than from the previous phase. */
45
+ phasesLogged = 0;
46
+ /** Lines held back by {@link detailThresholdMs}; flushed or dropped when the build ends. */
47
+ bufferedLines = [];
48
+ constructor(
49
+ /** Millisecond timestamp the build started at, on the same clock as `performance.now()`. */
50
+ startMs,
51
+ /** What caused this build — a formatted URI, a count summary, or an adopter label. */
52
+ trigger,
53
+ /** True when {@link trigger} already states the document count, so a phase line must not repeat it. */
54
+ triggerCountsDocs,
55
+ /**
56
+ * Build duration at or above which the buffered lines are emitted; `0`
57
+ * disables buffering entirely. Captured per session so the flush decision
58
+ * uses the same value the buffering decision did, even if the underlying
59
+ * observable changed mid-build.
60
+ */
61
+ detailThresholdMs) {
62
+ this.startMs = startMs;
63
+ this.trigger = trigger;
64
+ this.triggerCountsDocs = triggerCountsDocs;
65
+ this.detailThresholdMs = detailThresholdMs;
66
+ }
67
+ /** True while lines are being held rather than emitted as they are produced. */
68
+ get buffers() {
69
+ return this.detailThresholdMs > 0;
70
+ }
71
+ }
72
+ //# sourceMappingURL=build-session.js.map
@@ -0,0 +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,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"}