@hydranium/core 1.0.0-next.259 → 1.0.0-next.261

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 (71) hide show
  1. package/lib/langium/bootstrap.d.ts +11 -9
  2. package/lib/langium/bootstrap.d.ts.map +1 -1
  3. package/lib/langium/bootstrap.js +11 -9
  4. package/lib/langium/bootstrap.js.map +1 -1
  5. package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts +1 -1
  6. package/lib/langium/build-phase-pass/build-phase-pass.d.ts +1 -1
  7. package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts +9 -20
  8. package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts.map +1 -1
  9. package/lib/langium/diagnostics/hydranium-langium-profiler.js +15 -24
  10. package/lib/langium/diagnostics/hydranium-langium-profiler.js.map +1 -1
  11. package/lib/langium/document-builder/document-builder.d.ts +22 -10
  12. package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
  13. package/lib/langium/document-builder/document-builder.js +25 -17
  14. package/lib/langium/document-builder/document-builder.js.map +1 -1
  15. package/lib/langium/integrity/integrity-service.d.ts +1 -3
  16. package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
  17. package/lib/langium/integrity/integrity-service.js +1 -3
  18. package/lib/langium/integrity/integrity-service.js.map +1 -1
  19. package/lib/langium/module.d.ts +1 -1
  20. package/lib/langium/module.js +1 -1
  21. package/lib/langium/module.js.map +1 -1
  22. package/lib/langium/scope/fallback-scope.d.ts +27 -0
  23. package/lib/langium/scope/fallback-scope.d.ts.map +1 -0
  24. package/lib/langium/scope/fallback-scope.js +35 -0
  25. package/lib/langium/scope/fallback-scope.js.map +1 -0
  26. package/lib/langium/scope/hydranium-scope-provider.d.ts +10 -9
  27. package/lib/langium/scope/hydranium-scope-provider.d.ts.map +1 -1
  28. package/lib/langium/scope/hydranium-scope-provider.js +15 -13
  29. package/lib/langium/scope/hydranium-scope-provider.js.map +1 -1
  30. package/lib/langium/scope/index.d.ts +1 -0
  31. package/lib/langium/scope/index.d.ts.map +1 -1
  32. package/lib/langium/scope/index.js +1 -0
  33. package/lib/langium/scope/index.js.map +1 -1
  34. package/lib/langium/scope/reference-candidate-provider.d.ts +3 -3
  35. package/lib/langium/scope/reference-candidate-provider.d.ts.map +1 -1
  36. package/lib/langium/scope/reference-candidate-provider.js.map +1 -1
  37. package/lib/langium/scope/scope-extension-service.d.ts +41 -37
  38. package/lib/langium/scope/scope-extension-service.d.ts.map +1 -1
  39. package/lib/langium/scope/scope-extension-service.js +57 -29
  40. package/lib/langium/scope/scope-extension-service.js.map +1 -1
  41. package/lib/langium/shared-services.d.ts +2 -0
  42. package/lib/langium/shared-services.d.ts.map +1 -1
  43. package/lib/langium/shared-services.js.map +1 -1
  44. package/lib/node/rename-over-open-readers.d.ts +2 -0
  45. package/lib/node/rename-over-open-readers.d.ts.map +1 -1
  46. package/lib/node/rename-over-open-readers.js +6 -2
  47. package/lib/node/rename-over-open-readers.js.map +1 -1
  48. package/lib/testing/playwright/server-log-capture.d.ts +4 -0
  49. package/lib/testing/playwright/server-log-capture.d.ts.map +1 -1
  50. package/lib/testing/playwright/server-log-capture.js.map +1 -1
  51. package/lib/testing/stub-document-builder.d.ts +9 -2
  52. package/lib/testing/stub-document-builder.d.ts.map +1 -1
  53. package/lib/testing/stub-document-builder.js +25 -0
  54. package/lib/testing/stub-document-builder.js.map +1 -1
  55. package/package.json +5 -5
  56. package/src/langium/bootstrap.ts +11 -9
  57. package/src/langium/build-phase-pass/build-phase-pass-service.ts +1 -1
  58. package/src/langium/build-phase-pass/build-phase-pass.ts +1 -1
  59. package/src/langium/diagnostics/hydranium-langium-profiler.ts +15 -39
  60. package/src/langium/document-builder/document-builder.ts +37 -19
  61. package/src/langium/integrity/integrity-service.ts +2 -4
  62. package/src/langium/module.ts +2 -2
  63. package/src/langium/scope/fallback-scope.ts +38 -0
  64. package/src/langium/scope/hydranium-scope-provider.ts +26 -14
  65. package/src/langium/scope/index.ts +1 -0
  66. package/src/langium/scope/reference-candidate-provider.ts +3 -3
  67. package/src/langium/scope/scope-extension-service.ts +74 -59
  68. package/src/langium/shared-services.ts +5 -0
  69. package/src/node/rename-over-open-readers.ts +7 -2
  70. package/src/testing/playwright/server-log-capture.ts +4 -0
  71. package/src/testing/stub-document-builder.ts +33 -2
@@ -1 +1 @@
1
- {"version":3,"file":"reference-candidate-provider.d.ts","sourceRoot":"","sources":["../../../src/langium/scope/reference-candidate-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference-candidate-provider.d.ts","sourceRoot":"","sources":["../../../src/langium/scope/reference-candidate-provider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reference-candidate-provider.js","sourceRoot":"","sources":["../../../src/langium/scope/reference-candidate-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference-candidate-provider.js","sourceRoot":"","sources":["../../../src/langium/scope/reference-candidate-provider.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,9 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { type AstNode, type LangiumDocument, type Scope } from '@hydranium/langium';
9
+ import { type AstNode, type LangiumDocument } from '@hydranium/langium';
10
10
  import { type Disposable } from 'vscode-languageserver';
11
- import { type Tracer } from '@hydranium/protocol';
11
+ import { type ProfileRecord, type ProfileSession, type Tracer } from '@hydranium/protocol';
12
12
  import { type LogNameOptions } from '../diagnostics/logger.js';
13
13
  import { type ServerLanguageServices } from '../language-module.js';
14
14
  import { Registry, type RegistryItem } from '../../util/registry.js';
@@ -54,8 +54,7 @@ export interface ScopeDescriptionAcceptor {
54
54
  * descriptions are constructed ahead of time, to avoid per-query
55
55
  * allocation. The pushed description's `tier` must be `'local'` or
56
56
  * `'universal'`; a description of any other tier is silently dropped,
57
- * because the per-tier query methods only return descriptions matching
58
- * the tier they were asked for.
57
+ * because {@link ScopeExtensionDescriptions} holds only those two.
59
58
  */
60
59
  push(description: TieredAstNodeDescription): void;
61
60
  }
@@ -78,34 +77,25 @@ export interface ScopeExtension extends RegistryItem {
78
77
  */
79
78
  addDescriptions(context: AstNode, referenceType: string, document: LangiumDocument, accept: ScopeDescriptionAcceptor): void;
80
79
  }
80
+ /** The scope-extension descriptions for one reference, split by tier. */
81
+ export interface ScopeExtensionDescriptions {
82
+ readonly local: readonly TieredAstNodeDescription[];
83
+ readonly universal: readonly TieredAstNodeDescription[];
84
+ }
81
85
  /**
82
86
  * Public contract for the per-language scope-extension service. Extends
83
87
  * the {@link ScopeExtensionRegistry} (the imperative `register` surface
84
- * contributions use) with the per-tier query methods called cross-class
85
- * from `HydraniumScopeProvider`'s `layerLocalExtension` /
86
- * `layerUniversalExtension` helpers, which layer scope-extension
87
- * contributions around the cached project chain.
88
- *
89
- * Adopter overrides go through {@link DefaultScopeExtensionService}; the
90
- * interface keeps the public API stable while internals
91
- * (`collectExtensionDescriptions` walk) stay `protected` on the default
92
- * class.
88
+ * contributions use) with the query `HydraniumScopeProvider` builds its
89
+ * extension tiers from.
93
90
  */
94
91
  export interface ScopeExtensionService extends ScopeExtensionRegistry {
95
92
  /**
96
- * Layer this language's `local`-tier scope-extension descriptions on
97
- * top of `outerScope` for the given reference type. Returns
98
- * `outerScope` unchanged when no extension contributes a `local`-tier
99
- * description for the type (zero-cost common path).
93
+ * Run every extension registered for `referenceType` once against
94
+ * `context`, and answer its descriptions by tier. A caller that needs
95
+ * both tiers takes them from one call: a call per tier runs every
96
+ * extension twice.
100
97
  */
101
- getLocalExtensionScope(referenceType: string, context: AstNode, outerScope: Scope): Scope;
102
- /**
103
- * Layer this language's `universal`-tier scope-extension descriptions
104
- * BELOW `outerScope` for the given reference type. Returns `outerScope`
105
- * unchanged when no extension contributes a `universal`-tier
106
- * description for the type.
107
- */
108
- getUniversalExtensionScope(referenceType: string, context: AstNode, outerScope: Scope): Scope;
98
+ getDescriptions(referenceType: string, context: AstNode): ScopeExtensionDescriptions;
109
99
  }
110
100
  export type ScopeExtensionServiceOptions = LogNameOptions;
111
101
  /**
@@ -117,14 +107,20 @@ export type ScopeExtensionServiceOptions = LogNameOptions;
117
107
  * separate from the query-time scope-resolution concern (which only reads).
118
108
  *
119
109
  * Lives in the per-language `references` group alongside `ScopeProvider`,
120
- * which consumes the per-tier query methods ({@link getLocalExtensionScope}
121
- * / {@link getUniversalExtensionScope}). Designed as a base class; adopters
110
+ * which consumes {@link getDescriptions}. Designed as a base class; adopters
122
111
  * extend it and call `register` in their constructor.
112
+ *
113
+ * At `debug`, each extension's calls and self-time go into one profile
114
+ * session, reported when a build starts and when it ends. A report thus
115
+ * covers one build, validation included, or the calls made between two
116
+ * builds, such as a reference picker's.
123
117
  */
124
118
  export declare class DefaultScopeExtensionService implements ScopeExtensionService {
125
119
  protected readonly services: ServerLanguageServices;
126
120
  protected readonly scopeExtensions: Registry<ScopeExtension>;
127
121
  protected readonly tracer: Tracer;
122
+ /** Open from the first profiled call until {@link reportProfile}. */
123
+ protected profileSession?: ProfileSession;
128
124
  constructor(services: ServerLanguageServices, options?: ScopeExtensionServiceOptions);
129
125
  /**
130
126
  * Register a single scope extension. Doubles as the imperative low-level
@@ -133,17 +129,25 @@ export declare class DefaultScopeExtensionService implements ScopeExtensionServi
133
129
  * contributions. Throws on duplicate id.
134
130
  */
135
131
  register(extension: ScopeExtension): Disposable;
136
- getLocalExtensionScope(referenceType: string, context: AstNode, outerScope: Scope): Scope;
137
- getUniversalExtensionScope(referenceType: string, context: AstNode, outerScope: Scope): Scope;
138
132
  /**
139
- * Walk this language's registered scope extensions matching
140
- * `referenceType` and collect descriptions of the requested `tier`.
141
- * `push`-ed descriptions of other tiers are silently dropped here —
142
- * the per-tier query methods only return descriptions matching their
143
- * tier. (`local` and `universal` are the only acceptor entry points;
144
- * `push` is the escape hatch for pre-built descriptions and is the
145
- * only path that could carry other tiers.)
133
+ * Holds the profile wrap, which an override would have to copy; to change
134
+ * which extensions run, override {@link extensionsFor}.
135
+ */
136
+ getDescriptions(referenceType: string, context: AstNode): ScopeExtensionDescriptions;
137
+ /** The extensions that run for one reference: by default, those registered for `referenceType`. */
138
+ protected extensionsFor(referenceType: string, _context: AstNode): ScopeExtension[];
139
+ /**
140
+ * Report the profile session, if one is open, and start the next one fresh:
141
+ * one line per extension, its calls and self-time. Not a share of the
142
+ * session's time, which runs from the first call to the report and so takes
143
+ * in whatever happened between the calls.
144
+ */
145
+ protected reportProfile(): void;
146
+ /**
147
+ * The log line of one extension's {@link reportProfile} entry. It names the
148
+ * language: each has its own session, and an extension id is unique only
149
+ * within its language.
146
150
  */
147
- protected collectExtensionDescriptions(referenceType: string, context: AstNode, tier: 'local' | 'universal'): TieredAstNodeDescription[];
151
+ protected formatProfileRecord(record: ProfileRecord): string;
148
152
  }
149
153
  //# sourceMappingURL=scope-extension-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope-extension-service.d.ts","sourceRoot":"","sources":["../../../src/langium/scope/scope-extension-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,OAAO,EAAY,KAAK,eAAe,EAAY,KAAK,KAAK,EAAuB,MAAM,oBAAoB,CAAC;AAC7H,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,wBAAwB;IACtC,KAAK,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,eAAe,CAAA;KAAE,GAAG,IAAI,CAAC;IACjF,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,eAAe,CAAA;KAAE,GAAG,IAAI,CAAC;IACrF;;;;;;;OAOG;IACH,IAAI,CAAC,WAAW,EAAE,wBAAwB,GAAG,IAAI,CAAC;CACpD;AAcD;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,YAAY;IACjD,qEAAqE;IACrE,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAClC;;;;;;;OAOG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,wBAAwB,GAAG,IAAI,CAAC;CAC9H;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IAClE;;;;;OAKG;IACH,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC;IAC1F;;;;;OAKG;IACH,0BAA0B,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC;CAChG;AAED,MAAM,MAAM,4BAA4B,GAAG,cAAc,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,qBAAa,4BAA6B,YAAW,qBAAqB;IAKpE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB;IAJtD,SAAS,CAAC,QAAQ,CAAC,eAAe,2BAAkC;IACpE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,YACsB,QAAQ,EAAE,sBAAsB,EACnD,OAAO,GAAE,4BAAiC,EAY5C;IAED;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,UAAU,CAE9C;IAED,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,CAMxF;IAED,0BAA0B,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,CAM5F;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,4BAA4B,CACnC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO,GAAG,WAAW,GAC3B,wBAAwB,EAAE,CAY5B;CACH"}
1
+ {"version":3,"file":"scope-extension-service.d.ts","sourceRoot":"","sources":["../../../src/langium/scope/scope-extension-service.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
- import { AstUtils, MapScope, StreamScope, stream } from '@hydranium/langium';
9
+ import { AstUtils } from '@hydranium/langium';
10
+ import { Format, Logger } from '@hydranium/protocol';
10
11
  import { Registry } from '../../util/registry.js';
11
12
  /** Build a {@link ScopeDescriptionAcceptor} that synthesises typed descriptions via `descriptions` and accumulates them into `into`. */
12
13
  function createScopeDescriptionAcceptor(into, descriptions) {
@@ -16,6 +17,7 @@ function createScopeDescriptionAcceptor(into, descriptions) {
16
17
  push: description => into.push(description)
17
18
  };
18
19
  }
20
+ const NO_DESCRIPTIONS = { local: [], universal: [] };
19
21
  /**
20
22
  * Default {@link ScopeExtensionService} implementation. Per-language
21
23
  * registry for dynamic scope contributions: extra resolvable descriptions
@@ -25,14 +27,20 @@ function createScopeDescriptionAcceptor(into, descriptions) {
25
27
  * separate from the query-time scope-resolution concern (which only reads).
26
28
  *
27
29
  * Lives in the per-language `references` group alongside `ScopeProvider`,
28
- * which consumes the per-tier query methods ({@link getLocalExtensionScope}
29
- * / {@link getUniversalExtensionScope}). Designed as a base class; adopters
30
+ * which consumes {@link getDescriptions}. Designed as a base class; adopters
30
31
  * extend it and call `register` in their constructor.
32
+ *
33
+ * At `debug`, each extension's calls and self-time go into one profile
34
+ * session, reported when a build starts and when it ends. A report thus
35
+ * covers one build, validation included, or the calls made between two
36
+ * builds, such as a reference picker's.
31
37
  */
32
38
  export class DefaultScopeExtensionService {
33
39
  services;
34
40
  scopeExtensions = new Registry();
35
41
  tracer;
42
+ /** Open from the first profiled call until {@link reportProfile}. */
43
+ profileSession;
36
44
  constructor(services, options = {}) {
37
45
  this.services = services;
38
46
  this.tracer = services.shared.Tracer.for(options.logName ?? 'ScopeExtension').trace('instantiated');
@@ -44,6 +52,10 @@ export class DefaultScopeExtensionService {
44
52
  for (const contribution of Object.values(contributions)) {
45
53
  contribution.registerScopeExtensions(this);
46
54
  }
55
+ // Optional for the same reason: a stub tree may carry no builder.
56
+ const builder = services.shared.workspace.DocumentBuilder;
57
+ builder?.onUpdate(() => this.reportProfile());
58
+ builder?.onBuildEnded(() => this.reportProfile());
47
59
  }
48
60
  /**
49
61
  * Register a single scope extension. Doubles as the imperative low-level
@@ -54,41 +66,57 @@ export class DefaultScopeExtensionService {
54
66
  register(extension) {
55
67
  return this.scopeExtensions.register(extension);
56
68
  }
57
- getLocalExtensionScope(referenceType, context, outerScope) {
58
- const local = this.collectExtensionDescriptions(referenceType, context, 'local');
59
- if (local.length === 0) {
60
- return outerScope;
61
- }
62
- return new StreamScope(stream(local), outerScope);
63
- }
64
- getUniversalExtensionScope(referenceType, context, outerScope) {
65
- const universal = this.collectExtensionDescriptions(referenceType, context, 'universal');
66
- if (universal.length === 0) {
67
- return outerScope;
68
- }
69
- return new StreamScope(outerScope.getAllElements(), new MapScope(universal));
70
- }
71
69
  /**
72
- * Walk this language's registered scope extensions matching
73
- * `referenceType` and collect descriptions of the requested `tier`.
74
- * `push`-ed descriptions of other tiers are silently dropped here —
75
- * the per-tier query methods only return descriptions matching their
76
- * tier. (`local` and `universal` are the only acceptor entry points;
77
- * `push` is the escape hatch for pre-built descriptions and is the
78
- * only path that could carry other tiers.)
70
+ * Holds the profile wrap, which an override would have to copy; to change
71
+ * which extensions run, override {@link extensionsFor}.
79
72
  */
80
- collectExtensionDescriptions(referenceType, context, tier) {
81
- const extensionsForType = this.scopeExtensions.all().filter(extension => extension.referenceTypes.includes(referenceType));
73
+ getDescriptions(referenceType, context) {
74
+ const extensionsForType = this.extensionsFor(referenceType, context);
82
75
  if (extensionsForType.length === 0) {
83
- return [];
76
+ return NO_DESCRIPTIONS;
84
77
  }
85
78
  const document = AstUtils.getDocument(context);
86
79
  const collected = [];
87
80
  const accept = createScopeDescriptionAcceptor(collected, this.services.workspace.AstNodeDescriptionProvider);
81
+ const session = Logger.isLevelEnabled('debug') ? (this.profileSession ??= this.tracer.profile('scope-extension')) : undefined;
88
82
  for (const extension of extensionsForType) {
89
- extension.addDescriptions(context, referenceType, document, accept);
83
+ if (session) {
84
+ session.scope(extension.id, () => extension.addDescriptions(context, referenceType, document, accept));
85
+ }
86
+ else {
87
+ extension.addDescriptions(context, referenceType, document, accept);
88
+ }
90
89
  }
91
- return collected.filter(description => description.tier === tier);
90
+ return {
91
+ local: collected.filter(description => description.tier === 'local'),
92
+ universal: collected.filter(description => description.tier === 'universal')
93
+ };
94
+ }
95
+ /** The extensions that run for one reference: by default, those registered for `referenceType`. */
96
+ extensionsFor(referenceType, _context) {
97
+ return this.scopeExtensions.all().filter(extension => extension.referenceTypes.includes(referenceType));
98
+ }
99
+ /**
100
+ * Report the profile session, if one is open, and start the next one fresh:
101
+ * one line per extension, its calls and self-time. Not a share of the
102
+ * session's time, which runs from the first call to the report and so takes
103
+ * in whatever happened between the calls.
104
+ */
105
+ reportProfile() {
106
+ const session = this.profileSession;
107
+ this.profileSession = undefined;
108
+ for (const record of session?.records() ?? []) {
109
+ this.tracer.debug(this.formatProfileRecord(record));
110
+ }
111
+ }
112
+ /**
113
+ * The log line of one extension's {@link reportProfile} entry. It names the
114
+ * language: each has its own session, and an extension id is unique only
115
+ * within its language.
116
+ */
117
+ formatProfileRecord(record) {
118
+ const language = this.services.LanguageMetaData.languageId;
119
+ return `[profile scope-extension ${language}] ${record.id} ×${record.count} ${Format.elapsed(record.selfMs)}`;
92
120
  }
93
121
  }
94
122
  //# sourceMappingURL=scope-extension-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope-extension-service.js","sourceRoot":"","sources":["../../../src/langium/scope/scope-extension-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-extension-service.js","sourceRoot":"","sources":["../../../src/langium/scope/scope-extension-service.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ import type { ProjectManager } from './project/project-manager.js';
22
22
  import type { ExtendedServiceRegistry } from './service-registry.js';
23
23
  import type { DocumentUriPolicy } from './workspace/document-uri-policy.js';
24
24
  import type { HydraniumWorkspaceManager } from './workspace/hydranium-workspace-manager.js';
25
+ import type { HydraniumDocumentBuilder } from './document-builder/document-builder.js';
25
26
  import type { AdditionalDocumentContribution } from './workspace/additional-document-contribution.js';
26
27
  /**
27
28
  * Minimum shared-services shape every framework component reads from.
@@ -83,6 +84,7 @@ export interface ServerSharedServicesMinimal<TProject extends Project = Project>
83
84
  FileSystemProvider: WritableFileSystemProvider;
84
85
  WorkspaceManager: HydraniumWorkspaceManager;
85
86
  LangiumDocuments: HydraniumDocumentRegistry;
87
+ DocumentBuilder: HydraniumDocumentBuilder;
86
88
  ProjectManager: ProjectManager<TProject>;
87
89
  SelfSaveRegistry: SelfSaveRegistry;
88
90
  BuildPipelineIntegration: BuildPipelineIntegration;
@@ -1 +1 @@
1
- {"version":3,"file":"shared-services.d.ts","sourceRoot":"","sources":["../../src/langium/shared-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAC5F,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AAEtG;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,2BAA2B,CAAC,QAAQ,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,yBAAyB;IAC/G,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IACpE;;;;OAIG;IACH,eAAe,EAAE,eAAe,CAAC;IACjC,uEAAuE;IACvE,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;;;;;OAQG;IACH,eAAe,EAAE,uBAAuB,CAAC;IACzC,SAAS,EAAE,yBAAyB,CAAC,WAAW,CAAC,GAAG;QAGjD,kBAAkB,EAAE,0BAA0B,CAAC;QAI/C,gBAAgB,EAAE,yBAAyB,CAAC;QAK7B,gBAAgB,EAAE,yBAAyB,CAAC;QAC3D,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzC,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,qBAAqB,EAAE,qBAAqB,CAAC;QAC7C,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,WAAW,EAAE,WAAW,CAAC;QACzB,kBAAkB,EAAE,kBAAkB,CAAC;KACzC,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,2BAA2B,KAAK,OAAO,GAAG,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAEvI"}
1
+ {"version":3,"file":"shared-services.d.ts","sourceRoot":"","sources":["../../src/langium/shared-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAC5F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AAEtG;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,2BAA2B,CAAC,QAAQ,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,yBAAyB;IAC/G,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IACpE;;;;OAIG;IACH,eAAe,EAAE,eAAe,CAAC;IACjC,uEAAuE;IACvE,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;;;;;OAQG;IACH,eAAe,EAAE,uBAAuB,CAAC;IACzC,SAAS,EAAE,yBAAyB,CAAC,WAAW,CAAC,GAAG;QAGjD,kBAAkB,EAAE,0BAA0B,CAAC;QAI/C,gBAAgB,EAAE,yBAAyB,CAAC;QAK7B,gBAAgB,EAAE,yBAAyB,CAAC;QAI5C,eAAe,EAAE,wBAAwB,CAAC;QACzD,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzC,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,qBAAqB,EAAE,qBAAqB,CAAC;QAC7C,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,WAAW,EAAE,WAAW,CAAC;QACzB,kBAAkB,EAAE,kBAAkB,CAAC;KACzC,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,2BAA2B,KAAK,OAAO,GAAG,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAEvI"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared-services.js","sourceRoot":"","sources":["../../src/langium/shared-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAoGlF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,mBAAmB,CAAU,MAA0D;IACpG,OAAO,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAuC,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"shared-services.js","sourceRoot":"","sources":["../../src/langium/shared-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAyGlF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,mBAAmB,CAAU,MAA0D;IACpG,OAAO,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAuC,CAAC,CAAC;AACtE,CAAC"}
@@ -6,6 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
+ import { type Clock } from '@hydranium/protocol';
9
10
  /**
10
11
  * Errnos Windows raises when a replacing `rename` meets a handle already on the
11
12
  * destination open. POSIX renames are unaffected by open handles, so these
@@ -32,6 +33,7 @@ export declare const RENAME_BUDGET_MS = 10000;
32
33
  export interface RenameOverOpenReadersOptions {
33
34
  readonly rename?: (from: string, to: string) => Promise<void>;
34
35
  readonly budgetMs?: number;
36
+ readonly clock?: Clock;
35
37
  }
36
38
  /**
37
39
  * `rename` the staged content over `destination`, retrying while Windows
@@ -1 +1 @@
1
- {"version":3,"file":"rename-over-open-readers.d.ts","sourceRoot":"","sources":["../../src/node/rename-over-open-readers.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,aAAwC,CAAC;AAE7E;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC,0EAA0E;AAC1E,MAAM,WAAW,4BAA4B;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACxC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,4BAAiC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAiBf"}
1
+ {"version":3,"file":"rename-over-open-readers.d.ts","sourceRoot":"","sources":["../../src/node/rename-over-open-readers.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,qBAAqB,CAAC;AAG9D;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,aAAwC,CAAC;AAE7E;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC,0EAA0E;AAC1E,MAAM,WAAW,4BAA4B;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACxC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,4BAAiC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAoBf"}
@@ -6,6 +6,7 @@
6
6
  *
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
+ import { SystemClock } from '@hydranium/protocol';
9
10
  import * as fsp from 'node:fs/promises';
10
11
  /**
11
12
  * Errnos Windows raises when a replacing `rename` meets a handle already on the
@@ -46,7 +47,8 @@ export const RENAME_BUDGET_MS = 10_000;
46
47
  */
47
48
  export async function renameOverOpenReaders(staging, destination, options = {}) {
48
49
  const rename = options.rename ?? fsp.rename;
49
- const deadline = Date.now() + (options.budgetMs ?? RENAME_BUDGET_MS);
50
+ const clock = options.clock ?? new SystemClock();
51
+ const deadline = clock.now() + (options.budgetMs ?? RENAME_BUDGET_MS);
50
52
  for (let attempt = 0;; attempt++) {
51
53
  try {
52
54
  await rename(staging, destination);
@@ -54,11 +56,13 @@ export async function renameOverOpenReaders(staging, destination, options = {})
54
56
  }
55
57
  catch (err) {
56
58
  const code = err instanceof Error && 'code' in err ? String(err.code) : undefined;
57
- if (code === undefined || !RENAME_CONTENTION_CODES.has(code) || Date.now() >= deadline) {
59
+ if (code === undefined || !RENAME_CONTENTION_CODES.has(code) || clock.now() >= deadline) {
58
60
  throw err;
59
61
  }
60
62
  // Backs off to keep a long contention window from spinning, capped so
61
63
  // a late attempt still lands promptly once the handle is released.
64
+ // Not `clock.setTimer`: it unrefs its timer, so a process with only
65
+ // this write pending could exit mid-backoff.
62
66
  await new Promise(resolve => setTimeout(resolve, Math.min(2 ** attempt, 50)));
63
67
  }
64
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rename-over-open-readers.js","sourceRoot":"","sources":["../../src/node/rename-over-open-readers.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAQvC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACxC,OAAe,EACf,WAAmB,EACnB,OAAO,GAAiC,EAAE;IAE1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC;IACrE,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QACjC,IAAI,CAAC;YACF,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACnC,OAAO;QACV,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,GAAG,YAAY,KAAK,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAE,GAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7G,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBACtF,MAAM,GAAG,CAAC;YACb,CAAC;YACD,sEAAsE;YACtE,mEAAmE;YACnE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;IACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"rename-over-open-readers.js","sourceRoot":"","sources":["../../src/node/rename-over-open-readers.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAc,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AASvC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACxC,OAAe,EACf,WAAmB,EACnB,OAAO,GAAiC,EAAE;IAE1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,WAAW,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC;IACtE,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QACjC,IAAI,CAAC;YACF,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACnC,OAAO;QACV,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,GAAG,YAAY,KAAK,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAE,GAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7G,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBACvF,MAAM,GAAG,CAAC;YACb,CAAC;YACD,sEAAsE;YACtE,mEAAmE;YACnE,oEAAoE;YACpE,6CAA6C;YAC7C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;IACJ,CAAC;AACJ,CAAC"}
@@ -49,6 +49,10 @@ export interface CaptureServerLogOptions {
49
49
  *
50
50
  * The server's own threshold is left alone: it governs what the client sees,
51
51
  * not the file, and the setting replaces it within moments of startup.
52
+ *
53
+ * The server runs every path guarded on a level this admits, its debug
54
+ * profiling included, so a timing run captured at a level that admits debug
55
+ * measures that work too.
52
56
  */
53
57
  level?: LogThreshold;
54
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server-log-capture.d.ts","sourceRoot":"","sources":["../../../src/testing/playwright/server-log-capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-log-capture.d.ts","sourceRoot":"","sources":["../../../src/testing/playwright/server-log-capture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-log-capture.js","sourceRoot":"","sources":["../../../src/testing/playwright/server-log-capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-log-capture.js","sourceRoot":"","sources":["../../../src/testing/playwright/server-log-capture.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  ********************************************************************************/
9
9
  import { type DocumentBuilder, type DocumentState, type LangiumDocument, type URI, type WorkspaceLock } from '@hydranium/langium';
10
10
  import { type CancellationToken } from 'vscode-languageserver';
11
- import { HydraniumDocumentBuilder } from '../langium/document-builder/document-builder.js';
11
+ import { type BuildEndedEvent, HydraniumDocumentBuilder } from '../langium/document-builder/document-builder.js';
12
12
  /** Recorded call to a stubbed {@link DocumentBuilder} method. */
13
13
  export interface RecordedBuilderCall<TArgs extends unknown[]> {
14
14
  readonly args: TArgs;
@@ -60,7 +60,7 @@ export interface StubWaitUntilGate {
60
60
  * stub claims but doesn't meaningfully implement) fails with a clear
61
61
  * message instead of "undefined is not a function".
62
62
  */
63
- export interface StubDocumentBuilder extends Pick<DocumentBuilder, 'update' | 'onDocumentPhase' | 'onUpdate' | 'build' | 'onBuildPhase' | 'resetToState' | 'updateBuildOptions'>, Pick<HydraniumDocumentBuilder, 'onDocumentPhaseDelivered' | 'scheduleUpdate' | 'finalBuildState'> {
63
+ export interface StubDocumentBuilder extends Pick<DocumentBuilder, 'update' | 'onDocumentPhase' | 'onUpdate' | 'build' | 'onBuildPhase' | 'resetToState' | 'updateBuildOptions'>, Pick<HydraniumDocumentBuilder, 'onDocumentPhaseDelivered' | 'scheduleUpdate' | 'finalBuildState' | 'onBuildEnded'> {
64
64
  /**
65
65
  * Single-overload stub of {@link DocumentBuilder.waitUntil}. Real has
66
66
  * two overloads (`(state, cancelToken?): Promise<void>` and
@@ -90,6 +90,13 @@ export interface StubDocumentBuilder extends Pick<DocumentBuilder, 'update' | 'o
90
90
  * looking wired.
91
91
  */
92
92
  fireBuildPhase(state: DocumentState, built: LangiumDocument[], cancelToken?: CancellationToken): void;
93
+ /**
94
+ * Synchronously fire every {@link HydraniumDocumentBuilder.onBuildEnded}
95
+ * listener with `event`. As in the real builder, one that throws does not
96
+ * stop the others; the real builder logs the error, and this stub, having
97
+ * no logger, rethrows the first one once all have run.
98
+ */
99
+ fireBuildEnded(event: BuildEndedEvent): void;
93
100
  /**
94
101
  * Hold the next {@link waitUntil} call. The returned handle releases it;
95
102
  * the call's return value resolves on the next tick after `resolve` runs.
@@ -1 +1 @@
1
- {"version":3,"file":"stub-document-builder.d.ts","sourceRoot":"","sources":["../../src/testing/stub-document-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,eAAe,EAGpB,KAAK,aAAa,EAGlB,KAAK,eAAe,EACpB,KAAK,GAAG,EACR,KAAK,aAAa,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAc,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAE3F,iEAAiE;AACjE,MAAM,WAAW,mBAAmB,CAAC,KAAK,SAAS,OAAO,EAAE;IACzD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAC/B;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI,CAAC;IAChB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,mBACd,SACG,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,iBAAiB,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,GAAG,cAAc,GAAG,oBAAoB,CAAC,EACnI,IAAI,CAAC,wBAAwB,EAAE,0BAA0B,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;IACpG;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IACrE,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,aAAa,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9F;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClG,+DAA+D;IAC/D,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACnD;;;;;;OAMG;IACH,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtG;;;OAGG;IACH,iBAAiB,IAAI,iBAAiB,CAAC;IACvC,2EAA2E;IAC3E,KAAK,IAAI,IAAI,CAAC;CAChB;AAqBD;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,mBAAmB,CAgL1F"}
1
+ {"version":3,"file":"stub-document-builder.d.ts","sourceRoot":"","sources":["../../src/testing/stub-document-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,eAAe,EAGpB,KAAK,aAAa,EAGlB,KAAK,eAAe,EACpB,KAAK,GAAG,EACR,KAAK,aAAa,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAc,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,KAAK,eAAe,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAEjH,iEAAiE;AACjE,MAAM,WAAW,mBAAmB,CAAC,KAAK,SAAS,OAAO,EAAE;IACzD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAC/B;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI,CAAC;IAChB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,mBACd,SACG,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,iBAAiB,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,GAAG,cAAc,GAAG,oBAAoB,CAAC,EACnI,IAAI,CAAC,wBAAwB,EAAE,0BAA0B,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,cAAc,CAAC;IACrH;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IACrE,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,aAAa,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9F;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClG,+DAA+D;IAC/D,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACnD;;;;;;OAMG;IACH,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtG;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7C;;;OAGG;IACH,iBAAiB,IAAI,iBAAiB,CAAC;IACvC,2EAA2E;IAC3E,KAAK,IAAI,IAAI,CAAC;CAChB;AAqBD;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,mBAAmB,CAwM1F"}
@@ -44,6 +44,7 @@ export function makeStubDocumentBuilder(workspaceLock) {
44
44
  const deliveredListeners = new Map();
45
45
  const buildPhaseListeners = new Map();
46
46
  const onUpdateListeners = [];
47
+ const buildEndedListeners = [];
47
48
  const gates = [];
48
49
  const updateCalls = [];
49
50
  const waitUntilCalls = [];
@@ -149,6 +150,29 @@ export function makeStubDocumentBuilder(workspaceLock) {
149
150
  reraise(listener(changed, deleted));
150
151
  }
151
152
  },
153
+ onBuildEnded(listener) {
154
+ buildEndedListeners.push(listener);
155
+ return Disposable.create(() => {
156
+ const idx = buildEndedListeners.indexOf(listener);
157
+ if (idx >= 0) {
158
+ buildEndedListeners.splice(idx, 1);
159
+ }
160
+ });
161
+ },
162
+ fireBuildEnded(event) {
163
+ const failures = [];
164
+ for (const listener of buildEndedListeners.slice()) {
165
+ try {
166
+ listener(event);
167
+ }
168
+ catch (error) {
169
+ failures.push(error);
170
+ }
171
+ }
172
+ if (failures.length > 0) {
173
+ throw failures[0];
174
+ }
175
+ },
152
176
  onBuildPhase(state, listener) {
153
177
  const list = buildPhaseListeners.get(state) ?? [];
154
178
  list.push(listener);
@@ -205,6 +229,7 @@ export function makeStubDocumentBuilder(workspaceLock) {
205
229
  phaseListeners.clear();
206
230
  deliveredListeners.clear();
207
231
  onUpdateListeners.length = 0;
232
+ buildEndedListeners.length = 0;
208
233
  gates.length = 0;
209
234
  updateCalls.length = 0;
210
235
  waitUntilCalls.length = 0;