@hydranium/core 1.0.0-next.9 → 1.0.0-next.90
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.
- package/lib/documents/ast-document-manager.d.ts +75 -16
- package/lib/documents/ast-document-manager.d.ts.map +1 -1
- package/lib/documents/ast-document-manager.js +57 -19
- package/lib/documents/ast-document-manager.js.map +1 -1
- package/lib/documents/client-ids.d.ts +5 -19
- package/lib/documents/client-ids.d.ts.map +1 -1
- package/lib/documents/client-ids.js +5 -19
- package/lib/documents/client-ids.js.map +1 -1
- package/lib/documents/hydranium-text-documents.d.ts +55 -21
- package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
- package/lib/documents/hydranium-text-documents.js +142 -46
- package/lib/documents/hydranium-text-documents.js.map +1 -1
- package/lib/documents/language-client-text-shadow.d.ts +41 -9
- package/lib/documents/language-client-text-shadow.d.ts.map +1 -1
- package/lib/documents/language-client-text-shadow.js +56 -11
- package/lib/documents/language-client-text-shadow.js.map +1 -1
- package/lib/documents/self-save-registry.d.ts +37 -6
- package/lib/documents/self-save-registry.d.ts.map +1 -1
- package/lib/documents/self-save-registry.js +28 -15
- package/lib/documents/self-save-registry.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -0
- package/lib/index.js.map +1 -1
- package/lib/langium/ast-extension/ast-node-builder.d.ts +32 -9
- package/lib/langium/ast-extension/ast-node-builder.d.ts.map +1 -1
- package/lib/langium/ast-extension/ast-node-builder.js +60 -22
- package/lib/langium/ast-extension/ast-node-builder.js.map +1 -1
- package/lib/langium/bootstrap.d.ts.map +1 -1
- package/lib/langium/bootstrap.js +16 -9
- package/lib/langium/bootstrap.js.map +1 -1
- package/lib/langium/config/configuration-provider.d.ts +81 -0
- package/lib/langium/config/configuration-provider.d.ts.map +1 -0
- package/lib/langium/config/configuration-provider.js +112 -0
- package/lib/langium/config/configuration-provider.js.map +1 -0
- package/lib/langium/config/index.d.ts +1 -0
- package/lib/langium/config/index.d.ts.map +1 -1
- package/lib/langium/config/index.js +1 -0
- package/lib/langium/config/index.js.map +1 -1
- package/lib/langium/diagnostics/lsp-logger.d.ts +17 -0
- package/lib/langium/diagnostics/lsp-logger.d.ts.map +1 -1
- package/lib/langium/diagnostics/lsp-logger.js +40 -6
- package/lib/langium/diagnostics/lsp-logger.js.map +1 -1
- package/lib/langium/document-builder/build-pipeline-integration.d.ts +13 -1
- package/lib/langium/document-builder/build-pipeline-integration.d.ts.map +1 -1
- package/lib/langium/document-builder/build-pipeline-integration.js +1 -1
- package/lib/langium/document-builder/build-pipeline-integration.js.map +1 -1
- package/lib/langium/document-builder/build-session.d.ts +93 -0
- package/lib/langium/document-builder/build-session.d.ts.map +1 -0
- package/lib/langium/document-builder/build-session.js +72 -0
- package/lib/langium/document-builder/build-session.js.map +1 -0
- package/lib/langium/document-builder/document-builder.d.ts +150 -7
- package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
- package/lib/langium/document-builder/document-builder.js +298 -11
- package/lib/langium/document-builder/document-builder.js.map +1 -1
- package/lib/langium/document-builder/index.d.ts +1 -0
- package/lib/langium/document-builder/index.d.ts.map +1 -1
- package/lib/langium/document-builder/index.js +1 -0
- package/lib/langium/document-builder/index.js.map +1 -1
- package/lib/langium/integration-services.d.ts +45 -1
- package/lib/langium/integration-services.d.ts.map +1 -1
- package/lib/langium/integration-services.js +10 -5
- package/lib/langium/integration-services.js.map +1 -1
- package/lib/langium/integrity/integrity-service.d.ts +5 -0
- package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
- package/lib/langium/integrity/integrity-service.js +34 -1
- package/lib/langium/integrity/integrity-service.js.map +1 -1
- package/lib/langium/keys/containment.d.ts +64 -0
- package/lib/langium/keys/containment.d.ts.map +1 -0
- package/lib/langium/keys/containment.js +53 -0
- package/lib/langium/keys/containment.js.map +1 -0
- package/lib/langium/keys/index.d.ts +1 -0
- package/lib/langium/keys/index.d.ts.map +1 -1
- package/lib/langium/keys/index.js +1 -0
- package/lib/langium/keys/index.js.map +1 -1
- package/lib/langium/keys/name-based-key-provider.d.ts +4 -0
- package/lib/langium/keys/name-based-key-provider.d.ts.map +1 -1
- package/lib/langium/keys/name-based-key-provider.js +4 -0
- package/lib/langium/keys/name-based-key-provider.js.map +1 -1
- package/lib/langium/model-service/model-service.d.ts +149 -10
- package/lib/langium/model-service/model-service.d.ts.map +1 -1
- package/lib/langium/model-service/model-service.js +120 -93
- package/lib/langium/model-service/model-service.js.map +1 -1
- package/lib/langium/module.d.ts +84 -15
- package/lib/langium/module.d.ts.map +1 -1
- package/lib/langium/module.js +26 -12
- package/lib/langium/module.js.map +1 -1
- package/lib/langium/naming/name-provider.d.ts +25 -4
- package/lib/langium/naming/name-provider.d.ts.map +1 -1
- package/lib/langium/naming/name-provider.js +2 -1
- package/lib/langium/naming/name-provider.js.map +1 -1
- package/lib/langium/naming/name-separator-validation.d.ts +23 -0
- package/lib/langium/naming/name-separator-validation.d.ts.map +1 -1
- package/lib/langium/naming/name-separator-validation.js +30 -1
- package/lib/langium/naming/name-separator-validation.js.map +1 -1
- package/lib/langium/residency/cst-residency-service.d.ts +31 -9
- package/lib/langium/residency/cst-residency-service.d.ts.map +1 -1
- package/lib/langium/residency/cst-residency-service.js +13 -56
- package/lib/langium/residency/cst-residency-service.js.map +1 -1
- package/lib/langium/scope/hydranium-scope-provider.d.ts +32 -13
- package/lib/langium/scope/hydranium-scope-provider.d.ts.map +1 -1
- package/lib/langium/scope/hydranium-scope-provider.js +37 -20
- package/lib/langium/scope/hydranium-scope-provider.js.map +1 -1
- package/lib/langium/service-registry.d.ts +5 -1
- package/lib/langium/service-registry.d.ts.map +1 -1
- package/lib/langium/service-registry.js +4 -0
- package/lib/langium/service-registry.js.map +1 -1
- package/lib/langium/shared-services.d.ts +15 -2
- package/lib/langium/shared-services.d.ts.map +1 -1
- package/lib/langium/shared-services.js.map +1 -1
- package/lib/langium/transfer/transfer-encoder.d.ts +60 -17
- package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
- package/lib/langium/transfer/transfer-encoder.js +38 -16
- package/lib/langium/transfer/transfer-encoder.js.map +1 -1
- package/lib/langium/validation/document-validator.d.ts +294 -10
- package/lib/langium/validation/document-validator.d.ts.map +1 -1
- package/lib/langium/validation/document-validator.js +448 -5
- package/lib/langium/validation/document-validator.js.map +1 -1
- package/lib/langium/workspace/document-uri-policy.d.ts +3 -4
- package/lib/langium/workspace/document-uri-policy.d.ts.map +1 -1
- package/lib/langium/workspace/document-uri-policy.js +3 -4
- package/lib/langium/workspace/document-uri-policy.js.map +1 -1
- package/lib/langium/workspace/hydranium-langium-document-factory.d.ts +25 -0
- package/lib/langium/workspace/hydranium-langium-document-factory.d.ts.map +1 -1
- package/lib/langium/workspace/hydranium-langium-document-factory.js +25 -0
- package/lib/langium/workspace/hydranium-langium-document-factory.js.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-manager.d.ts +21 -1
- package/lib/langium/workspace/hydranium-workspace-manager.d.ts.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-manager.js +28 -0
- package/lib/langium/workspace/hydranium-workspace-manager.js.map +1 -1
- package/lib/langium/workspace/in-memory-file-system-provider.d.ts +8 -0
- package/lib/langium/workspace/in-memory-file-system-provider.d.ts.map +1 -1
- package/lib/langium/workspace/in-memory-file-system-provider.js +11 -2
- package/lib/langium/workspace/in-memory-file-system-provider.js.map +1 -1
- package/lib/langium/workspace/initialize-workspace.d.ts +22 -2
- package/lib/langium/workspace/initialize-workspace.d.ts.map +1 -1
- package/lib/langium/workspace/initialize-workspace.js +13 -5
- package/lib/langium/workspace/initialize-workspace.js.map +1 -1
- package/lib/langium/workspace/langium-documents.d.ts +79 -17
- package/lib/langium/workspace/langium-documents.d.ts.map +1 -1
- package/lib/langium/workspace/langium-documents.js +83 -28
- package/lib/langium/workspace/langium-documents.js.map +1 -1
- package/lib/locale/index.d.ts +10 -0
- package/lib/locale/index.d.ts.map +1 -0
- package/lib/locale/index.js +10 -0
- package/lib/locale/index.js.map +1 -0
- package/lib/locale/server-locale.d.ts +73 -0
- package/lib/locale/server-locale.d.ts.map +1 -0
- package/lib/locale/server-locale.js +61 -0
- package/lib/locale/server-locale.js.map +1 -0
- package/lib/lsp/hydranium-document-update-handler.js +1 -1
- package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
- package/lib/lsp/index.d.ts +1 -1
- package/lib/lsp/index.d.ts.map +1 -1
- package/lib/lsp/index.js +1 -1
- package/lib/lsp/index.js.map +1 -1
- package/lib/lsp/lsp-latency.d.ts +39 -0
- package/lib/lsp/lsp-latency.d.ts.map +1 -0
- package/lib/lsp/lsp-latency.js +58 -0
- package/lib/lsp/lsp-latency.js.map +1 -0
- package/lib/lsp/semantic-token-provider.d.ts +34 -1
- package/lib/lsp/semantic-token-provider.d.ts.map +1 -1
- package/lib/lsp/semantic-token-provider.js +55 -8
- package/lib/lsp/semantic-token-provider.js.map +1 -1
- package/lib/messages/carriers.d.ts +54 -0
- package/lib/messages/carriers.d.ts.map +1 -0
- package/lib/messages/carriers.js +62 -0
- package/lib/messages/carriers.js.map +1 -0
- package/lib/messages/index.d.ts +25 -0
- package/lib/messages/index.d.ts.map +1 -0
- package/lib/messages/index.js +25 -0
- package/lib/messages/index.js.map +1 -0
- package/lib/messages/renderer.d.ts +136 -0
- package/lib/messages/renderer.d.ts.map +1 -0
- package/lib/messages/renderer.js +159 -0
- package/lib/messages/renderer.js.map +1 -0
- package/lib/node/heap-ceiling.d.ts +61 -0
- package/lib/node/heap-ceiling.d.ts.map +1 -0
- package/lib/node/heap-ceiling.js +72 -0
- package/lib/node/heap-ceiling.js.map +1 -0
- package/lib/node/index.d.ts +1 -0
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +1 -0
- package/lib/node/index.js.map +1 -1
- package/lib/node/latency-from-env.d.ts +1 -1
- package/lib/node/latency-from-env.js +1 -1
- package/lib/node/node-file-system-provider.d.ts.map +1 -1
- package/lib/node/node-file-system-provider.js +1 -40
- package/lib/node/node-file-system-provider.js.map +1 -1
- package/lib/node/profiling-run.d.ts +2 -2
- package/lib/node/profiling-run.js +1 -1
- package/lib/node/profiling-run.js.map +1 -1
- package/lib/node/rename-over-open-readers.d.ts +52 -0
- package/lib/node/rename-over-open-readers.d.ts.map +1 -0
- package/lib/node/rename-over-open-readers.js +66 -0
- package/lib/node/rename-over-open-readers.js.map +1 -0
- package/lib/node/socket-launcher.d.ts +15 -0
- package/lib/node/socket-launcher.d.ts.map +1 -1
- package/lib/node/socket-launcher.js +3 -2
- package/lib/node/socket-launcher.js.map +1 -1
- package/lib/testing/fake-document.d.ts +16 -4
- package/lib/testing/fake-document.d.ts.map +1 -1
- package/lib/testing/fake-document.js +18 -3
- package/lib/testing/fake-document.js.map +1 -1
- package/lib/testing/make-noop-shared-services.d.ts +14 -0
- package/lib/testing/make-noop-shared-services.d.ts.map +1 -1
- package/lib/testing/make-noop-shared-services.js +28 -2
- package/lib/testing/make-noop-shared-services.js.map +1 -1
- package/lib/testing/make-test-services.d.ts +44 -8
- package/lib/testing/make-test-services.d.ts.map +1 -1
- package/lib/testing/make-test-services.js +19 -3
- package/lib/testing/make-test-services.js.map +1 -1
- package/lib/testing/node/spawned-server.d.ts +14 -0
- package/lib/testing/node/spawned-server.d.ts.map +1 -1
- package/lib/testing/node/spawned-server.js +33 -1
- package/lib/testing/node/spawned-server.js.map +1 -1
- package/lib/testing/playwright/flaky-network-proxy.d.ts +76 -0
- package/lib/testing/playwright/flaky-network-proxy.d.ts.map +1 -0
- package/lib/testing/playwright/flaky-network-proxy.js +164 -0
- package/lib/testing/playwright/flaky-network-proxy.js.map +1 -0
- package/lib/testing/playwright/index.d.ts +1 -0
- package/lib/testing/playwright/index.d.ts.map +1 -1
- package/lib/testing/playwright/index.js +1 -0
- package/lib/testing/playwright/index.js.map +1 -1
- package/lib/testing/playwright/server-log-capture.d.ts +14 -4
- package/lib/testing/playwright/server-log-capture.d.ts.map +1 -1
- package/lib/testing/playwright/server-log-capture.js +21 -4
- package/lib/testing/playwright/server-log-capture.js.map +1 -1
- package/lib/testing/playwright/server-log-rename-reporter.d.ts.map +1 -1
- package/lib/testing/playwright/server-log-rename-reporter.js +10 -1
- package/lib/testing/playwright/server-log-rename-reporter.js.map +1 -1
- package/lib/testing/stub-ast-document-manager.d.ts +5 -5
- package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
- package/lib/testing/stub-ast-document-manager.js +4 -6
- package/lib/testing/stub-ast-document-manager.js.map +1 -1
- package/lib/testing/stub-document-builder.d.ts +8 -0
- package/lib/testing/stub-document-builder.d.ts.map +1 -1
- package/lib/testing/stub-document-builder.js +22 -3
- package/lib/testing/stub-document-builder.js.map +1 -1
- package/lib/testing/stub-langium-documents.d.ts +3 -2
- package/lib/testing/stub-langium-documents.d.ts.map +1 -1
- package/lib/testing/stub-langium-documents.js.map +1 -1
- package/lib/testing/stub-model-service.d.ts +5 -4
- package/lib/testing/stub-model-service.d.ts.map +1 -1
- package/lib/testing/stub-model-service.js +2 -2
- package/lib/testing/stub-model-service.js.map +1 -1
- package/package.json +17 -8
- package/src/documents/ast-document-manager.ts +129 -36
- package/src/documents/client-ids.ts +5 -22
- package/src/documents/hydranium-text-documents.ts +167 -61
- package/src/documents/language-client-text-shadow.ts +59 -11
- package/src/documents/self-save-registry.ts +52 -13
- package/src/index.ts +5 -0
- package/src/langium/ast-extension/ast-node-builder.ts +66 -22
- package/src/langium/bootstrap.ts +16 -9
- package/src/langium/config/configuration-provider.ts +119 -0
- package/src/langium/config/index.ts +1 -0
- package/src/langium/diagnostics/lsp-logger.ts +41 -6
- package/src/langium/document-builder/build-pipeline-integration.ts +14 -1
- package/src/langium/document-builder/build-session.ts +87 -0
- package/src/langium/document-builder/document-builder.ts +339 -11
- package/src/langium/document-builder/index.ts +1 -0
- package/src/langium/integration-services.ts +67 -6
- package/src/langium/integrity/integrity-service.ts +35 -1
- package/src/langium/keys/containment.ts +87 -0
- package/src/langium/keys/index.ts +1 -0
- package/src/langium/keys/name-based-key-provider.ts +4 -0
- package/src/langium/model-service/model-service.ts +211 -30
- package/src/langium/module.ts +106 -21
- package/src/langium/naming/name-provider.ts +27 -5
- package/src/langium/naming/name-separator-validation.ts +34 -5
- package/src/langium/residency/cst-residency-service.ts +36 -12
- package/src/langium/scope/hydranium-scope-provider.ts +40 -22
- package/src/langium/service-registry.ts +6 -2
- package/src/langium/shared-services.ts +19 -2
- package/src/langium/transfer/transfer-encoder.ts +85 -24
- package/src/langium/validation/document-validator.ts +537 -11
- package/src/langium/workspace/document-uri-policy.ts +3 -4
- package/src/langium/workspace/hydranium-langium-document-factory.ts +34 -0
- package/src/langium/workspace/hydranium-workspace-manager.ts +30 -1
- package/src/langium/workspace/in-memory-file-system-provider.ts +13 -3
- package/src/langium/workspace/initialize-workspace.ts +34 -5
- package/src/langium/workspace/langium-documents.ts +106 -33
- package/src/locale/index.ts +10 -0
- package/src/locale/server-locale.ts +86 -0
- package/src/lsp/hydranium-document-update-handler.ts +1 -1
- package/src/lsp/index.ts +1 -1
- package/src/lsp/lsp-latency.ts +62 -0
- package/src/lsp/semantic-token-provider.ts +74 -7
- package/src/messages/carriers.ts +78 -0
- package/src/messages/index.ts +36 -0
- package/src/messages/renderer.ts +204 -0
- package/src/node/heap-ceiling.ts +108 -0
- package/src/node/index.ts +1 -0
- package/src/node/latency-from-env.ts +1 -1
- package/src/node/node-file-system-provider.ts +1 -41
- package/src/node/profiling-run.ts +3 -3
- package/src/node/rename-over-open-readers.ts +78 -0
- package/src/node/socket-launcher.ts +18 -2
- package/src/testing/fake-document.ts +24 -5
- package/src/testing/make-noop-shared-services.ts +50 -2
- package/src/testing/make-test-services.ts +73 -18
- package/src/testing/node/spawned-server.ts +35 -1
- package/src/testing/playwright/flaky-network-proxy.ts +240 -0
- package/src/testing/playwright/index.ts +1 -0
- package/src/testing/playwright/server-log-capture.ts +24 -5
- package/src/testing/playwright/server-log-rename-reporter.ts +12 -1
- package/src/testing/stub-ast-document-manager.ts +10 -14
- package/src/testing/stub-document-builder.ts +32 -3
- package/src/testing/stub-langium-documents.ts +3 -2
- package/src/testing/stub-model-service.ts +7 -6
- package/lib/lsp/instrument-connection.d.ts +0 -36
- package/lib/lsp/instrument-connection.d.ts.map +0 -1
- package/lib/lsp/instrument-connection.js +0 -62
- package/lib/lsp/instrument-connection.js.map +0 -1
- package/src/lsp/instrument-connection.ts +0 -66
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
*
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
|
-
import { type Tracer, type TransferDiagnostic, type TransferElement,
|
|
9
|
+
import { type Tracer, type TransferDiagnostic, type TransferElement, TransferDocument, type TransferTypeFor } from '@hydranium/protocol';
|
|
10
10
|
import { type AstNode, DocumentCache, type LangiumDocument } from '@hydranium/langium';
|
|
11
11
|
import { Diagnostic } from 'vscode-languageserver-protocol';
|
|
12
12
|
import { type AstDocument } from '../../documents/ast-document-manager.js';
|
|
13
13
|
import { type LogNameOptions } from '../diagnostics/logger.js';
|
|
14
14
|
import { type ServerSharedServicesMinimal } from '../shared-services.js';
|
|
15
|
-
import { type
|
|
15
|
+
import { type AstDiagnostic } from '../validation/document-validator.js';
|
|
16
16
|
/**
|
|
17
17
|
* Which set of properties {@link TransferEncoder.toTransfer} emits.
|
|
18
18
|
*
|
|
@@ -20,11 +20,13 @@ import { type TransferLspDiagnostic } from '../validation/document-validator.js'
|
|
|
20
20
|
* including AST-extension-derived computed scalars and synthetic child
|
|
21
21
|
* mirrors. This is the wire shape clients consume, and the default.
|
|
22
22
|
* - `'grammar'` — only the grammar-declared properties, per
|
|
23
|
-
* `AstReflection.getTypeMetaData($type).properties
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
23
|
+
* `AstReflection.getTypeMetaData($type).properties`, each carrying the
|
|
24
|
+
* node's own authored value. Excludes every computed / synthetic property
|
|
25
|
+
* by construction (no naming convention, no registration) and bypasses the
|
|
26
|
+
* `resolvePropertyValue` substitution hook, so neither a computed KEY nor a
|
|
27
|
+
* computed VALUE can reach this shape. Yields the authored state a
|
|
28
|
+
* serializer round-trips — a diffable, acyclic baseline for field-level
|
|
29
|
+
* recording / forward-write reconcile.
|
|
28
30
|
*/
|
|
29
31
|
export type TransferMode = 'full' | 'grammar';
|
|
30
32
|
/**
|
|
@@ -68,6 +70,34 @@ export interface TransferEnvelopeSource<TDiagnostic> {
|
|
|
68
70
|
readonly version: number;
|
|
69
71
|
readonly diagnostics: readonly (TDiagnostic | Diagnostic)[];
|
|
70
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* The AST→transfer contract a DI slot holds, implemented by
|
|
75
|
+
* {@link DefaultTransferEncoder}.
|
|
76
|
+
*
|
|
77
|
+
* **This is an interface and not the class, and that is load-bearing.** A class
|
|
78
|
+
* in a slot drags its `protected` members into every assignability check, which
|
|
79
|
+
* TypeScript compares NOMINALLY — so the slot type could not be satisfied by a
|
|
80
|
+
* subclass declared against a second physical copy of this package, and an
|
|
81
|
+
* adopter narrowing the slot had to intersect with the framework's declaration
|
|
82
|
+
* rather than replace it, leaving method resolution dependent on declaration
|
|
83
|
+
* order. An interface has no protected members and is compared structurally, so
|
|
84
|
+
* neither applies.
|
|
85
|
+
*
|
|
86
|
+
* **The transfer returns are the structural base ({@link TransferElement}), not
|
|
87
|
+
* the per-grammar overlay.** The overlay cannot parameterise this contract:
|
|
88
|
+
* `TransferTypeFor` reaches `keyof TTransferMap`, which makes that parameter
|
|
89
|
+
* measured-INVARIANT, and invariant parameters relate only when their arguments
|
|
90
|
+
* are mutually assignable — so a map-parameterised contract admits no adopter
|
|
91
|
+
* instantiation at all. Heads read this contract and do not know adopter maps;
|
|
92
|
+
* an adopter recovers the precise type by declaring its own slot, which it can
|
|
93
|
+
* now do by replacement.
|
|
94
|
+
*/
|
|
95
|
+
export interface TransferEncoder<TDiagnostic extends TransferDiagnostic = TransferDiagnostic> {
|
|
96
|
+
toTransfer<T extends AstNode>(ast: T, mode?: TransferMode): TransferElement;
|
|
97
|
+
toTransferDocument(langiumDocument: LangiumDocument): TransferDocument<TransferElement, TDiagnostic>;
|
|
98
|
+
astDocumentToTransferDocument<TAst extends AstNode>(document: AstDocument<TAst, AstDiagnostic>): TransferDocument<TransferElement, TDiagnostic>;
|
|
99
|
+
toTransferDiagnostic(diagnostic: AstDiagnostic): TDiagnostic;
|
|
100
|
+
}
|
|
71
101
|
/**
|
|
72
102
|
* One-directional structural mapper from a Langium AST into the wire
|
|
73
103
|
* transfer-model shape ({@link TransferElement}-based JSON).
|
|
@@ -101,7 +131,8 @@ export interface TransferEnvelopeSource<TDiagnostic> {
|
|
|
101
131
|
* - {@link propertyKeys} — which property names the walk visits.
|
|
102
132
|
* - {@link shouldEmitProperty} — per-key filter on top of the default
|
|
103
133
|
* `$`-internals strip.
|
|
104
|
-
* - {@link resolvePropertyValue} — value substitution per property
|
|
134
|
+
* - {@link resolvePropertyValue} — value substitution per property, `'full'`
|
|
135
|
+
* mode only (see there for why `'grammar'` bypasses it).
|
|
105
136
|
* - {@link finalizeTransferNode} — post-decoration per encoded node.
|
|
106
137
|
* - {@link toTransferValue} — recursion seam per property value. Override
|
|
107
138
|
* to special-case reference encoding or to drop specific value shapes.
|
|
@@ -109,10 +140,10 @@ export interface TransferEnvelopeSource<TDiagnostic> {
|
|
|
109
140
|
* - {@link toTransferDocument} — bundle root + diagnostics into the wire
|
|
110
141
|
* {@link TransferDocument} envelope. Override to filter / merge
|
|
111
142
|
* diagnostics from auxiliary sources or to project a synthesised root.
|
|
112
|
-
* - {@link toTransferDiagnostic} — project a {@link
|
|
143
|
+
* - {@link toTransferDiagnostic} — project a {@link AstDiagnostic}
|
|
113
144
|
* (the framework validator's output) to {@link TDiagnostic}.
|
|
114
145
|
*/
|
|
115
|
-
export declare class
|
|
146
|
+
export declare class DefaultTransferEncoder<TTransferMap = Record<string, TransferElement>, TDiagnostic extends TransferDiagnostic = TransferDiagnostic> {
|
|
116
147
|
protected readonly services: ServerSharedServicesMinimal;
|
|
117
148
|
protected readonly tracer: Tracer;
|
|
118
149
|
/**
|
|
@@ -194,8 +225,17 @@ export declare class TransferEncoder<TTransferMap = Record<string, TransferEleme
|
|
|
194
225
|
*/
|
|
195
226
|
protected shouldEmitProperty(_ast: AstNode, key: string, _context: EncodeContext): boolean;
|
|
196
227
|
/**
|
|
197
|
-
* Which value the walk emits under `key
|
|
198
|
-
*
|
|
228
|
+
* Which value the walk emits under `key`, in `'full'` mode ONLY. Default:
|
|
229
|
+
* the node's own value.
|
|
230
|
+
*
|
|
231
|
+
* Override to substitute a derived value under a grammar property name — an
|
|
232
|
+
* inheritance-resolved field, a preference-dependent label. `'grammar'`
|
|
233
|
+
* bypasses this hook and reads the node directly: that mode's contract is
|
|
234
|
+
* the authored state a serializer round-trips, and a substituted value is by
|
|
235
|
+
* construction not the one the document declared. An override that applied
|
|
236
|
+
* in both modes would leave the grammar shape carrying derived values under
|
|
237
|
+
* declared property names — diffable and acyclic still, but no longer
|
|
238
|
+
* authored, which is the property every consumer of that mode relies on.
|
|
199
239
|
*/
|
|
200
240
|
protected resolvePropertyValue(ast: AstNode, key: string, _context: EncodeContext): unknown;
|
|
201
241
|
/**
|
|
@@ -253,7 +293,7 @@ export declare class TransferEncoder<TTransferMap = Record<string, TransferEleme
|
|
|
253
293
|
* second `LangiumDocuments.getDocument` lookup.
|
|
254
294
|
*
|
|
255
295
|
* The `diagnostic` projection assumes the snapshot's diagnostics carry
|
|
256
|
-
* the `
|
|
296
|
+
* the `AstDiagnostic` shape ({@link Diagnostic} plus the
|
|
257
297
|
* framework validator's `element` / `property` decoration). Snapshots
|
|
258
298
|
* built from raw Langium diagnostics structurally satisfy this — the
|
|
259
299
|
* extra fields are optional in the projection.
|
|
@@ -263,10 +303,10 @@ export declare class TransferEncoder<TTransferMap = Record<string, TransferEleme
|
|
|
263
303
|
* {@link TransferEnvelopeSource} structurally), so this path shares the
|
|
264
304
|
* assembly seam rather than duplicating it.
|
|
265
305
|
*/
|
|
266
|
-
astDocumentToTransferDocument<TAst extends AstNode>(document: AstDocument<TAst,
|
|
306
|
+
astDocumentToTransferDocument<TAst extends AstNode>(document: AstDocument<TAst, AstDiagnostic>): TransferDocument<TransferTypeFor<TAst, TTransferMap>, TDiagnostic>;
|
|
267
307
|
/**
|
|
268
308
|
* Project an LSP-shaped diagnostic (typically a
|
|
269
|
-
* {@link
|
|
309
|
+
* {@link AstDiagnostic} produced by
|
|
270
310
|
* `HydraniumDocumentValidator` — adds `element` + optional `property`
|
|
271
311
|
* to the standard {@link Diagnostic} shape) to the wire-diagnostic
|
|
272
312
|
* shape.
|
|
@@ -275,14 +315,17 @@ export declare class TransferEncoder<TTransferMap = Record<string, TransferEleme
|
|
|
275
315
|
* LSP severity enum to the wire string union, discriminates the
|
|
276
316
|
* diagnostic type from Langium's `data.code` (`'lexing-error'` /
|
|
277
317
|
* `'parsing-error'` else `'validation-error'`), passes through
|
|
278
|
-
* message / element / property / code
|
|
318
|
+
* message / element / property / code, and lifts the framework message
|
|
319
|
+
* params out of `data` so a translating surface can render a
|
|
320
|
+
* parameterised diagnostic rather than a template with its placeholders
|
|
321
|
+
* left standing. Adopters whose validator
|
|
279
322
|
* doesn't decorate diagnostics with `element` still get a valid
|
|
280
323
|
* `TransferDiagnostic` — the field falls back to `''`.
|
|
281
324
|
*
|
|
282
325
|
* Override only if the wire-diagnostic shape needs fields beyond
|
|
283
326
|
* what {@link TransferDiagnostic} carries.
|
|
284
327
|
*/
|
|
285
|
-
toTransferDiagnostic(diagnostic:
|
|
328
|
+
toTransferDiagnostic(diagnostic: AstDiagnostic): TDiagnostic;
|
|
286
329
|
/**
|
|
287
330
|
* Recursion seam — converts a single property value during the AST
|
|
288
331
|
* walk. Arrays recurse element-wise; cross-references collapse to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer-encoder.d.ts","sourceRoot":"","sources":["../../../src/langium/transfer/transfer-encoder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,
|
|
1
|
+
{"version":3,"file":"transfer-encoder.d.ts","sourceRoot":"","sources":["../../../src/langium/transfer/transfer-encoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
|
+
import { hasMessageIdentity, TransferDocument } from '@hydranium/protocol';
|
|
9
10
|
import { AstUtils, DocumentCache, DocumentState, isAstNode, isReference } from '@hydranium/langium';
|
|
10
11
|
import { Diagnostic, DiagnosticSeverity } from 'vscode-languageserver-protocol';
|
|
11
12
|
/**
|
|
@@ -41,7 +42,8 @@ import { Diagnostic, DiagnosticSeverity } from 'vscode-languageserver-protocol';
|
|
|
41
42
|
* - {@link propertyKeys} — which property names the walk visits.
|
|
42
43
|
* - {@link shouldEmitProperty} — per-key filter on top of the default
|
|
43
44
|
* `$`-internals strip.
|
|
44
|
-
* - {@link resolvePropertyValue} — value substitution per property
|
|
45
|
+
* - {@link resolvePropertyValue} — value substitution per property, `'full'`
|
|
46
|
+
* mode only (see there for why `'grammar'` bypasses it).
|
|
45
47
|
* - {@link finalizeTransferNode} — post-decoration per encoded node.
|
|
46
48
|
* - {@link toTransferValue} — recursion seam per property value. Override
|
|
47
49
|
* to special-case reference encoding or to drop specific value shapes.
|
|
@@ -49,10 +51,10 @@ import { Diagnostic, DiagnosticSeverity } from 'vscode-languageserver-protocol';
|
|
|
49
51
|
* - {@link toTransferDocument} — bundle root + diagnostics into the wire
|
|
50
52
|
* {@link TransferDocument} envelope. Override to filter / merge
|
|
51
53
|
* diagnostics from auxiliary sources or to project a synthesised root.
|
|
52
|
-
* - {@link toTransferDiagnostic} — project a {@link
|
|
54
|
+
* - {@link toTransferDiagnostic} — project a {@link AstDiagnostic}
|
|
53
55
|
* (the framework validator's output) to {@link TDiagnostic}.
|
|
54
56
|
*/
|
|
55
|
-
export class
|
|
57
|
+
export class DefaultTransferEncoder {
|
|
56
58
|
services;
|
|
57
59
|
tracer;
|
|
58
60
|
/**
|
|
@@ -141,7 +143,13 @@ export class TransferEncoder {
|
|
|
141
143
|
if (!this.shouldEmitProperty(ast, key, context)) {
|
|
142
144
|
continue;
|
|
143
145
|
}
|
|
144
|
-
|
|
146
|
+
// `'grammar'` reads the authored value straight off the node rather than
|
|
147
|
+
// through `resolvePropertyValue`. The mode promises a shape the serializer
|
|
148
|
+
// round-trips, and a value-substitution hook cannot honour that: what it
|
|
149
|
+
// returns is by construction not what the document declared. Scoping the
|
|
150
|
+
// hook to `'full'` is what makes that guarantee structural instead of a
|
|
151
|
+
// rule every override has to remember.
|
|
152
|
+
const value = context.mode === 'grammar' ? ast[key] : this.resolvePropertyValue(ast, key, context);
|
|
145
153
|
// `'grammar'` lists every declared property, including those absent on
|
|
146
154
|
// this node; skip the absent ones. (`'full'` enumerates only own
|
|
147
155
|
// properties, so absent properties never surface there.) Part of the
|
|
@@ -179,8 +187,17 @@ export class TransferEncoder {
|
|
|
179
187
|
return !key.startsWith('$');
|
|
180
188
|
}
|
|
181
189
|
/**
|
|
182
|
-
* Which value the walk emits under `key
|
|
183
|
-
*
|
|
190
|
+
* Which value the walk emits under `key`, in `'full'` mode ONLY. Default:
|
|
191
|
+
* the node's own value.
|
|
192
|
+
*
|
|
193
|
+
* Override to substitute a derived value under a grammar property name — an
|
|
194
|
+
* inheritance-resolved field, a preference-dependent label. `'grammar'`
|
|
195
|
+
* bypasses this hook and reads the node directly: that mode's contract is
|
|
196
|
+
* the authored state a serializer round-trips, and a substituted value is by
|
|
197
|
+
* construction not the one the document declared. An override that applied
|
|
198
|
+
* in both modes would leave the grammar shape carrying derived values under
|
|
199
|
+
* declared property names — diffable and acyclic still, but no longer
|
|
200
|
+
* authored, which is the property every consumer of that mode relies on.
|
|
184
201
|
*/
|
|
185
202
|
resolvePropertyValue(ast, key, _context) {
|
|
186
203
|
return ast[key];
|
|
@@ -239,12 +256,7 @@ export class TransferEncoder {
|
|
|
239
256
|
* so the snapshot path can reach it without a `LangiumDocuments` lookup.
|
|
240
257
|
*/
|
|
241
258
|
assembleTransferDocument(source, root) {
|
|
242
|
-
return
|
|
243
|
-
uri: source.uri,
|
|
244
|
-
version: source.version,
|
|
245
|
-
root,
|
|
246
|
-
diagnostics: source.diagnostics.map(diagnostic => this.toTransferDiagnostic(diagnostic))
|
|
247
|
-
};
|
|
259
|
+
return TransferDocument.create(source.uri, source.version, root, source.diagnostics.map(diagnostic => this.toTransferDiagnostic(diagnostic)));
|
|
248
260
|
}
|
|
249
261
|
/**
|
|
250
262
|
* Build a wire {@link TransferDocument} envelope from a server-internal
|
|
@@ -257,7 +269,7 @@ export class TransferEncoder {
|
|
|
257
269
|
* second `LangiumDocuments.getDocument` lookup.
|
|
258
270
|
*
|
|
259
271
|
* The `diagnostic` projection assumes the snapshot's diagnostics carry
|
|
260
|
-
* the `
|
|
272
|
+
* the `AstDiagnostic` shape ({@link Diagnostic} plus the
|
|
261
273
|
* framework validator's `element` / `property` decoration). Snapshots
|
|
262
274
|
* built from raw Langium diagnostics structurally satisfy this — the
|
|
263
275
|
* extra fields are optional in the projection.
|
|
@@ -273,7 +285,7 @@ export class TransferEncoder {
|
|
|
273
285
|
}
|
|
274
286
|
/**
|
|
275
287
|
* Project an LSP-shaped diagnostic (typically a
|
|
276
|
-
* {@link
|
|
288
|
+
* {@link AstDiagnostic} produced by
|
|
277
289
|
* `HydraniumDocumentValidator` — adds `element` + optional `property`
|
|
278
290
|
* to the standard {@link Diagnostic} shape) to the wire-diagnostic
|
|
279
291
|
* shape.
|
|
@@ -282,7 +294,10 @@ export class TransferEncoder {
|
|
|
282
294
|
* LSP severity enum to the wire string union, discriminates the
|
|
283
295
|
* diagnostic type from Langium's `data.code` (`'lexing-error'` /
|
|
284
296
|
* `'parsing-error'` else `'validation-error'`), passes through
|
|
285
|
-
* message / element / property / code
|
|
297
|
+
* message / element / property / code, and lifts the framework message
|
|
298
|
+
* params out of `data` so a translating surface can render a
|
|
299
|
+
* parameterised diagnostic rather than a template with its placeholders
|
|
300
|
+
* left standing. Adopters whose validator
|
|
286
301
|
* doesn't decorate diagnostics with `element` still get a valid
|
|
287
302
|
* `TransferDiagnostic` — the field falls back to `''`.
|
|
288
303
|
*
|
|
@@ -291,6 +306,12 @@ export class TransferEncoder {
|
|
|
291
306
|
*/
|
|
292
307
|
toTransferDiagnostic(diagnostic) {
|
|
293
308
|
const langiumCode = diagnostic.data?.code;
|
|
309
|
+
// The same `data` the Langium code comes out of also carries the framework
|
|
310
|
+
// message identity, under its own key so the two conventions co-exist.
|
|
311
|
+
// Taking the params from there rather than from `code` is what lets a
|
|
312
|
+
// translating surface render a PARAMETERISED diagnostic: `code` survives on
|
|
313
|
+
// its own and yields a template with its placeholders left standing.
|
|
314
|
+
const identity = hasMessageIdentity(diagnostic.data) ? diagnostic.data.hydranium : undefined;
|
|
294
315
|
const result = {
|
|
295
316
|
type: langiumCode === 'lexing-error' ? 'lexing-error' : langiumCode === 'parsing-error' ? 'parsing-error' : 'validation-error',
|
|
296
317
|
element: diagnostic.element ?? '',
|
|
@@ -302,7 +323,8 @@ export class TransferEncoder {
|
|
|
302
323
|
: diagnostic.severity === DiagnosticSeverity.Warning
|
|
303
324
|
? 'warning'
|
|
304
325
|
: 'info',
|
|
305
|
-
code: typeof diagnostic.code === 'number' || typeof diagnostic.code === 'string' ? diagnostic.code : langiumCode
|
|
326
|
+
code: typeof diagnostic.code === 'number' || typeof diagnostic.code === 'string' ? diagnostic.code : langiumCode,
|
|
327
|
+
params: identity?.params
|
|
306
328
|
};
|
|
307
329
|
return result;
|
|
308
330
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer-encoder.js","sourceRoot":"","sources":["../../../src/langium/transfer/transfer-encoder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;
|
|
1
|
+
{"version":3,"file":"transfer-encoder.js","sourceRoot":"","sources":["../../../src/langium/transfer/transfer-encoder.ts"],"names":[],"mappings":"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"}
|