@hydranium/protocol 1.0.0-next.19 → 1.0.0-next.192
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/README.md +35 -1
- package/lib/abstract-logger.d.ts.map +1 -1
- package/lib/abstract-logger.js.map +1 -1
- package/lib/client/data-connection.d.ts +157 -0
- package/lib/client/data-connection.d.ts.map +1 -0
- package/lib/client/data-connection.js +236 -0
- package/lib/client/data-connection.js.map +1 -0
- package/lib/client/data-events.d.ts +13 -1
- package/lib/client/data-events.d.ts.map +1 -1
- package/lib/client/data-events.js +21 -0
- package/lib/client/data-events.js.map +1 -1
- package/lib/client/data-port.d.ts +24 -22
- package/lib/client/data-port.d.ts.map +1 -1
- package/lib/client/data-session.d.ts +461 -81
- package/lib/client/data-session.d.ts.map +1 -1
- package/lib/client/data-session.js +725 -108
- package/lib/client/data-session.js.map +1 -1
- package/lib/client/index.d.ts +14 -9
- package/lib/client/index.d.ts.map +1 -1
- package/lib/client/index.js +14 -9
- package/lib/client/index.js.map +1 -1
- package/lib/client/message-relay.d.ts +9 -3
- package/lib/client/message-relay.d.ts.map +1 -1
- package/lib/client/message-relay.js +11 -5
- package/lib/client/message-relay.js.map +1 -1
- package/lib/client/post-message-transport.d.ts +64 -3
- package/lib/client/post-message-transport.d.ts.map +1 -1
- package/lib/client/post-message-transport.js +175 -1
- package/lib/client/post-message-transport.js.map +1 -1
- package/lib/client/rpc-connection.d.ts +149 -0
- package/lib/client/rpc-connection.d.ts.map +1 -0
- package/lib/client/rpc-connection.js +202 -0
- package/lib/client/rpc-connection.js.map +1 -0
- package/lib/client-ids.d.ts +45 -0
- package/lib/client-ids.d.ts.map +1 -0
- package/lib/client-ids.js +48 -0
- package/lib/client-ids.js.map +1 -0
- package/lib/clock.d.ts +38 -0
- package/lib/clock.d.ts.map +1 -1
- package/lib/clock.js +36 -1
- package/lib/clock.js.map +1 -1
- package/lib/data/data-protocol-methods.d.ts +4 -4
- package/lib/data/data-protocol-methods.d.ts.map +1 -1
- package/lib/data/data-protocol-methods.js +11 -1
- package/lib/data/data-protocol-methods.js.map +1 -1
- package/lib/data/data-server-protocol.d.ts +117 -36
- package/lib/data/data-server-protocol.d.ts.map +1 -1
- package/lib/data/events.d.ts +110 -15
- package/lib/data/events.d.ts.map +1 -1
- package/lib/data/requests.d.ts +67 -11
- package/lib/data/requests.d.ts.map +1 -1
- package/lib/debouncer.d.ts.map +1 -1
- package/lib/debouncer.js.map +1 -1
- package/lib/errors.d.ts +181 -29
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +261 -29
- package/lib/errors.js.map +1 -1
- package/lib/glsp-save-model-actions.d.ts +50 -0
- package/lib/glsp-save-model-actions.d.ts.map +1 -0
- package/lib/glsp-save-model-actions.js +28 -0
- package/lib/glsp-save-model-actions.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -1
- package/lib/latency-collector.d.ts +8 -4
- package/lib/latency-collector.d.ts.map +1 -1
- package/lib/latency-collector.js.map +1 -1
- package/lib/logger.d.ts +22 -1
- package/lib/logger.d.ts.map +1 -1
- package/lib/logger.js +31 -3
- package/lib/logger.js.map +1 -1
- package/lib/messages/index.d.ts +29 -0
- package/lib/messages/index.d.ts.map +1 -0
- package/lib/messages/index.js +59 -0
- package/lib/messages/index.js.map +1 -0
- package/lib/messages/primitives.d.ts +188 -0
- package/lib/messages/primitives.d.ts.map +1 -0
- package/lib/messages/primitives.js +161 -0
- package/lib/messages/primitives.js.map +1 -0
- package/lib/model-server.d.ts +60 -13
- package/lib/model-server.d.ts.map +1 -1
- package/lib/model-server.js +4 -2
- package/lib/model-server.js.map +1 -1
- package/lib/model-service/base-version.d.ts +64 -0
- package/lib/model-service/base-version.d.ts.map +1 -0
- package/lib/model-service/base-version.js +43 -0
- package/lib/model-service/base-version.js.map +1 -0
- package/lib/model-service/index.d.ts +1 -1
- package/lib/model-service/index.d.ts.map +1 -1
- package/lib/model-service/index.js +4 -5
- package/lib/model-service/index.js.map +1 -1
- package/lib/model-service/reference-candidate.d.ts +5 -3
- package/lib/model-service/reference-candidate.d.ts.map +1 -1
- package/lib/noop-logger.d.ts.map +1 -1
- package/lib/noop-logger.js.map +1 -1
- package/lib/observable-value.js.map +1 -1
- package/lib/patch-merge.d.ts +35 -32
- package/lib/patch-merge.d.ts.map +1 -1
- package/lib/patch-merge.js +67 -23
- package/lib/patch-merge.js.map +1 -1
- package/lib/profile-session.d.ts +8 -4
- package/lib/profile-session.d.ts.map +1 -1
- package/lib/profile-session.js.map +1 -1
- package/lib/reconcile-write.d.ts +65 -0
- package/lib/reconcile-write.d.ts.map +1 -0
- package/lib/reconcile-write.js +67 -0
- package/lib/reconcile-write.js.map +1 -0
- package/lib/rpc/bind-rpc-methods.d.ts +29 -3
- package/lib/rpc/bind-rpc-methods.d.ts.map +1 -1
- package/lib/rpc/bind-rpc-methods.js +22 -3
- package/lib/rpc/bind-rpc-methods.js.map +1 -1
- package/lib/rpc/create-rpc-proxy.d.ts +10 -0
- package/lib/rpc/create-rpc-proxy.d.ts.map +1 -1
- package/lib/rpc/create-rpc-proxy.js +12 -2
- package/lib/rpc/create-rpc-proxy.js.map +1 -1
- package/lib/rpc/wire-prefix.js.map +1 -1
- package/lib/testing/catalogue-audit.d.ts +80 -0
- package/lib/testing/catalogue-audit.d.ts.map +1 -0
- package/lib/testing/catalogue-audit.js +94 -0
- package/lib/testing/catalogue-audit.js.map +1 -0
- package/lib/testing/data-doubles.d.ts +13 -12
- package/lib/testing/data-doubles.d.ts.map +1 -1
- package/lib/testing/data-doubles.js +19 -5
- package/lib/testing/data-doubles.js.map +1 -1
- package/lib/testing/fake-clock.d.ts +9 -1
- package/lib/testing/fake-clock.d.ts.map +1 -1
- package/lib/testing/fake-clock.js +54 -45
- package/lib/testing/fake-clock.js.map +1 -1
- package/lib/testing/index.d.ts +1 -0
- package/lib/testing/index.d.ts.map +1 -1
- package/lib/testing/index.js +5 -2
- package/lib/testing/index.js.map +1 -1
- package/lib/testing/node/duplex-connection.js.map +1 -1
- package/lib/testing/node/duplex-stream.js.map +1 -1
- package/lib/testing/node/index.d.ts +1 -0
- package/lib/testing/node/index.d.ts.map +1 -1
- package/lib/testing/node/index.js +2 -2
- package/lib/testing/node/index.js.map +1 -1
- package/lib/testing/node/message-port-pair.d.ts +25 -0
- package/lib/testing/node/message-port-pair.d.ts.map +1 -0
- package/lib/testing/node/message-port-pair.js +26 -0
- package/lib/testing/node/message-port-pair.js.map +1 -0
- package/lib/testing/wait-for.js.map +1 -1
- package/lib/tracer.d.ts.map +1 -1
- package/lib/tracer.js.map +1 -1
- package/lib/transfer-diagnostic.d.ts +33 -0
- package/lib/transfer-diagnostic.d.ts.map +1 -1
- package/lib/transfer-diagnostic.js +23 -0
- package/lib/transfer-diagnostic.js.map +1 -1
- package/lib/transfer-document.d.ts +59 -32
- package/lib/transfer-document.d.ts.map +1 -1
- package/lib/transfer-document.js +17 -9
- package/lib/transfer-document.js.map +1 -1
- package/lib/uri.d.ts.map +1 -1
- package/lib/uri.js.map +1 -1
- package/lib/util.d.ts +8 -0
- package/lib/util.d.ts.map +1 -1
- package/lib/util.js +32 -0
- package/lib/util.js.map +1 -1
- package/package.json +27 -18
- package/src/client/data-connection.ts +314 -0
- package/src/client/data-events.ts +33 -1
- package/src/client/data-port.ts +25 -23
- package/src/client/data-session.ts +922 -126
- package/src/client/index.ts +14 -9
- package/src/client/message-relay.ts +29 -7
- package/src/client/post-message-transport.ts +219 -4
- package/src/client/rpc-connection.ts +268 -0
- package/src/client-ids.ts +49 -0
- package/src/clock.ts +56 -0
- package/src/data/data-protocol-methods.ts +12 -4
- package/src/data/data-server-protocol.ts +140 -36
- package/src/data/events.ts +116 -15
- package/src/data/requests.ts +71 -11
- package/src/errors.ts +311 -36
- package/src/glsp-save-model-actions.ts +59 -0
- package/src/index.ts +7 -0
- package/src/latency-collector.ts +8 -3
- package/src/logger.ts +28 -2
- package/src/messages/index.ts +36 -0
- package/src/messages/primitives.ts +271 -0
- package/src/model-server.ts +63 -18
- package/src/model-service/base-version.ts +72 -0
- package/src/model-service/index.ts +4 -5
- package/src/model-service/reference-candidate.ts +5 -3
- package/src/patch-merge.ts +97 -42
- package/src/profile-session.ts +9 -4
- package/src/reconcile-write.ts +124 -0
- package/src/rpc/bind-rpc-methods.ts +49 -4
- package/src/rpc/create-rpc-proxy.ts +20 -2
- package/src/testing/catalogue-audit.ts +111 -0
- package/src/testing/data-doubles.ts +42 -17
- package/src/testing/fake-clock.ts +62 -47
- package/src/testing/index.ts +5 -2
- package/src/testing/node/index.ts +2 -2
- package/src/testing/node/message-port-pair.ts +40 -0
- package/src/transfer-diagnostic.ts +40 -0
- package/src/transfer-document.ts +74 -34
- package/src/util.ts +33 -0
- package/lib/model-service/args.d.ts +0 -64
- package/lib/model-service/args.d.ts.map +0 -1
- package/lib/model-service/args.js +0 -11
- package/lib/model-service/args.js.map +0 -1
- package/src/model-service/args.ts +0 -67
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2026 CrossBreeze, EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the MIT License which is available in the project root.
|
|
6
|
-
*
|
|
7
|
-
* SPDX-License-Identifier: MIT
|
|
8
|
-
********************************************************************************/
|
|
9
|
-
/**
|
|
10
|
-
* Argument shapes for the in-process `ModelService` facade — the
|
|
11
|
-
* canonical home for the lifecycle operation signatures. Implementation
|
|
12
|
-
* lives in `@hydranium/core/langium/model-service`; this protocol
|
|
13
|
-
* package owns the types so wire-side projections (the data-server
|
|
14
|
-
* protocol in `./data`) can structurally extend them rather than
|
|
15
|
-
* mirroring them by hand.
|
|
16
|
-
*
|
|
17
|
-
* `./model-server.ts` re-exports them, so an import from either path
|
|
18
|
-
* resolves.
|
|
19
|
-
*/
|
|
20
|
-
/** Identifies a client-document binding. Every facade operation carries these fields. */
|
|
21
|
-
export interface TransferClientArgs {
|
|
22
|
-
/** Document URI. */
|
|
23
|
-
uri: string;
|
|
24
|
-
/** Stable identifier for the client invoking the operation. */
|
|
25
|
-
clientId: string;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Update a document's content via the in-process facade. `model` may be
|
|
29
|
-
* the structured (transfer-model or AST) root or its serialised textual
|
|
30
|
-
* form — implementations decide which is faster on their transport.
|
|
31
|
-
* Generic over `T` so adopters parameterise the structured shape against
|
|
32
|
-
* their grammar's transfer-model overlay; passing a string is always
|
|
33
|
-
* allowed.
|
|
34
|
-
*/
|
|
35
|
-
export interface TransferUpdateArgs<T> extends TransferClientArgs {
|
|
36
|
-
/** Structured model root or its serialised textual form. */
|
|
37
|
-
model: T | string;
|
|
38
|
-
/**
|
|
39
|
-
* Optional based-on version: the text-document version this update
|
|
40
|
-
* was authored against. When set, the server compares against its
|
|
41
|
-
* current text-document version for `uri` and throws
|
|
42
|
-
* `ConflictError` on mismatch. Omit to opt out of the gate — mirrors
|
|
43
|
-
* LSP's `OptionalVersionedTextDocumentIdentifier` posture, intended
|
|
44
|
-
* for headless / CLI / batch tooling without a meaningful based-on
|
|
45
|
-
* version.
|
|
46
|
-
*/
|
|
47
|
-
baseVersion?: number;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Persist a document to disk via the in-process facade. Same `model`
|
|
51
|
-
* shape as {@link TransferUpdateArgs}.
|
|
52
|
-
*/
|
|
53
|
-
export interface TransferSaveArgs<T> extends TransferClientArgs {
|
|
54
|
-
/** Structured model root or its serialised textual form. */
|
|
55
|
-
model: T | string;
|
|
56
|
-
/**
|
|
57
|
-
* Optional based-on version — same semantics as
|
|
58
|
-
* {@link TransferUpdateArgs.baseVersion}. `save` delegates the gating
|
|
59
|
-
* check to its inner `update`, so this field threads through to the
|
|
60
|
-
* same `ConflictError` site.
|
|
61
|
-
*/
|
|
62
|
-
baseVersion?: number;
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=args.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/model-service/args.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF;;;;;;;;;;GAUG;AAEH,yFAAyF;AACzF,MAAM,WAAW,kBAAkB;IAChC,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,CAAE,SAAQ,kBAAkB;IAC9D,4DAA4D;IAC5D,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,kBAAkB;IAC5D,4DAA4D;IAC5D,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;IAClB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/********************************************************************************
|
|
3
|
-
* Copyright (c) 2026 CrossBreeze, EclipseSource and others.
|
|
4
|
-
*
|
|
5
|
-
* This program and the accompanying materials are made available under the
|
|
6
|
-
* terms of the MIT License which is available in the project root.
|
|
7
|
-
*
|
|
8
|
-
* SPDX-License-Identifier: MIT
|
|
9
|
-
********************************************************************************/
|
|
10
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
//# sourceMappingURL=args.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/model-service/args.ts"],"names":[],"mappings":";AAAA;;;;;;;kFAOkF"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2026 CrossBreeze, EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the MIT License which is available in the project root.
|
|
6
|
-
*
|
|
7
|
-
* SPDX-License-Identifier: MIT
|
|
8
|
-
********************************************************************************/
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Argument shapes for the in-process `ModelService` facade — the
|
|
12
|
-
* canonical home for the lifecycle operation signatures. Implementation
|
|
13
|
-
* lives in `@hydranium/core/langium/model-service`; this protocol
|
|
14
|
-
* package owns the types so wire-side projections (the data-server
|
|
15
|
-
* protocol in `./data`) can structurally extend them rather than
|
|
16
|
-
* mirroring them by hand.
|
|
17
|
-
*
|
|
18
|
-
* `./model-server.ts` re-exports them, so an import from either path
|
|
19
|
-
* resolves.
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
/** Identifies a client-document binding. Every facade operation carries these fields. */
|
|
23
|
-
export interface TransferClientArgs {
|
|
24
|
-
/** Document URI. */
|
|
25
|
-
uri: string;
|
|
26
|
-
/** Stable identifier for the client invoking the operation. */
|
|
27
|
-
clientId: string;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Update a document's content via the in-process facade. `model` may be
|
|
32
|
-
* the structured (transfer-model or AST) root or its serialised textual
|
|
33
|
-
* form — implementations decide which is faster on their transport.
|
|
34
|
-
* Generic over `T` so adopters parameterise the structured shape against
|
|
35
|
-
* their grammar's transfer-model overlay; passing a string is always
|
|
36
|
-
* allowed.
|
|
37
|
-
*/
|
|
38
|
-
export interface TransferUpdateArgs<T> extends TransferClientArgs {
|
|
39
|
-
/** Structured model root or its serialised textual form. */
|
|
40
|
-
model: T | string;
|
|
41
|
-
/**
|
|
42
|
-
* Optional based-on version: the text-document version this update
|
|
43
|
-
* was authored against. When set, the server compares against its
|
|
44
|
-
* current text-document version for `uri` and throws
|
|
45
|
-
* `ConflictError` on mismatch. Omit to opt out of the gate — mirrors
|
|
46
|
-
* LSP's `OptionalVersionedTextDocumentIdentifier` posture, intended
|
|
47
|
-
* for headless / CLI / batch tooling without a meaningful based-on
|
|
48
|
-
* version.
|
|
49
|
-
*/
|
|
50
|
-
baseVersion?: number;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Persist a document to disk via the in-process facade. Same `model`
|
|
55
|
-
* shape as {@link TransferUpdateArgs}.
|
|
56
|
-
*/
|
|
57
|
-
export interface TransferSaveArgs<T> extends TransferClientArgs {
|
|
58
|
-
/** Structured model root or its serialised textual form. */
|
|
59
|
-
model: T | string;
|
|
60
|
-
/**
|
|
61
|
-
* Optional based-on version — same semantics as
|
|
62
|
-
* {@link TransferUpdateArgs.baseVersion}. `save` delegates the gating
|
|
63
|
-
* check to its inner `update`, so this field threads through to the
|
|
64
|
-
* same `ConflictError` site.
|
|
65
|
-
*/
|
|
66
|
-
baseVersion?: number;
|
|
67
|
-
}
|