@lspeasy/client 1.0.1 → 2.0.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/README.md +46 -0
- package/dist/capability-proxy.d.ts.map +1 -1
- package/dist/capability-proxy.js +9 -2
- package/dist/capability-proxy.js.map +1 -1
- package/dist/client.d.ts +21 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +199 -6
- package/dist/client.js.map +1 -1
- package/dist/connection/health.d.ts +31 -2
- package/dist/connection/health.d.ts.map +1 -1
- package/dist/connection/health.js +35 -12
- package/dist/connection/health.js.map +1 -1
- package/dist/connection/heartbeat.d.ts +18 -0
- package/dist/connection/heartbeat.d.ts.map +1 -1
- package/dist/connection/heartbeat.js +15 -0
- package/dist/connection/heartbeat.js.map +1 -1
- package/dist/connection/partial-result-collector.d.ts +11 -0
- package/dist/connection/partial-result-collector.d.ts.map +1 -0
- package/dist/connection/partial-result-collector.js +34 -0
- package/dist/connection/partial-result-collector.js.map +1 -0
- package/dist/connection/registration-store.d.ts +11 -0
- package/dist/connection/registration-store.d.ts.map +1 -0
- package/dist/connection/registration-store.js +22 -0
- package/dist/connection/registration-store.js.map +1 -0
- package/dist/connection/types.d.ts +15 -0
- package/dist/connection/types.d.ts.map +1 -1
- package/dist/connection/types.js +3 -0
- package/dist/connection/types.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/notifications/wait.d.ts +21 -0
- package/dist/notifications/wait.d.ts.map +1 -1
- package/dist/notifications/wait.js +18 -0
- package/dist/notifications/wait.js.map +1 -1
- package/dist/types.d.ts +22 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +11 -11
- package/LICENSE +0 -21
package/README.md
CHANGED
|
@@ -255,6 +255,52 @@ try {
|
|
|
255
255
|
|
|
256
256
|
## Event Subscriptions
|
|
257
257
|
|
|
258
|
+
## Dynamic Capability Registration
|
|
259
|
+
|
|
260
|
+
```typescript
|
|
261
|
+
const client = new LSPClient({
|
|
262
|
+
capabilities: {
|
|
263
|
+
workspace: {
|
|
264
|
+
didChangeWatchedFiles: { dynamicRegistration: true }
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
dynamicRegistration: {
|
|
268
|
+
allowUndeclaredDynamicRegistration: false
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
const runtime = client.getRuntimeCapabilities();
|
|
273
|
+
console.log(runtime.dynamicRegistrations);
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
- `client/registerCapability` and `client/unregisterCapability` are handled automatically.
|
|
277
|
+
- Unknown unregister ids return JSON-RPC `-32602`.
|
|
278
|
+
- Set `allowUndeclaredDynamicRegistration: true` for compatibility-mode acceptance.
|
|
279
|
+
|
|
280
|
+
## Partial Result Streaming
|
|
281
|
+
|
|
282
|
+
```typescript
|
|
283
|
+
const result = await client.sendRequestWithPartialResults('workspace/symbol', { query: 'My' }, {
|
|
284
|
+
token: 'symbols-1',
|
|
285
|
+
onPartial: (batch) => console.log('partial batch', batch)
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
if (result.cancelled) {
|
|
289
|
+
console.log(result.partialResults);
|
|
290
|
+
} else {
|
|
291
|
+
console.log(result.finalResult);
|
|
292
|
+
}
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## Notebook Namespace
|
|
296
|
+
|
|
297
|
+
```typescript
|
|
298
|
+
await client.notebookDocument.didOpen(params);
|
|
299
|
+
await client.notebookDocument.didChange(params);
|
|
300
|
+
await client.notebookDocument.didSave(params);
|
|
301
|
+
await client.notebookDocument.didClose(params);
|
|
302
|
+
```
|
|
303
|
+
|
|
258
304
|
### Connection Events
|
|
259
305
|
|
|
260
306
|
```typescript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-proxy.d.ts","sourceRoot":"","sources":["../src/capability-proxy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"capability-proxy.d.ts","sourceRoot":"","sources":["../src/capability-proxy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiB7C;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,SAAS,OAAO,CAAC,OAAO,eAAe,EAAE,kBAAkB,CAAC,EACtE,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAwDrC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,SAAS,OAAO,CAAC,OAAO,eAAe,EAAE,kBAAkB,CAAC,EACtE,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAGrC"}
|
package/dist/capability-proxy.js
CHANGED
|
@@ -11,10 +11,15 @@ function deriveNotificationMethodKey(namespaceName, notificationKey) {
|
|
|
11
11
|
}
|
|
12
12
|
return notificationKey;
|
|
13
13
|
}
|
|
14
|
+
function getRuntimeRegisteredMethods(client) {
|
|
15
|
+
const runtime = client.getRuntimeCapabilities();
|
|
16
|
+
return new Set(runtime.dynamicRegistrations.map((registration) => registration.method));
|
|
17
|
+
}
|
|
14
18
|
/**
|
|
15
19
|
* Initializes capability-aware methods on the client object based on LSPRequest definitions
|
|
16
20
|
*/
|
|
17
21
|
export function initializeCapabilityMethods(client) {
|
|
22
|
+
const runtimeRegisteredMethods = getRuntimeRegisteredMethods(client);
|
|
18
23
|
if (!client.serverCapabilities) {
|
|
19
24
|
// Server capabilities not yet known; cannot initialize methods
|
|
20
25
|
return;
|
|
@@ -31,7 +36,8 @@ export function initializeCapabilityMethods(client) {
|
|
|
31
36
|
// 1. No capability required (ServerCapability is undefined/null), OR
|
|
32
37
|
// 2. Server has the required capability
|
|
33
38
|
if (!d.ServerCapability ||
|
|
34
|
-
hasServerCapability(client.serverCapabilities, d.ServerCapability)
|
|
39
|
+
hasServerCapability(client.serverCapabilities, d.ServerCapability) ||
|
|
40
|
+
runtimeRegisteredMethods.has(d.Method)) {
|
|
35
41
|
namespace[camelCase(request)] = (a, b) => client.sendRequest(d.Method, a, b);
|
|
36
42
|
}
|
|
37
43
|
// If capability is missing, don't add the method at all (runtime matches types)
|
|
@@ -51,7 +57,8 @@ export function initializeCapabilityMethods(client) {
|
|
|
51
57
|
const d = getDefinitionForNotification(namespaceName, notification);
|
|
52
58
|
// Notifications typically don't require capabilities, but check anyway
|
|
53
59
|
if (!d.ServerCapability ||
|
|
54
|
-
hasServerCapability(client.serverCapabilities, d.ServerCapability)
|
|
60
|
+
hasServerCapability(client.serverCapabilities, d.ServerCapability) ||
|
|
61
|
+
runtimeRegisteredMethods.has(d.Method)) {
|
|
55
62
|
const methodKey = deriveNotificationMethodKey(namespaceName, notification);
|
|
56
63
|
client[clientPropertyName][camelCase(methodKey)] = (a) => client.sendNotification(d.Method, a);
|
|
57
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-proxy.js","sourceRoot":"","sources":["../src/capability-proxy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,4BAA4B,EAC5B,mBAAmB,EACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,SAAS,2BAA2B,CAAC,aAAqB,EAAE,eAAuB,EAAU;IAC3F,IAAI,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5C,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,eAAe,CAAC;AAAA,CACxB;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAEzC,MAA6B,EAAQ;IACrC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC/B,+DAA+D;QAC/D,OAAO;IACT,CAAC;IACD,wCAAwC;IACxC,KAAK,MAAM,CAAC,aAAa,EAAE,oBAAoB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/E,8DAA8D;QAC9D,qEAAqE;QACrE,MAAM,kBAAkB,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,EAAS,CAAC;QAC5B,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,uBAAuB,CAC/B,aAAwC,EACxC,OAAc,CACf,CAAC;YACF,uBAAuB;YACvB,qEAAqE;YACrE,wCAAwC;YACxC,IACE,CAAC,CAAC,CAAC,gBAAgB;gBACnB,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"capability-proxy.js","sourceRoot":"","sources":["../src/capability-proxy.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* LSP Client implementation
|
|
3
3
|
*/
|
|
4
|
-
import type { Transport, Disposable, CancellationToken, LSPRequestMethod, ParamsForRequest, ResultForRequest, LSPNotificationMethod, ParamsForNotification, ServerCapabilities, ClientCapabilities, Client } from '@lspeasy/core';
|
|
5
|
-
import type { ClientOptions, InitializeResult, CancellableRequest } from './types.js';
|
|
4
|
+
import type { Transport, Disposable, CancellationToken, DynamicRegistration, LSPRequestMethod, ParamsForRequest, ResultForRequest, LSPNotificationMethod, ParamsForNotification, ServerCapabilities, ClientCapabilities, Client } from '@lspeasy/core';
|
|
5
|
+
import type { ClientOptions, InitializeResult, CancellableRequest, NotebookDocumentNamespace, PartialRequestOptions, PartialRequestResult } from './types.js';
|
|
6
6
|
import type { ConnectionHealth, StateChangeEvent } from './connection/index.js';
|
|
7
7
|
/**
|
|
8
8
|
* Interface for dynamically added namespace methods
|
|
@@ -47,7 +47,10 @@ declare class BaseLSPClient<ClientCaps extends Partial<ClientCapabilities> = Cli
|
|
|
47
47
|
private clientCapabilityGuard?;
|
|
48
48
|
private readonly healthTracker;
|
|
49
49
|
private heartbeatMonitor;
|
|
50
|
+
private readonly registrationStore;
|
|
50
51
|
private notificationWaiters;
|
|
52
|
+
private readonly partialCollector;
|
|
53
|
+
readonly notebookDocument: NotebookDocumentNamespace;
|
|
51
54
|
constructor(options?: ClientOptions<ClientCaps>);
|
|
52
55
|
/**
|
|
53
56
|
* Connect to server and complete initialization
|
|
@@ -73,6 +76,17 @@ declare class BaseLSPClient<ClientCaps extends Partial<ClientCapabilities> = Cli
|
|
|
73
76
|
* Send a cancellable request
|
|
74
77
|
*/
|
|
75
78
|
sendCancellableRequest<M extends LSPRequestMethod<'clientToServer'>>(method: M, params?: ParamsForRequest<M>): CancellableRequest<ResultForRequest<M>>;
|
|
79
|
+
/**
|
|
80
|
+
* Send a request with partial-result streaming support.
|
|
81
|
+
*/
|
|
82
|
+
sendRequestWithPartialResults<M extends LSPRequestMethod<'clientToServer'>, TPartial = unknown>(method: M, params: ParamsForRequest<M>, options: PartialRequestOptions<TPartial>, token?: CancellationToken): Promise<PartialRequestResult<TPartial, ResultForRequest<M>>>;
|
|
83
|
+
/**
|
|
84
|
+
* Return static server capabilities plus dynamic registrations seen at runtime.
|
|
85
|
+
*/
|
|
86
|
+
getRuntimeCapabilities(): {
|
|
87
|
+
staticCapabilities: ServerCapabilities | undefined;
|
|
88
|
+
dynamicRegistrations: DynamicRegistration[];
|
|
89
|
+
};
|
|
76
90
|
/**
|
|
77
91
|
* Register handler for server-to-client requests
|
|
78
92
|
*/
|
|
@@ -164,10 +178,15 @@ declare class BaseLSPClient<ClientCaps extends Partial<ClientCapabilities> = Cli
|
|
|
164
178
|
private buildMiddlewareContext;
|
|
165
179
|
private sendWithMiddleware;
|
|
166
180
|
private handleRequest;
|
|
181
|
+
private supportsDynamicRegistration;
|
|
182
|
+
private sendResponseMessage;
|
|
183
|
+
private handleDynamicRegister;
|
|
184
|
+
private handleDynamicUnregister;
|
|
167
185
|
/**
|
|
168
186
|
* Handle notification message from server
|
|
169
187
|
*/
|
|
170
188
|
private handleNotification;
|
|
189
|
+
private handleProgressNotification;
|
|
171
190
|
/**
|
|
172
191
|
* Handle transport error
|
|
173
192
|
*/
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,SAAS,EAKT,UAAU,EAEV,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EAErB,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EAKP,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* LSP Client implementation
|
|
3
3
|
*/
|
|
4
|
-
import { CancellationTokenSource, ConsoleLogger, executeMiddlewarePipeline, LogLevel } from '@lspeasy/core';
|
|
4
|
+
import { CancellationTokenSource, ConsoleLogger, executeMiddlewarePipeline, isRegisterCapabilityParams, isUnregisterCapabilityParams, LogLevel } from '@lspeasy/core';
|
|
5
5
|
import { DisposableEventEmitter, HandlerRegistry } from '@lspeasy/core/utils';
|
|
6
6
|
import { PendingRequestTracker, TransportAttachment } from '@lspeasy/core/utils/internal';
|
|
7
7
|
import { initializeCapabilityMethods, updateCapabilityMethods } from './capability-proxy.js';
|
|
8
8
|
import { CapabilityGuard, ClientCapabilityGuard } from './capability-guard.js';
|
|
9
9
|
import { ConnectionHealthTracker, ConnectionState, HeartbeatMonitor } from './connection/index.js';
|
|
10
|
+
import { RegistrationStore } from './connection/registration-store.js';
|
|
11
|
+
import { PartialResultCollector } from './connection/partial-result-collector.js';
|
|
10
12
|
/**
|
|
11
13
|
* Interface for dynamically added namespace methods
|
|
12
14
|
*/
|
|
@@ -50,7 +52,10 @@ class BaseLSPClient {
|
|
|
50
52
|
clientCapabilityGuard;
|
|
51
53
|
healthTracker;
|
|
52
54
|
heartbeatMonitor;
|
|
55
|
+
registrationStore;
|
|
53
56
|
notificationWaiters;
|
|
57
|
+
partialCollector;
|
|
58
|
+
notebookDocument;
|
|
54
59
|
constructor(options = {}) {
|
|
55
60
|
this.connected = false;
|
|
56
61
|
this.initialized = false;
|
|
@@ -62,7 +67,10 @@ class BaseLSPClient {
|
|
|
62
67
|
logLevel: options.logLevel ?? LogLevel.Info,
|
|
63
68
|
requestTimeout: options.requestTimeout,
|
|
64
69
|
strictCapabilities: options.strictCapabilities ?? false,
|
|
65
|
-
heartbeat: options.heartbeat
|
|
70
|
+
heartbeat: options.heartbeat,
|
|
71
|
+
dynamicRegistration: options.dynamicRegistration ?? {
|
|
72
|
+
allowUndeclaredDynamicRegistration: false
|
|
73
|
+
}
|
|
66
74
|
};
|
|
67
75
|
this.logger = this.options.logger;
|
|
68
76
|
this.middlewareRegistrations = options.middleware ?? [];
|
|
@@ -72,6 +80,14 @@ class BaseLSPClient {
|
|
|
72
80
|
this.events = new DisposableEventEmitter();
|
|
73
81
|
this.transportAttachment = new TransportAttachment();
|
|
74
82
|
this.notificationWaiters = new Set();
|
|
83
|
+
this.registrationStore = new RegistrationStore();
|
|
84
|
+
this.partialCollector = new PartialResultCollector();
|
|
85
|
+
this.notebookDocument = {
|
|
86
|
+
didOpen: async (params) => this.sendNotification('notebookDocument/didOpen', params),
|
|
87
|
+
didChange: async (params) => this.sendNotification('notebookDocument/didChange', params),
|
|
88
|
+
didSave: async (params) => this.sendNotification('notebookDocument/didSave', params),
|
|
89
|
+
didClose: async (params) => this.sendNotification('notebookDocument/didClose', params)
|
|
90
|
+
};
|
|
75
91
|
this.healthTracker = new ConnectionHealthTracker();
|
|
76
92
|
if (options.capabilities) {
|
|
77
93
|
this.capabilities = options.capabilities;
|
|
@@ -196,7 +212,10 @@ class BaseLSPClient {
|
|
|
196
212
|
}
|
|
197
213
|
// Check if already cancelled before doing anything
|
|
198
214
|
if (token?.isCancellationRequested) {
|
|
199
|
-
|
|
215
|
+
// Return a promise that rejects asynchronously to allow handlers to attach
|
|
216
|
+
return Promise.resolve().then(() => {
|
|
217
|
+
throw new Error('Request was cancelled');
|
|
218
|
+
});
|
|
200
219
|
}
|
|
201
220
|
const { id, promise } = this.pendingRequests.create(this.options.requestTimeout, method);
|
|
202
221
|
const request = {
|
|
@@ -212,9 +231,8 @@ class BaseLSPClient {
|
|
|
212
231
|
this.sendNotification('$/cancelRequest', { id }).catch((err) => {
|
|
213
232
|
this.logger.error('Failed to send cancellation', err);
|
|
214
233
|
});
|
|
215
|
-
//
|
|
216
|
-
|
|
217
|
-
process.nextTick(() => {
|
|
234
|
+
// Defer rejection asynchronously to allow handlers to attach
|
|
235
|
+
Promise.resolve().then(() => {
|
|
218
236
|
this.pendingRequests.reject(id, new Error('Request was cancelled'));
|
|
219
237
|
});
|
|
220
238
|
});
|
|
@@ -281,6 +299,52 @@ class BaseLSPClient {
|
|
|
281
299
|
cancel: () => cancelSource.cancel()
|
|
282
300
|
};
|
|
283
301
|
}
|
|
302
|
+
/**
|
|
303
|
+
* Send a request with partial-result streaming support.
|
|
304
|
+
*/
|
|
305
|
+
async sendRequestWithPartialResults(method, params, options, token) {
|
|
306
|
+
const partialToken = options.token ?? `${Date.now()}-${Math.random()}`;
|
|
307
|
+
this.partialCollector.start(partialToken, (value) => {
|
|
308
|
+
options.onPartial(value);
|
|
309
|
+
});
|
|
310
|
+
try {
|
|
311
|
+
const requestParams = params && typeof params === 'object'
|
|
312
|
+
? {
|
|
313
|
+
...params,
|
|
314
|
+
partialResultToken: partialToken
|
|
315
|
+
}
|
|
316
|
+
: params;
|
|
317
|
+
const finalResult = await this.sendRequest(method, requestParams, token);
|
|
318
|
+
const partialResults = this.partialCollector.finish(partialToken);
|
|
319
|
+
return {
|
|
320
|
+
cancelled: false,
|
|
321
|
+
partialResults,
|
|
322
|
+
finalResult
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
catch (error) {
|
|
326
|
+
const isCancelled = error instanceof Error && error.message.includes('cancel');
|
|
327
|
+
if (isCancelled) {
|
|
328
|
+
const partialResults = this.partialCollector.finish(partialToken);
|
|
329
|
+
return {
|
|
330
|
+
cancelled: true,
|
|
331
|
+
partialResults,
|
|
332
|
+
finalResult: undefined
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
this.partialCollector.abort(partialToken);
|
|
336
|
+
throw error;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Return static server capabilities plus dynamic registrations seen at runtime.
|
|
341
|
+
*/
|
|
342
|
+
getRuntimeCapabilities() {
|
|
343
|
+
return {
|
|
344
|
+
staticCapabilities: this.serverCapabilities,
|
|
345
|
+
dynamicRegistrations: this.registrationStore.getAll()
|
|
346
|
+
};
|
|
347
|
+
}
|
|
284
348
|
/**
|
|
285
349
|
* Register handler for server-to-client requests
|
|
286
350
|
*/
|
|
@@ -545,6 +609,14 @@ class BaseLSPClient {
|
|
|
545
609
|
*/
|
|
546
610
|
async handleRequest(request) {
|
|
547
611
|
const { id, method, params } = request;
|
|
612
|
+
if (method === 'client/registerCapability') {
|
|
613
|
+
await this.handleDynamicRegister(id, params);
|
|
614
|
+
return;
|
|
615
|
+
}
|
|
616
|
+
if (method === 'client/unregisterCapability') {
|
|
617
|
+
await this.handleDynamicUnregister(id, params);
|
|
618
|
+
return;
|
|
619
|
+
}
|
|
548
620
|
const handler = this.requestHandlers.get(method);
|
|
549
621
|
if (!handler) {
|
|
550
622
|
this.logger.warn(`No handler for server request ${method}`);
|
|
@@ -603,11 +675,120 @@ class BaseLSPClient {
|
|
|
603
675
|
}
|
|
604
676
|
}
|
|
605
677
|
}
|
|
678
|
+
supportsDynamicRegistration(method) {
|
|
679
|
+
const capabilities = this.capabilities;
|
|
680
|
+
if (!capabilities) {
|
|
681
|
+
return false;
|
|
682
|
+
}
|
|
683
|
+
// Methods are of the form "<root>/<subKey>", e.g. "textDocument/hover".
|
|
684
|
+
const separatorIndex = method.indexOf('/');
|
|
685
|
+
if (separatorIndex === -1) {
|
|
686
|
+
return false;
|
|
687
|
+
}
|
|
688
|
+
const root = method.slice(0, separatorIndex);
|
|
689
|
+
const subKey = method.slice(separatorIndex + 1);
|
|
690
|
+
if (!root || !subKey) {
|
|
691
|
+
return false;
|
|
692
|
+
}
|
|
693
|
+
const rootCapabilities = capabilities[root];
|
|
694
|
+
if (!rootCapabilities || typeof rootCapabilities !== 'object') {
|
|
695
|
+
return false;
|
|
696
|
+
}
|
|
697
|
+
// Map method names to capability keys when they differ or need special handling.
|
|
698
|
+
const methodToCapabilityKey = {};
|
|
699
|
+
const capabilityKey = methodToCapabilityKey[method] ?? subKey;
|
|
700
|
+
const capability = rootCapabilities[capabilityKey];
|
|
701
|
+
if (!capability || typeof capability !== 'object') {
|
|
702
|
+
return false;
|
|
703
|
+
}
|
|
704
|
+
return capability['dynamicRegistration'] === true;
|
|
705
|
+
}
|
|
706
|
+
async sendResponseMessage(response) {
|
|
707
|
+
if (!this.transport) {
|
|
708
|
+
return;
|
|
709
|
+
}
|
|
710
|
+
await this.transport.send(response);
|
|
711
|
+
}
|
|
712
|
+
async handleDynamicRegister(id, params) {
|
|
713
|
+
if (!isRegisterCapabilityParams(params)) {
|
|
714
|
+
await this.sendResponseMessage({
|
|
715
|
+
jsonrpc: '2.0',
|
|
716
|
+
id,
|
|
717
|
+
error: {
|
|
718
|
+
code: -32602,
|
|
719
|
+
message: 'Invalid params for client/registerCapability'
|
|
720
|
+
}
|
|
721
|
+
});
|
|
722
|
+
return;
|
|
723
|
+
}
|
|
724
|
+
const unsupported = params.registrations.find((registration) => !this.supportsDynamicRegistration(registration.method) &&
|
|
725
|
+
!this.options.dynamicRegistration.allowUndeclaredDynamicRegistration);
|
|
726
|
+
if (unsupported) {
|
|
727
|
+
await this.sendResponseMessage({
|
|
728
|
+
jsonrpc: '2.0',
|
|
729
|
+
id,
|
|
730
|
+
error: {
|
|
731
|
+
code: -32602,
|
|
732
|
+
message: `Dynamic registration not declared for ${unsupported.method}`
|
|
733
|
+
}
|
|
734
|
+
});
|
|
735
|
+
return;
|
|
736
|
+
}
|
|
737
|
+
for (const registration of params.registrations) {
|
|
738
|
+
this.registrationStore.upsert(registration);
|
|
739
|
+
}
|
|
740
|
+
updateCapabilityMethods(this);
|
|
741
|
+
await this.sendResponseMessage({
|
|
742
|
+
jsonrpc: '2.0',
|
|
743
|
+
id,
|
|
744
|
+
result: null
|
|
745
|
+
});
|
|
746
|
+
}
|
|
747
|
+
async handleDynamicUnregister(id, params) {
|
|
748
|
+
if (!isUnregisterCapabilityParams(params)) {
|
|
749
|
+
await this.sendResponseMessage({
|
|
750
|
+
jsonrpc: '2.0',
|
|
751
|
+
id,
|
|
752
|
+
error: {
|
|
753
|
+
code: -32602,
|
|
754
|
+
message: 'Invalid params for client/unregisterCapability'
|
|
755
|
+
}
|
|
756
|
+
});
|
|
757
|
+
return;
|
|
758
|
+
}
|
|
759
|
+
const unknownIds = [];
|
|
760
|
+
for (const unregister of params.unregisterations) {
|
|
761
|
+
const removed = this.registrationStore.remove(unregister.id);
|
|
762
|
+
if (!removed) {
|
|
763
|
+
unknownIds.push(unregister.id);
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
if (unknownIds.length > 0) {
|
|
767
|
+
await this.sendResponseMessage({
|
|
768
|
+
jsonrpc: '2.0',
|
|
769
|
+
id,
|
|
770
|
+
error: {
|
|
771
|
+
code: -32602,
|
|
772
|
+
message: `Unknown registration id(s): ${unknownIds.join(', ')}`
|
|
773
|
+
}
|
|
774
|
+
});
|
|
775
|
+
return;
|
|
776
|
+
}
|
|
777
|
+
updateCapabilityMethods(this);
|
|
778
|
+
await this.sendResponseMessage({
|
|
779
|
+
jsonrpc: '2.0',
|
|
780
|
+
id,
|
|
781
|
+
result: null
|
|
782
|
+
});
|
|
783
|
+
}
|
|
606
784
|
/**
|
|
607
785
|
* Handle notification message from server
|
|
608
786
|
*/
|
|
609
787
|
handleNotification(notification) {
|
|
610
788
|
const { method, params } = notification;
|
|
789
|
+
if (method === '$/progress') {
|
|
790
|
+
this.handleProgressNotification(params);
|
|
791
|
+
}
|
|
611
792
|
for (const waiter of Array.from(this.notificationWaiters)) {
|
|
612
793
|
if (waiter.method !== method) {
|
|
613
794
|
continue;
|
|
@@ -637,6 +818,17 @@ class BaseLSPClient {
|
|
|
637
818
|
this.logger.error(`Handler for ${method} threw error`, error);
|
|
638
819
|
}
|
|
639
820
|
}
|
|
821
|
+
handleProgressNotification(params) {
|
|
822
|
+
if (typeof params !== 'object' || params === null) {
|
|
823
|
+
return;
|
|
824
|
+
}
|
|
825
|
+
const candidate = params;
|
|
826
|
+
const token = candidate['token'];
|
|
827
|
+
if (typeof token !== 'string' && typeof token !== 'number') {
|
|
828
|
+
return;
|
|
829
|
+
}
|
|
830
|
+
this.partialCollector.push(token, candidate['value']);
|
|
831
|
+
}
|
|
640
832
|
/**
|
|
641
833
|
* Handle transport error
|
|
642
834
|
*/
|
|
@@ -660,6 +852,7 @@ class BaseLSPClient {
|
|
|
660
852
|
this.healthTracker.setState(ConnectionState.Disconnected);
|
|
661
853
|
this.transportAttachment.detach();
|
|
662
854
|
this.pendingRequests.clear(new Error('Connection closed'));
|
|
855
|
+
this.partialCollector.clear();
|
|
663
856
|
for (const waiter of Array.from(this.notificationWaiters)) {
|
|
664
857
|
waiter.cleanup();
|
|
665
858
|
waiter.reject(new Error('Connection closed before notification was received'));
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,43 @@
|
|
|
1
|
+
import { DisposableEventEmitter } from '@lspeasy/core';
|
|
1
2
|
import type { ConnectionHealth, HeartbeatStatus, StateChangeEvent } from './types.js';
|
|
2
3
|
import { ConnectionState } from './types.js';
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
type HealthEventMap = {
|
|
5
|
+
stateChanged: [StateChangeEvent];
|
|
6
|
+
healthChanged: [ConnectionHealth];
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Tracks connection state transitions and message activity timestamps.
|
|
10
|
+
*/
|
|
11
|
+
export declare class ConnectionHealthTracker extends DisposableEventEmitter<HealthEventMap> {
|
|
5
12
|
private health;
|
|
13
|
+
/**
|
|
14
|
+
* Returns a defensive copy of the current health snapshot.
|
|
15
|
+
*/
|
|
6
16
|
getHealth(): ConnectionHealth;
|
|
17
|
+
/**
|
|
18
|
+
* Updates connection state and emits state/health change events.
|
|
19
|
+
*/
|
|
7
20
|
setState(next: ConnectionState, reason?: string): void;
|
|
21
|
+
/**
|
|
22
|
+
* Records outbound message activity.
|
|
23
|
+
*/
|
|
8
24
|
markMessageSent(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Records inbound message activity.
|
|
27
|
+
*/
|
|
9
28
|
markMessageReceived(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Updates the heartbeat subsection of the current health snapshot.
|
|
31
|
+
*/
|
|
10
32
|
setHeartbeat(status: HeartbeatStatus): void;
|
|
33
|
+
/**
|
|
34
|
+
* Subscribes to connection state transitions.
|
|
35
|
+
*/
|
|
11
36
|
onStateChange(handler: (event: StateChangeEvent) => void): () => void;
|
|
37
|
+
/**
|
|
38
|
+
* Subscribes to health snapshot updates.
|
|
39
|
+
*/
|
|
12
40
|
onHealthChange(handler: (health: ConnectionHealth) => void): () => void;
|
|
13
41
|
}
|
|
42
|
+
export {};
|
|
14
43
|
//# sourceMappingURL=health.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/connection/health.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/connection/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,KAAK,cAAc,GAAG;IACpB,YAAY,EAAE,CAAC,gBAAgB,CAAC,CAAC;IACjC,aAAa,EAAE,CAAC,gBAAgB,CAAC,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,sBAAsB,CAAC,cAAc,CAAC;IACjF,OAAO,CAAC,MAAM,CAIZ;IAEF;;OAEG;IACH,SAAS,IAAI,gBAAgB,CAa5B;IAED;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAkBrD;IAED;;OAEG;IACH,eAAe,IAAI,IAAI,CAMtB;IAED;;OAEG;IACH,mBAAmB,IAAI,IAAI,CAkB1B;IAED;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAM1C;IAED;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI,CAGpE;IAED;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI,CAGtE;CACF"}
|