@lspeasy/client 3.0.1 → 3.0.3

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 (38) hide show
  1. package/dist/capability-guard.d.ts +67 -21
  2. package/dist/capability-guard.d.ts.map +1 -1
  3. package/dist/capability-guard.js +101 -176
  4. package/dist/capability-guard.js.map +1 -1
  5. package/dist/capability-proxy.js.map +1 -1
  6. package/dist/client.d.ts +215 -13
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +162 -14
  9. package/dist/client.js.map +1 -1
  10. package/dist/connection/health.d.ts +40 -0
  11. package/dist/connection/health.d.ts.map +1 -1
  12. package/dist/connection/health.js +40 -0
  13. package/dist/connection/health.js.map +1 -1
  14. package/dist/connection/heartbeat.d.ts +29 -0
  15. package/dist/connection/heartbeat.d.ts.map +1 -1
  16. package/dist/connection/heartbeat.js +29 -0
  17. package/dist/connection/heartbeat.js.map +1 -1
  18. package/dist/connection/partial-result-collector.js.map +1 -1
  19. package/dist/connection/registration-store.js.map +1 -1
  20. package/dist/connection/types.d.ts +46 -4
  21. package/dist/connection/types.d.ts.map +1 -1
  22. package/dist/connection/types.js +11 -3
  23. package/dist/connection/types.js.map +1 -1
  24. package/dist/index.d.ts +48 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +48 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/notifications/wait.d.ts +57 -2
  29. package/dist/notifications/wait.d.ts.map +1 -1
  30. package/dist/notifications/wait.js +44 -1
  31. package/dist/notifications/wait.js.map +1 -1
  32. package/dist/progress.js.map +1 -1
  33. package/dist/types.d.ts +51 -6
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/validation.d.ts +1 -1
  36. package/dist/validation.d.ts.map +1 -1
  37. package/dist/validation.js.map +1 -1
  38. package/package.json +6 -7
@@ -1,5 +1,44 @@
1
1
  /**
2
- * Tracks a single wait-for-notification operation and timeout lifecycle.
2
+ * Tracks a single wait-for-notification operation and its timeout lifecycle.
3
+ *
4
+ * @remarks
5
+ * Created internally by `LSPClient.waitForNotification`. Use
6
+ * `LSPClient.waitForNotification` rather than instantiating this class
7
+ * directly.
8
+ *
9
+ * @useWhen
10
+ * You need to await a specific server-to-client notification after triggering
11
+ * a server-side operation — for example, waiting for
12
+ * `textDocument/publishDiagnostics` after saving a document.
13
+ *
14
+ * @avoidWhen
15
+ * You need to listen for ongoing notifications (not a one-shot wait) — use
16
+ * `LSPClient.onNotification` for persistent subscriptions instead.
17
+ *
18
+ * @never
19
+ * NEVER create a `NotificationWaiter` without setting a timeout — an
20
+ * indefinite wait will leak the waiter permanently if the notification never
21
+ * arrives (e.g. the server suppresses it for certain file types).
22
+ *
23
+ * NEVER use `NotificationWaiter` to wait for notifications that arrive before
24
+ * the waiter is registered. The waiter only sees notifications emitted after
25
+ * `start()` is called; earlier notifications are silently missed.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * // Wait for diagnostics after saving
30
+ * const diags = await client.waitForNotification(
31
+ * 'textDocument/publishDiagnostics',
32
+ * {
33
+ * timeout: 5000,
34
+ * filter: (params) => params.uri === 'file:///src/main.ts',
35
+ * }
36
+ * );
37
+ * console.log(diags.diagnostics);
38
+ * ```
39
+ *
40
+ * @typeParam TParams - The notification params type.
41
+ * @category Client
3
42
  */
4
43
  export class NotificationWaiter {
5
44
  method;
@@ -26,6 +65,10 @@ export class NotificationWaiter {
26
65
  }
27
66
  /**
28
67
  * Returns whether an incoming notification satisfies this waiter.
68
+ *
69
+ * @param method - The notification method string of the incoming message.
70
+ * @param params - The notification params to test against the optional filter predicate.
71
+ * @returns `true` when the method matches and the filter (if any) passes.
29
72
  */
30
73
  matches(method, params) {
31
74
  if (method !== this.method) {
@@ -1 +1 @@
1
- {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/notifications/wait.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAMV,MAAM;IACN,OAAO;IAGP,SAAS;IATpB,aAAa,CAA6B;IACjC,SAAS,CAA4B;IACrC,QAAQ,CAAyB;IAElD,YACmB,MAAc,EACd,OAAyC,EAC1D,OAAkC,EAClC,MAA8B,EACb,SAAqB,EACtC;sBALiB,MAAM;uBACN,OAAO;yBAGP,SAAS;QAE1B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;IAAA,CACxB;IAED;;OAEG;IACH,KAAK,GAAS;QACZ,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CACX,IAAI,KAAK,CACP,uCAAuC,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CACtF,CACF,CAAC;QAAA,CACH,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAAA,CAC1B;IAED;;OAEG;IACH,OAAO,CAAC,MAAc,EAAE,MAAe,EAAW;QAChD,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IAAA,CACb;IAED;;OAEG;IACH,OAAO,CAAC,MAAe,EAAQ;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAAA,CACxB;IAED;;OAEG;IACH,MAAM,CAAC,KAAY,EAAQ;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAAA,CACtB;IAED;;OAEG;IACH,OAAO,GAAS;QACd,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;IAAA,CAClB;CACF"}
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/notifications/wait.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,OAAO,kBAAkB;IAMV,MAAM;IACN,OAAO;IAGP,SAAS;IATpB,aAAa,CAA6B;IACjC,SAAS,CAA4B;IACrC,QAAQ,CAAyB;IAElD,YACmB,MAAc,EACd,OAAyC,EAC1D,OAAkC,EAClC,MAA8B,EACb,SAAqB;sBAJrB,MAAM;uBACN,OAAO;yBAGP,SAAS;QAE1B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CACX,IAAI,KAAK,CACP,uCAAuC,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CACtF,CACF,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,MAAc,EAAE,MAAe;QACrC,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,MAAe;QACrB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAY;QACjB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sourceRoot":"","sources":["../src/progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoCH;;;GAGG;AACH,MAAM,OAAO,eAAe;IAClB,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;IACrD,cAAc,GAAsB,EAAE,CAAC;IAE/C;;OAEG;IACH,UAAU,CAAC,KAAoB,EAAE,OAAwB,EAAwB;QAC/E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAAA,CAC7B;SACF,CAAC;IAAA,CACH;IAED;;OAEG;IACH,aAAa,CAAC,OAAwB,EAAwB;QAC5D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACjB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACvC,CAAC;YAAA,CACF;SACF,CAAC;IAAA,CACH;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,MAAsB,EAAiB;QAC1D,uCAAuC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAED,2BAA2B;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAAA,CAC9D;CACF"}
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../src/progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoCH;;;GAGG;AACH,MAAM,OAAO,eAAe;IAClB,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;IACrD,cAAc,GAAsB,EAAE,CAAC;IAE/C;;OAEG;IACH,UAAU,CAAC,KAAoB,EAAE,OAAwB;QACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAwB;QACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACjB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,MAAsB;QACzC,uCAAuC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAED,2BAA2B;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF"}
package/dist/types.d.ts CHANGED
@@ -10,7 +10,14 @@ import type { HeartbeatConfig } from './connection/types.js';
10
10
  */
11
11
  export type { Client } from '@lspeasy/core';
12
12
  /**
13
- * LSP Client options
13
+ * Configuration for an `LSPClient` instance.
14
+ *
15
+ * @remarks
16
+ * Passed to the `LSPClient` constructor. All fields are optional; the client
17
+ * works with zero configuration.
18
+ *
19
+ * @config
20
+ * @category Client
14
21
  */
15
22
  export interface ClientOptions<ClientCaps extends Partial<ClientCapabilities> = ClientCapabilities> {
16
23
  /**
@@ -61,43 +68,81 @@ export interface ClientOptions<ClientCaps extends Partial<ClientCapabilities> =
61
68
  onValidationError?: (error: ZodError, response: ResponseMessage) => void;
62
69
  }
63
70
  /**
64
- * Initialize result from server
71
+ * Initialize result from server.
72
+ *
73
+ * @category Client
65
74
  */
66
75
  export interface InitializeResult {
76
+ /** Server capabilities advertised in the `initialize` response. */
67
77
  capabilities: import('vscode-languageserver-protocol').ServerCapabilities;
78
+ /** Optional server identification returned by the language server. */
68
79
  serverInfo?: {
80
+ /** Human-readable name of the language server. */
69
81
  name: string;
82
+ /** Optional version string of the language server. */
70
83
  version?: string;
71
84
  };
72
85
  }
73
86
  /**
74
- * Cancellable request result
87
+ * Return value of `LSPClient.sendCancellableRequest`.
88
+ *
89
+ * @remarks
90
+ * `promise` rejects with a cancellation error when `cancel()` is called.
91
+ * Always attach a `.catch()` handler to `promise` before calling `cancel()`
92
+ * to avoid unhandled promise rejections.
93
+ *
94
+ * @typeParam T - The expected response result type.
95
+ * @category Client
75
96
  */
76
97
  export interface CancellableRequest<T> {
77
98
  /**
78
- * Promise that resolves with the request result
99
+ * Promise that resolves with the request result or rejects on cancellation.
79
100
  */
80
101
  promise: Promise<T>;
81
102
  /**
82
- * Function to cancel the request
103
+ * Cancels the in-flight request and sends `$/cancelRequest` to the server.
83
104
  */
84
105
  cancel: () => void;
85
106
  }
86
107
  /**
87
- * Options for sending a request with partial-result streaming.
108
+ * Options for `LSPClient.sendRequestWithPartialResults`.
109
+ *
110
+ * @config
111
+ * @typeParam TPartial - The partial result element type.
112
+ * @category Client
88
113
  */
89
114
  export interface PartialRequestOptions<TPartial> {
115
+ /**
116
+ * Custom `partialResultToken` value; auto-generated when omitted.
117
+ */
90
118
  token?: string | number;
119
+ /**
120
+ * Called for each `$/progress` notification carrying a partial result.
121
+ */
91
122
  onPartial: (partial: TPartial) => void;
92
123
  }
93
124
  /**
94
125
  * Result returned by partial-result enabled requests.
95
126
  */
96
127
  export type PartialRequestResult<TPartial, TResult> = PartialRequestOutcome<TPartial, TResult>;
128
+ /**
129
+ * Namespace for sending notebook-document lifecycle notifications to a server.
130
+ *
131
+ * @remarks
132
+ * Available on `client.notebookDocument` after `connect()`. Mirrors the
133
+ * standard LSP `notebookDocument/*` notification methods for clients that
134
+ * declare `notebookDocumentSync` capability.
135
+ *
136
+ * @category Client
137
+ */
97
138
  export interface NotebookDocumentNamespace {
139
+ /** Notify the server that a notebook document was opened. */
98
140
  didOpen(params: DidOpenNotebookDocumentParams): Promise<void>;
141
+ /** Notify the server that a notebook document changed. */
99
142
  didChange(params: DidChangeNotebookDocumentParams): Promise<void>;
143
+ /** Notify the server that a notebook document was saved. */
100
144
  didSave(params: DidSaveNotebookDocumentParams): Promise<void>;
145
+ /** Notify the server that a notebook document was closed. */
101
146
  didClose(params: DidCloseNotebookDocumentParams): Promise<void>;
102
147
  }
103
148
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAEV,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,EAC7B,+BAA+B,EAC/B,6BAA6B,EAC7B,8BAA8B,EAC9B,qBAAqB,EACrB,MAAM,EACN,QAAQ,EACR,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;GAEG;AACH,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,aAAa,CAC5B,UAAU,SAAS,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB;IAEnE;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAE1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAC;IAElD;;OAEG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;IAElD;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;CAC1E;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,OAAO,gCAAgC,EAAE,kBAAkB,CAAC;IAC1E,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAEpB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,QAAQ;IAC7C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,QAAQ,EAAE,OAAO,IAAI,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAE/F,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,SAAS,CAAC,MAAM,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,QAAQ,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAEV,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,EAC7B,+BAA+B,EAC/B,6BAA6B,EAC7B,8BAA8B,EAC9B,qBAAqB,EACrB,MAAM,EACN,QAAQ,EACR,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;GAEG;AACH,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa,CAC5B,UAAU,SAAS,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB;IAEnE;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAE1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAC;IAElD;;OAEG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;IAElD;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;CAC1E;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,YAAY,EAAE,OAAO,gCAAgC,EAAE,kBAAkB,CAAC;IAC1E,sEAAsE;IACtE,UAAU,CAAC,EAAE;QACX,kDAAkD;QAClD,IAAI,EAAE,MAAM,CAAC;QACb,sDAAsD;QACtD,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAEpB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB,CAAC,QAAQ;IAC7C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;OAEG;IACH,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,QAAQ,EAAE,OAAO,IAAI,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAE/F;;;;;;;;;GASG;AACH,MAAM,WAAW,yBAAyB;IACxC,6DAA6D;IAC7D,OAAO,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,0DAA0D;IAC1D,SAAS,CAAC,MAAM,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,4DAA4D;IAC5D,OAAO,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE"}
@@ -39,5 +39,5 @@ export interface ValidationOptions {
39
39
  /**
40
40
  * Creates a response validator with custom options
41
41
  */
42
- export declare function createValidator(options?: ValidationOptions): <T>(method: "callHierarchy/incomingCalls" | "callHierarchy/outgoingCalls" | "client/registerCapability" | "client/unregisterCapability" | "codeAction/resolve" | "codeLens/resolve" | "completionItem/resolve" | "documentLink/resolve" | "initialize" | "inlayHint/resolve" | "shutdown" | "textDocument/codeAction" | "textDocument/codeLens" | "textDocument/colorPresentation" | "textDocument/completion" | "textDocument/declaration" | "textDocument/definition" | "textDocument/diagnostic" | "textDocument/documentColor" | "textDocument/documentHighlight" | "textDocument/documentLink" | "textDocument/documentSymbol" | "textDocument/foldingRange" | "textDocument/formatting" | "textDocument/hover" | "textDocument/implementation" | "textDocument/inlayHint" | "textDocument/inlineValue" | "textDocument/linkedEditingRange" | "textDocument/moniker" | "textDocument/onTypeFormatting" | "textDocument/prepareCallHierarchy" | "textDocument/prepareRename" | "textDocument/prepareTypeHierarchy" | "textDocument/rangeFormatting" | "textDocument/references" | "textDocument/rename" | "textDocument/selectionRange" | "textDocument/semanticTokens/full" | "textDocument/semanticTokens/full/delta" | "textDocument/semanticTokens/range" | "textDocument/signatureHelp" | "textDocument/typeDefinition" | "textDocument/willSaveWaitUntil" | "typeHierarchy/subtypes" | "typeHierarchy/supertypes" | "window/showDocument" | "window/showMessageRequest" | "window/workDoneProgress/create" | "workspace/applyEdit" | "workspace/codeLens/refresh" | "workspace/configuration" | "workspace/diagnostic" | "workspace/diagnostic/refresh" | "workspace/executeCommand" | "workspace/inlayHint/refresh" | "workspace/inlineValue/refresh" | "workspace/semanticTokens/refresh" | "workspace/symbol" | "workspace/willCreateFiles" | "workspace/willDeleteFiles" | "workspace/willRenameFiles" | "workspace/workspaceFolders" | "workspaceSymbol/resolve", schema: z.ZodType<T, unknown, z.core.$ZodTypeInternals<T, unknown>>, response: unknown) => T;
42
+ export declare function createValidator(options?: ValidationOptions): <T>(method: LSPRequestMethod, schema: z.ZodSchema<T>, response: unknown) => T;
43
43
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;aAE9B,MAAM,EAAE,MAAM;aACd,MAAM,EAAE,CAAC,CAAC,QAAQ;aAClB,QAAQ,EAAE,OAAO;IAHnC,YACkB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,CAAC,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAIlC;CACF;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,QAAQ,EAAE,OAAO,GAChB,CAAC,CAQH;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAC9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,iBAAsB,IAGpC,CAAC,48DAkB3B"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;aAE9B,MAAM,EAAE,MAAM;aACd,MAAM,EAAE,CAAC,CAAC,QAAQ;aAClB,QAAQ,EAAE,OAAO;IAHnC,YACkB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,CAAC,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAIlC;CACF;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,QAAQ,EAAE,OAAO,GAChB,CAAC,CAQH;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;CAC9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,iBAAsB,IAGpC,CAAC,UAChB,gBAAgB,UAChB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YACZ,OAAO,KAChB,CAAC,CAcL"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAE9B,MAAM;IACN,MAAM;IACN,QAAQ;IAH1B,YACkB,MAAc,EACd,MAAkB,EAClB,QAAiB,EACjC;QACA,KAAK,CAAC,kCAAkC,MAAM,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;sBAJrD,MAAM;sBACN,MAAM;wBACN,QAAQ;QAGxB,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IAAA,CACvC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAwB,EACxB,MAAsB,EACtB,QAAiB,EACd;IACH,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AAAA,CACpB;AAkBD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAO,GAAsB,EAAE,EAAE;IAC/D,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;IAEtD,OAAO,SAAS,QAAQ,CACtB,MAAwB,EACxB,MAAsB,EACtB,QAAiB,EACd;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,QAAa,CAAC;QACvB,CAAC;QAED,IAAI,CAAC;YACH,OAAO,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,uBAAuB,IAAI,iBAAiB,EAAE,CAAC;gBAClE,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IAAA,CACF,CAAC;AAAA,CACH"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAE9B,MAAM;IACN,MAAM;IACN,QAAQ;IAH1B,YACkB,MAAc,EACd,MAAkB,EAClB,QAAiB;QAEjC,KAAK,CAAC,kCAAkC,MAAM,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;sBAJrD,MAAM;sBACN,MAAM;wBACN,QAAQ;QAGxB,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAwB,EACxB,MAAsB,EACtB,QAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAkBD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAO,GAAsB,EAAE;IAC7D,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;IAEtD,OAAO,SAAS,QAAQ,CACtB,MAAwB,EACxB,MAAsB,EACtB,QAAiB;QAEjB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,QAAa,CAAC;QACvB,CAAC;QAED,IAAI,CAAC;YACH,OAAO,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,uBAAuB,IAAI,iBAAiB,EAAE,CAAC;gBAClE,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lspeasy/client",
3
- "version": "3.0.1",
3
+ "version": "3.0.3",
4
4
  "description": "Connect to LSP servers with typed client API",
5
5
  "private": false,
6
6
  "keywords": [
@@ -14,7 +14,7 @@
14
14
  "url": "https://github.com/pradeepmouli/lspeasy/issues"
15
15
  },
16
16
  "license": "MIT",
17
- "author": "Pradeep Mouli",
17
+ "author": "Pradeep Mouli <pmouli@mac.com> (https://github.com/pradeepmouli)",
18
18
  "repository": {
19
19
  "type": "git",
20
20
  "url": "https://github.com/pradeepmouli/lspeasy.git",
@@ -37,15 +37,14 @@
37
37
  "access": "public"
38
38
  },
39
39
  "dependencies": {
40
- "@lspeasy/core": "2.1.1"
40
+ "@lspeasy/core": "2.1.3"
41
41
  },
42
42
  "optionalDependencies": {
43
- "zod": "^4.3.6"
43
+ "zod": "^4.4.3"
44
44
  },
45
45
  "devDependencies": {
46
- "typescript": "^5.9.3",
47
- "vscode-languageserver-protocol": "^3.17.5",
48
- "zod": "^4.3.6"
46
+ "typescript": "^6.0.3",
47
+ "vscode-languageserver-protocol": "^3.17.5"
49
48
  },
50
49
  "engines": {
51
50
  "node": ">=20.0.0"