@hydranium/data-server 1.0.0-next.10

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 (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +91 -0
  3. package/lib/data-server.d.ts +614 -0
  4. package/lib/data-server.d.ts.map +1 -0
  5. package/lib/data-server.js +1003 -0
  6. package/lib/data-server.js.map +1 -0
  7. package/lib/default-diagnostics.browser.d.ts +18 -0
  8. package/lib/default-diagnostics.browser.d.ts.map +1 -0
  9. package/lib/default-diagnostics.browser.js +36 -0
  10. package/lib/default-diagnostics.browser.js.map +1 -0
  11. package/lib/default-diagnostics.d.ts +36 -0
  12. package/lib/default-diagnostics.d.ts.map +1 -0
  13. package/lib/default-diagnostics.js +38 -0
  14. package/lib/default-diagnostics.js.map +1 -0
  15. package/lib/diagnostics-provider.d.ts +65 -0
  16. package/lib/diagnostics-provider.d.ts.map +1 -0
  17. package/lib/diagnostics-provider.js +10 -0
  18. package/lib/diagnostics-provider.js.map +1 -0
  19. package/lib/index.d.ts +11 -0
  20. package/lib/index.d.ts.map +1 -0
  21. package/lib/index.js +15 -0
  22. package/lib/index.js.map +1 -0
  23. package/lib/node/index.d.ts +10 -0
  24. package/lib/node/index.d.ts.map +1 -0
  25. package/lib/node/index.js +16 -0
  26. package/lib/node/index.js.map +1 -0
  27. package/lib/node/node-diagnostics-provider.d.ts +18 -0
  28. package/lib/node/node-diagnostics-provider.d.ts.map +1 -0
  29. package/lib/node/node-diagnostics-provider.js +68 -0
  30. package/lib/node/node-diagnostics-provider.js.map +1 -0
  31. package/lib/testing/data-server-harness.d.ts +85 -0
  32. package/lib/testing/data-server-harness.d.ts.map +1 -0
  33. package/lib/testing/data-server-harness.js +47 -0
  34. package/lib/testing/data-server-harness.js.map +1 -0
  35. package/lib/testing/index.d.ts +11 -0
  36. package/lib/testing/index.d.ts.map +1 -0
  37. package/lib/testing/index.js +10 -0
  38. package/lib/testing/index.js.map +1 -0
  39. package/package.json +93 -0
  40. package/src/data-server.ts +1282 -0
  41. package/src/default-diagnostics.browser.ts +41 -0
  42. package/src/default-diagnostics.ts +40 -0
  43. package/src/diagnostics-provider.ts +70 -0
  44. package/src/index.ts +15 -0
  45. package/src/node/index.ts +17 -0
  46. package/src/node/node-diagnostics-provider.ts +82 -0
  47. package/src/testing/data-server-harness.ts +147 -0
  48. package/src/testing/index.ts +19 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-server.js","sourceRoot":"","sources":["../src/data-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 CrossBreeze, EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import type { DataServerDiagnosticsProvider } from './diagnostics-provider.js';
10
+ /**
11
+ * Platform default for a browser host, selected by `package.json`'s `browser`
12
+ * field in place of `default-diagnostics.js`.
13
+ *
14
+ * Free of Node imports by construction — that is its entire reason for
15
+ * existing, and why the head's portable entry can be bundled at all.
16
+ */
17
+ export declare function defaultDataServerDiagnostics(): DataServerDiagnosticsProvider;
18
+ //# sourceMappingURL=default-diagnostics.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-diagnostics.browser.d.ts","sourceRoot":"","sources":["../src/default-diagnostics.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,EAAE,6BAA6B,EAA4B,MAAM,2BAA2B,CAAC;AAiBzG;;;;;;GAMG;AACH,wBAAgB,4BAA4B,IAAI,6BAA6B,CAO5E"}
@@ -0,0 +1,36 @@
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
+ * Message every method of the browser default rejects with.
11
+ *
12
+ * It **throws rather than no-ops** deliberately. A no-op would hand back an
13
+ * empty snapshot, which reads as "the server is fine" — the same shape as a
14
+ * real answer, and the failure mode this whole seam exists to avoid. Saying
15
+ * plainly that the capability is absent is more useful than a plausible lie.
16
+ */
17
+ function unavailable(method) {
18
+ return new Error(`DataServer.${method} is not available in this host: a browser has no process to inspect. ` +
19
+ 'Heap snapshots, profiling, pod memory and server state are Node-only capabilities.');
20
+ }
21
+ /**
22
+ * Platform default for a browser host, selected by `package.json`'s `browser`
23
+ * field in place of `default-diagnostics.js`.
24
+ *
25
+ * Free of Node imports by construction — that is its entire reason for
26
+ * existing, and why the head's portable entry can be bundled at all.
27
+ */
28
+ export function defaultDataServerDiagnostics() {
29
+ return {
30
+ dumpServerState: () => Promise.reject(unavailable('dumpServerState')),
31
+ writeHeapSnapshot: () => Promise.reject(unavailable('writeHeapSnapshot')),
32
+ dumpPodMemory: () => Promise.reject(unavailable('dumpPodMemory')),
33
+ startProfiling: () => Promise.reject(unavailable('startProfiling'))
34
+ };
35
+ }
36
+ //# sourceMappingURL=default-diagnostics.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-diagnostics.browser.js","sourceRoot":"","sources":["../src/default-diagnostics.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAIlF;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,MAAc;IAChC,OAAO,IAAI,KAAK,CACb,cAAc,MAAM,uEAAuE;QACxF,oFAAoF,CACzF,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B;IACzC,OAAO;QACJ,eAAe,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACrE,iBAAiB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACzE,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjE,cAAc,EAAE,GAAsC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;KACxG,CAAC;AACL,CAAC"}
@@ -0,0 +1,36 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 CrossBreeze, EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import type { DataServerDiagnosticsProvider } from './diagnostics-provider.js';
10
+ /**
11
+ * Platform default for `DataServerOptions.diagnostics` — the Node one.
12
+ *
13
+ * # This file is swapped by the bundler, and that is the whole mechanism
14
+ *
15
+ * `package.json`'s `browser` field maps this module to
16
+ * `default-diagnostics.browser.js`, so a `platform: 'browser'` bundler never
17
+ * resolves it and never follows its `@hydranium/core/node` import. Node keeps
18
+ * it, because Node ignores the `browser` field.
19
+ *
20
+ * The alternative — reaching for the Node implementation directly from the head
21
+ * — is what made this package unbundleable for a browser: a static
22
+ * `@hydranium/core/node` import on the portable entry pulls `node:fs`,
23
+ * `node:v8` and `node:perf_hooks` into any browser build, over methods a
24
+ * browser cannot call.
25
+ *
26
+ * **`check:neutral` proves the swap works**, since it bundles this package's `.`
27
+ * entry for the browser and would fail on those imports if the mapping ever
28
+ * stopped applying. That is the same property the gate relies on for
29
+ * `@eclipse-glsp/server`, whose own `browser` field selects its node-free
30
+ * build.
31
+ *
32
+ * A host that wants to be explicit — or to supply its own — passes
33
+ * `diagnostics` and this default is not consulted.
34
+ */
35
+ export declare function defaultDataServerDiagnostics(): DataServerDiagnosticsProvider;
36
+ //# sourceMappingURL=default-diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-diagnostics.d.ts","sourceRoot":"","sources":["../src/default-diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAG/E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,4BAA4B,IAAI,6BAA6B,CAE5E"}
@@ -0,0 +1,38 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 CrossBreeze, EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import { nodeDataServerDiagnostics } from './node/node-diagnostics-provider.js';
10
+ /**
11
+ * Platform default for `DataServerOptions.diagnostics` — the Node one.
12
+ *
13
+ * # This file is swapped by the bundler, and that is the whole mechanism
14
+ *
15
+ * `package.json`'s `browser` field maps this module to
16
+ * `default-diagnostics.browser.js`, so a `platform: 'browser'` bundler never
17
+ * resolves it and never follows its `@hydranium/core/node` import. Node keeps
18
+ * it, because Node ignores the `browser` field.
19
+ *
20
+ * The alternative — reaching for the Node implementation directly from the head
21
+ * — is what made this package unbundleable for a browser: a static
22
+ * `@hydranium/core/node` import on the portable entry pulls `node:fs`,
23
+ * `node:v8` and `node:perf_hooks` into any browser build, over methods a
24
+ * browser cannot call.
25
+ *
26
+ * **`check:neutral` proves the swap works**, since it bundles this package's `.`
27
+ * entry for the browser and would fail on those imports if the mapping ever
28
+ * stopped applying. That is the same property the gate relies on for
29
+ * `@eclipse-glsp/server`, whose own `browser` field selects its node-free
30
+ * build.
31
+ *
32
+ * A host that wants to be explicit — or to supply its own — passes
33
+ * `diagnostics` and this default is not consulted.
34
+ */
35
+ export function defaultDataServerDiagnostics() {
36
+ return nodeDataServerDiagnostics();
37
+ }
38
+ //# sourceMappingURL=default-diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-diagnostics.js","sourceRoot":"","sources":["../src/default-diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,4BAA4B;IACzC,OAAO,yBAAyB,EAAE,CAAC;AACtC,CAAC"}
@@ -0,0 +1,65 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 CrossBreeze, EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import type { ServerSharedServices } from '@hydranium/core';
10
+ import type { DumpServerStateArgs, StartProfilingArgs, StopProfilingArgs, WriteServerHeapSnapshotArgs } from '@hydranium/protocol';
11
+ /**
12
+ * The runtime-specific half of `DataServerDiagnosticsProtocol`, supplied
13
+ * by the host rather than reached for directly.
14
+ *
15
+ * # Why this is a seam and not four method bodies
16
+ *
17
+ * Every operation behind it needs a Node runtime — a V8 heap snapshot, an
18
+ * inspector session, `process.memoryUsage()`, cgroup files. Calling them
19
+ * directly puts a static `@hydranium/core/node` import on the data head's
20
+ * portable `.` entry, which no browser bundler can resolve: the head then fails
21
+ * to BUILD for a browser even though nothing in a browser would ever call a
22
+ * diagnostics method. Since the data head exists to serve non-LSP clients —
23
+ * webviews and browser pages among them — that is a defect rather than a
24
+ * trade-off.
25
+ *
26
+ * Node hosts get the real implementation from `@hydranium/data-server/node`.
27
+ * Hosts that supply nothing keep the whole rest of the protocol and reject only
28
+ * these four methods, with a message naming the import that would satisfy them.
29
+ */
30
+ export interface DataServerDiagnosticsProvider {
31
+ /**
32
+ * Snapshot this process's memory, V8 stats, event-loop utilisation and
33
+ * document counts, formatted for a log.
34
+ *
35
+ * Takes the services rather than a document list so the whole shape of the
36
+ * snapshot — including which of the shared tier's stores it reads — stays a
37
+ * decision of the implementation, and no Node-only type appears here.
38
+ */
39
+ dumpServerState(services: ServerSharedServices, args: DumpServerStateArgs): Promise<string>;
40
+ /** Write a V8 heap snapshot and return its absolute path. */
41
+ writeHeapSnapshot(args: WriteServerHeapSnapshotArgs): Promise<string>;
42
+ /** Snapshot cgroup/pod memory — the figure an OOM-killer watches. */
43
+ dumpPodMemory(): Promise<string>;
44
+ /**
45
+ * Begin a windowed sampled-profile capture.
46
+ *
47
+ * Rejecting when a capture is already active is the implementation's
48
+ * responsibility, because the constraint is the runtime's: one inspector
49
+ * session per process.
50
+ */
51
+ startProfiling(args: StartProfilingArgs): Promise<DataServerProfileCapture>;
52
+ }
53
+ /** A profile capture in flight, returned by {@link DataServerDiagnosticsProvider.startProfiling}. */
54
+ export interface DataServerProfileCapture {
55
+ /**
56
+ * End the capture, write its artefacts when a directory was given, and
57
+ * return the formatted report.
58
+ *
59
+ * Formatting belongs here rather than in the caller so the report type never
60
+ * has to cross this boundary — it is a Node-side shape, and naming it in the
61
+ * portable interface would put the import back.
62
+ */
63
+ stop(args: StopProfilingArgs): Promise<string>;
64
+ }
65
+ //# sourceMappingURL=diagnostics-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics-provider.d.ts","sourceRoot":"","sources":["../src/diagnostics-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAEnI;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,6BAA6B;IAC3C;;;;;;;OAOG;IACH,eAAe,CAAC,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5F,6DAA6D;IAC7D,iBAAiB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtE,qEAAqE;IACrE,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjC;;;;;;OAMG;IACH,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CAC9E;AAED,qGAAqG;AACrG,MAAM,WAAW,wBAAwB;IACtC;;;;;;;OAOG;IACH,IAAI,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD"}
@@ -0,0 +1,10 @@
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
+ export {};
10
+ //# sourceMappingURL=diagnostics-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics-provider.js","sourceRoot":"","sources":["../src/diagnostics-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,11 @@
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
+ export * from './data-server.js';
10
+ export * from './diagnostics-provider.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAMlF,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,15 @@
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
+ // Public API barrel for `@hydranium/data-server` — the typed-RPC
10
+ // protocol head. Test-only helpers (duplex-connection pair, ...) live
11
+ // under the `./testing` subpath and are NOT re-exported here so
12
+ // production bundles stay free of test scaffolding.
13
+ export * from './data-server.js';
14
+ export * from './diagnostics-provider.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,iEAAiE;AACjE,sEAAsE;AACtE,gEAAgE;AAChE,oDAAoD;AACpD,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,10 @@
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
+ export * from './node-diagnostics-provider.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AASlF,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,16 @@
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
+ // Server-only surface of the data head (`@hydranium/data-server/node`).
10
+ //
11
+ // The rule is the same one `@hydranium/core` follows: `.` is portable and
12
+ // bundles for a browser, everything that needs a Node runtime lives here. Adding
13
+ // a module to this directory is how a Node-only capability reaches the head
14
+ // without costing the portable entry its neutrality.
15
+ export * from './node-diagnostics-provider.js';
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,wEAAwE;AACxE,EAAE;AACF,0EAA0E;AAC1E,iFAAiF;AACjF,4EAA4E;AAC5E,qDAAqD;AAErD,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 CrossBreeze, EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import type { DataServerDiagnosticsProvider } from '../diagnostics-provider.js';
10
+ /**
11
+ * The diagnostics provider a Node-hosted `DataServer` should be constructed
12
+ * with: `new DataServer(connection, shared, { diagnostics: nodeDataServerDiagnostics() })`.
13
+ *
14
+ * Omitting it is not an error — the head runs without it and rejects only the
15
+ * four diagnostics methods — so a host that never calls them can leave it out.
16
+ */
17
+ export declare function nodeDataServerDiagnostics(): DataServerDiagnosticsProvider;
18
+ //# sourceMappingURL=node-diagnostics-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-diagnostics-provider.d.ts","sourceRoot":"","sources":["../../src/node/node-diagnostics-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAYlF,OAAO,KAAK,EAAE,6BAA6B,EAA4B,MAAM,4BAA4B,CAAC;AAqD1G;;;;;;GAMG;AACH,wBAAgB,yBAAyB,IAAI,6BAA6B,CAEzE"}
@@ -0,0 +1,68 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 CrossBreeze, EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import { formatPodMemory, formatProfileReport, formatServerState, ProfileCapture, recordServerSummaryEntry, writeHeapSnapshotToDir } from '@hydranium/core/node';
10
+ /**
11
+ * The Node implementation of the data head's diagnostics, and the reason this
12
+ * subpath exists.
13
+ *
14
+ * Everything here needs a process to inspect — a V8 heap snapshot, an inspector
15
+ * session, `process.memoryUsage()`, cgroup files — so it is server-only by
16
+ * nature. Keeping it out of the package's portable `.` entry is what lets a
17
+ * browser bundle the data head at all.
18
+ *
19
+ * Snapshots are computed in THIS process on purpose: the data-server child holds
20
+ * the model store, so they reflect the heap that actually carries the workspace
21
+ * AST/CST — the process that OOMs.
22
+ */
23
+ class NodeProfileCapture {
24
+ capture;
25
+ constructor(capture) {
26
+ this.capture = capture;
27
+ }
28
+ async stop(args) {
29
+ const report = await this.capture.stop(args.directory, args.label ?? '');
30
+ // When a directory was given (the profile files land there), also fold this
31
+ // window's report into `<dir>/server-summary.json` so an interactive/e2e
32
+ // bundle carries the same per-window summary the headless `ProfilingRun`
33
+ // writes.
34
+ if (args.directory) {
35
+ recordServerSummaryEntry(args.directory, args.label ?? '', report);
36
+ }
37
+ return formatProfileReport(report, args.label ? `Profile report (${args.label})` : undefined);
38
+ }
39
+ }
40
+ class NodeDataServerDiagnostics {
41
+ async dumpServerState(services, args) {
42
+ const openDocuments = services.workspace.TextDocuments.openDocuments();
43
+ return formatServerState(services.workspace.LangiumDocuments, args.label, { openDocuments });
44
+ }
45
+ async writeHeapSnapshot(args) {
46
+ return writeHeapSnapshotToDir(args.directory, args.label ?? '');
47
+ }
48
+ async dumpPodMemory() {
49
+ return formatPodMemory();
50
+ }
51
+ async startProfiling(args) {
52
+ // `ProfileCapture` is singleton-guarded — one inspector session per
53
+ // process — so a second concurrent start rejects here rather than in the
54
+ // caller, which is where the constraint actually lives.
55
+ return new NodeProfileCapture(await ProfileCapture.start(args));
56
+ }
57
+ }
58
+ /**
59
+ * The diagnostics provider a Node-hosted `DataServer` should be constructed
60
+ * with: `new DataServer(connection, shared, { diagnostics: nodeDataServerDiagnostics() })`.
61
+ *
62
+ * Omitting it is not an error — the head runs without it and rejects only the
63
+ * four diagnostics methods — so a host that never calls them can leave it out.
64
+ */
65
+ export function nodeDataServerDiagnostics() {
66
+ return new NodeDataServerDiagnostics();
67
+ }
68
+ //# sourceMappingURL=node-diagnostics-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-diagnostics-provider.js","sourceRoot":"","sources":["../../src/node/node-diagnostics-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAGlF,OAAO,EACJ,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,wBAAwB,EACxB,sBAAsB,EACxB,MAAM,sBAAsB,CAAC;AAI9B;;;;;;;;;;;;GAYG;AACH,MAAM,kBAAkB;IACU;IAA/B,YAA+B,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAE1D,KAAK,CAAC,IAAI,CAAC,IAAuB;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACzE,4EAA4E;QAC5E,yEAAyE;QACzE,yEAAyE;QACzE,UAAU;QACV,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,wBAAwB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjG,CAAC;CACH;AAED,MAAM,yBAAyB;IAC5B,KAAK,CAAC,eAAe,CAAC,QAA8B,EAAE,IAAyB;QAC5E,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;QACvE,OAAO,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAiC;QACtD,OAAO,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,aAAa;QAChB,OAAO,eAAe,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAwB;QAC1C,oEAAoE;QACpE,yEAAyE;QACzE,wDAAwD;QACxD,OAAO,IAAI,kBAAkB,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;CACH;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB;IACtC,OAAO,IAAI,yBAAyB,EAAE,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,85 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 CrossBreeze, EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import { type Project, type TransferDiagnostic, type TransferElement } from '@hydranium/protocol';
10
+ import { type DataClientProtocol, type DataServerProtocol, type ProjectsChangedEvent, type TransferDocumentSavedEvent, type TransferDocumentUpdatedEvent } from '@hydranium/protocol/data';
11
+ import { type Harness } from '@hydranium/protocol/testing';
12
+ import { type DuplexConnectionPair } from '@hydranium/protocol/testing/node';
13
+ import type { MessageConnection } from 'vscode-jsonrpc/node';
14
+ /**
15
+ * Configuration for {@link makeDataServerHarness}.
16
+ *
17
+ * `server` is the only required field — a factory that constructs the
18
+ * DataServer subclass under test against the supplied {@link MessageConnection}
19
+ * (the "server side" of the duplex pair). The factory is invoked once,
20
+ * synchronously, after the pair is wired.
21
+ *
22
+ * `client` lets tests override individual handlers on the captured
23
+ * {@link DataClientProtocol}. Unspecified handlers default to pushing
24
+ * incoming events into the {@link DataServerHarness} bundle's `events` /
25
+ * `saves` / `projectsChanges` arrays — the typical assertion target.
26
+ */
27
+ export interface MakeDataServerHarnessOptions<TServer, TTransfer extends TransferElement, TDiagnostic extends TransferDiagnostic = TransferDiagnostic, TProject extends Project = Project> {
28
+ /**
29
+ * Construct the `DataServer` (or subclass) under test against
30
+ * `channel`. The harness invokes this once after `pair.left` is
31
+ * established.
32
+ */
33
+ server: (channel: MessageConnection) => TServer;
34
+ /**
35
+ * Override per-method handlers on the captured {@link DataClientProtocol}.
36
+ * Each overridden handler REPLACES the default (which pushes into the
37
+ * bundle's capture arrays); test code wanting to BOTH capture AND
38
+ * react should push to the array manually inside the override.
39
+ */
40
+ client?: Partial<DataClientProtocol<TTransfer, TDiagnostic, TProject>>;
41
+ /**
42
+ * Wire namespace the proxy addresses the server under. Defaults to
43
+ * {@link DATA_SERVER_WIRE_PREFIX}. Override when the `DataServer`
44
+ * subclass registers under a custom namespace (its constructor's
45
+ * `methodNamespace` option). Must match the server's namespace, or every
46
+ * request is "Unhandled method".
47
+ */
48
+ methodNamespace?: string;
49
+ }
50
+ /**
51
+ * Wiring bundle returned by {@link makeDataServerHarness}. Satisfies the
52
+ * uniform {@link Harness} contract — `server` is the **subject** (the
53
+ * DataServer under test), `proxy`/`pair` are the **seam** (the typed RPC
54
+ * proxy tests drive the subject through, plus the underlying duplex pair),
55
+ * `events`/`saves`/`projectsChanges` are the **capture arrays** for inbound
56
+ * client-side events, and `dispose()` is the uniform teardown hook.
57
+ *
58
+ * `dispose()` releases the duplex pair (and therefore both
59
+ * {@link MessageConnection}s); call at test teardown.
60
+ */
61
+ export interface DataServerHarness<TServer, TTransfer extends TransferElement, TDiagnostic extends TransferDiagnostic = TransferDiagnostic, TProject extends Project = Project> extends Harness {
62
+ readonly server: TServer;
63
+ readonly proxy: DataServerProtocol<TTransfer, TDiagnostic, TProject>;
64
+ readonly pair: DuplexConnectionPair;
65
+ /** Captured `onDocumentUpdated` events — append order; never cleared by the harness. */
66
+ readonly events: ReadonlyArray<TransferDocumentUpdatedEvent<TTransfer, TDiagnostic>>;
67
+ /** Captured `onDocumentSaved` events. */
68
+ readonly saves: ReadonlyArray<TransferDocumentSavedEvent<TTransfer, TDiagnostic>>;
69
+ /** Captured `onProjectsChanged` events. */
70
+ readonly projectsChanges: ReadonlyArray<ProjectsChangedEvent<TProject>>;
71
+ /** Dispose the underlying duplex pair. Idempotent. */
72
+ dispose(): void;
73
+ }
74
+ /**
75
+ * Wire a DataServer + local {@link DataClientProtocol} + typed RPC proxy
76
+ * over an in-process duplex {@link MessageConnection} pair. Tests then
77
+ * exercise the server via `harness.proxy.*()` and assert on
78
+ * `harness.events` / `harness.saves` / `harness.projectsChanges`.
79
+ *
80
+ * Moves the duplex pair, the local client and the proxy construction behind
81
+ * a single factory call, so a test file carries only its own setup: seeded
82
+ * documents, server options, assertions.
83
+ */
84
+ export declare function makeDataServerHarness<TServer, TTransfer extends TransferElement, TDiagnostic extends TransferDiagnostic = TransferDiagnostic, TProject extends Project = Project>(options: MakeDataServerHarnessOptions<TServer, TTransfer, TDiagnostic, TProject>): DataServerHarness<TServer, TTransfer, TDiagnostic, TProject>;
85
+ //# sourceMappingURL=data-server-harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-server-harness.d.ts","sourceRoot":"","sources":["../../src/testing/data-server-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAkB,KAAK,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAGJ,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,OAAO,EAA2B,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAA4B,KAAK,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,4BAA4B,CAC1C,OAAO,EACP,SAAS,SAAS,eAAe,EACjC,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,QAAQ,SAAS,OAAO,GAAG,OAAO;IAElC;;;;OAIG;IACH,MAAM,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC;IAChD;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvE;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB,CAC/B,OAAO,EACP,SAAS,SAAS,eAAe,EACjC,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,QAAQ,SAAS,OAAO,GAAG,OAAO,CACnC,SAAQ,OAAO;IACd,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,wFAAwF;IACxF,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,4BAA4B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IACrF,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,0BAA0B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAClF,2CAA2C;IAC3C,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,sDAAsD;IACtD,OAAO,IAAI,IAAI,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAClC,OAAO,EACP,SAAS,SAAS,eAAe,EACjC,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,QAAQ,SAAS,OAAO,GAAG,OAAO,EAElC,OAAO,EAAE,4BAA4B,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,GAChF,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAkC9D"}
@@ -0,0 +1,47 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2026 CrossBreeze, EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the MIT License which is available in the project root.
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ ********************************************************************************/
9
+ import { createRpcProxy } from '@hydranium/protocol';
10
+ import { DATA_CLIENT_PROTOCOL_METHODS, DATA_SERVER_WIRE_PREFIX } from '@hydranium/protocol/data';
11
+ import { makeCapturingDataClient } from '@hydranium/protocol/testing';
12
+ import { makeDuplexConnectionPair } from '@hydranium/protocol/testing/node';
13
+ /**
14
+ * Wire a DataServer + local {@link DataClientProtocol} + typed RPC proxy
15
+ * over an in-process duplex {@link MessageConnection} pair. Tests then
16
+ * exercise the server via `harness.proxy.*()` and assert on
17
+ * `harness.events` / `harness.saves` / `harness.projectsChanges`.
18
+ *
19
+ * Moves the duplex pair, the local client and the proxy construction behind
20
+ * a single factory call, so a test file carries only its own setup: seeded
21
+ * documents, server options, assertions.
22
+ */
23
+ export function makeDataServerHarness(options) {
24
+ const pair = makeDuplexConnectionPair();
25
+ const server = options.server(pair.left);
26
+ // The capture half is the shared client double, not a local copy: the same
27
+ // recording semantics (all three channels, an override replacing rather than
28
+ // supplementing) then hold for a client-side suite that stands the double up
29
+ // without a server, so an assertion learnt against one reads the same in the
30
+ // other.
31
+ const { client: localClient, updates: events, saves, projectsChanges } = makeCapturingDataClient(options.client);
32
+ const proxy = createRpcProxy(pair.right, {
33
+ methodNamespace: options.methodNamespace ?? DATA_SERVER_WIRE_PREFIX,
34
+ localTarget: localClient,
35
+ localMethods: DATA_CLIENT_PROTOCOL_METHODS
36
+ });
37
+ return {
38
+ server,
39
+ proxy,
40
+ pair,
41
+ events,
42
+ saves,
43
+ projectsChanges,
44
+ dispose: () => pair.dispose()
45
+ };
46
+ }
47
+ //# sourceMappingURL=data-server-harness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-server-harness.js","sourceRoot":"","sources":["../../src/testing/data-server-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,cAAc,EAA+D,MAAM,qBAAqB,CAAC;AAClH,OAAO,EACJ,4BAA4B,EAC5B,uBAAuB,EAMzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAgB,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAA6B,MAAM,kCAAkC,CAAC;AA2EvG;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAMlC,OAAgF;IAEhF,MAAM,IAAI,GAAG,wBAAwB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzC,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,SAAS;IACT,MAAM,EACH,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EACL,eAAe,EACjB,GAAG,uBAAuB,CAAmC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAG,cAAc,CACzB,IAAI,CAAC,KAAK,EACV;QACG,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,uBAAuB;QACnE,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,4BAA4B;KAC5C,CACH,CAAC;IAEF,OAAO;QACJ,MAAM;QACN,KAAK;QACL,IAAI;QACJ,MAAM;QACN,KAAK;QACL,eAAe;QACf,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE;KAC/B,CAAC;AACL,CAAC"}
@@ -0,0 +1,11 @@
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
+ export type { DuplexConnectionPair } from '@hydranium/protocol/testing/node';
10
+ export * from './data-server-harness.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAUlF,YAAY,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,10 @@
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
+ export * from './data-server-harness.js';
10
+ //# sourceMappingURL=index.js.map