@lspeasy/core 2.1.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/dist/index.d.ts +44 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +44 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/jsonrpc/framing.d.ts +28 -3
  6. package/dist/jsonrpc/framing.d.ts.map +1 -1
  7. package/dist/jsonrpc/framing.js +28 -3
  8. package/dist/jsonrpc/framing.js.map +1 -1
  9. package/dist/jsonrpc/messages.d.ts +105 -8
  10. package/dist/jsonrpc/messages.d.ts.map +1 -1
  11. package/dist/jsonrpc/messages.js +36 -0
  12. package/dist/jsonrpc/messages.js.map +1 -1
  13. package/dist/jsonrpc/reader.js.map +1 -1
  14. package/dist/jsonrpc/writer.d.ts +3 -0
  15. package/dist/jsonrpc/writer.d.ts.map +1 -1
  16. package/dist/jsonrpc/writer.js.map +1 -1
  17. package/dist/middleware/compose.d.ts +22 -0
  18. package/dist/middleware/compose.d.ts.map +1 -1
  19. package/dist/middleware/compose.js +22 -0
  20. package/dist/middleware/compose.js.map +1 -1
  21. package/dist/middleware/pipeline.d.ts +22 -0
  22. package/dist/middleware/pipeline.d.ts.map +1 -1
  23. package/dist/middleware/pipeline.js +22 -0
  24. package/dist/middleware/pipeline.js.map +1 -1
  25. package/dist/middleware/scoped.d.ts +28 -0
  26. package/dist/middleware/scoped.d.ts.map +1 -1
  27. package/dist/middleware/scoped.js +28 -0
  28. package/dist/middleware/scoped.js.map +1 -1
  29. package/dist/middleware/typed.d.ts +30 -0
  30. package/dist/middleware/typed.d.ts.map +1 -1
  31. package/dist/middleware/typed.js +30 -0
  32. package/dist/middleware/typed.js.map +1 -1
  33. package/dist/middleware/types.d.ts +173 -0
  34. package/dist/middleware/types.d.ts.map +1 -1
  35. package/dist/protocol/capabilities.d.ts +78 -12
  36. package/dist/protocol/capabilities.d.ts.map +1 -1
  37. package/dist/protocol/capabilities.js +78 -12
  38. package/dist/protocol/capabilities.js.map +1 -1
  39. package/dist/protocol/capability-methods.d.ts +70 -2
  40. package/dist/protocol/capability-methods.d.ts.map +1 -1
  41. package/dist/protocol/capability-methods.js +8 -0
  42. package/dist/protocol/capability-methods.js.map +1 -1
  43. package/dist/protocol/dynamic-registration.d.ts +34 -2
  44. package/dist/protocol/dynamic-registration.d.ts.map +1 -1
  45. package/dist/protocol/dynamic-registration.js +16 -2
  46. package/dist/protocol/dynamic-registration.js.map +1 -1
  47. package/dist/protocol/enums.js +40 -80
  48. package/dist/protocol/enums.js.map +1 -1
  49. package/dist/protocol/infer.d.ts +92 -4
  50. package/dist/protocol/infer.d.ts.map +1 -1
  51. package/dist/protocol/infer.js +46 -4
  52. package/dist/protocol/infer.js.map +1 -1
  53. package/dist/protocol/namespaces.d.ts +327 -327
  54. package/dist/protocol/namespaces.d.ts.map +1 -1
  55. package/dist/protocol/partial-results.d.ts +6 -0
  56. package/dist/protocol/partial-results.d.ts.map +1 -1
  57. package/dist/protocol/partial.d.ts +12 -3
  58. package/dist/protocol/partial.d.ts.map +1 -1
  59. package/dist/protocol/partial.js +12 -3
  60. package/dist/protocol/partial.js.map +1 -1
  61. package/dist/protocol/progress.d.ts +34 -4
  62. package/dist/protocol/progress.d.ts.map +1 -1
  63. package/dist/protocol/progress.js +34 -4
  64. package/dist/protocol/progress.js.map +1 -1
  65. package/dist/protocol/schemas.d.ts +4 -1
  66. package/dist/protocol/schemas.d.ts.map +1 -1
  67. package/dist/protocol/schemas.js +4 -1
  68. package/dist/protocol/schemas.js.map +1 -1
  69. package/dist/protocol/watching.d.ts +18 -7
  70. package/dist/protocol/watching.d.ts.map +1 -1
  71. package/dist/protocol/watching.js +14 -3
  72. package/dist/protocol/watching.js.map +1 -1
  73. package/dist/protocol/workspace.d.ts +10 -2
  74. package/dist/protocol/workspace.d.ts.map +1 -1
  75. package/dist/protocol/workspace.js +10 -2
  76. package/dist/protocol/workspace.js.map +1 -1
  77. package/dist/transport/dedicated-worker.js.map +1 -1
  78. package/dist/transport/events.js.map +1 -1
  79. package/dist/transport/ipc.js.map +1 -1
  80. package/dist/transport/shared-worker.js.map +1 -1
  81. package/dist/transport/stdio.js.map +1 -1
  82. package/dist/transport/tcp.js.map +1 -1
  83. package/dist/transport/transport.d.ts +91 -10
  84. package/dist/transport/transport.d.ts.map +1 -1
  85. package/dist/transport/websocket.d.ts +120 -19
  86. package/dist/transport/websocket.d.ts.map +1 -1
  87. package/dist/transport/websocket.js +95 -8
  88. package/dist/transport/websocket.js.map +1 -1
  89. package/dist/transport/worker-types.d.ts +16 -2
  90. package/dist/transport/worker-types.d.ts.map +1 -1
  91. package/dist/transport/worker-types.js +12 -2
  92. package/dist/transport/worker-types.js.map +1 -1
  93. package/dist/utils/cancellation.d.ts +75 -5
  94. package/dist/utils/cancellation.d.ts.map +1 -1
  95. package/dist/utils/cancellation.js +29 -1
  96. package/dist/utils/cancellation.js.map +1 -1
  97. package/dist/utils/capability-guard.d.ts +32 -1
  98. package/dist/utils/capability-guard.d.ts.map +1 -1
  99. package/dist/utils/capability-guard.js +32 -1
  100. package/dist/utils/capability-guard.js.map +1 -1
  101. package/dist/utils/disposable-event-emitter.d.ts +11 -0
  102. package/dist/utils/disposable-event-emitter.d.ts.map +1 -1
  103. package/dist/utils/disposable-event-emitter.js +11 -0
  104. package/dist/utils/disposable-event-emitter.js.map +1 -1
  105. package/dist/utils/disposable.d.ts +42 -3
  106. package/dist/utils/disposable.d.ts.map +1 -1
  107. package/dist/utils/disposable.js +34 -2
  108. package/dist/utils/disposable.js.map +1 -1
  109. package/dist/utils/document.d.ts +78 -3
  110. package/dist/utils/document.d.ts.map +1 -1
  111. package/dist/utils/document.js +73 -3
  112. package/dist/utils/document.js.map +1 -1
  113. package/dist/utils/errors.d.ts +87 -10
  114. package/dist/utils/errors.d.ts.map +1 -1
  115. package/dist/utils/errors.js +87 -10
  116. package/dist/utils/errors.js.map +1 -1
  117. package/dist/utils/handler-registry.js.map +1 -1
  118. package/dist/utils/logger.d.ts +79 -4
  119. package/dist/utils/logger.d.ts.map +1 -1
  120. package/dist/utils/logger.js +64 -5
  121. package/dist/utils/logger.js.map +1 -1
  122. package/dist/utils/pending-request-tracker.d.ts.map +1 -1
  123. package/dist/utils/pending-request-tracker.js.map +1 -1
  124. package/dist/utils/transport-attachment.js.map +1 -1
  125. package/package.json +6 -7
@@ -41,7 +41,12 @@ function getProperty(obj, key) {
41
41
  * Get the capability key for a given method at runtime
42
42
  */
43
43
  /**
44
- * Check if a method is supported by the given server capabilities
44
+ * Type-guarding predicate that narrows `capabilities` to include the specific
45
+ * server capability key required for the given client-to-server request method.
46
+ *
47
+ * @param method - The LSP request method string (e.g. `'textDocument/hover'`).
48
+ * @param capabilities - The `ServerCapabilities` object to test.
49
+ * @returns `true` when the server has declared support for the method.
45
50
  */
46
51
  export function serverSupportsRequest(method, capabilities) {
47
52
  const capabilityKey = getCapabilityForRequestMethod(method);
@@ -51,6 +56,14 @@ export function serverSupportsRequest(method, capabilities) {
51
56
  const value = getProperty(capabilities, capabilityKey);
52
57
  return value !== null && value !== undefined && value !== false;
53
58
  }
59
+ /**
60
+ * Type-guarding predicate that narrows `capabilities` to include the specific
61
+ * server capability key required for the given client-to-server notification method.
62
+ *
63
+ * @param method - The LSP notification method string (e.g. `'textDocument/didOpen'`).
64
+ * @param capabilities - The `ServerCapabilities` object to test.
65
+ * @returns `true` when the server has declared support for the method.
66
+ */
54
67
  export function serverSupportsNotification(method, capabilities) {
55
68
  const capabilityKey = getCapabilityForNotificationMethod(method);
56
69
  if (capabilityKey === 'alwaysOn' || capabilityKey === null) {
@@ -60,7 +73,12 @@ export function serverSupportsNotification(method, capabilities) {
60
73
  return value !== null && value !== undefined && value !== false;
61
74
  }
62
75
  /**
63
- * Check if a method is supported by the given client capabilities
76
+ * Type-guarding predicate that narrows `capabilities` to include the specific
77
+ * client capability key required for the given server-to-client request method.
78
+ *
79
+ * @param method - The LSP request method string (e.g. `'client/registerCapability'`).
80
+ * @param capabilities - The `ClientCapabilities` object to test.
81
+ * @returns `true` when the client has declared support for the method.
64
82
  */
65
83
  export function clientSupportsRequest(method, capabilities) {
66
84
  const capabilityKey = getClientCapabilityForRequestMethod(method);
@@ -70,6 +88,14 @@ export function clientSupportsRequest(method, capabilities) {
70
88
  const value = getProperty(capabilities, capabilityKey);
71
89
  return value !== null && value !== undefined && value !== false;
72
90
  }
91
+ /**
92
+ * Type-guarding predicate that narrows `capabilities` to include the specific
93
+ * client capability key required for the given server-to-client notification method.
94
+ *
95
+ * @param method - The LSP notification method string (e.g. `'window/logMessage'`).
96
+ * @param capabilities - The `ClientCapabilities` object to test.
97
+ * @returns `true` when the client has declared support for the method.
98
+ */
73
99
  export function clientSupportsNotification(method, capabilities) {
74
100
  const capabilityKey = getClientCapabilityForNotificationMethod(method);
75
101
  if (capabilityKey === 'alwaysOn' || capabilityKey === null) {
@@ -79,66 +105,106 @@ export function clientSupportsNotification(method, capabilities) {
79
105
  return value !== null && value !== undefined && value !== false;
80
106
  }
81
107
  /**
82
- * Check if a server capability is enabled
108
+ * Type-guarding predicate that narrows `capabilities` to confirm a specific server capability
109
+ * is enabled at a deep dot-notation path.
110
+ *
111
+ * @param capabilities - The server capabilities to check.
112
+ * @param capability - Dot-notation path of the capability (e.g. `'hoverProvider'`).
113
+ * @returns `true` when the capability at the given path is truthy.
83
114
  */
84
115
  export function hasServerCapability(capabilities, capability) {
85
116
  const value = getProperty(capabilities, capability);
86
117
  return value !== null && value !== undefined && value !== false;
87
118
  }
88
119
  /**
89
- * Check if a client capability is enabled
120
+ * Type-guarding predicate that narrows `capabilities` to confirm a specific client capability
121
+ * is enabled at a deep dot-notation path.
122
+ *
123
+ * @param capabilities - The client capabilities to check.
124
+ * @param capability - Dot-notation path of the capability (e.g. `'window.workDoneProgress'`).
125
+ * @returns `true` when the capability at the given path is truthy.
90
126
  */
91
127
  export function hasClientCapability(capabilities, capability) {
92
128
  const value = getProperty(capabilities, capability);
93
129
  return value !== null && value !== undefined && value !== false;
94
130
  }
95
131
  /**
96
- * Helper to check if hover is supported
132
+ * Returns `true` when `hoverProvider` is declared in the server capabilities.
133
+ *
134
+ * @param capabilities - The server capabilities to check.
135
+ * @returns `true` when hover is supported.
97
136
  */
98
137
  export function supportsHover(capabilities) {
99
138
  return serverSupportsRequest('textDocument/hover', capabilities);
100
139
  }
101
140
  /**
102
- * Helper to check if completion is supported
141
+ * Returns `true` when `completionProvider` is declared in the server capabilities.
142
+ *
143
+ * @param capabilities - The server capabilities to check.
144
+ * @returns `true` when completion is supported.
103
145
  */
104
146
  export function supportsCompletion(capabilities) {
105
147
  return serverSupportsRequest('textDocument/completion', capabilities);
106
148
  }
107
149
  /**
108
- * Helper to check if definition is supported
150
+ * Returns `true` when `definitionProvider` is declared in the server capabilities.
151
+ *
152
+ * @param capabilities - The server capabilities to check.
153
+ * @returns `true` when go-to-definition is supported.
109
154
  */
110
155
  export function supportsDefinition(capabilities) {
111
156
  return serverSupportsRequest('textDocument/definition', capabilities);
112
157
  }
113
158
  /**
114
- * Helper to check if references are supported
159
+ * Returns `true` when `referencesProvider` is declared in the server capabilities.
160
+ *
161
+ * @param capabilities - The server capabilities to check.
162
+ * @returns `true` when find-references is supported.
115
163
  */
116
164
  export function supportsReferences(capabilities) {
117
165
  return serverSupportsRequest('textDocument/references', capabilities);
118
166
  }
119
167
  /**
120
- * Helper to check if document symbols are supported
168
+ * Returns `true` when `documentSymbolProvider` is declared in the server capabilities.
169
+ *
170
+ * @param capabilities - The server capabilities to check.
171
+ * @returns `true` when document symbols are supported.
121
172
  */
122
173
  export function supportsDocumentSymbol(capabilities) {
123
174
  return serverSupportsRequest('textDocument/documentSymbol', capabilities);
124
175
  }
125
176
  /**
126
- * Helper to check if workspace folders are supported
177
+ * Returns `true` when the server supports workspace folders.
178
+ *
179
+ * @param capabilities - The server capabilities to check.
180
+ * @returns `true` when `workspace.workspaceFolders.supported` is `true`.
127
181
  */
128
182
  export function supportsWorkspaceFolders(capabilities) {
129
183
  return capabilities.workspace?.workspaceFolders?.supported === true;
130
184
  }
185
+ /**
186
+ * Helper to check if notebook document sync is supported by the server.
187
+ *
188
+ * @param capabilities - The server capabilities to check.
189
+ * @returns `true` when `notebookDocumentSync` is declared (not null/undefined).
190
+ */
131
191
  export function supportsNotebookDocumentSync(capabilities) {
132
192
  return (capabilities.notebookDocumentSync !== null && capabilities.notebookDocumentSync !== undefined);
133
193
  }
134
194
  /**
135
- * Helper to check if file watching is supported
195
+ * Returns `true` when the client supports dynamic file watching registration.
196
+ *
197
+ * @param capabilities - The client capabilities to check.
198
+ * @returns `true` when `workspace.didChangeWatchedFiles.dynamicRegistration` is `true`.
136
199
  */
137
200
  export function supportsFileWatching(capabilities) {
138
201
  return capabilities.workspace?.didChangeWatchedFiles?.dynamicRegistration === true;
139
202
  }
140
203
  /**
141
- * Helper to check if work done progress is supported
204
+ * Returns `true` when the client supports work done progress notifications.
205
+ *
206
+ * @param capabilities - The client capabilities to check.
207
+ * @returns `true` when `window.workDoneProgress` is `true`.
142
208
  */
143
209
  export function supportsWorkDoneProgress(capabilities) {
144
210
  return capabilities.window?.workDoneProgress === true;
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/protocol/capabilities.ts"],"names":[],"mappings":"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"}
@@ -84,6 +84,12 @@ export type ClientNotifications<ServerCaps extends Partial<ServerCapabilities>>
84
84
  }> as CamelCase<Method>]: TransformToClientSendMethod<LSPRequest[Namespace][Method], ServerCaps>;
85
85
  }>;
86
86
  }>>;
87
+ /**
88
+ * Typed namespace of client-to-server LSP request methods, filtered by the
89
+ * server's declared capabilities.
90
+ *
91
+ * @typeParam ServerCaps - The server capabilities shape.
92
+ */
87
93
  export type ClientRequests<ServerCaps extends Partial<ServerCapabilities>> = Simplify<RemoveNever<{
88
94
  [Namespace in KeyAsString<LSPRequest> as CamelCase<Namespace>]: RemoveNeverFromNamespace<{
89
95
  [Method in ConditionalKeys<LSPRequest[Namespace], {
@@ -126,45 +132,75 @@ export type ClientRequestHandlers<_ClientCaps extends Partial<ClientCapabilities
126
132
  [Namespace in keyof LSPRequest as CamelCase<Namespace>]: {
127
133
  [Method in keyof ConditionalPick<LSPRequest[Namespace], {
128
134
  Direction: 'serverToClient' | 'both';
129
- }> as `on${Method & string}Request`]: TransformToClientHandler<LSPRequest[Namespace][Method], _ClientCaps>;
135
+ }> as `on${Method & string}Request`]: TransformToClientHandler<LSPRequest[Namespace][Method & keyof LSPRequest[Namespace]], _ClientCaps>;
130
136
  };
131
137
  }>;
138
+ /**
139
+ * Typed namespace of server-to-client notification handler registration methods,
140
+ * filtered by the client's declared capabilities.
141
+ *
142
+ * @typeParam _ClientCaps - The client capabilities shape.
143
+ */
132
144
  export type ClientNotificationHandlers<_ClientCaps extends Partial<ClientCapabilities>> = RemoveNever<{
133
145
  [Namespace in keyof LSPNotification as CamelCase<Namespace>]: {
134
146
  [Method in keyof ConditionalPick<LSPNotification[Namespace], {
135
147
  Direction: 'serverToClient' | 'both';
136
- }> as `on${Method & string}Notification`]: TransformToClientHandler<LSPNotification[Namespace][Method], _ClientCaps>;
148
+ }> as `on${Method & string}Notification`]: TransformToClientHandler<LSPNotification[Namespace][Method & keyof LSPNotification[Namespace]], _ClientCaps>;
137
149
  };
138
150
  }>;
151
+ /**
152
+ * Typed namespace of server-to-client request send methods, filtered by the
153
+ * client's declared capabilities.
154
+ *
155
+ * @typeParam _ClientCaps - The client capabilities shape.
156
+ */
139
157
  export type ServerSendMethods<_ClientCaps extends Partial<ClientCapabilities> = ClientCapabilities> = Simplify<{
140
158
  [Namespace in KeyAsString<LSPRequest> as CamelCase<Namespace>]: RemoveNever<{
141
159
  [Method in keyof LSPRequest[Namespace] as CamelCase<Method & string>]: TransformToServerSendMethod<LSPRequest[Namespace][Method], _ClientCaps>;
142
160
  }>;
143
161
  }>;
162
+ /**
163
+ * Converts an LSP request type definition into a callable method signature
164
+ * `(params: P) => Promise<R>`.
165
+ */
144
166
  export type ToRequestSignature<T> = T extends {
145
167
  Method: string;
146
168
  Params: infer P;
147
169
  Result?: infer R;
148
170
  } ? (params: P) => Promise<R> : never;
171
+ /**
172
+ * Converts an LSP notification type definition into a fire-and-forget method
173
+ * signature `(params: P) => void`.
174
+ */
149
175
  export type ToNotificationSignature<T> = T extends {
150
176
  Method: string;
151
177
  Params: infer P;
152
178
  } ? (params: P) => void : never;
179
+ /**
180
+ * Converts an LSP request type definition into a handler registration signature
181
+ * `(handler: (params: P) => Promise<R> | R) => void`.
182
+ */
153
183
  export type ToRequestHandlerSignature<T> = T extends {
154
184
  Method: string;
155
185
  Params: infer P;
156
186
  Result?: infer R;
157
187
  } ? (handler: (params: P) => Promise<R> | R) => void : never;
188
+ /**
189
+ * Converts an LSP notification type definition into a handler registration
190
+ * signature `(handler: (params: P) => void) => void`.
191
+ */
158
192
  export type ToNotificationHandlerSignature<T> = T extends {
159
193
  Method: string;
160
194
  Params: infer P;
161
195
  } ? (handler: (params: P) => void) => void : never;
162
196
  export declare namespace Client {
197
+ /** Mapped type of all available LSP request methods and their handler signatures */
163
198
  type AvailableRequests<ClientCaps extends Partial<ClientCapabilities>, Requests extends Partial<LSPRequest> = LSPRequest> = Simplify<RemoveNever<{
164
199
  [Namespace in KeyAsString<LSPRequest> as CamelCase<Namespace>]: RemoveNeverFromNamespace<{
165
200
  [Method in keyof Requests[Namespace] as CamelCase<Method & string>]: IsClientCapabilityEnabled<ClientCaps, Requests[Namespace][Method]> extends true ? Requests[Namespace][Method] : never;
166
201
  }>;
167
202
  }>>;
203
+ /** Mapped type of all available LSP notification methods and their handler signatures */
168
204
  type AvailableNotifications<ClientCaps extends Partial<ClientCapabilities>, Notifications extends Partial<LSPNotification> = LSPNotification> = Simplify<RemoveNever<{
169
205
  [Namespace in KeyAsString<LSPNotification> as CamelCase<Namespace>]: RemoveNeverFromNamespace<{
170
206
  [Method in keyof Notifications[Namespace] as CamelCase<StripNamespaceSuffix<Namespace & string, Method & string>>]: IsClientCapabilityEnabled<ClientCaps, Notifications[Namespace][Method]> extends true ? Notifications[Namespace][Method] : never;
@@ -172,17 +208,26 @@ export declare namespace Client {
172
208
  }>>;
173
209
  }
174
210
  export declare namespace Server {
211
+ /** Mapped type of all available LSP request methods and their handler signatures */
175
212
  type AvailableRequests<ServerCaps extends Partial<ServerCapabilities>, Requests extends Partial<LSPRequest> = LSPRequest> = Simplify<RemoveNever<{
176
213
  [Namespace in KeyAsString<LSPRequest> as CamelCase<Namespace>]: RemoveNeverFromNamespace<{
177
214
  [Method in keyof Requests[Namespace] as CamelCase<Method & string>]: IsServerCapabilityEnabled<ServerCaps, Requests[Namespace][Method]> extends true ? Requests[Namespace][Method] : never;
178
215
  }>;
179
216
  }>>;
217
+ /** Mapped type of all available LSP notification methods and their handler signatures */
180
218
  type AvailableNotifications<ServerCaps extends Partial<ServerCapabilities>, Notifications extends Partial<LSPNotification> = LSPNotification> = Simplify<RemoveNever<{
181
219
  [Namespace in KeyAsString<LSPNotification> as CamelCase<Namespace>]: RemoveNeverFromNamespace<{
182
220
  [Method in keyof Notifications[Namespace] as CamelCase<StripNamespaceSuffix<Namespace & string, Method & string>>]: IsServerCapabilityEnabled<ServerCaps, Notifications[Namespace][Method]> extends true ? Notifications[Namespace][Method] : never;
183
221
  }>;
184
222
  }>>;
185
223
  }
224
+ /**
225
+ * The complete set of available LSP methods for a client/server capability pair,
226
+ * split by direction (client send, server send, handlers).
227
+ *
228
+ * @typeParam ClientCaps - The client capabilities shape.
229
+ * @typeParam ServerCaps - The server capabilities shape.
230
+ */
186
231
  export type AvailableMethods<ClientCaps extends Partial<ClientCapabilities>, ServerCaps extends Partial<ServerCapabilities>> = {
187
232
  client: {
188
233
  notifications: ConditionalPickDeep<Client.AvailableNotifications<ClientCaps>, {
@@ -213,6 +258,21 @@ export type AvailableMethods<ClientCaps extends Partial<ClientCapabilities>, Ser
213
258
  }>;
214
259
  };
215
260
  };
261
+ /**
262
+ * Capability-aware interface for an LSP client, combining typed request send
263
+ * methods, notification send methods, and server-to-client handler registrations.
264
+ *
265
+ * @remarks
266
+ * `Client<ClientCaps, ServerCaps>` is the type that `LSPClient.expect<ServerCaps>()`
267
+ * returns. Its namespaces (e.g. `client.textDocument.hover`) are only present
268
+ * when the corresponding capability exists in `ServerCaps`.
269
+ *
270
+ * Obtain a `Client`-typed reference via `LSPClient.expect<MyServerCaps>()` rather
271
+ * than constructing this type directly.
272
+ *
273
+ * @typeParam ClientCaps - The capabilities the client declared.
274
+ * @typeParam ServerCaps - The capabilities the server advertised.
275
+ */
216
276
  export type Client<ClientCaps extends Partial<ClientCapabilities> = ClientCapabilities, ServerCaps extends Partial<ServerCapabilities> = ServerCapabilities> = SimplifyDeep<{
217
277
  [K in keyof AvailableMethods<ClientCaps, ServerCaps>['client']['requests']]: {
218
278
  [Q in keyof AvailableMethods<ClientCaps, ServerCaps>['client']['requests'][K]]: ToRequestSignature<AvailableMethods<ClientCaps, ServerCaps>['client']['requests'][K][Q]>;
@@ -264,7 +324,15 @@ export type Server<ClientCaps extends Partial<ClientCapabilities> = ClientCapabi
264
324
  }>}`]: ToNotificationHandlerSignature<AvailableMethods<ClientCaps, ServerCaps>['server']['notificationHandlers'][K][Q]>;
265
325
  };
266
326
  }>;
327
+ /**
328
+ * Runtime map from every LSP request method string to the corresponding
329
+ * server capability key (or `undefined` for always-allowed methods).
330
+ */
267
331
  export declare const ClientRequestMethodToCapabilityMap: Map<string, string | undefined>;
332
+ /**
333
+ * Runtime map from every LSP notification method string to the corresponding
334
+ * server capability key (or `undefined` for always-allowed notifications).
335
+ */
268
336
  export declare const ClientNotificationMethodToCapabilityMap: Map<string, string | undefined>;
269
337
  export {};
270
338
  //# sourceMappingURL=capability-methods.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capability-methods.d.ts","sourceRoot":"","sources":["../../src/protocol/capability-methods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability-methods.d.ts","sourceRoot":"","sources":["../../src/protocol/capability-methods.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,17 @@
5
5
  * method interfaces that are conditionally visible based on declared capabilities.
6
6
  */
7
7
  import { LSPRequest, LSPNotification } from './namespaces.js';
8
+ /**
9
+ * Runtime map from every LSP request method string to the corresponding
10
+ * server capability key (or `undefined` for always-allowed methods).
11
+ */
8
12
  export const ClientRequestMethodToCapabilityMap = new Map(Object.values(LSPRequest)
9
13
  .flatMap((ns) => Object.values(ns))
10
14
  .map((req) => [req.Method, req.ServerCapability]));
15
+ /**
16
+ * Runtime map from every LSP notification method string to the corresponding
17
+ * server capability key (or `undefined` for always-allowed notifications).
18
+ */
11
19
  export const ClientNotificationMethodToCapabilityMap = new Map(Object.values(LSPNotification)
12
20
  .flatMap((ns) => Object.values(ns))
13
21
  .map((notif) => [notif.Method, notif.ServerCapability]));
@@ -1 +1 @@
1
- {"version":3,"file":"capability-methods.js","sourceRoot":"","sources":["../../src/protocol/capability-methods.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA8c9D,MAAM,CAAC,MAAM,kCAAkC,GAAoC,IAAI,GAAG,CACvF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAW;KACjC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAClC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,gBAAgB,CAAiC,CAAC,CACzF,CAAC;AAEF,MAAM,CAAC,MAAM,uCAAuC,GAAoC,IAAI,GAAG,CAC5F,MAAM,CAAC,MAAM,CAAC,eAAe,CAAW;KACtC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAClC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAiC,CAAC,CAC/F,CAAC"}
1
+ {"version":3,"file":"capability-methods.js","sourceRoot":"","sources":["../../src/protocol/capability-methods.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA0gB9D;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAoC,IAAI,GAAG,CACvF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAW;KACjC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAClC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,gBAAgB,CAAiC,CAAC,CACzF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAoC,IAAI,GAAG,CAC5F,MAAM,CAAC,MAAM,CAAC,eAAe,CAAW;KACtC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAClC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAiC,CAAC,CAC/F,CAAC"}
@@ -1,31 +1,51 @@
1
1
  import { z } from 'zod';
2
+ /**
3
+ * A single LSP dynamic capability registration entry.
4
+ *
5
+ * @remarks
6
+ * Sent by the server in a `client/registerCapability` request. The `id` is used
7
+ * later to unregister the capability via `client/unregisterCapability`.
8
+ */
2
9
  export interface DynamicRegistration {
10
+ /** Unique identifier for this registration, used to unregister it later. */
3
11
  id: string;
12
+ /** The LSP method this registration applies to. */
4
13
  method: string;
14
+ /** Optional method-specific registration options. */
5
15
  registerOptions?: unknown;
6
16
  }
7
17
  /** Controls compatibility behavior for dynamic registrations not declared by client capabilities. */
8
18
  export interface DynamicRegistrationBehavior {
19
+ /**
20
+ * When `true`, the client accepts dynamic registrations for capabilities it did not declare
21
+ * in the `initialize` request. Useful for compatibility with servers that over-register.
22
+ */
9
23
  allowUndeclaredDynamicRegistration?: boolean;
10
24
  }
11
25
  /** Params payload for `client/registerCapability`. */
12
26
  export interface RegisterCapabilityParams {
27
+ /** The capability registrations to apply. */
13
28
  registrations: DynamicRegistration[];
14
29
  }
15
30
  /** Entry used by `client/unregisterCapability`. */
16
31
  export interface UnregisterCapability {
32
+ /** The registration `id` returned by the original `client/registerCapability` request. */
17
33
  id: string;
34
+ /** The LSP method to unregister. */
18
35
  method: string;
19
36
  }
20
37
  /** Params payload for `client/unregisterCapability`. */
21
38
  export interface UnregisterCapabilityParams {
39
+ /** The capability unregistration entries to apply. */
22
40
  unregisterations: UnregisterCapability[];
23
41
  }
42
+ /** Zod schema for validating a single dynamic-registration entry. */
24
43
  export declare const dynamicRegistrationSchema: z.ZodObject<{
25
44
  id: z.ZodString;
26
45
  method: z.ZodString;
27
46
  registerOptions: z.ZodOptional<z.ZodUnknown>;
28
47
  }, z.core.$strip>;
48
+ /** Zod schema for validating `client/registerCapability` params. */
29
49
  export declare const registerCapabilityParamsSchema: z.ZodObject<{
30
50
  registrations: z.ZodArray<z.ZodObject<{
31
51
  id: z.ZodString;
@@ -33,18 +53,30 @@ export declare const registerCapabilityParamsSchema: z.ZodObject<{
33
53
  registerOptions: z.ZodOptional<z.ZodUnknown>;
34
54
  }, z.core.$strip>>;
35
55
  }, z.core.$strip>;
56
+ /** Zod schema for validating a single capability unregistration entry. */
36
57
  export declare const unregisterCapabilitySchema: z.ZodObject<{
37
58
  id: z.ZodString;
38
59
  method: z.ZodString;
39
60
  }, z.core.$strip>;
61
+ /** Zod schema for validating `client/unregisterCapability` params. */
40
62
  export declare const unregisterCapabilityParamsSchema: z.ZodObject<{
41
63
  unregisterations: z.ZodArray<z.ZodObject<{
42
64
  id: z.ZodString;
43
65
  method: z.ZodString;
44
66
  }, z.core.$strip>>;
45
67
  }, z.core.$strip>;
46
- /** Runtime guard for register-capability params. */
68
+ /**
69
+ * Runtime guard for register-capability params.
70
+ *
71
+ * @param value - The unknown value to test.
72
+ * @returns `true` when `value` is a valid `RegisterCapabilityParams` object.
73
+ */
47
74
  export declare function isRegisterCapabilityParams(value: unknown): value is RegisterCapabilityParams;
48
- /** Runtime guard for unregister-capability params. */
75
+ /**
76
+ * Runtime guard for unregister-capability params.
77
+ *
78
+ * @param value - The unknown value to test.
79
+ * @returns `true` when `value` is a valid `UnregisterCapabilityParams` object.
80
+ */
49
81
  export declare function isUnregisterCapabilityParams(value: unknown): value is UnregisterCapabilityParams;
50
82
  //# sourceMappingURL=dynamic-registration.d.ts.map
@@ -1 +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"}
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;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qGAAqG;AACrG,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,6CAA6C;IAC7C,aAAa,EAAE,mBAAmB,EAAE,CAAC;CACtC;AAED,mDAAmD;AACnD,MAAM,WAAW,oBAAoB;IACnC,0FAA0F;IAC1F,EAAE,EAAE,MAAM,CAAC;IACX,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wDAAwD;AACxD,MAAM,WAAW,0BAA0B;IACzC,sDAAsD;IACtD,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;CAC1C;AAED,qEAAqE;AACrE,eAAO,MAAM,yBAAyB;;;;iBAIpC,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,8BAA8B;;;;;;iBAEzC,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B;;;iBAGrC,CAAC;AAEH,sEAAsE;AACtE,eAAO,MAAM,gCAAgC;;;;;iBAE3C,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,wBAAwB,CAE5F;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,0BAA0B,CAEhG"}
@@ -1,24 +1,38 @@
1
1
  import { z } from 'zod';
2
+ /** Zod schema for validating a single dynamic-registration entry. */
2
3
  export const dynamicRegistrationSchema = z.object({
3
4
  id: z.string().min(1),
4
5
  method: z.string().min(1),
5
6
  registerOptions: z.unknown().optional()
6
7
  });
8
+ /** Zod schema for validating `client/registerCapability` params. */
7
9
  export const registerCapabilityParamsSchema = z.object({
8
10
  registrations: z.array(dynamicRegistrationSchema)
9
11
  });
12
+ /** Zod schema for validating a single capability unregistration entry. */
10
13
  export const unregisterCapabilitySchema = z.object({
11
14
  id: z.string().min(1),
12
15
  method: z.string().min(1)
13
16
  });
17
+ /** Zod schema for validating `client/unregisterCapability` params. */
14
18
  export const unregisterCapabilityParamsSchema = z.object({
15
19
  unregisterations: z.array(unregisterCapabilitySchema)
16
20
  });
17
- /** Runtime guard for register-capability params. */
21
+ /**
22
+ * Runtime guard for register-capability params.
23
+ *
24
+ * @param value - The unknown value to test.
25
+ * @returns `true` when `value` is a valid `RegisterCapabilityParams` object.
26
+ */
18
27
  export function isRegisterCapabilityParams(value) {
19
28
  return registerCapabilityParamsSchema.safeParse(value).success;
20
29
  }
21
- /** Runtime guard for unregister-capability params. */
30
+ /**
31
+ * Runtime guard for unregister-capability params.
32
+ *
33
+ * @param value - The unknown value to test.
34
+ * @returns `true` when `value` is a valid `UnregisterCapabilityParams` object.
35
+ */
22
36
  export function isUnregisterCapabilityParams(value) {
23
37
  return unregisterCapabilityParamsSchema.safeParse(value).success;
24
38
  }
@@ -1 +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"}
1
+ {"version":3,"file":"dynamic-registration.js","sourceRoot":"","sources":["../../src/protocol/dynamic-registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA+CxB,qEAAqE;AACrE,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,oEAAoE;AACpE,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;CAClD,CAAC,CAAC;AAEH,0EAA0E;AAC1E,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,sEAAsE;AACtE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;CACtD,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,OAAO,8BAA8B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACzD,OAAO,gCAAgC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AACnE,CAAC"}