@hydranium/data-client-theia 1.0.0-next.18 → 1.0.0-next.180

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 (64) hide show
  1. package/README.md +35 -27
  2. package/lib/browser/channel-connection.d.ts +2 -2
  3. package/lib/browser/channel-connection.js.map +1 -1
  4. package/lib/browser/channel-data-port.d.ts +83 -0
  5. package/lib/browser/channel-data-port.d.ts.map +1 -0
  6. package/lib/browser/channel-data-port.js +179 -0
  7. package/lib/browser/channel-data-port.js.map +1 -0
  8. package/lib/browser/data-session-stop-contribution.d.ts +64 -0
  9. package/lib/browser/data-session-stop-contribution.d.ts.map +1 -0
  10. package/lib/browser/data-session-stop-contribution.js +117 -0
  11. package/lib/browser/data-session-stop-contribution.js.map +1 -0
  12. package/lib/browser/host-diagnostics-frontend.js.map +1 -1
  13. package/lib/browser/index.d.ts +2 -3
  14. package/lib/browser/index.d.ts.map +1 -1
  15. package/lib/browser/index.js +2 -3
  16. package/lib/browser/index.js.map +1 -1
  17. package/lib/browser/workspace-gate.js.map +1 -1
  18. package/lib/common/emitter-data-client.d.ts +13 -1
  19. package/lib/common/emitter-data-client.d.ts.map +1 -1
  20. package/lib/common/emitter-data-client.js +18 -0
  21. package/lib/common/emitter-data-client.js.map +1 -1
  22. package/lib/node/connection-container-module.d.ts +5 -4
  23. package/lib/node/connection-container-module.d.ts.map +1 -1
  24. package/lib/node/connection-container-module.js +5 -4
  25. package/lib/node/connection-container-module.js.map +1 -1
  26. package/lib/node/data-server-connection-handler.d.ts +9 -9
  27. package/lib/node/data-server-connection-handler.d.ts.map +1 -1
  28. package/lib/node/data-server-connection-handler.js +8 -12
  29. package/lib/node/data-server-connection-handler.js.map +1 -1
  30. package/lib/node/host-diagnostics-server.d.ts.map +1 -1
  31. package/lib/node/host-diagnostics-server.js.map +1 -1
  32. package/lib/node/index.d.ts +0 -1
  33. package/lib/node/index.d.ts.map +1 -1
  34. package/lib/node/index.js +0 -1
  35. package/lib/node/index.js.map +1 -1
  36. package/package.json +25 -24
  37. package/src/browser/channel-connection.ts +2 -2
  38. package/src/browser/channel-data-port.ts +173 -0
  39. package/src/browser/data-session-stop-contribution.ts +117 -0
  40. package/src/browser/index.ts +2 -3
  41. package/src/common/emitter-data-client.ts +27 -0
  42. package/src/node/connection-container-module.ts +5 -4
  43. package/src/node/data-server-connection-handler.ts +10 -13
  44. package/src/node/index.ts +0 -1
  45. package/lib/browser/data-service-frontend.d.ts +0 -154
  46. package/lib/browser/data-service-frontend.d.ts.map +0 -1
  47. package/lib/browser/data-service-frontend.js +0 -169
  48. package/lib/browser/data-service-frontend.js.map +0 -1
  49. package/lib/browser/diagnostics-data-service-frontend.d.ts +0 -35
  50. package/lib/browser/diagnostics-data-service-frontend.d.ts.map +0 -1
  51. package/lib/browser/diagnostics-data-service-frontend.js +0 -54
  52. package/lib/browser/diagnostics-data-service-frontend.js.map +0 -1
  53. package/lib/browser/references-data-service-frontend.d.ts +0 -45
  54. package/lib/browser/references-data-service-frontend.d.ts.map +0 -1
  55. package/lib/browser/references-data-service-frontend.js +0 -55
  56. package/lib/browser/references-data-service-frontend.js.map +0 -1
  57. package/lib/node/socket-channel-forwarder.d.ts +0 -34
  58. package/lib/node/socket-channel-forwarder.d.ts.map +0 -1
  59. package/lib/node/socket-channel-forwarder.js +0 -63
  60. package/lib/node/socket-channel-forwarder.js.map +0 -1
  61. package/src/browser/data-service-frontend.ts +0 -208
  62. package/src/browser/diagnostics-data-service-frontend.ts +0 -70
  63. package/src/browser/references-data-service-frontend.ts +0 -70
  64. package/src/node/socket-channel-forwarder.ts +0 -64
@@ -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
- import { type Channel, Disposable, DisposableCollection, type MessageProvider } from '@theia/core';
11
- import type * as net from 'node:net';
12
- import { createMessageConnection, type Message, SocketMessageReader, SocketMessageWriter } from 'vscode-jsonrpc/node';
13
-
14
- /**
15
- * Relays JSON-RPC messages between a Theia browser-frontend {@link Channel} and
16
- * a data-server's TCP socket — the backend half of the data-server head's
17
- * transport. The model-server speaks vscode-jsonrpc (Content-Length framed) on
18
- * the socket; the frontend speaks the same protocol over the channel (via
19
- * `createChannelConnection`). This forwarder decodes each side and re-emits on
20
- * the other, so the two ends share one protocol with no semantic re-proxy in
21
- * between.
22
- *
23
- * Framework-owned equivalent of `@eclipse-glsp/theia-integration`'s
24
- * `SocketConnectionForwarder` — reproduced here (rather than imported) so the
25
- * data-server head carries no GLSP dependency.
26
- */
27
- export class SocketChannelForwarder implements Disposable {
28
- protected readonly toDispose = new DisposableCollection();
29
-
30
- constructor(
31
- protected readonly channel: Channel,
32
- protected readonly socket: net.Socket
33
- ) {
34
- const reader = new SocketMessageReader(socket);
35
- const writer = new SocketMessageWriter(socket);
36
- const connection = createMessageConnection(reader, writer);
37
- this.toDispose.pushAll([
38
- connection.onClose(() => socket.destroy()),
39
- reader.listen(message => this.writeToChannel(message)),
40
- channel.onMessage(provider => void writer.write(this.decodeChannelMessage(provider))),
41
- channel.onClose(() => connection.dispose()),
42
- connection.onClose(() => channel.close()),
43
- Disposable.create(() => {
44
- channel.close();
45
- connection.dispose();
46
- })
47
- ]);
48
- }
49
-
50
- protected decodeChannelMessage(provider: MessageProvider): Message {
51
- const buffer = provider().readBytes();
52
- return JSON.parse(new TextDecoder().decode(buffer)) as Message;
53
- }
54
-
55
- protected writeToChannel(message: Message): void {
56
- const writeBuffer = this.channel.getWriteBuffer();
57
- writeBuffer.writeBytes(new TextEncoder().encode(JSON.stringify(message)));
58
- writeBuffer.commit();
59
- }
60
-
61
- dispose(): void {
62
- this.toDispose.dispose();
63
- }
64
- }