@lspeasy/core 2.1.2 → 2.2.0
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/dist/index.d.ts +44 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -1
- package/dist/index.js.map +1 -1
- package/dist/jsonrpc/framing.d.ts +28 -3
- package/dist/jsonrpc/framing.d.ts.map +1 -1
- package/dist/jsonrpc/framing.js +28 -3
- package/dist/jsonrpc/framing.js.map +1 -1
- package/dist/jsonrpc/messages.d.ts +105 -8
- package/dist/jsonrpc/messages.d.ts.map +1 -1
- package/dist/jsonrpc/messages.js +36 -0
- package/dist/jsonrpc/messages.js.map +1 -1
- package/dist/jsonrpc/reader.js.map +1 -1
- package/dist/jsonrpc/writer.d.ts +3 -0
- package/dist/jsonrpc/writer.d.ts.map +1 -1
- package/dist/jsonrpc/writer.js.map +1 -1
- package/dist/middleware/compose.d.ts +22 -0
- package/dist/middleware/compose.d.ts.map +1 -1
- package/dist/middleware/compose.js +22 -0
- package/dist/middleware/compose.js.map +1 -1
- package/dist/middleware/pipeline.d.ts +22 -0
- package/dist/middleware/pipeline.d.ts.map +1 -1
- package/dist/middleware/pipeline.js +22 -0
- package/dist/middleware/pipeline.js.map +1 -1
- package/dist/middleware/scoped.d.ts +28 -0
- package/dist/middleware/scoped.d.ts.map +1 -1
- package/dist/middleware/scoped.js +28 -0
- package/dist/middleware/scoped.js.map +1 -1
- package/dist/middleware/typed.d.ts +30 -0
- package/dist/middleware/typed.d.ts.map +1 -1
- package/dist/middleware/typed.js +30 -0
- package/dist/middleware/typed.js.map +1 -1
- package/dist/middleware/types.d.ts +173 -0
- package/dist/middleware/types.d.ts.map +1 -1
- package/dist/protocol/capabilities.d.ts +78 -12
- package/dist/protocol/capabilities.d.ts.map +1 -1
- package/dist/protocol/capabilities.js +78 -12
- package/dist/protocol/capabilities.js.map +1 -1
- package/dist/protocol/capability-methods.d.ts +70 -2
- package/dist/protocol/capability-methods.d.ts.map +1 -1
- package/dist/protocol/capability-methods.js +8 -0
- package/dist/protocol/capability-methods.js.map +1 -1
- package/dist/protocol/dynamic-registration.d.ts +34 -2
- package/dist/protocol/dynamic-registration.d.ts.map +1 -1
- package/dist/protocol/dynamic-registration.js +16 -2
- package/dist/protocol/dynamic-registration.js.map +1 -1
- package/dist/protocol/enums.js +40 -80
- package/dist/protocol/enums.js.map +1 -1
- package/dist/protocol/infer.d.ts +92 -4
- package/dist/protocol/infer.d.ts.map +1 -1
- package/dist/protocol/infer.js +46 -4
- package/dist/protocol/infer.js.map +1 -1
- package/dist/protocol/namespaces.d.ts +327 -327
- package/dist/protocol/namespaces.d.ts.map +1 -1
- package/dist/protocol/partial-results.d.ts +6 -0
- package/dist/protocol/partial-results.d.ts.map +1 -1
- package/dist/protocol/partial.d.ts +12 -3
- package/dist/protocol/partial.d.ts.map +1 -1
- package/dist/protocol/partial.js +12 -3
- package/dist/protocol/partial.js.map +1 -1
- package/dist/protocol/progress.d.ts +34 -4
- package/dist/protocol/progress.d.ts.map +1 -1
- package/dist/protocol/progress.js +34 -4
- package/dist/protocol/progress.js.map +1 -1
- package/dist/protocol/schemas.d.ts +4 -1
- package/dist/protocol/schemas.d.ts.map +1 -1
- package/dist/protocol/schemas.js +4 -1
- package/dist/protocol/schemas.js.map +1 -1
- package/dist/protocol/watching.d.ts +18 -7
- package/dist/protocol/watching.d.ts.map +1 -1
- package/dist/protocol/watching.js +14 -3
- package/dist/protocol/watching.js.map +1 -1
- package/dist/protocol/workspace.d.ts +10 -2
- package/dist/protocol/workspace.d.ts.map +1 -1
- package/dist/protocol/workspace.js +10 -2
- package/dist/protocol/workspace.js.map +1 -1
- package/dist/transport/dedicated-worker.js.map +1 -1
- package/dist/transport/events.js.map +1 -1
- package/dist/transport/ipc.js.map +1 -1
- package/dist/transport/shared-worker.js.map +1 -1
- package/dist/transport/stdio.js.map +1 -1
- package/dist/transport/tcp.js.map +1 -1
- package/dist/transport/transport.d.ts +91 -10
- package/dist/transport/transport.d.ts.map +1 -1
- package/dist/transport/websocket.d.ts +120 -19
- package/dist/transport/websocket.d.ts.map +1 -1
- package/dist/transport/websocket.js +95 -8
- package/dist/transport/websocket.js.map +1 -1
- package/dist/transport/worker-types.d.ts +16 -2
- package/dist/transport/worker-types.d.ts.map +1 -1
- package/dist/transport/worker-types.js +12 -2
- package/dist/transport/worker-types.js.map +1 -1
- package/dist/utils/cancellation.d.ts +75 -5
- package/dist/utils/cancellation.d.ts.map +1 -1
- package/dist/utils/cancellation.js +29 -1
- package/dist/utils/cancellation.js.map +1 -1
- package/dist/utils/capability-guard.d.ts +32 -1
- package/dist/utils/capability-guard.d.ts.map +1 -1
- package/dist/utils/capability-guard.js +32 -1
- package/dist/utils/capability-guard.js.map +1 -1
- package/dist/utils/disposable-event-emitter.d.ts +11 -0
- package/dist/utils/disposable-event-emitter.d.ts.map +1 -1
- package/dist/utils/disposable-event-emitter.js +11 -0
- package/dist/utils/disposable-event-emitter.js.map +1 -1
- package/dist/utils/disposable.d.ts +42 -3
- package/dist/utils/disposable.d.ts.map +1 -1
- package/dist/utils/disposable.js +34 -2
- package/dist/utils/disposable.js.map +1 -1
- package/dist/utils/document.d.ts +78 -3
- package/dist/utils/document.d.ts.map +1 -1
- package/dist/utils/document.js +73 -3
- package/dist/utils/document.js.map +1 -1
- package/dist/utils/errors.d.ts +87 -10
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +87 -10
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/handler-registry.js.map +1 -1
- package/dist/utils/logger.d.ts +79 -4
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +64 -5
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/pending-request-tracker.d.ts.map +1 -1
- package/dist/utils/pending-request-tracker.js.map +1 -1
- package/dist/utils/transport-attachment.js.map +1 -1
- package/package.json +6 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dedicated-worker.js","sourceRoot":"","sources":["../../src/transport/dedicated-worker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAO9C,gEAAgE;AAChE,MAAM,OAAO,wBAAwB;IAClB,MAAM,CAAa;IACnB,gBAAgB,CAAU;IAC1B,eAAe,GAAG,IAAI,GAAG,EAA8B,CAAC;IACxD,aAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;IAClD,aAAa,GAAG,IAAI,GAAG,EAAc,CAAC;IAC/C,SAAS,GAAG,IAAI,CAAC;IAER,eAAe,GAAG,CAAC,KAA6B,EAAQ,EAAE
|
|
1
|
+
{"version":3,"file":"dedicated-worker.js","sourceRoot":"","sources":["../../src/transport/dedicated-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/transport/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAU9E;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,sBAAyC;IAClF;;OAEG;IACH,WAAW
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/transport/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAU9E;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,sBAAyC;IAClF;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAY;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../src/transport/ipc.ts"],"names":[],"mappings":"AAkCA,SAAS,SAAS,CAAC,SAAkB
|
|
1
|
+
{"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../src/transport/ipc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-worker.js","sourceRoot":"","sources":["../../src/transport/shared-worker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAStD,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAQzE,0FAA0F;AAC1F,MAAM,OAAO,qBAAqB;IACf,IAAI,CAAkB;IACtB,QAAQ,CAAS;IACjB,eAAe,GAAG,IAAI,GAAG,EAA8B,CAAC;IACxD,aAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;IAClD,aAAa,GAAG,IAAI,GAAG,EAAc,CAAC;IAC/C,SAAS,GAAG,IAAI,CAAC;IAER,aAAa,GAAG,CAAC,KAA6B,EAAQ,EAAE
|
|
1
|
+
{"version":3,"file":"shared-worker.js","sourceRoot":"","sources":["../../src/transport/shared-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/transport/stdio.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAarD;;GAEG;AACH,MAAM,OAAO,cAAc;IACR,MAAM,CAAgB;IACtB,MAAM,CAAgB;IAC/B,SAAS,CAAU;IACV,eAAe,CAAkC;IACjD,aAAa,CAA8B;IAC3C,aAAa,CAAkB;IAEhD,YAAY,OAAO,GAA0B,EAAE
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/transport/stdio.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAarD;;GAEG;AACH,MAAM,OAAO,cAAc;IACR,MAAM,CAAgB;IACtB,MAAM,CAAgB;IAC/B,SAAS,CAAU;IACV,eAAe,CAAkC;IACjD,aAAa,CAA8B;IAC3C,aAAa,CAAkB;IAEhD,YAAY,OAAO,GAA0B,EAAE;QAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;QAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAEhD,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAE/B,+BAA+B;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YACpC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvC,IAAI,CAAC;oBACH,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrC,IAAI,CAAC;oBACH,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrC,IAAI,CAAC;oBACH,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAAgB;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAmC;QAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAA+B;QACrC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAmB;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEpB,uDAAuD;QACvD,6BAA6B;QAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tcp.js","sourceRoot":"","sources":["../../src/transport/tcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAU,OAAO,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AAGvE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAoBtD,mDAAmD;AACnD,MAAM,OAAO,YAAY;IACN,OAAO,CAAsB;IACtC,MAAM,CAAqB;IAC3B,QAAQ,CAAwB;IAChC,MAAM,CAA4B;IAClC,MAAM,CAA4B;IAClC,SAAS,GAAG,KAAK,CAAC;IAClB,cAAc,CAA6B;IAC3C,iBAAiB,GAAG,CAAC,CAAC;IACtB,mBAAmB,GAAG,KAAK,CAAC;IAEnB,eAAe,GAAG,IAAI,GAAG,EAA8B,CAAC;IACxD,aAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;IAClD,aAAa,GAAG,IAAI,GAAG,EAAc,CAAC;IAEvD,YAAY,OAA4B
|
|
1
|
+
{"version":3,"file":"tcp.js","sourceRoot":"","sources":["../../src/transport/tcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,34 +4,115 @@
|
|
|
4
4
|
import type { Message } from '../jsonrpc/messages.js';
|
|
5
5
|
import type { Disposable } from '../utils/disposable.js';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Pluggable communication layer for JSON-RPC message exchange.
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* `Transport` is the lowest-level abstraction in lspeasy. Every `LSPServer`
|
|
11
|
+
* and `LSPClient` operates over a single `Transport` instance. Built-in
|
|
12
|
+
* implementations include `WebSocketTransport` (browser + Node), and the
|
|
13
|
+
* Node-only `StdioTransport`, `TcpTransport`, and `IpcTransport` from
|
|
14
|
+
* `@lspeasy/core/node`.
|
|
15
|
+
*
|
|
16
|
+
* Implement this interface when you need a custom channel (e.g. in-process
|
|
17
|
+
* message passing for tests, or a custom binary framing layer).
|
|
18
|
+
*
|
|
19
|
+
* @useWhen
|
|
20
|
+
* You need a custom channel not covered by built-in transports — for example,
|
|
21
|
+
* a web worker bridge, an in-process pipe for unit tests, or a proprietary
|
|
22
|
+
* framing protocol.
|
|
23
|
+
*
|
|
24
|
+
* @avoidWhen
|
|
25
|
+
* A built-in transport already satisfies your environment. Prefer
|
|
26
|
+
* `WebSocketTransport`, `StdioTransport` (`@lspeasy/core/node`),
|
|
27
|
+
* `TcpTransport` (`@lspeasy/core/node`), or `IpcTransport` (`@lspeasy/core/node`).
|
|
28
|
+
*
|
|
29
|
+
* @never
|
|
30
|
+
* NEVER share one `Transport` instance between two `LSPServer` or `LSPClient`
|
|
31
|
+
* instances — each connection maintains independent protocol state (pending
|
|
32
|
+
* request IDs, lifecycle phase) and sharing causes ID collisions and state
|
|
33
|
+
* desync.
|
|
34
|
+
*
|
|
35
|
+
* NEVER mix message framing styles on the same transport. `StdioTransport`
|
|
36
|
+
* uses `Content-Length` framing; `WebSocketTransport` uses raw JSON over
|
|
37
|
+
* WebSocket frames. Using a stdio-framing reader on a WebSocket connection
|
|
38
|
+
* will corrupt the message stream.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* // Minimal in-process test transport
|
|
43
|
+
* import type { Transport, Message, Disposable } from '@lspeasy/core';
|
|
44
|
+
*
|
|
45
|
+
* class InProcessTransport implements Transport {
|
|
46
|
+
* private peer?: InProcessTransport;
|
|
47
|
+
* private messageHandlers = new Set<(msg: Message) => void>();
|
|
48
|
+
* private errorHandlers = new Set<(err: Error) => void>();
|
|
49
|
+
* private closeHandlers = new Set<() => void>();
|
|
50
|
+
* private open = true;
|
|
51
|
+
*
|
|
52
|
+
* link(other: InProcessTransport) { this.peer = other; }
|
|
53
|
+
*
|
|
54
|
+
* async send(message: Message): Promise<void> {
|
|
55
|
+
* if (!this.open) throw new Error('Transport closed');
|
|
56
|
+
* this.peer?.messageHandlers.forEach(h => h(message));
|
|
57
|
+
* }
|
|
58
|
+
* onMessage(handler: (msg: Message) => void): Disposable {
|
|
59
|
+
* this.messageHandlers.add(handler);
|
|
60
|
+
* return { dispose: () => this.messageHandlers.delete(handler) };
|
|
61
|
+
* }
|
|
62
|
+
* onError(handler: (err: Error) => void): Disposable {
|
|
63
|
+
* this.errorHandlers.add(handler);
|
|
64
|
+
* return { dispose: () => this.errorHandlers.delete(handler) };
|
|
65
|
+
* }
|
|
66
|
+
* onClose(handler: () => void): Disposable {
|
|
67
|
+
* this.closeHandlers.add(handler);
|
|
68
|
+
* return { dispose: () => this.closeHandlers.delete(handler) };
|
|
69
|
+
* }
|
|
70
|
+
* async close(): Promise<void> {
|
|
71
|
+
* this.open = false;
|
|
72
|
+
* this.closeHandlers.forEach(h => h());
|
|
73
|
+
* }
|
|
74
|
+
* isConnected(): boolean { return this.open; }
|
|
75
|
+
* }
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* @category Transport
|
|
8
79
|
*/
|
|
9
80
|
export interface Transport {
|
|
10
81
|
/**
|
|
11
|
-
* Send a message to the remote peer
|
|
82
|
+
* Send a message to the remote peer.
|
|
83
|
+
*
|
|
84
|
+
* @param message - The JSON-RPC message to send.
|
|
85
|
+
* @throws If the transport is not connected or an I/O error occurs.
|
|
12
86
|
*/
|
|
13
87
|
send(message: Message): Promise<void>;
|
|
14
88
|
/**
|
|
15
|
-
* Subscribe to incoming messages
|
|
16
|
-
*
|
|
89
|
+
* Subscribe to incoming messages.
|
|
90
|
+
*
|
|
91
|
+
* @param handler - Callback invoked for each received message.
|
|
92
|
+
* @returns A `Disposable` that unsubscribes the handler when disposed.
|
|
17
93
|
*/
|
|
18
94
|
onMessage(handler: (message: Message) => void): Disposable;
|
|
19
95
|
/**
|
|
20
|
-
* Subscribe to transport errors
|
|
21
|
-
*
|
|
96
|
+
* Subscribe to transport errors.
|
|
97
|
+
*
|
|
98
|
+
* @param handler - Callback invoked when a transport-level error occurs.
|
|
99
|
+
* @returns A `Disposable` that unsubscribes the handler when disposed.
|
|
22
100
|
*/
|
|
23
101
|
onError(handler: (error: Error) => void): Disposable;
|
|
24
102
|
/**
|
|
25
|
-
* Subscribe to connection close
|
|
26
|
-
*
|
|
103
|
+
* Subscribe to connection close.
|
|
104
|
+
*
|
|
105
|
+
* @param handler - Callback invoked when the transport is closed.
|
|
106
|
+
* @returns A `Disposable` that unsubscribes the handler when disposed.
|
|
27
107
|
*/
|
|
28
108
|
onClose(handler: () => void): Disposable;
|
|
29
109
|
/**
|
|
30
|
-
* Close the transport connection
|
|
110
|
+
* Close the transport connection and release resources.
|
|
31
111
|
*/
|
|
32
112
|
close(): Promise<void>;
|
|
33
113
|
/**
|
|
34
|
-
*
|
|
114
|
+
* Returns `true` if the transport is currently connected and able to
|
|
115
|
+
* send messages.
|
|
35
116
|
*/
|
|
36
117
|
isConnected(): boolean;
|
|
37
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport/transport.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport/transport.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,UAAU,CAAC;IAE3D;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,UAAU,CAAC;IAErD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC;IAEzC;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC;CACxB"}
|
|
@@ -27,47 +27,137 @@ type WebSocketLike = {
|
|
|
27
27
|
addEventListener?(event: 'error', handler: (event: ErrorLikeEvent) => void): void;
|
|
28
28
|
addEventListener?(event: 'close', handler: (event: CloseLikeEvent) => void): void;
|
|
29
29
|
};
|
|
30
|
+
/**
|
|
31
|
+
* Options for configuring a `WebSocketTransport`.
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
* Provide either `url` (client mode — the transport opens the connection)
|
|
35
|
+
* or `socket` (server mode — the transport wraps an already-accepted
|
|
36
|
+
* WebSocket). Providing both or neither throws at construction time.
|
|
37
|
+
*
|
|
38
|
+
* @config
|
|
39
|
+
* @category Transport
|
|
40
|
+
*/
|
|
30
41
|
export interface WebSocketTransportOptions {
|
|
31
42
|
/**
|
|
32
|
-
* WebSocket URL for client mode (e.g., 'ws://localhost:3000')
|
|
43
|
+
* WebSocket URL for client mode (e.g., `'ws://localhost:3000'`).
|
|
44
|
+
* Mutually exclusive with `socket`.
|
|
33
45
|
*/
|
|
34
46
|
url?: string;
|
|
35
47
|
/**
|
|
36
|
-
* Existing WebSocket instance for server mode
|
|
48
|
+
* Existing WebSocket instance for server mode.
|
|
49
|
+
* Mutually exclusive with `url`.
|
|
37
50
|
*/
|
|
38
51
|
socket?: WebSocketLike;
|
|
39
52
|
/**
|
|
40
|
-
* Enable automatic reconnection (client mode only)
|
|
53
|
+
* Enable automatic reconnection on unexpected disconnect (client mode only).
|
|
54
|
+
* @defaultValue false
|
|
41
55
|
*/
|
|
42
56
|
enableReconnect?: boolean;
|
|
43
57
|
/**
|
|
44
|
-
* Maximum number of reconnection attempts
|
|
45
|
-
* @
|
|
58
|
+
* Maximum number of reconnection attempts before giving up.
|
|
59
|
+
* @defaultValue 5
|
|
46
60
|
*/
|
|
47
61
|
maxReconnectAttempts?: number;
|
|
48
62
|
/**
|
|
49
|
-
* Initial delay between reconnection attempts in milliseconds
|
|
50
|
-
* @
|
|
63
|
+
* Initial delay between reconnection attempts in milliseconds.
|
|
64
|
+
* @defaultValue 1000
|
|
51
65
|
*/
|
|
52
66
|
reconnectDelay?: number;
|
|
53
67
|
/**
|
|
54
|
-
* Maximum delay between reconnection attempts in milliseconds
|
|
55
|
-
* @
|
|
68
|
+
* Maximum delay between reconnection attempts in milliseconds.
|
|
69
|
+
* @defaultValue 30000
|
|
56
70
|
*/
|
|
57
71
|
maxReconnectDelay?: number;
|
|
58
72
|
/**
|
|
59
|
-
* Multiplier for exponential
|
|
60
|
-
* @
|
|
73
|
+
* Multiplier for exponential back-off between reconnection attempts.
|
|
74
|
+
* @defaultValue 2
|
|
61
75
|
*/
|
|
62
76
|
reconnectBackoffMultiplier?: number;
|
|
63
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Creates a WebSocket client instance, preferring the native
|
|
80
|
+
* `globalThis.WebSocket` (Node ≥ 22.4 / modern browsers) and falling back
|
|
81
|
+
* to the optional `ws` peer dependency.
|
|
82
|
+
*
|
|
83
|
+
* @remarks
|
|
84
|
+
* This is a low-level factory used internally by `WebSocketTransport` in
|
|
85
|
+
* client mode. You rarely need to call it directly.
|
|
86
|
+
*
|
|
87
|
+
* @param url - The WebSocket server URL to connect to.
|
|
88
|
+
* @returns A `WebSocketLike` instance that is currently connecting.
|
|
89
|
+
* @throws If neither `globalThis.WebSocket` nor the `ws` package is available.
|
|
90
|
+
*
|
|
91
|
+
* @category Transport
|
|
92
|
+
*/
|
|
64
93
|
export declare function createWebSocketClient(url: string): WebSocketLike;
|
|
65
94
|
/**
|
|
66
|
-
* WebSocket-based transport for LSP communication
|
|
95
|
+
* WebSocket-based transport for LSP communication.
|
|
96
|
+
*
|
|
97
|
+
* @remarks
|
|
98
|
+
* Operates in two modes, determined by the constructor options:
|
|
99
|
+
*
|
|
100
|
+
* - **Client mode** (`url` provided) — opens a new WebSocket connection to
|
|
101
|
+
* the given URL. Optionally supports automatic reconnection with
|
|
102
|
+
* exponential back-off.
|
|
103
|
+
* - **Server mode** (`socket` provided) — wraps an already-accepted
|
|
104
|
+
* WebSocket instance (e.g. from an `http.Server` `upgrade` event).
|
|
105
|
+
*
|
|
106
|
+
* Works in browsers (native `WebSocket`), Node.js ≥ 22.4 (native
|
|
107
|
+
* `globalThis.WebSocket`), and earlier Node.js versions with the optional
|
|
108
|
+
* `ws` peer dependency installed.
|
|
109
|
+
*
|
|
110
|
+
* @throws {Error} When neither `url` nor `socket` is provided. Fix: supply exactly one — `url` for client mode, `socket` for server mode.
|
|
111
|
+
* @throws {Error} When both `url` and `socket` are provided. Fix: mutually exclusive — pick one mode per instance.
|
|
112
|
+
* @throws {Error} (from `send()`) When the socket is not yet open (still in CONNECTING state). Fix: wait for the transport's first message or use `isConnected()` before calling `send()`; in client mode the socket connects asynchronously after construction.
|
|
113
|
+
*
|
|
114
|
+
* @useWhen
|
|
115
|
+
* You are building a browser-based LSP client, a WebSocket-backed language
|
|
116
|
+
* server, or any LSP integration that must run over HTTP/HTTPS infrastructure.
|
|
117
|
+
*
|
|
118
|
+
* @avoidWhen
|
|
119
|
+
* You are building a CLI language server — `StdioTransport` (from
|
|
120
|
+
* `@lspeasy/core/node`) is the conventional choice and avoids the overhead
|
|
121
|
+
* of a network stack. For same-process workers prefer
|
|
122
|
+
* `DedicatedWorkerTransport` or `SharedWorkerTransport`.
|
|
123
|
+
*
|
|
124
|
+
* @never
|
|
125
|
+
* NEVER set `enableReconnect: true` in server mode (`socket` provided) —
|
|
126
|
+
* the option is silently ignored (reconnect has no URL to reconnect to), but
|
|
127
|
+
* the intent is misleading and suggests lifecycle management will be handled
|
|
128
|
+
* when it is not.
|
|
129
|
+
*
|
|
130
|
+
* NEVER send messages before `isConnected()` returns `true`. In client mode
|
|
131
|
+
* the socket is in CONNECTING state immediately after construction; `send()`
|
|
132
|
+
* will throw until the open event fires.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```ts
|
|
136
|
+
* // Client mode — connect to a running WebSocket LSP server
|
|
137
|
+
* import { LSPClient } from '@lspeasy/server';
|
|
138
|
+
* import { WebSocketTransport } from '@lspeasy/core';
|
|
139
|
+
*
|
|
140
|
+
* const transport = new WebSocketTransport({ url: 'ws://localhost:2087' });
|
|
141
|
+
* const client = new LSPClient();
|
|
142
|
+
* await client.connect(transport);
|
|
143
|
+
* ```
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```ts
|
|
147
|
+
* // Server mode — wrap an accepted WebSocket (e.g. inside a ws upgrade handler)
|
|
148
|
+
* import { LSPServer } from '@lspeasy/server';
|
|
149
|
+
* import { WebSocketTransport } from '@lspeasy/core';
|
|
150
|
+
* import { WebSocketServer } from 'ws';
|
|
151
|
+
*
|
|
152
|
+
* const wss = new WebSocketServer({ port: 2087 });
|
|
153
|
+
* wss.on('connection', (socket) => {
|
|
154
|
+
* const transport = new WebSocketTransport({ socket });
|
|
155
|
+
* const server = new LSPServer();
|
|
156
|
+
* void server.listen(transport);
|
|
157
|
+
* });
|
|
158
|
+
* ```
|
|
67
159
|
*
|
|
68
|
-
*
|
|
69
|
-
* - Client mode: Connects to a WebSocket server URL
|
|
70
|
-
* - Server mode: Wraps an existing WebSocket connection
|
|
160
|
+
* @category Transport
|
|
71
161
|
*/
|
|
72
162
|
export declare class WebSocketTransport implements Transport {
|
|
73
163
|
private socket;
|
|
@@ -110,15 +200,24 @@ export declare class WebSocketTransport implements Transport {
|
|
|
110
200
|
*/
|
|
111
201
|
send(message: Message): Promise<void>;
|
|
112
202
|
/**
|
|
113
|
-
* Register a handler for incoming messages
|
|
203
|
+
* Register a handler for incoming messages.
|
|
204
|
+
*
|
|
205
|
+
* @param handler - Callback invoked with each parsed {@link Message} received over the socket.
|
|
206
|
+
* @returns A {@link Disposable} — call `dispose()` to unregister the handler.
|
|
114
207
|
*/
|
|
115
208
|
onMessage(handler: (message: Message) => void): Disposable;
|
|
116
209
|
/**
|
|
117
|
-
* Register a handler for transport errors
|
|
210
|
+
* Register a handler for transport errors.
|
|
211
|
+
*
|
|
212
|
+
* @param handler - Callback invoked whenever a WebSocket error occurs.
|
|
213
|
+
* @returns A {@link Disposable} — call `dispose()` to unregister the handler.
|
|
118
214
|
*/
|
|
119
215
|
onError(handler: (error: Error) => void): Disposable;
|
|
120
216
|
/**
|
|
121
|
-
* Register a handler for transport closure
|
|
217
|
+
* Register a handler for transport closure.
|
|
218
|
+
*
|
|
219
|
+
* @param handler - Callback invoked when the WebSocket closes (clean or error).
|
|
220
|
+
* @returns A {@link Disposable} — call `dispose()` to unregister the handler.
|
|
122
221
|
*/
|
|
123
222
|
onClose(handler: () => void): Disposable;
|
|
124
223
|
/**
|
|
@@ -130,7 +229,9 @@ export declare class WebSocketTransport implements Transport {
|
|
|
130
229
|
*/
|
|
131
230
|
isConnected(): boolean;
|
|
132
231
|
/**
|
|
133
|
-
* Get the current reconnection attempt count
|
|
232
|
+
* Get the current reconnection attempt count.
|
|
233
|
+
*
|
|
234
|
+
* @returns The number of reconnection attempts made since the last successful connection.
|
|
134
235
|
*/
|
|
135
236
|
getReconnectAttempts(): number;
|
|
136
237
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/transport/websocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,KAAK,cAAc,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AACxC,KAAK,cAAc,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAC1C,KAAK,gBAAgB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1C,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,KAAK,IAAI,IAAI,CAAC;IACd,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC9C,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACtE,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3D,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC/C,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACjD,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC5D,gBAAgB,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI,CAAC;IACtF,gBAAgB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,IAAI,CAAC;IAClF,gBAAgB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,IAAI,CAAC;CACnF,CAAC;AAKF,MAAM,WAAW,yBAAyB;IACxC
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/transport/websocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,21 @@ function getWsWebSocketCtor() {
|
|
|
30
30
|
return undefined;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Creates a WebSocket client instance, preferring the native
|
|
35
|
+
* `globalThis.WebSocket` (Node ≥ 22.4 / modern browsers) and falling back
|
|
36
|
+
* to the optional `ws` peer dependency.
|
|
37
|
+
*
|
|
38
|
+
* @remarks
|
|
39
|
+
* This is a low-level factory used internally by `WebSocketTransport` in
|
|
40
|
+
* client mode. You rarely need to call it directly.
|
|
41
|
+
*
|
|
42
|
+
* @param url - The WebSocket server URL to connect to.
|
|
43
|
+
* @returns A `WebSocketLike` instance that is currently connecting.
|
|
44
|
+
* @throws If neither `globalThis.WebSocket` nor the `ws` package is available.
|
|
45
|
+
*
|
|
46
|
+
* @category Transport
|
|
47
|
+
*/
|
|
33
48
|
export function createWebSocketClient(url) {
|
|
34
49
|
const nativeCtor = getNativeWebSocketCtor();
|
|
35
50
|
if (nativeCtor) {
|
|
@@ -57,11 +72,72 @@ function parseIncomingMessage(data) {
|
|
|
57
72
|
throw new Error('Unsupported WebSocket message payload type');
|
|
58
73
|
}
|
|
59
74
|
/**
|
|
60
|
-
* WebSocket-based transport for LSP communication
|
|
75
|
+
* WebSocket-based transport for LSP communication.
|
|
76
|
+
*
|
|
77
|
+
* @remarks
|
|
78
|
+
* Operates in two modes, determined by the constructor options:
|
|
79
|
+
*
|
|
80
|
+
* - **Client mode** (`url` provided) — opens a new WebSocket connection to
|
|
81
|
+
* the given URL. Optionally supports automatic reconnection with
|
|
82
|
+
* exponential back-off.
|
|
83
|
+
* - **Server mode** (`socket` provided) — wraps an already-accepted
|
|
84
|
+
* WebSocket instance (e.g. from an `http.Server` `upgrade` event).
|
|
85
|
+
*
|
|
86
|
+
* Works in browsers (native `WebSocket`), Node.js ≥ 22.4 (native
|
|
87
|
+
* `globalThis.WebSocket`), and earlier Node.js versions with the optional
|
|
88
|
+
* `ws` peer dependency installed.
|
|
89
|
+
*
|
|
90
|
+
* @throws {Error} When neither `url` nor `socket` is provided. Fix: supply exactly one — `url` for client mode, `socket` for server mode.
|
|
91
|
+
* @throws {Error} When both `url` and `socket` are provided. Fix: mutually exclusive — pick one mode per instance.
|
|
92
|
+
* @throws {Error} (from `send()`) When the socket is not yet open (still in CONNECTING state). Fix: wait for the transport's first message or use `isConnected()` before calling `send()`; in client mode the socket connects asynchronously after construction.
|
|
93
|
+
*
|
|
94
|
+
* @useWhen
|
|
95
|
+
* You are building a browser-based LSP client, a WebSocket-backed language
|
|
96
|
+
* server, or any LSP integration that must run over HTTP/HTTPS infrastructure.
|
|
97
|
+
*
|
|
98
|
+
* @avoidWhen
|
|
99
|
+
* You are building a CLI language server — `StdioTransport` (from
|
|
100
|
+
* `@lspeasy/core/node`) is the conventional choice and avoids the overhead
|
|
101
|
+
* of a network stack. For same-process workers prefer
|
|
102
|
+
* `DedicatedWorkerTransport` or `SharedWorkerTransport`.
|
|
103
|
+
*
|
|
104
|
+
* @never
|
|
105
|
+
* NEVER set `enableReconnect: true` in server mode (`socket` provided) —
|
|
106
|
+
* the option is silently ignored (reconnect has no URL to reconnect to), but
|
|
107
|
+
* the intent is misleading and suggests lifecycle management will be handled
|
|
108
|
+
* when it is not.
|
|
109
|
+
*
|
|
110
|
+
* NEVER send messages before `isConnected()` returns `true`. In client mode
|
|
111
|
+
* the socket is in CONNECTING state immediately after construction; `send()`
|
|
112
|
+
* will throw until the open event fires.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```ts
|
|
116
|
+
* // Client mode — connect to a running WebSocket LSP server
|
|
117
|
+
* import { LSPClient } from '@lspeasy/server';
|
|
118
|
+
* import { WebSocketTransport } from '@lspeasy/core';
|
|
119
|
+
*
|
|
120
|
+
* const transport = new WebSocketTransport({ url: 'ws://localhost:2087' });
|
|
121
|
+
* const client = new LSPClient();
|
|
122
|
+
* await client.connect(transport);
|
|
123
|
+
* ```
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```ts
|
|
127
|
+
* // Server mode — wrap an accepted WebSocket (e.g. inside a ws upgrade handler)
|
|
128
|
+
* import { LSPServer } from '@lspeasy/server';
|
|
129
|
+
* import { WebSocketTransport } from '@lspeasy/core';
|
|
130
|
+
* import { WebSocketServer } from 'ws';
|
|
131
|
+
*
|
|
132
|
+
* const wss = new WebSocketServer({ port: 2087 });
|
|
133
|
+
* wss.on('connection', (socket) => {
|
|
134
|
+
* const transport = new WebSocketTransport({ socket });
|
|
135
|
+
* const server = new LSPServer();
|
|
136
|
+
* void server.listen(transport);
|
|
137
|
+
* });
|
|
138
|
+
* ```
|
|
61
139
|
*
|
|
62
|
-
*
|
|
63
|
-
* - Client mode: Connects to a WebSocket server URL
|
|
64
|
-
* - Server mode: Wraps an existing WebSocket connection
|
|
140
|
+
* @category Transport
|
|
65
141
|
*/
|
|
66
142
|
export class WebSocketTransport {
|
|
67
143
|
socket;
|
|
@@ -244,7 +320,10 @@ export class WebSocketTransport {
|
|
|
244
320
|
});
|
|
245
321
|
}
|
|
246
322
|
/**
|
|
247
|
-
* Register a handler for incoming messages
|
|
323
|
+
* Register a handler for incoming messages.
|
|
324
|
+
*
|
|
325
|
+
* @param handler - Callback invoked with each parsed {@link Message} received over the socket.
|
|
326
|
+
* @returns A {@link Disposable} — call `dispose()` to unregister the handler.
|
|
248
327
|
*/
|
|
249
328
|
onMessage(handler) {
|
|
250
329
|
this.messageHandlers.add(handler);
|
|
@@ -255,7 +334,10 @@ export class WebSocketTransport {
|
|
|
255
334
|
};
|
|
256
335
|
}
|
|
257
336
|
/**
|
|
258
|
-
* Register a handler for transport errors
|
|
337
|
+
* Register a handler for transport errors.
|
|
338
|
+
*
|
|
339
|
+
* @param handler - Callback invoked whenever a WebSocket error occurs.
|
|
340
|
+
* @returns A {@link Disposable} — call `dispose()` to unregister the handler.
|
|
259
341
|
*/
|
|
260
342
|
onError(handler) {
|
|
261
343
|
this.errorHandlers.add(handler);
|
|
@@ -266,7 +348,10 @@ export class WebSocketTransport {
|
|
|
266
348
|
};
|
|
267
349
|
}
|
|
268
350
|
/**
|
|
269
|
-
* Register a handler for transport closure
|
|
351
|
+
* Register a handler for transport closure.
|
|
352
|
+
*
|
|
353
|
+
* @param handler - Callback invoked when the WebSocket closes (clean or error).
|
|
354
|
+
* @returns A {@link Disposable} — call `dispose()` to unregister the handler.
|
|
270
355
|
*/
|
|
271
356
|
onClose(handler) {
|
|
272
357
|
this.closeHandlers.add(handler);
|
|
@@ -309,7 +394,9 @@ export class WebSocketTransport {
|
|
|
309
394
|
return this.connected && this.socket.readyState === READY_STATE_OPEN;
|
|
310
395
|
}
|
|
311
396
|
/**
|
|
312
|
-
* Get the current reconnection attempt count
|
|
397
|
+
* Get the current reconnection attempt count.
|
|
398
|
+
*
|
|
399
|
+
* @returns The number of reconnection attempts made since the last successful connection.
|
|
313
400
|
*/
|
|
314
401
|
getReconnectAttempts() {
|
|
315
402
|
return this.reconnectAttempts;
|