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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (740) hide show
  1. package/README.md +64 -82
  2. package/lib/documents/ast-document-manager.d.ts +252 -122
  3. package/lib/documents/ast-document-manager.d.ts.map +1 -1
  4. package/lib/documents/ast-document-manager.js +290 -130
  5. package/lib/documents/ast-document-manager.js.map +1 -1
  6. package/lib/documents/client-ids.d.ts +5 -19
  7. package/lib/documents/client-ids.d.ts.map +1 -1
  8. package/lib/documents/client-ids.js +5 -19
  9. package/lib/documents/client-ids.js.map +1 -1
  10. package/lib/documents/client-session-errors.d.ts +15 -0
  11. package/lib/documents/client-session-errors.d.ts.map +1 -0
  12. package/lib/documents/client-session-errors.js +15 -0
  13. package/lib/documents/client-session-errors.js.map +1 -0
  14. package/lib/documents/client-session-registry.d.ts +146 -0
  15. package/lib/documents/client-session-registry.d.ts.map +1 -0
  16. package/lib/documents/client-session-registry.js +207 -0
  17. package/lib/documents/client-session-registry.js.map +1 -0
  18. package/lib/documents/dirty-state-tracker.d.ts +101 -0
  19. package/lib/documents/dirty-state-tracker.d.ts.map +1 -0
  20. package/lib/documents/dirty-state-tracker.js +85 -0
  21. package/lib/documents/dirty-state-tracker.js.map +1 -0
  22. package/lib/documents/document-release-handler.d.ts +204 -0
  23. package/lib/documents/document-release-handler.d.ts.map +1 -0
  24. package/lib/documents/document-release-handler.js +317 -0
  25. package/lib/documents/document-release-handler.js.map +1 -0
  26. package/lib/documents/document-release-scheduler.d.ts +67 -0
  27. package/lib/documents/document-release-scheduler.d.ts.map +1 -0
  28. package/lib/documents/document-release-scheduler.js +80 -0
  29. package/lib/documents/document-release-scheduler.js.map +1 -0
  30. package/lib/documents/file-system-task-queue.d.ts +49 -0
  31. package/lib/documents/file-system-task-queue.d.ts.map +1 -0
  32. package/lib/documents/file-system-task-queue.js +34 -0
  33. package/lib/documents/file-system-task-queue.js.map +1 -0
  34. package/lib/documents/hydranium-text-documents.d.ts +415 -282
  35. package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
  36. package/lib/documents/hydranium-text-documents.js +849 -483
  37. package/lib/documents/hydranium-text-documents.js.map +1 -1
  38. package/lib/documents/index.d.ts +10 -2
  39. package/lib/documents/index.d.ts.map +1 -1
  40. package/lib/documents/index.js +10 -2
  41. package/lib/documents/index.js.map +1 -1
  42. package/lib/documents/language-client-shadow.d.ts +218 -0
  43. package/lib/documents/language-client-shadow.d.ts.map +1 -0
  44. package/lib/documents/language-client-shadow.js +284 -0
  45. package/lib/documents/language-client-shadow.js.map +1 -0
  46. package/lib/documents/model-ledger.d.ts +47 -0
  47. package/lib/documents/model-ledger.d.ts.map +1 -0
  48. package/lib/documents/model-ledger.js +30 -0
  49. package/lib/documents/model-ledger.js.map +1 -0
  50. package/lib/documents/text-ledger.d.ts +64 -0
  51. package/lib/documents/text-ledger.d.ts.map +1 -0
  52. package/lib/documents/text-ledger.js +63 -0
  53. package/lib/documents/text-ledger.js.map +1 -0
  54. package/lib/documents/version-sync-service.d.ts +138 -0
  55. package/lib/documents/version-sync-service.d.ts.map +1 -0
  56. package/lib/documents/version-sync-service.js +173 -0
  57. package/lib/documents/version-sync-service.js.map +1 -0
  58. package/lib/index.d.ts +5 -0
  59. package/lib/index.d.ts.map +1 -1
  60. package/lib/index.js +8 -0
  61. package/lib/index.js.map +1 -1
  62. package/lib/langium/ast-extension/ast-extension-service.d.ts +3 -0
  63. package/lib/langium/ast-extension/ast-extension-service.d.ts.map +1 -1
  64. package/lib/langium/ast-extension/ast-extension-service.js.map +1 -1
  65. package/lib/langium/ast-extension/ast-node-builder.d.ts +32 -9
  66. package/lib/langium/ast-extension/ast-node-builder.d.ts.map +1 -1
  67. package/lib/langium/ast-extension/ast-node-builder.js +60 -22
  68. package/lib/langium/ast-extension/ast-node-builder.js.map +1 -1
  69. package/lib/langium/bootstrap.d.ts +49 -36
  70. package/lib/langium/bootstrap.d.ts.map +1 -1
  71. package/lib/langium/bootstrap.js +91 -45
  72. package/lib/langium/bootstrap.js.map +1 -1
  73. package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts +1 -1
  74. package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts.map +1 -1
  75. package/lib/langium/build-phase-pass/build-phase-pass-service.js.map +1 -1
  76. package/lib/langium/build-phase-pass/build-phase-pass.d.ts +1 -1
  77. package/lib/langium/composite-ast-reflection.d.ts +46 -0
  78. package/lib/langium/composite-ast-reflection.d.ts.map +1 -0
  79. package/lib/langium/composite-ast-reflection.js +97 -0
  80. package/lib/langium/composite-ast-reflection.js.map +1 -0
  81. package/lib/langium/config/configuration-provider.d.ts +81 -0
  82. package/lib/langium/config/configuration-provider.d.ts.map +1 -0
  83. package/lib/langium/config/configuration-provider.js +112 -0
  84. package/lib/langium/config/configuration-provider.js.map +1 -0
  85. package/lib/langium/config/index.d.ts +1 -0
  86. package/lib/langium/config/index.d.ts.map +1 -1
  87. package/lib/langium/config/index.js +1 -0
  88. package/lib/langium/config/index.js.map +1 -1
  89. package/lib/langium/config/settings.js.map +1 -1
  90. package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts +9 -20
  91. package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts.map +1 -1
  92. package/lib/langium/diagnostics/hydranium-langium-profiler.js +15 -24
  93. package/lib/langium/diagnostics/hydranium-langium-profiler.js.map +1 -1
  94. package/lib/langium/diagnostics/log-preamble.js +1 -1
  95. package/lib/langium/diagnostics/log-preamble.js.map +1 -1
  96. package/lib/langium/diagnostics/logger.d.ts +10 -3
  97. package/lib/langium/diagnostics/logger.d.ts.map +1 -1
  98. package/lib/langium/diagnostics/logger.js +12 -5
  99. package/lib/langium/diagnostics/logger.js.map +1 -1
  100. package/lib/langium/diagnostics/lsp-logger.d.ts +17 -0
  101. package/lib/langium/diagnostics/lsp-logger.d.ts.map +1 -1
  102. package/lib/langium/diagnostics/lsp-logger.js +58 -17
  103. package/lib/langium/diagnostics/lsp-logger.js.map +1 -1
  104. package/lib/langium/diagnostics/server-tracer.d.ts.map +1 -1
  105. package/lib/langium/diagnostics/server-tracer.js.map +1 -1
  106. package/lib/langium/document-builder/build-pipeline-integration.d.ts +21 -1
  107. package/lib/langium/document-builder/build-pipeline-integration.d.ts.map +1 -1
  108. package/lib/langium/document-builder/build-pipeline-integration.js +32 -5
  109. package/lib/langium/document-builder/build-pipeline-integration.js.map +1 -1
  110. package/lib/langium/document-builder/build-session.d.ts +6 -5
  111. package/lib/langium/document-builder/build-session.d.ts.map +1 -1
  112. package/lib/langium/document-builder/build-session.js +5 -5
  113. package/lib/langium/document-builder/build-session.js.map +1 -1
  114. package/lib/langium/document-builder/document-builder.d.ts +309 -35
  115. package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
  116. package/lib/langium/document-builder/document-builder.js +511 -75
  117. package/lib/langium/document-builder/document-builder.js.map +1 -1
  118. package/lib/langium/documentation/comment-provider.d.ts.map +1 -1
  119. package/lib/langium/documentation/comment-provider.js.map +1 -1
  120. package/lib/langium/integration-services.d.ts +40 -24
  121. package/lib/langium/integration-services.d.ts.map +1 -1
  122. package/lib/langium/integration-services.js +7 -4
  123. package/lib/langium/integration-services.js.map +1 -1
  124. package/lib/langium/integrity/integrity-rule.d.ts +16 -8
  125. package/lib/langium/integrity/integrity-rule.d.ts.map +1 -1
  126. package/lib/langium/integrity/integrity-rule.js.map +1 -1
  127. package/lib/langium/integrity/integrity-service.d.ts +83 -27
  128. package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
  129. package/lib/langium/integrity/integrity-service.js +273 -63
  130. package/lib/langium/integrity/integrity-service.js.map +1 -1
  131. package/lib/langium/keys/containment.d.ts +64 -0
  132. package/lib/langium/keys/containment.d.ts.map +1 -0
  133. package/lib/langium/keys/containment.js +53 -0
  134. package/lib/langium/keys/containment.js.map +1 -0
  135. package/lib/langium/keys/index.d.ts +1 -0
  136. package/lib/langium/keys/index.d.ts.map +1 -1
  137. package/lib/langium/keys/index.js +1 -0
  138. package/lib/langium/keys/index.js.map +1 -1
  139. package/lib/langium/keys/name-based-key-provider.d.ts +4 -0
  140. package/lib/langium/keys/name-based-key-provider.d.ts.map +1 -1
  141. package/lib/langium/keys/name-based-key-provider.js +4 -0
  142. package/lib/langium/keys/name-based-key-provider.js.map +1 -1
  143. package/lib/langium/keys/positional-key-provider.d.ts.map +1 -1
  144. package/lib/langium/keys/positional-key-provider.js.map +1 -1
  145. package/lib/langium/labeling/label-provider.d.ts.map +1 -1
  146. package/lib/langium/labeling/label-provider.js.map +1 -1
  147. package/lib/langium/language-module.d.ts +30 -5
  148. package/lib/langium/language-module.d.ts.map +1 -1
  149. package/lib/langium/language-module.js +18 -4
  150. package/lib/langium/language-module.js.map +1 -1
  151. package/lib/langium/model-service/client-session.d.ts +372 -0
  152. package/lib/langium/model-service/client-session.d.ts.map +1 -0
  153. package/lib/langium/model-service/client-session.js +446 -0
  154. package/lib/langium/model-service/client-session.js.map +1 -0
  155. package/lib/langium/model-service/index.d.ts +2 -0
  156. package/lib/langium/model-service/index.d.ts.map +1 -1
  157. package/lib/langium/model-service/index.js +2 -0
  158. package/lib/langium/model-service/index.js.map +1 -1
  159. package/lib/langium/model-service/model-events.d.ts +66 -0
  160. package/lib/langium/model-service/model-events.d.ts.map +1 -0
  161. package/lib/langium/model-service/model-events.js +10 -0
  162. package/lib/langium/model-service/model-events.js.map +1 -0
  163. package/lib/langium/model-service/model-service.d.ts +440 -282
  164. package/lib/langium/model-service/model-service.d.ts.map +1 -1
  165. package/lib/langium/model-service/model-service.js +542 -446
  166. package/lib/langium/model-service/model-service.js.map +1 -1
  167. package/lib/langium/module.d.ts +158 -37
  168. package/lib/langium/module.d.ts.map +1 -1
  169. package/lib/langium/module.js +52 -36
  170. package/lib/langium/module.js.map +1 -1
  171. package/lib/langium/naming/name-provider.d.ts +27 -6
  172. package/lib/langium/naming/name-provider.d.ts.map +1 -1
  173. package/lib/langium/naming/name-provider.js +4 -3
  174. package/lib/langium/naming/name-provider.js.map +1 -1
  175. package/lib/langium/naming/name-separator-validation.d.ts +23 -1
  176. package/lib/langium/naming/name-separator-validation.d.ts.map +1 -1
  177. package/lib/langium/naming/name-separator-validation.js +22 -0
  178. package/lib/langium/naming/name-separator-validation.js.map +1 -1
  179. package/lib/langium/project/abstract-project-manager.d.ts.map +1 -1
  180. package/lib/langium/project/abstract-project-manager.js +13 -6
  181. package/lib/langium/project/abstract-project-manager.js.map +1 -1
  182. package/lib/langium/project/project-change-event.d.ts +2 -2
  183. package/lib/langium/project/single-project-manager.d.ts.map +1 -1
  184. package/lib/langium/project/single-project-manager.js.map +1 -1
  185. package/lib/langium/residency/cst-residency-service.d.ts +35 -12
  186. package/lib/langium/residency/cst-residency-service.d.ts.map +1 -1
  187. package/lib/langium/residency/cst-residency-service.js +23 -57
  188. package/lib/langium/residency/cst-residency-service.js.map +1 -1
  189. package/lib/langium/scope/ast-node-description-provider.d.ts.map +1 -1
  190. package/lib/langium/scope/ast-node-description-provider.js.map +1 -1
  191. package/lib/langium/scope/fallback-scope.d.ts +27 -0
  192. package/lib/langium/scope/fallback-scope.d.ts.map +1 -0
  193. package/lib/langium/scope/fallback-scope.js +35 -0
  194. package/lib/langium/scope/fallback-scope.js.map +1 -0
  195. package/lib/langium/scope/hydranium-scope-computation.d.ts +21 -18
  196. package/lib/langium/scope/hydranium-scope-computation.d.ts.map +1 -1
  197. package/lib/langium/scope/hydranium-scope-computation.js +38 -39
  198. package/lib/langium/scope/hydranium-scope-computation.js.map +1 -1
  199. package/lib/langium/scope/hydranium-scope-provider.d.ts +61 -24
  200. package/lib/langium/scope/hydranium-scope-provider.d.ts.map +1 -1
  201. package/lib/langium/scope/hydranium-scope-provider.js +74 -35
  202. package/lib/langium/scope/hydranium-scope-provider.js.map +1 -1
  203. package/lib/langium/scope/index.d.ts +1 -0
  204. package/lib/langium/scope/index.d.ts.map +1 -1
  205. package/lib/langium/scope/index.js +1 -0
  206. package/lib/langium/scope/index.js.map +1 -1
  207. package/lib/langium/scope/reference-builder.d.ts.map +1 -1
  208. package/lib/langium/scope/reference-builder.js.map +1 -1
  209. package/lib/langium/scope/reference-candidate-provider.d.ts +6 -5
  210. package/lib/langium/scope/reference-candidate-provider.d.ts.map +1 -1
  211. package/lib/langium/scope/reference-candidate-provider.js +3 -2
  212. package/lib/langium/scope/reference-candidate-provider.js.map +1 -1
  213. package/lib/langium/scope/scope-extension-service.d.ts +41 -37
  214. package/lib/langium/scope/scope-extension-service.d.ts.map +1 -1
  215. package/lib/langium/scope/scope-extension-service.js +57 -29
  216. package/lib/langium/scope/scope-extension-service.js.map +1 -1
  217. package/lib/langium/scope/scoped-ast-node-description.d.ts +1 -3
  218. package/lib/langium/scope/scoped-ast-node-description.d.ts.map +1 -1
  219. package/lib/langium/scope/scoped-ast-node-description.js +1 -3
  220. package/lib/langium/scope/scoped-ast-node-description.js.map +1 -1
  221. package/lib/langium/serialization/abstract-serializer.d.ts +38 -27
  222. package/lib/langium/serialization/abstract-serializer.d.ts.map +1 -1
  223. package/lib/langium/serialization/abstract-serializer.js +54 -30
  224. package/lib/langium/serialization/abstract-serializer.js.map +1 -1
  225. package/lib/langium/serialization/json-serializer.d.ts +8 -1
  226. package/lib/langium/serialization/json-serializer.d.ts.map +1 -1
  227. package/lib/langium/serialization/json-serializer.js +13 -3
  228. package/lib/langium/serialization/json-serializer.js.map +1 -1
  229. package/lib/langium/serialization/serializer.d.ts +1 -1
  230. package/lib/langium/serialization/yaml-serializer.d.ts +4 -0
  231. package/lib/langium/serialization/yaml-serializer.d.ts.map +1 -1
  232. package/lib/langium/serialization/yaml-serializer.js +4 -0
  233. package/lib/langium/serialization/yaml-serializer.js.map +1 -1
  234. package/lib/langium/service-registry.d.ts +29 -1
  235. package/lib/langium/service-registry.d.ts.map +1 -1
  236. package/lib/langium/service-registry.js +37 -0
  237. package/lib/langium/service-registry.js.map +1 -1
  238. package/lib/langium/shared-services.d.ts +23 -6
  239. package/lib/langium/shared-services.d.ts.map +1 -1
  240. package/lib/langium/shared-services.js.map +1 -1
  241. package/lib/langium/single-langium-copy.d.ts +22 -0
  242. package/lib/langium/single-langium-copy.d.ts.map +1 -0
  243. package/lib/langium/single-langium-copy.js +36 -0
  244. package/lib/langium/single-langium-copy.js.map +1 -0
  245. package/lib/langium/transfer/transfer-encoder.d.ts +84 -35
  246. package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
  247. package/lib/langium/transfer/transfer-encoder.js +34 -23
  248. package/lib/langium/transfer/transfer-encoder.js.map +1 -1
  249. package/lib/langium/trivia/comment-preserver.d.ts +423 -0
  250. package/lib/langium/trivia/comment-preserver.d.ts.map +1 -0
  251. package/lib/langium/trivia/comment-preserver.js +906 -0
  252. package/lib/langium/trivia/comment-preserver.js.map +1 -0
  253. package/lib/langium/trivia/document-ending-preserver.d.ts +43 -0
  254. package/lib/langium/trivia/document-ending-preserver.d.ts.map +1 -0
  255. package/lib/langium/trivia/document-ending-preserver.js +48 -0
  256. package/lib/langium/trivia/document-ending-preserver.js.map +1 -0
  257. package/lib/langium/trivia/index.d.ts +14 -0
  258. package/lib/langium/trivia/index.d.ts.map +1 -0
  259. package/lib/langium/trivia/index.js +14 -0
  260. package/lib/langium/trivia/index.js.map +1 -0
  261. package/lib/langium/trivia/trivia-contribution.d.ts +37 -0
  262. package/lib/langium/trivia/trivia-contribution.d.ts.map +1 -0
  263. package/lib/langium/trivia/trivia-contribution.js +10 -0
  264. package/lib/langium/trivia/trivia-contribution.js.map +1 -0
  265. package/lib/langium/trivia/trivia-preserver.d.ts +50 -0
  266. package/lib/langium/trivia/trivia-preserver.d.ts.map +1 -0
  267. package/lib/langium/trivia/trivia-preserver.js +10 -0
  268. package/lib/langium/trivia/trivia-preserver.js.map +1 -0
  269. package/lib/langium/trivia/trivia-service.d.ts +70 -0
  270. package/lib/langium/trivia/trivia-service.d.ts.map +1 -0
  271. package/lib/langium/trivia/trivia-service.js +56 -0
  272. package/lib/langium/trivia/trivia-service.js.map +1 -0
  273. package/lib/langium/update-rewrite/normalize-empty-strings.d.ts.map +1 -1
  274. package/lib/langium/update-rewrite/update-rewrite-service.d.ts +1 -1
  275. package/lib/langium/update-rewrite/update-rewrite-service.d.ts.map +1 -1
  276. package/lib/langium/update-rewrite/update-rewrite-service.js.map +1 -1
  277. package/lib/langium/update-rewrite/update-rewrite.d.ts +1 -1
  278. package/lib/langium/validation/document-validator.d.ts +280 -9
  279. package/lib/langium/validation/document-validator.d.ts.map +1 -1
  280. package/lib/langium/validation/document-validator.js +453 -8
  281. package/lib/langium/validation/document-validator.js.map +1 -1
  282. package/lib/langium/validation/validation-contribution-collector.d.ts +9 -1
  283. package/lib/langium/validation/validation-contribution-collector.d.ts.map +1 -1
  284. package/lib/langium/validation/validation-contribution-collector.js +1 -1
  285. package/lib/langium/validation/validation-contribution-collector.js.map +1 -1
  286. package/lib/langium/workspace/document-uri-policy.d.ts +15 -10
  287. package/lib/langium/workspace/document-uri-policy.d.ts.map +1 -1
  288. package/lib/langium/workspace/document-uri-policy.js +7 -5
  289. package/lib/langium/workspace/document-uri-policy.js.map +1 -1
  290. package/lib/langium/workspace/file-not-found.d.ts +23 -0
  291. package/lib/langium/workspace/file-not-found.d.ts.map +1 -0
  292. package/lib/langium/workspace/file-not-found.js +31 -0
  293. package/lib/langium/workspace/file-not-found.js.map +1 -0
  294. package/lib/langium/workspace/file-system-provider.d.ts +154 -8
  295. package/lib/langium/workspace/file-system-provider.d.ts.map +1 -1
  296. package/lib/langium/workspace/file-system-provider.js +102 -13
  297. package/lib/langium/workspace/file-system-provider.js.map +1 -1
  298. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts +56 -1
  299. package/lib/langium/workspace/hydranium-langium-document-factory.d.ts.map +1 -1
  300. package/lib/langium/workspace/hydranium-langium-document-factory.js +79 -0
  301. package/lib/langium/workspace/hydranium-langium-document-factory.js.map +1 -1
  302. package/lib/langium/workspace/hydranium-workspace-lock.d.ts +43 -1
  303. package/lib/langium/workspace/hydranium-workspace-lock.d.ts.map +1 -1
  304. package/lib/langium/workspace/hydranium-workspace-lock.js +58 -1
  305. package/lib/langium/workspace/hydranium-workspace-lock.js.map +1 -1
  306. package/lib/langium/workspace/hydranium-workspace-manager.d.ts +109 -9
  307. package/lib/langium/workspace/hydranium-workspace-manager.d.ts.map +1 -1
  308. package/lib/langium/workspace/hydranium-workspace-manager.js +192 -12
  309. package/lib/langium/workspace/hydranium-workspace-manager.js.map +1 -1
  310. package/lib/langium/workspace/in-memory-file-system-provider.d.ts +26 -9
  311. package/lib/langium/workspace/in-memory-file-system-provider.d.ts.map +1 -1
  312. package/lib/langium/workspace/in-memory-file-system-provider.js +45 -22
  313. package/lib/langium/workspace/in-memory-file-system-provider.js.map +1 -1
  314. package/lib/langium/workspace/index-manager.d.ts.map +1 -1
  315. package/lib/langium/workspace/index-manager.js.map +1 -1
  316. package/lib/langium/workspace/index.d.ts +1 -0
  317. package/lib/langium/workspace/index.d.ts.map +1 -1
  318. package/lib/langium/workspace/index.js +1 -0
  319. package/lib/langium/workspace/index.js.map +1 -1
  320. package/lib/langium/workspace/initialize-workspace.d.ts +31 -2
  321. package/lib/langium/workspace/initialize-workspace.d.ts.map +1 -1
  322. package/lib/langium/workspace/initialize-workspace.js +13 -5
  323. package/lib/langium/workspace/initialize-workspace.js.map +1 -1
  324. package/lib/langium/workspace/langium-documents.d.ts +37 -4
  325. package/lib/langium/workspace/langium-documents.d.ts.map +1 -1
  326. package/lib/langium/workspace/langium-documents.js +49 -4
  327. package/lib/langium/workspace/langium-documents.js.map +1 -1
  328. package/lib/langium/workspace/persistent-file-system-provider.d.ts +7 -9
  329. package/lib/langium/workspace/persistent-file-system-provider.d.ts.map +1 -1
  330. package/lib/langium/workspace/persistent-file-system-provider.js +14 -13
  331. package/lib/langium/workspace/persistent-file-system-provider.js.map +1 -1
  332. package/lib/langium/workspace/self-save-registry.d.ts +84 -0
  333. package/lib/langium/workspace/self-save-registry.d.ts.map +1 -0
  334. package/lib/{documents → langium/workspace}/self-save-registry.js +33 -22
  335. package/lib/langium/workspace/self-save-registry.js.map +1 -0
  336. package/lib/langium/workspace/virtual-document.d.ts +49 -15
  337. package/lib/langium/workspace/virtual-document.d.ts.map +1 -1
  338. package/lib/langium/workspace/virtual-document.js +81 -18
  339. package/lib/langium/workspace/virtual-document.js.map +1 -1
  340. package/lib/langium/workspace/write-lock-scope.d.ts +22 -10
  341. package/lib/langium/workspace/write-lock-scope.d.ts.map +1 -1
  342. package/lib/langium/workspace/write-lock-scope.js +15 -5
  343. package/lib/langium/workspace/write-lock-scope.js.map +1 -1
  344. package/lib/launcher/integrated-server.d.ts +3 -1
  345. package/lib/launcher/integrated-server.d.ts.map +1 -1
  346. package/lib/locale/index.d.ts +10 -0
  347. package/lib/locale/index.d.ts.map +1 -0
  348. package/lib/locale/index.js +10 -0
  349. package/lib/locale/index.js.map +1 -0
  350. package/lib/locale/server-locale.d.ts +73 -0
  351. package/lib/locale/server-locale.d.ts.map +1 -0
  352. package/lib/locale/server-locale.js +61 -0
  353. package/lib/locale/server-locale.js.map +1 -0
  354. package/lib/lsp/completion/hydranium-completion-provider.d.ts +44 -2
  355. package/lib/lsp/completion/hydranium-completion-provider.d.ts.map +1 -1
  356. package/lib/lsp/completion/hydranium-completion-provider.js +68 -0
  357. package/lib/lsp/completion/hydranium-completion-provider.js.map +1 -1
  358. package/lib/lsp/connection-features.d.ts +23 -0
  359. package/lib/lsp/connection-features.d.ts.map +1 -0
  360. package/lib/lsp/connection-features.js +60 -0
  361. package/lib/lsp/connection-features.js.map +1 -0
  362. package/lib/lsp/diagnostics-connection.d.ts +27 -0
  363. package/lib/lsp/diagnostics-connection.d.ts.map +1 -0
  364. package/lib/lsp/diagnostics-connection.js +53 -0
  365. package/lib/lsp/diagnostics-connection.js.map +1 -0
  366. package/lib/lsp/hydranium-document-update-handler.d.ts +106 -82
  367. package/lib/lsp/hydranium-document-update-handler.d.ts.map +1 -1
  368. package/lib/lsp/hydranium-document-update-handler.js +182 -102
  369. package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
  370. package/lib/lsp/index.d.ts +3 -1
  371. package/lib/lsp/index.d.ts.map +1 -1
  372. package/lib/lsp/index.js +3 -1
  373. package/lib/lsp/index.js.map +1 -1
  374. package/lib/lsp/lsp-latency.d.ts +39 -0
  375. package/lib/lsp/lsp-latency.d.ts.map +1 -0
  376. package/lib/lsp/lsp-latency.js +58 -0
  377. package/lib/lsp/lsp-latency.js.map +1 -0
  378. package/lib/lsp/semantic-token-provider.d.ts +34 -1
  379. package/lib/lsp/semantic-token-provider.d.ts.map +1 -1
  380. package/lib/lsp/semantic-token-provider.js +55 -8
  381. package/lib/lsp/semantic-token-provider.js.map +1 -1
  382. package/lib/lsp/shared-module.d.ts +4 -8
  383. package/lib/lsp/shared-module.d.ts.map +1 -1
  384. package/lib/lsp/shared-module.js.map +1 -1
  385. package/lib/lsp/start-language-server.d.ts +8 -7
  386. package/lib/lsp/start-language-server.d.ts.map +1 -1
  387. package/lib/lsp/start-language-server.js +13 -7
  388. package/lib/lsp/start-language-server.js.map +1 -1
  389. package/lib/messages/carriers.d.ts +18 -12
  390. package/lib/messages/carriers.d.ts.map +1 -1
  391. package/lib/messages/carriers.js +22 -13
  392. package/lib/messages/carriers.js.map +1 -1
  393. package/lib/messages/index.d.ts +4 -1
  394. package/lib/messages/index.d.ts.map +1 -1
  395. package/lib/messages/index.js +4 -1
  396. package/lib/messages/index.js.map +1 -1
  397. package/lib/messages/renderer.d.ts +142 -0
  398. package/lib/messages/renderer.d.ts.map +1 -0
  399. package/lib/messages/renderer.js +165 -0
  400. package/lib/messages/renderer.js.map +1 -0
  401. package/lib/node/event-loop-monitor.d.ts.map +1 -1
  402. package/lib/node/event-loop-monitor.js +2 -1
  403. package/lib/node/event-loop-monitor.js.map +1 -1
  404. package/lib/node/heap-ceiling.d.ts +61 -0
  405. package/lib/node/heap-ceiling.d.ts.map +1 -0
  406. package/lib/node/heap-ceiling.js +72 -0
  407. package/lib/node/heap-ceiling.js.map +1 -0
  408. package/lib/node/index.d.ts +1 -1
  409. package/lib/node/index.d.ts.map +1 -1
  410. package/lib/node/index.js +1 -1
  411. package/lib/node/index.js.map +1 -1
  412. package/lib/node/latency-from-env.d.ts +1 -1
  413. package/lib/node/latency-from-env.js +1 -1
  414. package/lib/node/lint-grammar.js.map +1 -1
  415. package/lib/node/log-preamble-node.d.ts +5 -3
  416. package/lib/node/log-preamble-node.d.ts.map +1 -1
  417. package/lib/node/log-preamble-node.js +13 -10
  418. package/lib/node/log-preamble-node.js.map +1 -1
  419. package/lib/node/measure-memory.d.ts.map +1 -1
  420. package/lib/node/measure-memory.js +5 -4
  421. package/lib/node/measure-memory.js.map +1 -1
  422. package/lib/node/memory-monitor.d.ts +2 -2
  423. package/lib/node/memory-monitor.d.ts.map +1 -1
  424. package/lib/node/memory-monitor.js +9 -10
  425. package/lib/node/memory-monitor.js.map +1 -1
  426. package/lib/node/node-file-system-provider.d.ts +60 -9
  427. package/lib/node/node-file-system-provider.d.ts.map +1 -1
  428. package/lib/node/node-file-system-provider.js +162 -52
  429. package/lib/node/node-file-system-provider.js.map +1 -1
  430. package/lib/node/profile-capture.d.ts +12 -4
  431. package/lib/node/profile-capture.d.ts.map +1 -1
  432. package/lib/node/profile-capture.js +8 -6
  433. package/lib/node/profile-capture.js.map +1 -1
  434. package/lib/node/profile-digest.js.map +1 -1
  435. package/lib/node/profiling-run.d.ts +13 -3
  436. package/lib/node/profiling-run.d.ts.map +1 -1
  437. package/lib/node/profiling-run.js +17 -8
  438. package/lib/node/profiling-run.js.map +1 -1
  439. package/lib/node/rename-over-open-readers.d.ts +61 -0
  440. package/lib/node/rename-over-open-readers.d.ts.map +1 -0
  441. package/lib/node/rename-over-open-readers.js +80 -0
  442. package/lib/node/rename-over-open-readers.js.map +1 -0
  443. package/lib/node/server-diagnostics.js +1 -1
  444. package/lib/node/server-diagnostics.js.map +1 -1
  445. package/lib/node/server-state-snapshot.js +4 -4
  446. package/lib/node/server-state-snapshot.js.map +1 -1
  447. package/lib/node/socket-launcher.d.ts +20 -4
  448. package/lib/node/socket-launcher.d.ts.map +1 -1
  449. package/lib/node/socket-launcher.js +8 -7
  450. package/lib/node/socket-launcher.js.map +1 -1
  451. package/lib/node/stdio-launcher.d.ts +10 -10
  452. package/lib/node/stdio-launcher.d.ts.map +1 -1
  453. package/lib/node/stdio-launcher.js +17 -9
  454. package/lib/node/stdio-launcher.js.map +1 -1
  455. package/lib/testing/document-uri-policy-conformance.js +1 -1
  456. package/lib/testing/document-uri-policy-conformance.js.map +1 -1
  457. package/lib/testing/fake-description.js.map +1 -1
  458. package/lib/testing/fake-document.d.ts +16 -4
  459. package/lib/testing/fake-document.d.ts.map +1 -1
  460. package/lib/testing/fake-document.js +18 -3
  461. package/lib/testing/fake-document.js.map +1 -1
  462. package/lib/testing/index.d.ts +1 -1
  463. package/lib/testing/index.d.ts.map +1 -1
  464. package/lib/testing/index.js +2 -1
  465. package/lib/testing/index.js.map +1 -1
  466. package/lib/testing/langium-test-helpers.d.ts.map +1 -1
  467. package/lib/testing/langium-test-helpers.js +1 -0
  468. package/lib/testing/langium-test-helpers.js.map +1 -1
  469. package/lib/testing/make-noop-language-services.js.map +1 -1
  470. package/lib/testing/make-noop-shared-services.d.ts +14 -0
  471. package/lib/testing/make-noop-shared-services.d.ts.map +1 -1
  472. package/lib/testing/make-noop-shared-services.js +28 -2
  473. package/lib/testing/make-noop-shared-services.js.map +1 -1
  474. package/lib/testing/make-test-services.d.ts +72 -14
  475. package/lib/testing/make-test-services.d.ts.map +1 -1
  476. package/lib/testing/make-test-services.js +42 -10
  477. package/lib/testing/make-test-services.js.map +1 -1
  478. package/lib/testing/make-test-tracer.d.ts +12 -0
  479. package/lib/testing/make-test-tracer.d.ts.map +1 -1
  480. package/lib/testing/make-test-tracer.js +13 -0
  481. package/lib/testing/make-test-tracer.js.map +1 -1
  482. package/lib/testing/node/applied-edit-capture.d.ts +29 -0
  483. package/lib/testing/node/applied-edit-capture.d.ts.map +1 -0
  484. package/lib/testing/node/applied-edit-capture.js +115 -0
  485. package/lib/testing/node/applied-edit-capture.js.map +1 -0
  486. package/lib/testing/node/golden-corpus.js.map +1 -1
  487. package/lib/testing/node/index.d.ts +1 -0
  488. package/lib/testing/node/index.d.ts.map +1 -1
  489. package/lib/testing/node/index.js +1 -0
  490. package/lib/testing/node/index.js.map +1 -1
  491. package/lib/testing/node/lsp-harness.d.ts.map +1 -1
  492. package/lib/testing/node/lsp-harness.js +2 -0
  493. package/lib/testing/node/lsp-harness.js.map +1 -1
  494. package/lib/testing/node/lsp-server-connection.d.ts +12 -4
  495. package/lib/testing/node/lsp-server-connection.d.ts.map +1 -1
  496. package/lib/testing/node/lsp-server-connection.js +45 -106
  497. package/lib/testing/node/lsp-server-connection.js.map +1 -1
  498. package/lib/testing/node/scratch-workspace.d.ts.map +1 -1
  499. package/lib/testing/node/scratch-workspace.js +10 -5
  500. package/lib/testing/node/scratch-workspace.js.map +1 -1
  501. package/lib/testing/node/spawned-server.d.ts +30 -1
  502. package/lib/testing/node/spawned-server.d.ts.map +1 -1
  503. package/lib/testing/node/spawned-server.js +39 -2
  504. package/lib/testing/node/spawned-server.js.map +1 -1
  505. package/lib/testing/node/unhandled-rejections.d.ts +20 -0
  506. package/lib/testing/node/unhandled-rejections.d.ts.map +1 -0
  507. package/lib/testing/node/unhandled-rejections.js +32 -0
  508. package/lib/testing/node/unhandled-rejections.js.map +1 -0
  509. package/lib/testing/playwright/browser-capture-bridge.js.map +1 -1
  510. package/lib/testing/playwright/e2e-profiling.js.map +1 -1
  511. package/lib/testing/playwright/flaky-network-proxy.d.ts +76 -0
  512. package/lib/testing/playwright/flaky-network-proxy.d.ts.map +1 -0
  513. package/lib/testing/playwright/flaky-network-proxy.js +164 -0
  514. package/lib/testing/playwright/flaky-network-proxy.js.map +1 -0
  515. package/lib/testing/playwright/index.d.ts +1 -0
  516. package/lib/testing/playwright/index.d.ts.map +1 -1
  517. package/lib/testing/playwright/index.js +1 -0
  518. package/lib/testing/playwright/index.js.map +1 -1
  519. package/lib/testing/playwright/server-log-capture.d.ts +35 -8
  520. package/lib/testing/playwright/server-log-capture.d.ts.map +1 -1
  521. package/lib/testing/playwright/server-log-capture.js +39 -6
  522. package/lib/testing/playwright/server-log-capture.js.map +1 -1
  523. package/lib/testing/playwright/server-log-fixture.d.ts +16 -0
  524. package/lib/testing/playwright/server-log-fixture.d.ts.map +1 -1
  525. package/lib/testing/playwright/server-log-fixture.js +25 -6
  526. package/lib/testing/playwright/server-log-fixture.js.map +1 -1
  527. package/lib/testing/playwright/server-log-region.d.ts +15 -0
  528. package/lib/testing/playwright/server-log-region.d.ts.map +1 -0
  529. package/lib/testing/playwright/server-log-region.js +30 -0
  530. package/lib/testing/playwright/server-log-region.js.map +1 -0
  531. package/lib/testing/playwright/server-log-rename-reporter.d.ts.map +1 -1
  532. package/lib/testing/playwright/server-log-rename-reporter.js +10 -1
  533. package/lib/testing/playwright/server-log-rename-reporter.js.map +1 -1
  534. package/lib/testing/run-update-pipeline.d.ts +6 -5
  535. package/lib/testing/run-update-pipeline.d.ts.map +1 -1
  536. package/lib/testing/run-update-pipeline.js.map +1 -1
  537. package/lib/testing/stub-ast-document-manager.d.ts +11 -52
  538. package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
  539. package/lib/testing/stub-ast-document-manager.js +31 -62
  540. package/lib/testing/stub-ast-document-manager.js.map +1 -1
  541. package/lib/testing/stub-document-builder.d.ts +33 -11
  542. package/lib/testing/stub-document-builder.d.ts.map +1 -1
  543. package/lib/testing/stub-document-builder.js +103 -5
  544. package/lib/testing/stub-document-builder.js.map +1 -1
  545. package/lib/testing/stub-hydranium-text-documents.d.ts +33 -10
  546. package/lib/testing/stub-hydranium-text-documents.d.ts.map +1 -1
  547. package/lib/testing/stub-hydranium-text-documents.js +132 -16
  548. package/lib/testing/stub-hydranium-text-documents.js.map +1 -1
  549. package/lib/testing/stub-index-manager.js.map +1 -1
  550. package/lib/testing/stub-langium-documents.d.ts +3 -2
  551. package/lib/testing/stub-langium-documents.d.ts.map +1 -1
  552. package/lib/testing/stub-langium-documents.js.map +1 -1
  553. package/lib/testing/stub-model-service.d.ts +9 -8
  554. package/lib/testing/stub-model-service.d.ts.map +1 -1
  555. package/lib/testing/stub-model-service.js +6 -6
  556. package/lib/testing/stub-model-service.js.map +1 -1
  557. package/lib/testing/stub-project-manager.js.map +1 -1
  558. package/lib/testing/stub-self-save-registry.d.ts +1 -1
  559. package/lib/testing/stub-self-save-registry.d.ts.map +1 -1
  560. package/lib/testing/stub-service-registry.d.ts +1 -1
  561. package/lib/testing/stub-service-registry.js.map +1 -1
  562. package/lib/testing/stub-writable-file-system.d.ts +1 -1
  563. package/lib/testing/stub-writable-file-system.d.ts.map +1 -1
  564. package/lib/testing/stub-writable-file-system.js +2 -1
  565. package/lib/testing/stub-writable-file-system.js.map +1 -1
  566. package/lib/util/connection-liveness.d.ts +19 -6
  567. package/lib/util/connection-liveness.d.ts.map +1 -1
  568. package/lib/util/connection-liveness.js +61 -15
  569. package/lib/util/connection-liveness.js.map +1 -1
  570. package/lib/util/environment.d.ts.map +1 -1
  571. package/lib/util/environment.js.map +1 -1
  572. package/lib/util/registry.d.ts.map +1 -1
  573. package/package.json +29 -53
  574. package/src/documents/ast-document-manager.ts +463 -231
  575. package/src/documents/client-ids.ts +5 -22
  576. package/src/documents/client-session-errors.ts +24 -0
  577. package/src/documents/client-session-registry.ts +262 -0
  578. package/src/documents/dirty-state-tracker.ts +167 -0
  579. package/src/documents/document-release-handler.ts +404 -0
  580. package/src/documents/document-release-scheduler.ts +121 -0
  581. package/src/documents/file-system-task-queue.ts +68 -0
  582. package/src/documents/hydranium-text-documents.ts +968 -595
  583. package/src/documents/index.ts +10 -2
  584. package/src/documents/language-client-shadow.ts +452 -0
  585. package/src/documents/model-ledger.ts +66 -0
  586. package/src/documents/text-ledger.ts +112 -0
  587. package/src/documents/version-sync-service.ts +275 -0
  588. package/src/index.ts +8 -0
  589. package/src/langium/ast-extension/ast-extension-service.ts +3 -0
  590. package/src/langium/ast-extension/ast-node-builder.ts +66 -22
  591. package/src/langium/bootstrap.ts +95 -52
  592. package/src/langium/build-phase-pass/build-phase-pass-service.ts +1 -1
  593. package/src/langium/build-phase-pass/build-phase-pass.ts +1 -1
  594. package/src/langium/composite-ast-reflection.ts +112 -0
  595. package/src/langium/config/configuration-provider.ts +119 -0
  596. package/src/langium/config/index.ts +1 -0
  597. package/src/langium/diagnostics/hydranium-langium-profiler.ts +15 -39
  598. package/src/langium/diagnostics/log-preamble.ts +1 -1
  599. package/src/langium/diagnostics/logger.ts +12 -5
  600. package/src/langium/diagnostics/lsp-logger.ts +61 -16
  601. package/src/langium/document-builder/build-pipeline-integration.ts +50 -5
  602. package/src/langium/document-builder/build-session.ts +4 -3
  603. package/src/langium/document-builder/document-builder.ts +616 -73
  604. package/src/langium/integration-services.ts +59 -28
  605. package/src/langium/integrity/integrity-rule.ts +16 -8
  606. package/src/langium/integrity/integrity-service.ts +296 -69
  607. package/src/langium/keys/containment.ts +87 -0
  608. package/src/langium/keys/index.ts +1 -0
  609. package/src/langium/keys/name-based-key-provider.ts +4 -0
  610. package/src/langium/language-module.ts +49 -8
  611. package/src/langium/model-service/client-session.ts +702 -0
  612. package/src/langium/model-service/index.ts +2 -0
  613. package/src/langium/model-service/model-events.ts +80 -0
  614. package/src/langium/model-service/model-service.ts +835 -475
  615. package/src/langium/module.ts +212 -67
  616. package/src/langium/naming/name-provider.ts +29 -7
  617. package/src/langium/naming/name-separator-validation.ts +25 -3
  618. package/src/langium/project/abstract-project-manager.ts +13 -5
  619. package/src/langium/project/project-change-event.ts +2 -2
  620. package/src/langium/residency/cst-residency-service.ts +50 -16
  621. package/src/langium/scope/fallback-scope.ts +38 -0
  622. package/src/langium/scope/hydranium-scope-computation.ts +45 -44
  623. package/src/langium/scope/hydranium-scope-provider.ts +89 -38
  624. package/src/langium/scope/index.ts +1 -0
  625. package/src/langium/scope/reference-candidate-provider.ts +6 -5
  626. package/src/langium/scope/scope-extension-service.ts +74 -59
  627. package/src/langium/scope/scoped-ast-node-description.ts +1 -3
  628. package/src/langium/serialization/abstract-serializer.ts +57 -41
  629. package/src/langium/serialization/json-serializer.ts +14 -3
  630. package/src/langium/serialization/serializer.ts +1 -1
  631. package/src/langium/serialization/yaml-serializer.ts +4 -0
  632. package/src/langium/service-registry.ts +41 -2
  633. package/src/langium/shared-services.ts +26 -6
  634. package/src/langium/single-langium-copy.ts +42 -0
  635. package/src/langium/transfer/transfer-encoder.ts +102 -45
  636. package/src/langium/trivia/comment-preserver.ts +1100 -0
  637. package/src/langium/trivia/document-ending-preserver.ts +55 -0
  638. package/src/langium/trivia/index.ts +14 -0
  639. package/src/langium/trivia/trivia-contribution.ts +39 -0
  640. package/src/langium/trivia/trivia-preserver.ts +54 -0
  641. package/src/langium/trivia/trivia-service.ts +99 -0
  642. package/src/langium/update-rewrite/update-rewrite-service.ts +1 -1
  643. package/src/langium/update-rewrite/update-rewrite.ts +1 -1
  644. package/src/langium/validation/document-validator.ts +528 -13
  645. package/src/langium/validation/validation-contribution-collector.ts +10 -1
  646. package/src/langium/workspace/document-uri-policy.ts +15 -10
  647. package/src/langium/workspace/file-not-found.ts +35 -0
  648. package/src/langium/workspace/file-system-provider.ts +234 -16
  649. package/src/langium/workspace/hydranium-langium-document-factory.ts +117 -0
  650. package/src/langium/workspace/hydranium-workspace-lock.ts +86 -2
  651. package/src/langium/workspace/hydranium-workspace-manager.ts +221 -16
  652. package/src/langium/workspace/in-memory-file-system-provider.ts +54 -23
  653. package/src/langium/workspace/index.ts +1 -0
  654. package/src/langium/workspace/initialize-workspace.ts +43 -5
  655. package/src/langium/workspace/langium-documents.ts +63 -5
  656. package/src/langium/workspace/persistent-file-system-provider.ts +15 -14
  657. package/src/langium/workspace/self-save-registry.ts +118 -0
  658. package/src/langium/workspace/virtual-document.ts +100 -19
  659. package/src/langium/workspace/write-lock-scope.ts +27 -12
  660. package/src/launcher/integrated-server.ts +3 -1
  661. package/src/locale/index.ts +10 -0
  662. package/src/locale/server-locale.ts +86 -0
  663. package/src/lsp/completion/hydranium-completion-provider.ts +82 -2
  664. package/src/lsp/connection-features.ts +67 -0
  665. package/src/lsp/diagnostics-connection.ts +56 -0
  666. package/src/lsp/hydranium-document-update-handler.ts +227 -111
  667. package/src/lsp/index.ts +3 -1
  668. package/src/lsp/lsp-latency.ts +62 -0
  669. package/src/lsp/semantic-token-provider.ts +74 -7
  670. package/src/lsp/shared-module.ts +4 -8
  671. package/src/lsp/start-language-server.ts +13 -7
  672. package/src/messages/carriers.ts +23 -15
  673. package/src/messages/index.ts +13 -1
  674. package/src/messages/renderer.ts +212 -0
  675. package/src/node/event-loop-monitor.ts +2 -1
  676. package/src/node/heap-ceiling.ts +108 -0
  677. package/src/node/index.ts +1 -1
  678. package/src/node/latency-from-env.ts +1 -1
  679. package/src/node/log-preamble-node.ts +20 -10
  680. package/src/node/measure-memory.ts +5 -4
  681. package/src/node/memory-monitor.ts +10 -10
  682. package/src/node/node-file-system-provider.ts +178 -56
  683. package/src/node/profile-capture.ts +16 -15
  684. package/src/node/profiling-run.ts +30 -8
  685. package/src/node/rename-over-open-readers.ts +94 -0
  686. package/src/node/server-diagnostics.ts +1 -1
  687. package/src/node/server-state-snapshot.ts +5 -5
  688. package/src/node/socket-launcher.ts +27 -11
  689. package/src/node/stdio-launcher.ts +22 -14
  690. package/src/testing/document-uri-policy-conformance.ts +1 -1
  691. package/src/testing/fake-document.ts +24 -5
  692. package/src/testing/index.ts +2 -1
  693. package/src/testing/langium-test-helpers.ts +1 -0
  694. package/src/testing/make-noop-shared-services.ts +50 -2
  695. package/src/testing/make-test-services.ts +125 -31
  696. package/src/testing/make-test-tracer.ts +26 -0
  697. package/src/testing/node/applied-edit-capture.ts +139 -0
  698. package/src/testing/node/index.ts +1 -0
  699. package/src/testing/node/lsp-harness.ts +2 -0
  700. package/src/testing/node/lsp-server-connection.ts +74 -117
  701. package/src/testing/node/scratch-workspace.ts +10 -5
  702. package/src/testing/node/spawned-server.ts +57 -3
  703. package/src/testing/node/unhandled-rejections.ts +31 -0
  704. package/src/testing/parse-semantic-root.ts +1 -1
  705. package/src/testing/playwright/flaky-network-proxy.ts +240 -0
  706. package/src/testing/playwright/index.ts +1 -0
  707. package/src/testing/playwright/server-log-capture.ts +63 -11
  708. package/src/testing/playwright/server-log-fixture.ts +46 -6
  709. package/src/testing/playwright/server-log-region.ts +32 -0
  710. package/src/testing/playwright/server-log-rename-reporter.ts +12 -1
  711. package/src/testing/run-update-pipeline.ts +6 -5
  712. package/src/testing/stub-ast-document-manager.ts +47 -128
  713. package/src/testing/stub-document-builder.ts +133 -18
  714. package/src/testing/stub-hydranium-text-documents.ts +184 -27
  715. package/src/testing/stub-langium-documents.ts +3 -2
  716. package/src/testing/stub-model-service.ts +11 -10
  717. package/src/testing/stub-self-save-registry.ts +1 -1
  718. package/src/testing/stub-service-registry.ts +1 -1
  719. package/src/testing/stub-writable-file-system.ts +3 -2
  720. package/src/util/connection-liveness.ts +67 -15
  721. package/src/util/environment.ts +9 -1
  722. package/lib/documents/language-client-text-shadow.d.ts +0 -101
  723. package/lib/documents/language-client-text-shadow.d.ts.map +0 -1
  724. package/lib/documents/language-client-text-shadow.js +0 -156
  725. package/lib/documents/language-client-text-shadow.js.map +0 -1
  726. package/lib/documents/self-save-registry.d.ts +0 -55
  727. package/lib/documents/self-save-registry.d.ts.map +0 -1
  728. package/lib/documents/self-save-registry.js.map +0 -1
  729. package/lib/lsp/instrument-connection.d.ts +0 -36
  730. package/lib/lsp/instrument-connection.d.ts.map +0 -1
  731. package/lib/lsp/instrument-connection.js +0 -62
  732. package/lib/lsp/instrument-connection.js.map +0 -1
  733. package/lib/node/process-memory.d.ts +0 -66
  734. package/lib/node/process-memory.d.ts.map +0 -1
  735. package/lib/node/process-memory.js +0 -252
  736. package/lib/node/process-memory.js.map +0 -1
  737. package/src/documents/language-client-text-shadow.ts +0 -175
  738. package/src/documents/self-save-registry.ts +0 -81
  739. package/src/lsp/instrument-connection.ts +0 -66
  740. package/src/node/process-memory.ts +0 -299
@@ -1 +1 @@
1
- {"version":3,"file":"make-test-services.d.ts","sourceRoot":"","sources":["../../src/testing/make-test-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"make-test-services.d.ts","sourceRoot":"","sources":["../../src/testing/make-test-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,KAAK,EAEV,KAAK,MAAM,EACX,KAAK,MAAM,EAEX,KAAK,OAAO,EAEZ,KAAK,MAAM,EACX,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EACJ,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAElC,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAE/G,OAAO,EAA8B,KAAK,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC9G,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAiC,KAAK,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACtH,OAAO,EAA6B,KAAK,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAA4B,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAElG,OAAO,EAA8B,KAAK,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACzG,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAA4B,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACnG,OAAO,EAAkC,KAAK,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACrH,OAAO,EAA2B,KAAK,sBAAsB,EAAE,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC5H,OAAO,EAA8B,KAAK,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAEzG;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,kBAAkB,CAChC,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,WAAW,SAAS,aAAa,GAAG,aAAa,EACjD,SAAS,SAAS,eAAe,GAAG,eAAe,EACnD,QAAQ,SAAS,OAAO,GAAG,OAAO,EAClC,mBAAmB,SAAS,kBAAkB,GAAG,kBAAkB;IAEnE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE;QACjB,gBAAgB,EAAE,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC1D,eAAe,EAAE,mBAAmB,CAAC;QACrC,aAAa,EAAE,0BAA0B,CAAC;QAC1C,kBAAkB,EAAE,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC9D,kBAAkB,EAAE,sBAAsB,CAAC;QAC3C,gBAAgB,EAAE,oBAAoB,CAAC;QACvC,cAAc,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC7C,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,kHAAkH;QAClH,mBAAmB,EAAE,mBAAmB,CAAC;QACzC;;;;WAIG;QACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;QAChC;;;;;;;;WAQG;QACH,aAAa,EAAE,aAAa,CAAC;QAC7B,8DAA8D;QAC9D,WAAW,EAAE,WAAW,CAAC;QACzB,8FAA8F;QAC9F,kBAAkB,EAAE,kBAAkB,CAAC;QACvC,uFAAuF;QACvF,sBAAsB,EAAE,sBAAsB,CAAC;KACjD,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QACb,eAAe,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;QACtD,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACzD,oBAAoB,EAAE,oBAAoB,CAAC;KAC7C,CAAC;IACF;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC5C;AAED,2DAA2D;AAC3D,MAAM,WAAW,uBAAuB,CACrC,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,WAAW,SAAS,aAAa,GAAG,aAAa,EACjD,SAAS,SAAS,eAAe,GAAG,eAAe,EACnD,QAAQ,SAAS,OAAO,GAAG,OAAO,EAClC,mBAAmB,SAAS,kBAAkB,GAAG,kBAAkB;IAEnE;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC;IACrD;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KAAK,eAAe,CAAC;IAChF,uGAAuG;IACvG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC9C;;;;OAIG;IACH,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,aAAa,CAAC,EAAE,aAAa,CAAC;QAC3B,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC;QACX,OAAO,CAAC,EAAE,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;KACnD,CAAC,CAAC;IACH,oEAAoE;IACpE,YAAY,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACnC;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC1C;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KAAK,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACxG;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,KAAK,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC5H;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB,CAChC,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,WAAW,SAAS,aAAa,GAAG,aAAa,EACjD,SAAS,SAAS,eAAe,GAAG,eAAe,EACnD,QAAQ,SAAS,OAAO,GAAG,OAAO,EAClC,mBAAmB,SAAS,kBAAkB,GAAG,kBAAkB,CACpE,SAAQ,OAAO;IACd,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IACvE,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC5D,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC;IACnD,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACvE,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtD,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAClE,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,6FAA6F;IAC7F,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,WAAW,SAAS,aAAa,GAAG,aAAa,EACjD,SAAS,SAAS,eAAe,GAAG,eAAe,EACnD,QAAQ,SAAS,OAAO,GAAG,OAAO,EAClC,mBAAmB,SAAS,kBAAkB,GAAG,kBAAkB,EAEnE,OAAO,GAAE,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,CAAM,GAClG,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAgIjF"}
@@ -7,9 +7,16 @@
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
9
  import { DefaultTracer, NoopLogger, SystemClock } from '@hydranium/protocol';
10
- import { TransferEncoder } from '../langium/transfer/transfer-encoder.js';
10
+ import { DefaultServerLocale } from '../locale/server-locale.js';
11
+ import { DefaultMessageRenderer } from '../messages/renderer.js';
12
+ import { DefaultClientSessionFactory } from '../langium/model-service/client-session.js';
13
+ import { DefaultTransferEncoder } from '../langium/transfer/transfer-encoder.js';
11
14
  import { DefaultDocumentUriPolicy } from '../langium/workspace/document-uri-policy.js';
12
15
  import { HydraniumWorkspaceLock } from '../langium/workspace/hydranium-workspace-lock.js';
16
+ import { DefaultFileSystemTaskQueue } from '../documents/file-system-task-queue.js';
17
+ import { DefaultModelLedger } from '../documents/model-ledger.js';
18
+ import { DefaultDocumentReleaseHandler } from '../documents/document-release-handler.js';
19
+ import { DefaultVersionSyncService } from '../documents/version-sync-service.js';
13
20
  import { makeStubDocumentBuilder } from './stub-document-builder.js';
14
21
  import { makeStubIndexManager } from './stub-index-manager.js';
15
22
  import { makeStubLangiumDocuments } from './stub-langium-documents.js';
@@ -33,14 +40,16 @@ import { makeStubWritableFileSystem } from './stub-writable-file-system.js';
33
40
  export function makeTestServices(options = {}) {
34
41
  const documents = makeStubLangiumDocuments(options.seedDocuments);
35
42
  const textDocuments = makeStubHydraniumTextDocuments();
36
- const documentBuilder = makeStubDocumentBuilder();
37
- const selfSaveRegistry = makeStubSelfSaveRegistry();
38
- const fileSystem = makeStubWritableFileSystem(selfSaveRegistry);
39
- const projectManager = makeStubProjectManager(options.seedProjects);
40
- const astDocumentManager = makeStubAstDocumentManager(textDocuments, fileSystem, documents);
41
43
  const logger = options.logger ?? new NoopLogger();
42
44
  const clock = options.clock ?? new SystemClock();
43
45
  const tracer = new DefaultTracer(logger, clock);
46
+ const workspaceLock = new HydraniumWorkspaceLock({ Clock: clock, Tracer: tracer });
47
+ const documentBuilder = makeStubDocumentBuilder(workspaceLock);
48
+ const selfSaveRegistry = makeStubSelfSaveRegistry();
49
+ const fileSystem = makeStubWritableFileSystem(selfSaveRegistry);
50
+ const projectManager = makeStubProjectManager(options.seedProjects);
51
+ const modelLedger = new DefaultModelLedger();
52
+ const astDocumentManager = makeStubAstDocumentManager(textDocuments, fileSystem, documents, modelLedger);
44
53
  const documentUriPolicy = options.documentUriPolicy ?? new DefaultDocumentUriPolicy();
45
54
  const serviceRegistry = options.languages
46
55
  ? makeStubServiceRegistry(options.languages, { openLanguageIds: options.openLanguageIds })
@@ -62,7 +71,7 @@ export function makeTestServices(options = {}) {
62
71
  // is dependency-free (as `HydraniumWorkspaceLock` is) — a no-op stub of a
63
72
  // synchronisation primitive hides the very interleaving it exists to prevent.
64
73
  //
65
- // `model.TransferEncoder` / `model.ModelService` are populated below
74
+ // The `model` slots are populated below
66
75
  // (after the factories run); the literal uses unsafe casts to
67
76
  // partially-built objects to satisfy TestSharedServices, then patches
68
77
  // them in.
@@ -86,21 +95,41 @@ export function makeTestServices(options = {}) {
86
95
  // Spread for the same reason as `ServiceRegistry` above — the slot must
87
96
  // be genuinely ABSENT, not present-and-undefined, when no index was seeded.
88
97
  ...(indexManager ? { IndexManager: indexManager } : {}),
89
- WorkspaceLock: new HydraniumWorkspaceLock()
98
+ WorkspaceLock: workspaceLock,
99
+ FileSystemTaskQueue: new DefaultFileSystemTaskQueue({ workspace: { DocumentUriPolicy: documentUriPolicy } }),
100
+ ModelLedger: modelLedger,
101
+ // Patched in below, as both read the tree they belong to.
102
+ VersionSyncService: {},
103
+ DocumentReleaseHandler: {}
90
104
  },
91
- model: {}
105
+ model: {},
106
+ ServerLocale: {},
107
+ MessageRenderer: {}
92
108
  };
93
109
  const sharedServices = services;
110
+ // Patched in after the literal, like `model` below: both read the tree they
111
+ // belong to, and the renderer reads the locale service.
112
+ services.workspace.VersionSyncService = new DefaultVersionSyncService(sharedServices);
113
+ services.workspace.DocumentReleaseHandler = new DefaultDocumentReleaseHandler(sharedServices);
114
+ const mutableMessages = services;
115
+ const serverLocale = new DefaultServerLocale(sharedServices);
116
+ if (options.locale) {
117
+ serverLocale.accept(options.locale);
118
+ }
119
+ mutableMessages.ServerLocale = serverLocale;
120
+ const messageRenderer = options.messageRenderer?.(sharedServices) ?? new DefaultMessageRenderer(sharedServices);
121
+ mutableMessages.MessageRenderer = messageRenderer;
94
122
  const serialize = options.serialize ?? ((_uri, root) => JSON.stringify(root));
95
123
  const transferEncoder = options.transferEncoder
96
124
  ? options.transferEncoder(sharedServices)
97
- : new TransferEncoder(sharedServices);
125
+ : new DefaultTransferEncoder(sharedServices);
98
126
  const modelService = options.modelService
99
127
  ? options.modelService(sharedServices)
100
128
  : makeStubModelService(sharedServices, serialize, options.modelServiceOptions);
101
129
  const mutableModel = services.model;
102
130
  mutableModel.TransferEncoder = transferEncoder;
103
131
  mutableModel.ModelService = modelService;
132
+ mutableModel.ClientSessionFactory = new DefaultClientSessionFactory(sharedServices, options.clientSessionFactoryOptions);
104
133
  return {
105
134
  services: sharedServices,
106
135
  documents,
@@ -111,12 +140,15 @@ export function makeTestServices(options = {}) {
111
140
  selfSaveRegistry,
112
141
  projectManager,
113
142
  documentUriPolicy,
143
+ modelLedger,
114
144
  serviceRegistry,
115
145
  indexManager,
116
146
  modelService,
117
147
  transferEncoder,
118
148
  logger,
119
149
  clock,
150
+ serverLocale,
151
+ messageRenderer,
120
152
  dispose: () => {
121
153
  // No-op: the bundled stubs hold only in-memory state (maps, arrays),
122
154
  // released with the bundle when it goes out of scope. The hook exists
@@ -1 +1 @@
1
- {"version":3,"file":"make-test-services.js","sourceRoot":"","sources":["../../src/testing/make-test-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"make-test-services.js","sourceRoot":"","sources":["../../src/testing/make-test-services.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,18 @@ export interface CapturingLogger {
49
49
  * hand-rolling a capturing `{ info, warn, ... } as unknown as Logger` stub.
50
50
  */
51
51
  export declare function makeCapturingLogger(): CapturingLogger;
52
+ /** A captured line with the logger component it was emitted under. */
53
+ export interface AttributedLine extends CapturedLine {
54
+ readonly component: string | undefined;
55
+ }
56
+ /** A {@link Logger} whose emitted lines are captured with their component. */
57
+ export interface AttributingLogger {
58
+ readonly logger: Logger;
59
+ /** Every line emitted through the logger (and its derived children), in order. */
60
+ readonly lines: AttributedLine[];
61
+ }
62
+ /** A capturing logger that also records each line's component, which {@link makeCapturingLogger} drops. */
63
+ export declare function makeAttributingLogger(): AttributingLogger;
52
64
  /** A {@link Tracer} whose emitted lines are captured for assertions. */
53
65
  export interface CapturingTracer {
54
66
  readonly tracer: Tracer;
@@ -1 +1 @@
1
- {"version":3,"file":"make-test-tracer.d.ts","sourceRoot":"","sources":["../../src/testing/make-test-tracer.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,KAAK,EAAiB,KAAK,MAAM,EAAE,KAAK,QAAQ,EAA2B,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElI;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC1B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC3B;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,CAWrD;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,GAAE,KAAyB,GAAG,eAAe,CAGrF"}
1
+ {"version":3,"file":"make-test-tracer.d.ts","sourceRoot":"","sources":["../../src/testing/make-test-tracer.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,KAAK,EAAiB,KAAK,MAAM,EAAE,KAAK,QAAQ,EAA2B,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElI;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC1B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC3B;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,CAWrD;AAED,sEAAsE;AACtE,MAAM,WAAW,cAAe,SAAQ,YAAY;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC;CACnC;AAED,2GAA2G;AAC3G,wBAAgB,qBAAqB,IAAI,iBAAiB,CAWzD;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,GAAE,KAAyB,GAAG,eAAe,CAGrF"}
@@ -53,6 +53,19 @@ export function makeCapturingLogger() {
53
53
  }
54
54
  return { logger: new Capturing(), lines };
55
55
  }
56
+ /** A capturing logger that also records each line's component, which {@link makeCapturingLogger} drops. */
57
+ export function makeAttributingLogger() {
58
+ const lines = [];
59
+ class Attributing extends NoopLogger {
60
+ emit(level, _label, message) {
61
+ lines.push({ level, message, component: this.component });
62
+ }
63
+ derive(component) {
64
+ return new Attributing(component);
65
+ }
66
+ }
67
+ return { logger: new Attributing(), lines };
68
+ }
56
69
  /**
57
70
  * Capturing {@link Tracer} for tests that assert on emitted output. Wraps a
58
71
  * {@link makeCapturingLogger} in a {@link DefaultTracer} so timing/profiling
@@ -1 +1 @@
1
- {"version":3,"file":"make-test-tracer.js","sourceRoot":"","sources":["../../src/testing/make-test-tracer.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAc,aAAa,EAA8B,UAAU,EAAE,WAAW,EAAe,MAAM,qBAAqB,CAAC;AAElI;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc;IAC3B,OAAO,IAAI,aAAa,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc;IAC3B,OAAO,IAAI,UAAU,EAAE,CAAC;AAC3B,CAAC;AAeD;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB;IAChC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,SAAU,SAAQ,UAAU;QACZ,IAAI,CAAC,KAAe,EAAE,MAAc,EAAE,OAAe;YACrE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAClC,CAAC;QACkB,MAAM,CAAC,SAAiB;YACxC,OAAO,IAAI,SAAS,CAAC,SAAS,CAAS,CAAC;QAC3C,CAAC;KACH;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAe,IAAI,WAAW,EAAE;IACjE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAChD,OAAO,EAAE,MAAM,EAAE,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"make-test-tracer.js","sourceRoot":"","sources":["../../src/testing/make-test-tracer.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAc,aAAa,EAA8B,UAAU,EAAE,WAAW,EAAe,MAAM,qBAAqB,CAAC;AAElI;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc;IAC3B,OAAO,IAAI,aAAa,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc;IAC3B,OAAO,IAAI,UAAU,EAAE,CAAC;AAC3B,CAAC;AAeD;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB;IAChC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,SAAU,SAAQ,UAAU;QACZ,IAAI,CAAC,KAAe,EAAE,MAAc,EAAE,OAAe;YACrE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAClC,CAAC;QACkB,MAAM,CAAC,SAAiB;YACxC,OAAO,IAAI,SAAS,CAAC,SAAS,CAAS,CAAC;QAC3C,CAAC;KACH;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC;AAcD,2GAA2G;AAC3G,MAAM,UAAU,qBAAqB;IAClC,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,MAAM,WAAY,SAAQ,UAAU;QACd,IAAI,CAAC,KAAe,EAAE,MAAc,EAAE,OAAe;YACrE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7D,CAAC;QACkB,MAAM,CAAC,SAAiB;YACxC,OAAO,IAAI,WAAW,CAAC,SAAS,CAAS,CAAC;QAC7C,CAAC;KACH;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC;AAC/C,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAK,GAAU,IAAI,WAAW,EAAE;IACjE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAChD,OAAO,EAAE,MAAM,EAAE,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;AAC9D,CAAC"}
@@ -0,0 +1,29 @@
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 ApplyWorkspaceEditParams, type ApplyWorkspaceEditResult, type ProtocolConnection } from 'vscode-languageserver-protocol/node';
10
+ import type { AppliedEdit, NextAppliedEditOptions } from './lsp-server-connection.js';
11
+ /**
12
+ * The client side of `workspace/applyEdit` on one LSP connection, shared by the
13
+ * in-process and the spawned tiers so their capture and wait cannot drift.
14
+ */
15
+ export interface AppliedEditCapture {
16
+ readonly appliedEdits: ReadonlyArray<AppliedEdit>;
17
+ nextAppliedEdit(uri: string, timeoutMsOrOptions?: number | NextAppliedEditOptions): Promise<AppliedEdit>;
18
+ setApplyEditHandler(handler: (params: ApplyWorkspaceEditParams) => ApplyWorkspaceEditResult): void;
19
+ dispose(): void;
20
+ }
21
+ /**
22
+ * Answer and record every `workspace/applyEdit` arriving on `client`.
23
+ *
24
+ * Register before the connection can receive one: `vscode-jsonrpc` keeps a
25
+ * single handler per request type, so this must be the only `applyEdit`
26
+ * handler on `client`, and a second registration displaces the capture.
27
+ */
28
+ export declare function captureAppliedEdits(client: ProtocolConnection, defaultTimeoutMs: number): AppliedEditCapture;
29
+ //# sourceMappingURL=applied-edit-capture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applied-edit-capture.d.ts","sourceRoot":"","sources":["../../../src/testing/node/applied-edit-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAEJ,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEtF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAChC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAClD,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACzG,mBAAmB,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,wBAAwB,GAAG,IAAI,CAAC;IACnG,OAAO,IAAI,IAAI,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,GAAG,kBAAkB,CAkE5G"}
@@ -0,0 +1,115 @@
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 { ApplyWorkspaceEditRequest } from 'vscode-languageserver-protocol/node';
10
+ /**
11
+ * Answer and record every `workspace/applyEdit` arriving on `client`.
12
+ *
13
+ * Register before the connection can receive one: `vscode-jsonrpc` keeps a
14
+ * single handler per request type, so this must be the only `applyEdit`
15
+ * handler on `client`, and a second registration displaces the capture.
16
+ */
17
+ export function captureAppliedEdits(client, defaultTimeoutMs) {
18
+ const appliedEdits = [];
19
+ const waiters = [];
20
+ let handler = () => ({ applied: true });
21
+ const subscription = client.onRequest(ApplyWorkspaceEditRequest.type, (params) => {
22
+ const edit = { params, uris: editedUris(params.edit), text: insertedText(params.edit) };
23
+ // Record before the handler runs, so a handler that rejects the edit or
24
+ // throws still leaves the push observable — the send is what the egress
25
+ // assertion is about.
26
+ appliedEdits.push(edit);
27
+ for (const waiter of [...waiters]) {
28
+ if (waiter(edit)) {
29
+ const at = waiters.indexOf(waiter);
30
+ if (at >= 0) {
31
+ waiters.splice(at, 1);
32
+ }
33
+ }
34
+ }
35
+ return handler(params);
36
+ });
37
+ return {
38
+ appliedEdits,
39
+ nextAppliedEdit(uri, timeoutMsOrOptions) {
40
+ const options = typeof timeoutMsOrOptions === 'number' ? { timeoutMs: timeoutMsOrOptions } : (timeoutMsOrOptions ?? {});
41
+ const timeoutMs = options.timeoutMs ?? defaultTimeoutMs;
42
+ const { fromIndex, match } = options;
43
+ const matches = (edit) => edit.uris.includes(uri) && (match?.(edit) ?? true);
44
+ if (fromIndex !== undefined) {
45
+ // Replay from the capture first: the push may already have arrived,
46
+ // and a waiter only ever sees later ones.
47
+ const captured = appliedEdits.slice(Math.max(0, fromIndex)).find(matches);
48
+ if (captured) {
49
+ return Promise.resolve(captured);
50
+ }
51
+ }
52
+ return new Promise((resolve, reject) => {
53
+ const waiter = (edit) => {
54
+ if (!matches(edit)) {
55
+ return false;
56
+ }
57
+ clearTimeout(timer);
58
+ resolve(edit);
59
+ return true;
60
+ };
61
+ const timer = setTimeout(() => {
62
+ const at = waiters.indexOf(waiter);
63
+ if (at >= 0) {
64
+ waiters.splice(at, 1);
65
+ }
66
+ reject(new Error(`Timed out waiting for a workspace/applyEdit addressing ${uri}`));
67
+ }, timeoutMs);
68
+ waiters.push(waiter);
69
+ });
70
+ },
71
+ setApplyEditHandler(next) {
72
+ handler = next;
73
+ },
74
+ dispose() {
75
+ subscription.dispose();
76
+ }
77
+ };
78
+ }
79
+ /** Every URI a {@link WorkspaceEdit} addresses, in `documentChanges` then `changes` order. */
80
+ function editedUris(edit) {
81
+ const uris = [];
82
+ for (const change of edit.documentChanges ?? []) {
83
+ if ('textDocument' in change) {
84
+ uris.push(change.textDocument.uri);
85
+ }
86
+ else if ('oldUri' in change) {
87
+ uris.push(change.oldUri, change.newUri);
88
+ }
89
+ else {
90
+ uris.push(change.uri);
91
+ }
92
+ }
93
+ uris.push(...Object.keys(edit.changes ?? {}));
94
+ return uris;
95
+ }
96
+ /** Every text edit's `newText` in a {@link WorkspaceEdit}, concatenated in edit order. */
97
+ function insertedText(edit) {
98
+ const parts = [];
99
+ for (const change of edit.documentChanges ?? []) {
100
+ if ('edits' in change) {
101
+ for (const textEdit of change.edits) {
102
+ if ('newText' in textEdit) {
103
+ parts.push(textEdit.newText);
104
+ }
105
+ }
106
+ }
107
+ }
108
+ for (const textEdits of Object.values(edit.changes ?? {})) {
109
+ for (const textEdit of textEdits) {
110
+ parts.push(textEdit.newText);
111
+ }
112
+ }
113
+ return parts.join('');
114
+ }
115
+ //# sourceMappingURL=applied-edit-capture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applied-edit-capture.js","sourceRoot":"","sources":["../../../src/testing/node/applied-edit-capture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"golden-corpus.js","sourceRoot":"","sources":["../../../src/testing/node/golden-corpus.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAgC3C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,UAAmC,EAAE;IACtF,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SAC5D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SAC/B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC1E,GAAG,CAAC,KAAK,CAAC,EAAE;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO;YACJ,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC;YAC5E,QAAQ,EAAE,KAAK,CAAC,IAAI;YACpB,IAAI;YACJ,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;SAClC,CAAC;IACL,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1G,IAAI,QAAQ,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,SAAS,GAAG,CAAC;QAC5F,MAAM,IAAI,KAAK,CACZ,oBAAoB,SAAS,YAAY,QAAQ,CAAC,MAAM,oBAAoB,MAAM,uBAAuB,OAAO,IAAI;YACjH,gHAAgH,CACrH,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"golden-corpus.js","sourceRoot":"","sources":["../../../src/testing/node/golden-corpus.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAgC3C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,OAAO,GAA4B,EAAE;IACtF,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SAC5D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SAC/B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC1E,GAAG,CAAC,KAAK,CAAC,EAAE;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO;YACJ,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC;YAC5E,QAAQ,EAAE,KAAK,CAAC,IAAI;YACpB,IAAI;YACJ,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;SAClC,CAAC;IACL,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1G,IAAI,QAAQ,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,SAAS,GAAG,CAAC;QAC5F,MAAM,IAAI,KAAK,CACZ,oBAAoB,SAAS,YAAY,QAAQ,CAAC,MAAM,oBAAoB,MAAM,uBAAuB,OAAO,IAAI;YACjH,gHAAgH,CACrH,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACnB,CAAC"}
@@ -25,4 +25,5 @@ export * from './lsp-harness.js';
25
25
  export * from './lsp-server-connection.js';
26
26
  export * from './scratch-workspace.js';
27
27
  export * from './spawned-server.js';
28
+ export * from './unhandled-rejections.js';
28
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testing/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;GAYG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testing/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;GAYG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC"}
@@ -25,4 +25,5 @@ export * from './lsp-harness.js';
25
25
  export * from './lsp-server-connection.js';
26
26
  export * from './scratch-workspace.js';
27
27
  export * from './spawned-server.js';
28
+ export * from './unhandled-rejections.js';
28
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/testing/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;GAYG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/testing/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;;;GAYG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-harness.d.ts","sourceRoot":"","sources":["../../../src/testing/node/lsp-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG7D,OAAO,EAAkC,KAAK,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAC5H,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE/F;;;;;;;GAOG;AACH,MAAM,MAAM,wBAAwB,GAAG,2BAA2B,GAAG,qBAAqB,CAAC;AAE3F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,qBAAqB,GAAG,+BAA+B,GAAG,uBAAuB,CAAC;AAE9F,wEAAwE;AACxE,MAAM,WAAW,+BAA+B;IAC7C;;;;OAIG;IACH,cAAc,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,wBAAwB,CAAC;CACvE;AAED,0FAA0F;AAC1F,MAAM,WAAW,uBAAuB;IACrC;;;;OAIG;IACH,UAAU,EAAE,mBAAmB,CAAC;IAChC;;;;OAIG;IACH,QAAQ,EAAE,wBAAwB,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,GAAG;IACtE,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrG,CAAC;AA8BF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,UAAU,CAuDzE"}
1
+ {"version":3,"file":"lsp-harness.d.ts","sourceRoot":"","sources":["../../../src/testing/node/lsp-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG7D,OAAO,EAAkC,KAAK,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAC5H,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE/F;;;;;;;GAOG;AACH,MAAM,MAAM,wBAAwB,GAAG,2BAA2B,GAAG,qBAAqB,CAAC;AAE3F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,qBAAqB,GAAG,+BAA+B,GAAG,uBAAuB,CAAC;AAE9F,wEAAwE;AACxE,MAAM,WAAW,+BAA+B;IAC7C;;;;OAIG;IACH,cAAc,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,wBAAwB,CAAC;CACvE;AAED,0FAA0F;AAC1F,MAAM,WAAW,uBAAuB;IACrC;;;;OAIG;IACH,UAAU,EAAE,mBAAmB,CAAC;IAChC;;;;OAIG;IACH,QAAQ,EAAE,wBAAwB,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,GAAG;IACtE,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrG,CAAC;AA8BF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,UAAU,CAyDzE"}
@@ -104,12 +104,14 @@ export function makeLspHarness(options) {
104
104
  },
105
105
  shutdown: transport.shutdown,
106
106
  openDocument: transport.openDocument,
107
+ closeDocument: transport.closeDocument,
107
108
  changeDocument: transport.changeDocument,
108
109
  completion: transport.completion,
109
110
  hover: transport.hover,
110
111
  semanticTokens: transport.semanticTokens,
111
112
  nextDiagnostics: transport.nextDiagnostics,
112
113
  appliedEdits: transport.appliedEdits,
114
+ wireBytes: transport.wireBytes,
113
115
  nextAppliedEdit: transport.nextAppliedEdit,
114
116
  setApplyEditHandler: transport.setApplyEditHandler,
115
117
  buildWorkspace: folders => buildWorkspaceProgrammatically(services, folders),
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-harness.js","sourceRoot":"","sources":["../../../src/testing/node/lsp-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAA6B,MAAM,iDAAiD,CAAC;AAE5H,OAAO,EAAE,uBAAuB,EAA4B,MAAM,4BAA4B,CAAC;AA2G/F;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,KAAK,UAAU,0BAA0B,CAAC,QAAkC;IACzE,MAAM,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC1D,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,SAAS,GAAG,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC;IAC3F,MAAM,QAAQ,GAAG,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACjH,0EAA0E;IAC1E,yBAAyB;IACzB,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE9B,OAAO;QACJ,QAAQ;QACR,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC;;;;;;;;;;;;;;;;;;;;;WAqBG;QACH,UAAU,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;YACxB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,MAAM,EAAE,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClE,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,MAAM,CAAC;QACjB,CAAC;QACD,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,cAAc,EAAE,SAAS,CAAC,cAAc;QACxC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,cAAc,EAAE,SAAS,CAAC,cAAc;QACxC,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;QAClD,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,8BAA8B,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC5E,OAAO,EAAE,SAAS,CAAC,OAAO;KAC5B,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"lsp-harness.js","sourceRoot":"","sources":["../../../src/testing/node/lsp-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAA6B,MAAM,iDAAiD,CAAC;AAE5H,OAAO,EAAE,uBAAuB,EAA4B,MAAM,4BAA4B,CAAC;AA2G/F;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,KAAK,UAAU,0BAA0B,CAAC,QAAkC;IACzE,MAAM,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC1D,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,SAAS,GAAG,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC;IAC3F,MAAM,QAAQ,GAAG,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACjH,0EAA0E;IAC1E,yBAAyB;IACzB,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE9B,OAAO;QACJ,QAAQ;QACR,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC;;;;;;;;;;;;;;;;;;;;;WAqBG;QACH,UAAU,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;YACxB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,MAAM,EAAE,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClE,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,MAAM,CAAC;QACjB,CAAC;QACD,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,cAAc,EAAE,SAAS,CAAC,cAAc;QACxC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,cAAc,EAAE,SAAS,CAAC,cAAc;QACxC,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;QAClD,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,8BAA8B,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC5E,OAAO,EAAE,SAAS,CAAC,OAAO;KAC5B,CAAC;AACL,CAAC"}
@@ -65,7 +65,7 @@ export interface NextAppliedEditOptions {
65
65
  * and needed for the same reason: one write can fan out to several pushes.
66
66
  */
67
67
  readonly fromIndex?: number;
68
- /** Reject after this long. Defaults to the in-process publish timeout. */
68
+ /** Reject after this long. Defaults to the harness's own timeout, which differs by tier. */
69
69
  readonly timeoutMs?: number;
70
70
  /**
71
71
  * Additional predicate the edit must satisfy. The framework coalesces
@@ -76,8 +76,8 @@ export interface NextAppliedEditOptions {
76
76
  readonly match?: (edit: AppliedEdit) => boolean;
77
77
  }
78
78
  /**
79
- * The in-process LSP transport seam — a real `Connection` over the in-memory
80
- * {@link makeDuplexStreamPair}, plus the client side, the diagnostics capture,
79
+ * The in-process LSP transport seam — a real `Connection` over a crossed pair
80
+ * of in-memory streams, plus the client side, the diagnostics capture,
81
81
  * and the typed request facades — with NO services attached. It is the lower
82
82
  * half of `makeLspHarness`, factored out so a caller can OWN the services
83
83
  * tree: build the tree around {@link serverConnection} (`createXxxServices({
@@ -132,6 +132,12 @@ export interface LspServerConnection extends Harness {
132
132
  * unhandled method.
133
133
  */
134
134
  readonly appliedEdits: ReadonlyArray<AppliedEdit>;
135
+ /** Bytes written in each direction of the in-process JSON-RPC wire. */
136
+ readonly wireBytes: () => {
137
+ readonly clientToServer: number;
138
+ readonly serverToClient: number;
139
+ readonly total: number;
140
+ };
135
141
  /**
136
142
  * Drive the real LSP `initialize` → `initialized` handshake and return the
137
143
  * `InitializeResult`. Defaults to no workspace folders (no async
@@ -151,6 +157,8 @@ export interface LspServerConnection extends Harness {
151
157
  * associates with a language (silent no-diagnostics). `version` defaults to 1.
152
158
  */
153
159
  openDocument(uri: string, text: string, languageId: string, version?: number): void;
160
+ /** Send `textDocument/didClose` for a document opened through this harness. */
161
+ closeDocument(uri: string): Promise<void>;
154
162
  /** Send `textDocument/didChange` for `uri` as a single full-text replacement at `version`. */
155
163
  changeDocument(uri: string, text: string, version: number): void;
156
164
  /**
@@ -194,7 +202,7 @@ export interface LspServerConnection extends Harness {
194
202
  *
195
203
  * **An egress push is asynchronous well past the call that triggers it** —
196
204
  * the framework coalesces per URI and drives the sync from a build-phase
197
- * settle, so a `ModelService.update` resolves long before the push is sent.
205
+ * settle, so a session's `update` resolves long before the push is sent.
198
206
  * Record `appliedEdits.length`, drive the edit, then await this; reading the
199
207
  * capture on the line after the write proves nothing.
200
208
  */
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-server-connection.d.ts","sourceRoot":"","sources":["../../../src/testing/node/lsp-server-connection.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAG3D,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,4BAA4B,CAAC;AAgB/E,OAAO,EAYJ,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EAErB,MAAM,qCAAqC,CAAC;AAc7C;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACpC;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,oGAAoG;IACpG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACxB;AAED,+DAA+D;AAC/D,MAAM,WAAW,sBAAsB;IACpC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;CAClD;AAsCD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,mBAAoB,SAAQ,OAAO;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC;IACtC,oGAAoG;IACpG,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC;;;;;;;;;OASG;IACH,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAC9D;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAElD;;;;;OAKG;IACH,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1E;;;;OAIG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;;;OAIG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpF,8FAA8F;IAC9F,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjE;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACrE,mCAAmC;IACnC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC9D,uDAAuD;IACvD,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAE5D;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAE1G;;;;;;;;;;;;;;;OAeG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzG;;;;;;;;;OASG;IACH,mBAAmB,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,wBAAwB,GAAG,IAAI,CAAC;IAEnG;;;;OAIG;IACH,OAAO,IAAI,IAAI,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,IAAI,mBAAmB,CAkP7D"}
1
+ {"version":3,"file":"lsp-server-connection.d.ts","sourceRoot":"","sources":["../../../src/testing/node/lsp-server-connection.ts"],"names":[],"mappings":"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"}