@lspeasy/core 1.0.1 → 1.1.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.
Files changed (61) hide show
  1. package/README.md +33 -9
  2. package/dist/index.d.ts +10 -4
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +5 -3
  5. package/dist/index.js.map +1 -1
  6. package/dist/node.d.ts +17 -0
  7. package/dist/node.d.ts.map +1 -0
  8. package/dist/node.js +16 -0
  9. package/dist/node.js.map +1 -0
  10. package/dist/protocol/capabilities.d.ts +3 -0
  11. package/dist/protocol/capabilities.d.ts.map +1 -1
  12. package/dist/protocol/capabilities.js +3 -0
  13. package/dist/protocol/capabilities.js.map +1 -1
  14. package/dist/protocol/dynamic-registration.d.ts +50 -0
  15. package/dist/protocol/dynamic-registration.d.ts.map +1 -0
  16. package/dist/protocol/dynamic-registration.js +25 -0
  17. package/dist/protocol/dynamic-registration.js.map +1 -0
  18. package/dist/protocol/partial-results.d.ts +15 -0
  19. package/dist/protocol/partial-results.d.ts.map +1 -0
  20. package/dist/protocol/partial-results.js +2 -0
  21. package/dist/protocol/partial-results.js.map +1 -0
  22. package/dist/transport/dedicated-worker.d.ts +27 -0
  23. package/dist/transport/dedicated-worker.d.ts.map +1 -0
  24. package/dist/transport/dedicated-worker.js +81 -0
  25. package/dist/transport/dedicated-worker.js.map +1 -0
  26. package/dist/transport/events.d.ts +9 -2
  27. package/dist/transport/events.d.ts.map +1 -1
  28. package/dist/transport/events.js +2 -2
  29. package/dist/transport/events.js.map +1 -1
  30. package/dist/transport/ipc.d.ts +49 -0
  31. package/dist/transport/ipc.d.ts.map +1 -0
  32. package/dist/transport/ipc.js +92 -0
  33. package/dist/transport/ipc.js.map +1 -0
  34. package/dist/transport/shared-worker.d.ts +28 -0
  35. package/dist/transport/shared-worker.d.ts.map +1 -0
  36. package/dist/transport/shared-worker.js +114 -0
  37. package/dist/transport/shared-worker.js.map +1 -0
  38. package/dist/transport/tcp.d.ts +46 -0
  39. package/dist/transport/tcp.d.ts.map +1 -0
  40. package/dist/transport/tcp.js +185 -0
  41. package/dist/transport/tcp.js.map +1 -0
  42. package/dist/transport/worker-types.d.ts +40 -0
  43. package/dist/transport/worker-types.d.ts.map +1 -0
  44. package/dist/transport/worker-types.js +17 -0
  45. package/dist/transport/worker-types.js.map +1 -0
  46. package/dist/utils/cancellation.d.ts.map +1 -1
  47. package/dist/utils/cancellation.js +5 -9
  48. package/dist/utils/cancellation.js.map +1 -1
  49. package/dist/utils/disposable-event-emitter.d.ts +4 -0
  50. package/dist/utils/disposable-event-emitter.d.ts.map +1 -1
  51. package/dist/utils/disposable-event-emitter.js +27 -0
  52. package/dist/utils/disposable-event-emitter.js.map +1 -1
  53. package/dist/utils/document.d.ts +27 -0
  54. package/dist/utils/document.d.ts.map +1 -1
  55. package/dist/utils/document.js +21 -0
  56. package/dist/utils/document.js.map +1 -1
  57. package/dist/utils/pending-request-tracker.d.ts.map +1 -1
  58. package/dist/utils/pending-request-tracker.js +1 -2
  59. package/dist/utils/pending-request-tracker.js.map +1 -1
  60. package/package.json +12 -8
  61. package/LICENSE +0 -21
package/README.md CHANGED
@@ -6,18 +6,42 @@ Core transport layer and utilities for the lspeasy Language Server Protocol SDK.
6
6
 
7
7
  `@lspeasy/core` provides the foundational building blocks for LSP communication:
8
8
 
9
- - **Transport Interface**: Abstract transport layer for message exchange
10
- - **StdioTransport**: Standard input/output transport implementation
11
- - **WebSocketTransport**: WebSocket transport with automatic reconnection
12
- - **Middleware Pipeline**: Composable JSON-RPC interception with method scoping and typing
13
- - **JSON-RPC 2.0**: Message framing, parsing, and serialization
14
- - **Type-Safe Enums**: Enums for all LSP kind types with extensibility support
15
- - **Cancellation**: Token-based cancellation support
16
- - **Utilities**: Event emitters, disposables, logging, and document sync helpers
17
9
 
18
10
  ## Middleware API
11
+ - `TcpTransport`: Node.js TCP sockets for client/server mode with optional reconnect backoff
12
+ - `IpcTransport`: Node.js parent/child IPC transport for process-channel communication
13
+ - `DedicatedWorkerTransport`: Browser dedicated worker postMessage bridge
14
+ - `SharedWorkerTransport`: Browser shared worker transport with clientId envelope routing
19
15
 
20
- Middleware is exported from `@lspeasy/core/middleware`.
16
+ ### TCP Transport
17
+
18
+ ```typescript
19
+ import { TcpTransport } from '@lspeasy/core';
20
+
21
+ const transport = new TcpTransport({
22
+ mode: 'client',
23
+ host: '127.0.0.1',
24
+ port: 2087,
25
+ reconnect: {
26
+ enabled: true,
27
+ initialDelayMs: 250,
28
+ maxDelayMs: 5000,
29
+ multiplier: 2,
30
+ maxAttempts: 5
31
+ }
32
+ });
33
+ ```
34
+
35
+ ### IPC Transport (Node.js)
36
+
37
+ ```typescript
38
+ import { IpcTransport } from '@lspeasy/core';
39
+
40
+ const transport = new IpcTransport({ role: 'parent', process: childProcess });
41
+ ```
42
+
43
+ - Use IPC only in Node.js environments.
44
+ - No new external runtime dependency is required; it relies on Node built-ins.
21
45
 
22
46
  ```typescript
23
47
  import {
package/dist/index.d.ts CHANGED
@@ -5,12 +5,12 @@ export type { BaseMessage, RequestMessage, NotificationMessage, SuccessResponseM
5
5
  export type { ResponseError as ResponseErrorInterface } from './jsonrpc/messages.js';
6
6
  export { isRequestMessage, isNotificationMessage, isResponseMessage, isSuccessResponse, isErrorResponse } from './jsonrpc/messages.js';
7
7
  export { parseMessage, serializeMessage } from './jsonrpc/framing.js';
8
- export { MessageReader } from './jsonrpc/reader.js';
9
- export { MessageWriter } from './jsonrpc/writer.js';
10
8
  export { requestMessageSchema, notificationMessageSchema, responseErrorSchema, successResponseMessageSchema, errorResponseMessageSchema, responseMessageSchema, messageSchema } from './jsonrpc/schemas.js';
11
9
  export type { Transport } from './transport/transport.js';
12
- export { StdioTransport } from './transport/stdio.js';
13
- export type { StdioTransportOptions } from './transport/stdio.js';
10
+ export { DedicatedWorkerTransport } from './transport/dedicated-worker.js';
11
+ export type { DedicatedWorkerTransportOptions } from './transport/dedicated-worker.js';
12
+ export { SharedWorkerTransport } from './transport/shared-worker.js';
13
+ export type { SharedWorkerTransportOptions } from './transport/shared-worker.js';
14
14
  export { WebSocketTransport } from './transport/websocket.js';
15
15
  export type { WebSocketTransportOptions } from './transport/websocket.js';
16
16
  export { createWebSocketClient } from './transport/websocket.js';
@@ -19,6 +19,7 @@ export type { Middleware, MiddlewareContext, MiddlewareDirection, MiddlewareMess
19
19
  export { composeMiddleware, executeMiddlewarePipeline, createScopedMiddleware, createTypedMiddleware } from './middleware/index.js';
20
20
  export type { Disposable } from './utils/disposable.js';
21
21
  export { DisposableStore } from './utils/disposable.js';
22
+ export { DisposableEventEmitter } from './utils/disposable-event-emitter.js';
22
23
  export type { CancellationToken } from './utils/cancellation.js';
23
24
  export { CancellationTokenSource, CancellationToken as CancellationTokenNone } from './utils/cancellation.js';
24
25
  export type { Logger } from './utils/logger.js';
@@ -40,5 +41,10 @@ export type { ProgressToken, WorkDoneProgressBegin, WorkDoneProgressReport, Work
40
41
  export { createProgressBegin, createProgressReport, createProgressEnd, createProgressCreateParams, createProgressToken } from './protocol/progress.js';
41
42
  export type { PartialResultParams } from './protocol/partial.js';
42
43
  export { createPartialResultParams, hasPartialResultToken, getPartialResultToken } from './protocol/partial.js';
44
+ export type { DynamicRegistration, DynamicRegistrationBehavior, RegisterCapabilityParams, UnregisterCapability, UnregisterCapabilityParams } from './protocol/dynamic-registration.js';
45
+ export { dynamicRegistrationSchema, registerCapabilityParamsSchema, unregisterCapabilitySchema, unregisterCapabilityParamsSchema, isRegisterCapabilityParams, isUnregisterCapabilityParams } from './protocol/dynamic-registration.js';
46
+ export type { CancelledPartialResult, CompletedPartialResult, PartialRequestOutcome } from './protocol/partial-results.js';
47
+ export type { WorkerLike, MessagePortLike, SharedWorkerLike, WorkerMessageEventLike, WorkerTransportEnvelope } from './transport/worker-types.js';
48
+ export { isMessage, isWorkerTransportEnvelope } from './transport/worker-types.js';
43
49
  export * from './protocol/capabilities.js';
44
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,15 +3,15 @@
3
3
  */
4
4
  export { isRequestMessage, isNotificationMessage, isResponseMessage, isSuccessResponse, isErrorResponse } from './jsonrpc/messages.js';
5
5
  export { parseMessage, serializeMessage } from './jsonrpc/framing.js';
6
- export { MessageReader } from './jsonrpc/reader.js';
7
- export { MessageWriter } from './jsonrpc/writer.js';
8
6
  export { requestMessageSchema, notificationMessageSchema, responseErrorSchema, successResponseMessageSchema, errorResponseMessageSchema, responseMessageSchema, messageSchema } from './jsonrpc/schemas.js';
9
- export { StdioTransport } from './transport/stdio.js';
7
+ export { DedicatedWorkerTransport } from './transport/dedicated-worker.js';
8
+ export { SharedWorkerTransport } from './transport/shared-worker.js';
10
9
  export { WebSocketTransport } from './transport/websocket.js';
11
10
  export { createWebSocketClient } from './transport/websocket.js';
12
11
  export { TransportEventEmitter } from './transport/events.js';
13
12
  export { composeMiddleware, executeMiddlewarePipeline, createScopedMiddleware, createTypedMiddleware } from './middleware/index.js';
14
13
  export { DisposableStore } from './utils/disposable.js';
14
+ export { DisposableEventEmitter } from './utils/disposable-event-emitter.js';
15
15
  export { CancellationTokenSource, CancellationToken as CancellationTokenNone } from './utils/cancellation.js';
16
16
  export { LogLevel, ConsoleLogger, NullLogger } from './utils/logger.js';
17
17
  export { JSONRPCErrorCode, ErrorMessage, ResponseError } from './utils/errors.js';
@@ -28,5 +28,7 @@ export { createWorkspaceFolder, createWorkspaceFoldersChangeEvent, FileChangeTyp
28
28
  export { WatchKinds, createFileEvent, createFileSystemWatcher, createDidChangeWatchedFilesParams } from './protocol/watching.js';
29
29
  export { createProgressBegin, createProgressReport, createProgressEnd, createProgressCreateParams, createProgressToken } from './protocol/progress.js';
30
30
  export { createPartialResultParams, hasPartialResultToken, getPartialResultToken } from './protocol/partial.js';
31
+ export { dynamicRegistrationSchema, registerCapabilityParamsSchema, unregisterCapabilitySchema, unregisterCapabilityParamsSchema, isRegisterCapabilityParams, isUnregisterCapabilityParams } from './protocol/dynamic-registration.js';
32
+ export { isMessage, isWorkerTransportEnvelope } from './transport/worker-types.js';
31
33
  export * from './protocol/capabilities.js';
32
34
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,EACrB,aAAa,EACd,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAmB9D,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,IAAI,qBAAqB,EAC3C,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,qBAAqB,CAAC;AAM7B,gFAAgF;AAChF,+EAA+E;AAC/E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACvE,cAAc,qBAAqB,CAAC;AAEpC,+EAA+E;AAC/E,cAAc,kCAAkC,CAAC;AAGjD,uBAAuB;AACvB,OAAO,EACL,cAAc,EACd,WAAW,EACX,4BAA4B,EAC5B,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,+BAA+B,EAC/B,iCAAiC,EACjC,gCAAgC,EAChC,+BAA+B,EAC/B,UAAU,EACV,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAW/B,OAAO,EACL,qBAAqB,EACrB,iCAAiC,EACjC,eAAe,IAAI,wBAAwB,EAC5C,MAAM,yBAAyB,CAAC;AASjC,OAAO,EACL,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,iCAAiC,EAClC,MAAM,wBAAwB,CAAC;AAYhC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,EACrB,aAAa,EACd,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAmB9D,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAG7E,OAAO,EACL,uBAAuB,EACvB,iBAAiB,IAAI,qBAAqB,EAC3C,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,qBAAqB,CAAC;AAM7B,gFAAgF;AAChF,+EAA+E;AAC/E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACvE,cAAc,qBAAqB,CAAC;AAEpC,+EAA+E;AAC/E,cAAc,kCAAkC,CAAC;AAGjD,uBAAuB;AACvB,OAAO,EACL,cAAc,EACd,WAAW,EACX,4BAA4B,EAC5B,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,+BAA+B,EAC/B,iCAAiC,EACjC,gCAAgC,EAChC,+BAA+B,EAC/B,UAAU,EACV,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAW/B,OAAO,EACL,qBAAqB,EACrB,iCAAiC,EACjC,eAAe,IAAI,wBAAwB,EAC5C,MAAM,yBAAyB,CAAC;AASjC,OAAO,EACL,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,iCAAiC,EAClC,MAAM,wBAAwB,CAAC;AAYhC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC1B,gCAAgC,EAChC,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,oCAAoC,CAAC;AAc5C,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAEnF,cAAc,4BAA4B,CAAC"}
package/dist/node.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @lspeasy/core/node - Node.js-specific transports and utilities
3
+ *
4
+ * This module exports components that depend on Node.js built-in modules.
5
+ * These are compatible with Node.js, Bun, and Deno but not browsers.
6
+ *
7
+ * For browser-compatible transports, use the main '@lspeasy/core' export.
8
+ */
9
+ export { MessageReader } from './jsonrpc/reader.js';
10
+ export { MessageWriter } from './jsonrpc/writer.js';
11
+ export { StdioTransport } from './transport/stdio.js';
12
+ export type { StdioTransportOptions } from './transport/stdio.js';
13
+ export { TcpTransport } from './transport/tcp.js';
14
+ export type { TcpTransportOptions, TcpReconnectOptions } from './transport/tcp.js';
15
+ export { IpcTransport } from './transport/ipc.js';
16
+ export type { IpcTransportOptions, IpcParentProcessLike, IpcChildProcessLike } from './transport/ipc.js';
17
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC"}
package/dist/node.js ADDED
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @lspeasy/core/node - Node.js-specific transports and utilities
3
+ *
4
+ * This module exports components that depend on Node.js built-in modules.
5
+ * These are compatible with Node.js, Bun, and Deno but not browsers.
6
+ *
7
+ * For browser-compatible transports, use the main '@lspeasy/core' export.
8
+ */
9
+ // JSON-RPC message reader/writer for Node.js streams
10
+ export { MessageReader } from './jsonrpc/reader.js';
11
+ export { MessageWriter } from './jsonrpc/writer.js';
12
+ // Node.js-specific transports
13
+ export { StdioTransport } from './transport/stdio.js';
14
+ export { TcpTransport } from './transport/tcp.js';
15
+ export { IpcTransport } from './transport/ipc.js';
16
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,qDAAqD;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,8BAA8B;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -72,6 +72,9 @@ export declare function supportsWorkspaceFolders(capabilities: ServerCapabilitie
72
72
  };
73
73
  };
74
74
  };
75
+ export declare function supportsNotebookDocumentSync(capabilities: ServerCapabilities): capabilities is ServerCapabilities & {
76
+ notebookDocumentSync: NonNullable<ServerCapabilities['notebookDocumentSync']>;
77
+ };
75
78
  /**
76
79
  * Helper to check if file watching is supported
77
80
  */
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/protocol/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/protocol/capabilities.ts"],"names":[],"mappings":"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"}
@@ -128,6 +128,9 @@ export function supportsDocumentSymbol(capabilities) {
128
128
  export function supportsWorkspaceFolders(capabilities) {
129
129
  return capabilities.workspace?.workspaceFolders?.supported === true;
130
130
  }
131
+ export function supportsNotebookDocumentSync(capabilities) {
132
+ return (capabilities.notebookDocumentSync !== null && capabilities.notebookDocumentSync !== undefined);
133
+ }
131
134
  /**
132
135
  * Helper to check if file watching is supported
133
136
  */
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/protocol/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/protocol/capabilities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,wCAAwC,EACxC,mCAAmC,EACnC,kCAAkC,EAClC,6BAA6B,EAO9B,MAAM,YAAY,CAAC;AAKpB;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;;;;GAKG;AAEH,SAAS,WAAW,CAAiC,GAAM,EAAE,GAAM,EAAO;IACxE,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;IAC9C,IAAI,MAAM,GAAQ,GAAG,CAAC;IACtB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC;AAAA,CACf;AACD;;;GAGG;AAEH;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAS,EACT,YAAgC,EAE4B;IAC5D,MAAM,aAAa,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACvD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC;AAAA,CACjE;AAED,MAAM,UAAU,0BAA0B,CAIxC,MAAS,EACT,YAAe,EACuE;IACtF,MAAM,aAAa,GAAG,kCAAkC,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,EAAE,aAAoB,CAAC,CAAC;IAC9D,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC;AAAA,CACjE;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAInC,MAAS,EACT,YAAe,EACkE;IACjF,MAAM,aAAa,GAAG,mCAAmC,CAAC,MAAM,CAAC,CAAC;IAClE,IAAI,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,EAAE,aAAoB,CAAC,CAAC;IAC9D,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC;AAAA,CACjE;AAED,MAAM,UAAU,0BAA0B,CAIxC,MAAS,EACT,YAAe,EACuE;IACtF,MAAM,aAAa,GAAG,wCAAwC,CAAC,MAAM,CAAC,CAAC;IACvE,IAAI,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,EAAE,aAAoB,CAAC,CAAC;IAC9D,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC;AAAA,CACjE;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAGjC,YAAe,EAAE,UAAa,EAAuD;IACrF,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,EAAE,UAAiB,CAAC,CAAC;IAC3D,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC;AAAA,CACjE;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAGjC,YAAe,EAAE,UAAa,EAAuD;IACrF,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,EAAE,UAAiB,CAAC,CAAC;IAC3D,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC;AAAA,CACjE;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,YAAgC,EAGhC;IACA,OAAO,qBAAqB,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;AAAA,CAClE;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAgC,EAGhC;IACA,OAAO,qBAAqB,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;AAAA,CACvE;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAgC,EAGhC;IACA,OAAO,qBAAqB,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;AAAA,CACvE;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAgC,EAGhC;IACA,OAAO,qBAAqB,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;AAAA,CACvE;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,YAAgC,EAGhC;IACA,OAAO,qBAAqB,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC;AAAA,CAC3E;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAAgC,EAC+D;IAC/F,OAAO,YAAY,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,KAAK,IAAI,CAAC;AAAA,CACrE;AAED,MAAM,UAAU,4BAA4B,CAC1C,YAAgC,EAGhC;IACA,OAAO,CACL,YAAY,CAAC,oBAAoB,KAAK,IAAI,IAAI,YAAY,CAAC,oBAAoB,KAAK,SAAS,CAC9F,CAAC;AAAA,CACH;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAAgC,EAGhC;IACA,OAAO,YAAY,CAAC,SAAS,EAAE,qBAAqB,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAAA,CACpF;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAAgC,EAC6C;IAC7E,OAAO,YAAY,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAAA,CACvD"}
@@ -0,0 +1,50 @@
1
+ import { z } from 'zod';
2
+ export interface DynamicRegistration {
3
+ id: string;
4
+ method: string;
5
+ registerOptions?: unknown;
6
+ }
7
+ /** Controls compatibility behavior for dynamic registrations not declared by client capabilities. */
8
+ export interface DynamicRegistrationBehavior {
9
+ allowUndeclaredDynamicRegistration?: boolean;
10
+ }
11
+ /** Params payload for `client/registerCapability`. */
12
+ export interface RegisterCapabilityParams {
13
+ registrations: DynamicRegistration[];
14
+ }
15
+ /** Entry used by `client/unregisterCapability`. */
16
+ export interface UnregisterCapability {
17
+ id: string;
18
+ method: string;
19
+ }
20
+ /** Params payload for `client/unregisterCapability`. */
21
+ export interface UnregisterCapabilityParams {
22
+ unregisterations: UnregisterCapability[];
23
+ }
24
+ export declare const dynamicRegistrationSchema: z.ZodObject<{
25
+ id: z.ZodString;
26
+ method: z.ZodString;
27
+ registerOptions: z.ZodOptional<z.ZodUnknown>;
28
+ }, z.core.$strip>;
29
+ export declare const registerCapabilityParamsSchema: z.ZodObject<{
30
+ registrations: z.ZodArray<z.ZodObject<{
31
+ id: z.ZodString;
32
+ method: z.ZodString;
33
+ registerOptions: z.ZodOptional<z.ZodUnknown>;
34
+ }, z.core.$strip>>;
35
+ }, z.core.$strip>;
36
+ export declare const unregisterCapabilitySchema: z.ZodObject<{
37
+ id: z.ZodString;
38
+ method: z.ZodString;
39
+ }, z.core.$strip>;
40
+ export declare const unregisterCapabilityParamsSchema: z.ZodObject<{
41
+ unregisterations: z.ZodArray<z.ZodObject<{
42
+ id: z.ZodString;
43
+ method: z.ZodString;
44
+ }, z.core.$strip>>;
45
+ }, z.core.$strip>;
46
+ /** Runtime guard for register-capability params. */
47
+ export declare function isRegisterCapabilityParams(value: unknown): value is RegisterCapabilityParams;
48
+ /** Runtime guard for unregister-capability params. */
49
+ export declare function isUnregisterCapabilityParams(value: unknown): value is UnregisterCapabilityParams;
50
+ //# sourceMappingURL=dynamic-registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-registration.d.ts","sourceRoot":"","sources":["../../src/protocol/dynamic-registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qGAAqG;AACrG,MAAM,WAAW,2BAA2B;IAC1C,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,mBAAmB,EAAE,CAAC;CACtC;AAED,mDAAmD;AACnD,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wDAAwD;AACxD,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;CAC1C;AAED,eAAO,MAAM,yBAAyB;;;;iBAIpC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;iBAEzC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;iBAGrC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;iBAE3C,CAAC;AAEH,oDAAoD;AACpD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,wBAAwB,CAE5F;AAED,sDAAsD;AACtD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,0BAA0B,CAEhG"}
@@ -0,0 +1,25 @@
1
+ import { z } from 'zod';
2
+ export const dynamicRegistrationSchema = z.object({
3
+ id: z.string().min(1),
4
+ method: z.string().min(1),
5
+ registerOptions: z.unknown().optional()
6
+ });
7
+ export const registerCapabilityParamsSchema = z.object({
8
+ registrations: z.array(dynamicRegistrationSchema)
9
+ });
10
+ export const unregisterCapabilitySchema = z.object({
11
+ id: z.string().min(1),
12
+ method: z.string().min(1)
13
+ });
14
+ export const unregisterCapabilityParamsSchema = z.object({
15
+ unregisterations: z.array(unregisterCapabilitySchema)
16
+ });
17
+ /** Runtime guard for register-capability params. */
18
+ export function isRegisterCapabilityParams(value) {
19
+ return registerCapabilityParamsSchema.safeParse(value).success;
20
+ }
21
+ /** Runtime guard for unregister-capability params. */
22
+ export function isUnregisterCapabilityParams(value) {
23
+ return unregisterCapabilityParamsSchema.safeParse(value).success;
24
+ }
25
+ //# sourceMappingURL=dynamic-registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-registration.js","sourceRoot":"","sources":["../../src/protocol/dynamic-registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6BxB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;CAClD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;CACtD,CAAC,CAAC;AAEH,oDAAoD;AACpD,MAAM,UAAU,0BAA0B,CAAC,KAAc,EAAqC;IAC5F,OAAO,8BAA8B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAAA,CAChE;AAED,sDAAsD;AACtD,MAAM,UAAU,4BAA4B,CAAC,KAAc,EAAuC;IAChG,OAAO,gCAAgC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAAA,CAClE"}
@@ -0,0 +1,15 @@
1
+ /** Structured response when a partial-enabled request is cancelled. */
2
+ export interface CancelledPartialResult<TPartial = unknown> {
3
+ cancelled: true;
4
+ partialResults: TPartial[];
5
+ finalResult?: undefined;
6
+ }
7
+ /** Structured response when a partial-enabled request completes successfully. */
8
+ export interface CompletedPartialResult<TPartial = unknown, TResult = unknown> {
9
+ cancelled: false;
10
+ partialResults: TPartial[];
11
+ finalResult: TResult;
12
+ }
13
+ /** Union return type for partial-enabled client requests. */
14
+ export type PartialRequestOutcome<TPartial = unknown, TResult = unknown> = CancelledPartialResult<TPartial> | CompletedPartialResult<TPartial, TResult>;
15
+ //# sourceMappingURL=partial-results.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partial-results.d.ts","sourceRoot":"","sources":["../../src/protocol/partial-results.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,MAAM,WAAW,sBAAsB,CAAC,QAAQ,GAAG,OAAO;IACxD,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,iFAAiF;AACjF,MAAM,WAAW,sBAAsB,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IAC3E,SAAS,EAAE,KAAK,CAAC;IACjB,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,6DAA6D;AAC7D,MAAM,MAAM,qBAAqB,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,IACnE,sBAAsB,CAAC,QAAQ,CAAC,GAChC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=partial-results.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partial-results.js","sourceRoot":"","sources":["../../src/protocol/partial-results.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import type { Message } from '../jsonrpc/messages.js';
2
+ import type { Disposable } from '../utils/disposable.js';
3
+ import type { Transport } from './transport.js';
4
+ import type { WorkerLike } from './worker-types.js';
5
+ export interface DedicatedWorkerTransportOptions {
6
+ worker: WorkerLike;
7
+ terminateOnClose?: boolean;
8
+ }
9
+ /** JSON-RPC transport backed by a Dedicated Worker instance. */
10
+ export declare class DedicatedWorkerTransport implements Transport {
11
+ private readonly worker;
12
+ private readonly terminateOnClose;
13
+ private readonly messageHandlers;
14
+ private readonly errorHandlers;
15
+ private readonly closeHandlers;
16
+ private connected;
17
+ private readonly onWorkerMessage;
18
+ private readonly onWorkerError;
19
+ constructor(options: DedicatedWorkerTransportOptions);
20
+ send(message: Message): Promise<void>;
21
+ onMessage(handler: (message: Message) => void): Disposable;
22
+ onError(handler: (error: Error) => void): Disposable;
23
+ onClose(handler: () => void): Disposable;
24
+ close(): Promise<void>;
25
+ isConnected(): boolean;
26
+ }
27
+ //# sourceMappingURL=dedicated-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedicated-worker.d.ts","sourceRoot":"","sources":["../../src/transport/dedicated-worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAA0B,MAAM,mBAAmB,CAAC;AAG5E,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,UAAU,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,gEAAgE;AAChE,qBAAa,wBAAyB,YAAW,SAAS;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyC;IACzE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;IACnE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IACvD,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAQ9B;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAK5B;IAEF,YAAY,OAAO,EAAE,+BAA+B,EAMnD;IAEK,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1C;IAED,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,UAAU,CAOzD;IAED,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,UAAU,CAOnD;IAED,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,UAAU,CAOvC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAoB3B;IAED,WAAW,IAAI,OAAO,CAErB;CACF"}
@@ -0,0 +1,81 @@
1
+ import { isMessage } from './worker-types.js';
2
+ /** JSON-RPC transport backed by a Dedicated Worker instance. */
3
+ export class DedicatedWorkerTransport {
4
+ worker;
5
+ terminateOnClose;
6
+ messageHandlers = new Set();
7
+ errorHandlers = new Set();
8
+ closeHandlers = new Set();
9
+ connected = true;
10
+ onWorkerMessage = (event) => {
11
+ if (!this.connected || !isMessage(event.data)) {
12
+ return;
13
+ }
14
+ for (const handler of this.messageHandlers) {
15
+ handler(event.data);
16
+ }
17
+ };
18
+ onWorkerError = (event) => {
19
+ const error = event instanceof Error ? event : new Error('Worker transport error');
20
+ for (const handler of this.errorHandlers) {
21
+ handler(error);
22
+ }
23
+ };
24
+ constructor(options) {
25
+ this.worker = options.worker;
26
+ this.terminateOnClose = options.terminateOnClose ?? false;
27
+ this.worker.addEventListener('message', this.onWorkerMessage);
28
+ this.worker.addEventListener('error', this.onWorkerError);
29
+ }
30
+ async send(message) {
31
+ if (!this.connected) {
32
+ throw new Error('Transport is not connected');
33
+ }
34
+ this.worker.postMessage(message);
35
+ }
36
+ onMessage(handler) {
37
+ this.messageHandlers.add(handler);
38
+ return {
39
+ dispose: () => {
40
+ this.messageHandlers.delete(handler);
41
+ }
42
+ };
43
+ }
44
+ onError(handler) {
45
+ this.errorHandlers.add(handler);
46
+ return {
47
+ dispose: () => {
48
+ this.errorHandlers.delete(handler);
49
+ }
50
+ };
51
+ }
52
+ onClose(handler) {
53
+ this.closeHandlers.add(handler);
54
+ return {
55
+ dispose: () => {
56
+ this.closeHandlers.delete(handler);
57
+ }
58
+ };
59
+ }
60
+ async close() {
61
+ if (!this.connected) {
62
+ return;
63
+ }
64
+ this.connected = false;
65
+ this.worker.removeEventListener('message', this.onWorkerMessage);
66
+ this.worker.removeEventListener('error', this.onWorkerError);
67
+ if (this.terminateOnClose) {
68
+ this.worker.terminate?.();
69
+ }
70
+ for (const handler of this.closeHandlers) {
71
+ handler();
72
+ }
73
+ this.messageHandlers.clear();
74
+ this.errorHandlers.clear();
75
+ this.closeHandlers.clear();
76
+ }
77
+ isConnected() {
78
+ return this.connected;
79
+ }
80
+ }
81
+ //# sourceMappingURL=dedicated-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedicated-worker.js","sourceRoot":"","sources":["../../src/transport/dedicated-worker.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,18 @@
1
1
  /**
2
2
  * Transport lifecycle events
3
3
  */
4
- import { EventEmitter } from 'node:events';
4
+ import { DisposableEventEmitter } from '../utils/disposable-event-emitter.js';
5
5
  import type { Message } from '../jsonrpc/messages.js';
6
+ type TransportEventMap = {
7
+ connect: [];
8
+ disconnect: [];
9
+ error: [Error];
10
+ message: [Message];
11
+ };
6
12
  /**
7
13
  * Transport event emitter
8
14
  */
9
- export declare class TransportEventEmitter extends EventEmitter {
15
+ export declare class TransportEventEmitter extends DisposableEventEmitter<TransportEventMap> {
10
16
  /**
11
17
  * Emit connect event
12
18
  */
@@ -24,4 +30,5 @@ export declare class TransportEventEmitter extends EventEmitter {
24
30
  */
25
31
  emitMessage(message: Message): void;
26
32
  }
33
+ export {};
27
34
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/transport/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD;;OAEG;IACH,WAAW,IAAI,IAAI,CAElB;IAED;;OAEG;IACH,cAAc,IAAI,IAAI,CAErB;IAED;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAE5B;IAED;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAElC;CACF"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/transport/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,EAAE,CAAC;IACZ,UAAU,EAAE,EAAE,CAAC;IACf,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;IACf,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,sBAAsB,CAAC,iBAAiB,CAAC;IAClF;;OAEG;IACH,WAAW,IAAI,IAAI,CAElB;IAED;;OAEG;IACH,cAAc,IAAI,IAAI,CAErB;IAED;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAE5B;IAED;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAElC;CACF"}
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Transport lifecycle events
3
3
  */
4
- import { EventEmitter } from 'node:events';
4
+ import { DisposableEventEmitter } from '../utils/disposable-event-emitter.js';
5
5
  /**
6
6
  * Transport event emitter
7
7
  */
8
- export class TransportEventEmitter extends EventEmitter {
8
+ export class TransportEventEmitter extends DisposableEventEmitter {
9
9
  /**
10
10
  * Emit connect event
11
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/transport/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IACrD;;OAEG;IACH,WAAW,GAAS;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAAA,CACtB;IAED;;OAEG;IACH,cAAc,GAAS;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAAA,CACzB;IAED;;OAEG;IACH,SAAS,CAAC,KAAY,EAAQ;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAAA,CAC3B;IAED;;OAEG;IACH,WAAW,CAAC,OAAgB,EAAQ;QAClC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAAA,CAC/B;CACF"}
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,GAAS;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAAA,CACtB;IAED;;OAEG;IACH,cAAc,GAAS;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAAA,CACzB;IAED;;OAEG;IACH,SAAS,CAAC,KAAY,EAAQ;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAAA,CAC3B;IAED;;OAEG;IACH,WAAW,CAAC,OAAgB,EAAQ;QAClC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAAA,CAC/B;CACF"}
@@ -0,0 +1,49 @@
1
+ import type { ChildProcess } from 'node:child_process';
2
+ import type { Message } from '../jsonrpc/messages.js';
3
+ import type { Disposable } from '../utils/disposable.js';
4
+ import type { Transport } from './transport.js';
5
+ export interface IpcParentProcessLike {
6
+ send(message: unknown): boolean;
7
+ on(event: 'message', listener: (message: unknown) => void): this;
8
+ on(event: 'exit', listener: () => void): this;
9
+ on(event: 'error', listener: (error: Error) => void): this;
10
+ off(event: 'message', listener: (message: unknown) => void): this;
11
+ off(event: 'exit', listener: () => void): this;
12
+ off(event: 'error', listener: (error: Error) => void): this;
13
+ disconnect?(): void;
14
+ }
15
+ export interface IpcChildProcessLike {
16
+ send?(message: unknown): boolean;
17
+ on(event: 'message', listener: (message: unknown) => void): this;
18
+ on(event: 'disconnect', listener: () => void): this;
19
+ on(event: 'error', listener: (error: Error) => void): this;
20
+ off(event: 'message', listener: (message: unknown) => void): this;
21
+ off(event: 'disconnect', listener: () => void): this;
22
+ off(event: 'error', listener: (error: Error) => void): this;
23
+ disconnect?(): void;
24
+ connected?: boolean;
25
+ }
26
+ /** Options for creating an IPC transport bound to parent or child process role. */
27
+ export interface IpcTransportOptions {
28
+ role: 'parent' | 'child';
29
+ process?: ChildProcess | IpcParentProcessLike | IpcChildProcessLike;
30
+ }
31
+ /** JSON-RPC transport over Node.js process IPC channels. */
32
+ export declare class IpcTransport implements Transport {
33
+ private readonly endpoint;
34
+ private connected;
35
+ private readonly messageHandlers;
36
+ private readonly errorHandlers;
37
+ private readonly closeHandlers;
38
+ private readonly onEndpointMessage;
39
+ private readonly onEndpointError;
40
+ private readonly onEndpointClose;
41
+ constructor(options: IpcTransportOptions);
42
+ send(message: Message): Promise<void>;
43
+ onMessage(handler: (message: Message) => void): Disposable;
44
+ onError(handler: (error: Error) => void): Disposable;
45
+ onClose(handler: () => void): Disposable;
46
+ close(): Promise<void>;
47
+ isConnected(): boolean;
48
+ }
49
+ //# sourceMappingURL=ipc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipc.d.ts","sourceRoot":"","sources":["../../src/transport/ipc.ts"],"names":[],"mappings":"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"}