@lspeasy/core 1.0.1

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 (155) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +550 -0
  3. package/dist/index.d.ts +44 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +32 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/jsonrpc/framing.d.ts +32 -0
  8. package/dist/jsonrpc/framing.d.ts.map +1 -0
  9. package/dist/jsonrpc/framing.js +96 -0
  10. package/dist/jsonrpc/framing.js.map +1 -0
  11. package/dist/jsonrpc/messages.d.ts +64 -0
  12. package/dist/jsonrpc/messages.d.ts.map +1 -0
  13. package/dist/jsonrpc/messages.js +23 -0
  14. package/dist/jsonrpc/messages.js.map +1 -0
  15. package/dist/jsonrpc/reader.d.ts +44 -0
  16. package/dist/jsonrpc/reader.d.ts.map +1 -0
  17. package/dist/jsonrpc/reader.js +107 -0
  18. package/dist/jsonrpc/reader.js.map +1 -0
  19. package/dist/jsonrpc/schemas.d.ts +103 -0
  20. package/dist/jsonrpc/schemas.d.ts.map +1 -0
  21. package/dist/jsonrpc/schemas.js +66 -0
  22. package/dist/jsonrpc/schemas.js.map +1 -0
  23. package/dist/jsonrpc/writer.d.ts +43 -0
  24. package/dist/jsonrpc/writer.d.ts.map +1 -0
  25. package/dist/jsonrpc/writer.js +110 -0
  26. package/dist/jsonrpc/writer.js.map +1 -0
  27. package/dist/middleware/compose.d.ts +3 -0
  28. package/dist/middleware/compose.d.ts.map +1 -0
  29. package/dist/middleware/compose.js +16 -0
  30. package/dist/middleware/compose.js.map +1 -0
  31. package/dist/middleware/index.d.ts +6 -0
  32. package/dist/middleware/index.d.ts.map +1 -0
  33. package/dist/middleware/index.js +5 -0
  34. package/dist/middleware/index.js.map +1 -0
  35. package/dist/middleware/pipeline.d.ts +5 -0
  36. package/dist/middleware/pipeline.d.ts.map +1 -0
  37. package/dist/middleware/pipeline.js +54 -0
  38. package/dist/middleware/pipeline.js.map +1 -0
  39. package/dist/middleware/scoped.d.ts +9 -0
  40. package/dist/middleware/scoped.d.ts.map +1 -0
  41. package/dist/middleware/scoped.js +20 -0
  42. package/dist/middleware/scoped.js.map +1 -0
  43. package/dist/middleware/typed.d.ts +3 -0
  44. package/dist/middleware/typed.d.ts.map +1 -0
  45. package/dist/middleware/typed.js +18 -0
  46. package/dist/middleware/typed.js.map +1 -0
  47. package/dist/middleware/types.d.ts +45 -0
  48. package/dist/middleware/types.d.ts.map +1 -0
  49. package/dist/middleware/types.js +2 -0
  50. package/dist/middleware/types.js.map +1 -0
  51. package/dist/protocol/capabilities.d.ts +93 -0
  52. package/dist/protocol/capabilities.d.ts.map +1 -0
  53. package/dist/protocol/capabilities.js +143 -0
  54. package/dist/protocol/capabilities.js.map +1 -0
  55. package/dist/protocol/capability-methods.d.ts +270 -0
  56. package/dist/protocol/capability-methods.d.ts.map +1 -0
  57. package/dist/protocol/capability-methods.js +14 -0
  58. package/dist/protocol/capability-methods.js.map +1 -0
  59. package/dist/protocol/enums.d.ts +336 -0
  60. package/dist/protocol/enums.d.ts.map +1 -0
  61. package/dist/protocol/enums.js +417 -0
  62. package/dist/protocol/enums.js.map +1 -0
  63. package/dist/protocol/infer.d.ts +112 -0
  64. package/dist/protocol/infer.d.ts.map +1 -0
  65. package/dist/protocol/infer.js +58 -0
  66. package/dist/protocol/infer.js.map +1 -0
  67. package/dist/protocol/namespaces.d.ts +1432 -0
  68. package/dist/protocol/namespaces.d.ts.map +1 -0
  69. package/dist/protocol/namespaces.js +570 -0
  70. package/dist/protocol/namespaces.js.map +1 -0
  71. package/dist/protocol/partial.d.ts +29 -0
  72. package/dist/protocol/partial.d.ts.map +1 -0
  73. package/dist/protocol/partial.js +24 -0
  74. package/dist/protocol/partial.js.map +1 -0
  75. package/dist/protocol/progress.d.ts +32 -0
  76. package/dist/protocol/progress.d.ts.map +1 -0
  77. package/dist/protocol/progress.js +60 -0
  78. package/dist/protocol/progress.js.map +1 -0
  79. package/dist/protocol/schemas.d.ts +534 -0
  80. package/dist/protocol/schemas.d.ts.map +1 -0
  81. package/dist/protocol/schemas.js +271 -0
  82. package/dist/protocol/schemas.js.map +1 -0
  83. package/dist/protocol/types.d.ts +19 -0
  84. package/dist/protocol/types.d.ts.map +1 -0
  85. package/dist/protocol/types.js +8 -0
  86. package/dist/protocol/types.js.map +1 -0
  87. package/dist/protocol/watching.d.ts +29 -0
  88. package/dist/protocol/watching.d.ts.map +1 -0
  89. package/dist/protocol/watching.js +36 -0
  90. package/dist/protocol/watching.js.map +1 -0
  91. package/dist/protocol/workspace.d.ts +24 -0
  92. package/dist/protocol/workspace.d.ts.map +1 -0
  93. package/dist/protocol/workspace.js +26 -0
  94. package/dist/protocol/workspace.js.map +1 -0
  95. package/dist/transport/events.d.ts +27 -0
  96. package/dist/transport/events.d.ts.map +1 -0
  97. package/dist/transport/events.js +34 -0
  98. package/dist/transport/events.js.map +1 -0
  99. package/dist/transport/stdio.d.ts +55 -0
  100. package/dist/transport/stdio.d.ts.map +1 -0
  101. package/dist/transport/stdio.js +147 -0
  102. package/dist/transport/stdio.js.map +1 -0
  103. package/dist/transport/transport.d.ts +38 -0
  104. package/dist/transport/transport.d.ts.map +1 -0
  105. package/dist/transport/transport.js +5 -0
  106. package/dist/transport/transport.js.map +1 -0
  107. package/dist/transport/websocket.d.ts +142 -0
  108. package/dist/transport/websocket.d.ts.map +1 -0
  109. package/dist/transport/websocket.js +324 -0
  110. package/dist/transport/websocket.js.map +1 -0
  111. package/dist/utils/cancellation.d.ts +47 -0
  112. package/dist/utils/cancellation.d.ts.map +1 -0
  113. package/dist/utils/cancellation.js +77 -0
  114. package/dist/utils/cancellation.js.map +1 -0
  115. package/dist/utils/disposable-event-emitter.d.ts +26 -0
  116. package/dist/utils/disposable-event-emitter.d.ts.map +1 -0
  117. package/dist/utils/disposable-event-emitter.js +62 -0
  118. package/dist/utils/disposable-event-emitter.js.map +1 -0
  119. package/dist/utils/disposable.d.ts +34 -0
  120. package/dist/utils/disposable.d.ts.map +1 -0
  121. package/dist/utils/disposable.js +55 -0
  122. package/dist/utils/disposable.js.map +1 -0
  123. package/dist/utils/document.d.ts +20 -0
  124. package/dist/utils/document.d.ts.map +1 -0
  125. package/dist/utils/document.js +54 -0
  126. package/dist/utils/document.js.map +1 -0
  127. package/dist/utils/errors.d.ts +69 -0
  128. package/dist/utils/errors.d.ts.map +1 -0
  129. package/dist/utils/errors.js +104 -0
  130. package/dist/utils/errors.js.map +1 -0
  131. package/dist/utils/handler-registry.d.ts +35 -0
  132. package/dist/utils/handler-registry.d.ts.map +1 -0
  133. package/dist/utils/handler-registry.js +68 -0
  134. package/dist/utils/handler-registry.js.map +1 -0
  135. package/dist/utils/index.d.ts +5 -0
  136. package/dist/utils/index.d.ts.map +1 -0
  137. package/dist/utils/index.js +4 -0
  138. package/dist/utils/index.js.map +1 -0
  139. package/dist/utils/internal.d.ts +3 -0
  140. package/dist/utils/internal.d.ts.map +1 -0
  141. package/dist/utils/internal.js +3 -0
  142. package/dist/utils/internal.js.map +1 -0
  143. package/dist/utils/logger.d.ts +47 -0
  144. package/dist/utils/logger.d.ts.map +1 -0
  145. package/dist/utils/logger.js +61 -0
  146. package/dist/utils/logger.js.map +1 -0
  147. package/dist/utils/pending-request-tracker.d.ts +36 -0
  148. package/dist/utils/pending-request-tracker.d.ts.map +1 -0
  149. package/dist/utils/pending-request-tracker.js +93 -0
  150. package/dist/utils/pending-request-tracker.js.map +1 -0
  151. package/dist/utils/transport-attachment.d.ts +34 -0
  152. package/dist/utils/transport-attachment.d.ts.map +1 -0
  153. package/dist/utils/transport-attachment.js +48 -0
  154. package/dist/utils/transport-attachment.js.map +1 -0
  155. package/package.json +87 -0
@@ -0,0 +1,270 @@
1
+ /**
2
+ * Capability-conditional method types
3
+ *
4
+ * These types transform LSPRequest and LSPNotification into strongly-typed
5
+ * method interfaces that are conditionally visible based on declared capabilities.
6
+ */
7
+ import type { ServerCapabilities, ClientCapabilities } from './types.js';
8
+ import { LSPRequest, LSPNotification } from './namespaces.js';
9
+ import type { CamelCase, ConditionalKeys, ConditionalPick, ConditionalPickDeep, KeyAsString, PascalCase, Paths, Simplify, SimplifyDeep } from 'type-fest';
10
+ /**
11
+ * Helper type to check if a capability is enabled
12
+ */
13
+ type IsServerCapabilityEnabled<Caps, A = Record<string, any>> = A extends {
14
+ ServerCapability: infer Cap;
15
+ } ? Cap extends Paths<Caps> ? true : false : true;
16
+ type IsClientCapabilityEnabled<Caps, A = Record<string, any>> = A extends {
17
+ ClientCapability: infer Cap;
18
+ } ? Cap extends Paths<Caps> ? true : false : true;
19
+ type StripNamespaceSuffix<Namespace extends string, Method extends string> = Method extends `${infer Prefix}${Namespace}` ? Prefix : Method;
20
+ /**
21
+ * Transform a request type definition into a method signature
22
+ * Only included if the server capability is enabled
23
+ */
24
+ type TransformToClientSendMethod<T, ServerCaps> = T extends {
25
+ Method: string;
26
+ Params: infer P;
27
+ Result?: infer R;
28
+ Direction: 'clientToServer' | 'both';
29
+ } ? IsServerCapabilityEnabled<ServerCaps, T> extends false ? never : (params: P) => Promise<R> : never;
30
+ /**
31
+ * Transform a request type definition into a server handler registration
32
+ */
33
+ type TransformToServerHandler<T, ServerCaps> = T extends {
34
+ Method: string;
35
+ Params: infer P;
36
+ Result?: infer R;
37
+ Direction: 'clientToServer' | 'both';
38
+ } ? IsServerCapabilityEnabled<ServerCaps, T> extends false ? never : (handler: (params: P) => Promise<R> | R) => void : never;
39
+ /**
40
+ * Transform a request type definition into a server sending method
41
+ */
42
+ type TransformToServerSendMethod<T, ClientCaps> = T extends {
43
+ Method: string;
44
+ Params: infer P;
45
+ Result?: infer R;
46
+ Direction: 'serverToClient' | 'both';
47
+ } ? IsClientCapabilityEnabled<ClientCaps, T> extends false ? never : (params: P) => Promise<R> : never;
48
+ /**
49
+ * Transform a request type definition into a client handler registration
50
+ */
51
+ type TransformToClientHandler<T, ClientCaps> = T extends {
52
+ Method: string;
53
+ Params: infer P;
54
+ Result?: infer R;
55
+ Direction: 'serverToClient' | 'both';
56
+ } ? IsClientCapabilityEnabled<ClientCaps, T> extends false ? never : (handler: (params: P) => Promise<R> | R) => void : never;
57
+ /**
58
+ * Remove 'never' properties from an object type
59
+ */
60
+ type RemoveNever<T> = Simplify<{
61
+ [K in keyof T as T[K] extends never ? never : keyof T[K] extends never ? never : K]: T[K];
62
+ }>;
63
+ /**
64
+ * Remove 'never' properties from nested namespace objects
65
+ */
66
+ type RemoveNeverFromNamespace<T> = Simplify<{
67
+ [K in keyof T as T[K] extends never ? never : K]: T[K];
68
+ }>;
69
+ /**
70
+ * Client methods for sending requests to server
71
+ * Methods are conditionally visible based on ServerCapabilities
72
+ *
73
+ * @example
74
+ * type MyCaps = { hoverProvider: true; completionProvider: { triggerCharacters: ['.'] } };
75
+ * type MyMethods = ClientSendMethods<MyCaps>;
76
+ * // MyMethods.textDocument.hover is available
77
+ * // MyMethods.textDocument.completion is available
78
+ * // MyMethods.textDocument.definition is 'never' (not in capabilities)
79
+ */
80
+ export type ClientNotifications<ServerCaps extends Partial<ServerCapabilities>> = Simplify<RemoveNever<{
81
+ [Namespace in KeyAsString<LSPRequest> as CamelCase<Namespace>]: RemoveNeverFromNamespace<{
82
+ [Method in ConditionalKeys<LSPRequest[Namespace], {
83
+ Direction: 'clientToServer' | 'both';
84
+ }> as CamelCase<Method>]: TransformToClientSendMethod<LSPRequest[Namespace][Method], ServerCaps>;
85
+ }>;
86
+ }>>;
87
+ export type ClientRequests<ServerCaps extends Partial<ServerCapabilities>> = Simplify<RemoveNever<{
88
+ [Namespace in KeyAsString<LSPRequest> as CamelCase<Namespace>]: RemoveNeverFromNamespace<{
89
+ [Method in ConditionalKeys<LSPRequest[Namespace], {
90
+ Direction: 'clientToServer' | 'both';
91
+ }> as CamelCase<Method>]: TransformToClientSendMethod<LSPRequest[Namespace][Method], ServerCaps>;
92
+ }>;
93
+ }>>;
94
+ /**
95
+ * Server handler registration methods (for requests from client)
96
+ * Handlers are conditionally visible based on ServerCapabilities
97
+ *
98
+ * @example
99
+ * type MyCaps = { hoverProvider: true };
100
+ * type MyHandlers = ServerHandlers<MyCaps>;
101
+ * // MyHandlers.textDocument.onHover is available
102
+ * // MyHandlers.textDocument.onCompletion is removed
103
+ */
104
+ export type ServerHandlers<ServerCaps extends Partial<ServerCapabilities>> = Simplify<RemoveNever<{
105
+ [Namespace in KeyAsString<LSPRequest> as CamelCase<Namespace>]: RemoveNeverFromNamespace<{
106
+ [Method in keyof LSPRequest[Namespace] as `on${Method & string}`]: TransformToServerHandler<LSPRequest[Namespace][Method], ServerCaps>;
107
+ }>;
108
+ }>>;
109
+ /**
110
+ * Server methods for sending requests to client
111
+ *
112
+ * @example
113
+ * type MyMethods = ServerSendMethods<ClientCapabilities>;
114
+ * // MyMethods.window.showMessageRequest(params)
115
+ * // MyMethods.workspace.applyWorkspaceEdit(params)
116
+ */
117
+ /**
118
+ * Client handler registration methods (for requests from server)
119
+ *
120
+ * @example
121
+ * type MyHandlers = ClientHandlers<ClientCapabilities>;
122
+ * // client.onShowMessageRequest(handler)
123
+ * // client.onApplyWorkspaceEdit(handler)
124
+ */
125
+ export type ClientRequestHandlers<_ClientCaps extends Partial<ClientCapabilities>> = RemoveNever<{
126
+ [Namespace in keyof LSPRequest as CamelCase<Namespace>]: {
127
+ [Method in keyof ConditionalPick<LSPRequest[Namespace], {
128
+ Direction: 'serverToClient' | 'both';
129
+ }> as `on${Method & string}Request`]: TransformToClientHandler<LSPRequest[Namespace][Method], _ClientCaps>;
130
+ };
131
+ }>;
132
+ export type ClientNotificationHandlers<_ClientCaps extends Partial<ClientCapabilities>> = RemoveNever<{
133
+ [Namespace in keyof LSPNotification as CamelCase<Namespace>]: {
134
+ [Method in keyof ConditionalPick<LSPNotification[Namespace], {
135
+ Direction: 'serverToClient' | 'both';
136
+ }> as `on${Method & string}Notification`]: TransformToClientHandler<LSPNotification[Namespace][Method], _ClientCaps>;
137
+ };
138
+ }>;
139
+ export type ServerSendMethods<_ClientCaps extends Partial<ClientCapabilities> = ClientCapabilities> = Simplify<{
140
+ [Namespace in KeyAsString<LSPRequest> as CamelCase<Namespace>]: RemoveNever<{
141
+ [Method in keyof LSPRequest[Namespace] as CamelCase<Method & string>]: TransformToServerSendMethod<LSPRequest[Namespace][Method], _ClientCaps>;
142
+ }>;
143
+ }>;
144
+ export type ToRequestSignature<T> = T extends {
145
+ Method: string;
146
+ Params: infer P;
147
+ Result?: infer R;
148
+ } ? (params: P) => Promise<R> : never;
149
+ export type ToNotificationSignature<T> = T extends {
150
+ Method: string;
151
+ Params: infer P;
152
+ } ? (params: P) => void : never;
153
+ export type ToRequestHandlerSignature<T> = T extends {
154
+ Method: string;
155
+ Params: infer P;
156
+ Result?: infer R;
157
+ } ? (handler: (params: P) => Promise<R> | R) => void : never;
158
+ export type ToNotificationHandlerSignature<T> = T extends {
159
+ Method: string;
160
+ Params: infer P;
161
+ } ? (handler: (params: P) => void) => void : never;
162
+ export declare namespace Client {
163
+ type AvailableRequests<ClientCaps extends Partial<ClientCapabilities>, Requests extends Partial<LSPRequest> = LSPRequest> = Simplify<RemoveNever<{
164
+ [Namespace in KeyAsString<LSPRequest> as CamelCase<Namespace>]: RemoveNeverFromNamespace<{
165
+ [Method in keyof Requests[Namespace] as CamelCase<Method & string>]: IsClientCapabilityEnabled<ClientCaps, Requests[Namespace][Method]> extends true ? Requests[Namespace][Method] : never;
166
+ }>;
167
+ }>>;
168
+ type AvailableNotifications<ClientCaps extends Partial<ClientCapabilities>, Notifications extends Partial<LSPNotification> = LSPNotification> = Simplify<RemoveNever<{
169
+ [Namespace in KeyAsString<LSPNotification> as CamelCase<Namespace>]: RemoveNeverFromNamespace<{
170
+ [Method in keyof Notifications[Namespace] as CamelCase<StripNamespaceSuffix<Namespace & string, Method & string>>]: IsClientCapabilityEnabled<ClientCaps, Notifications[Namespace][Method]> extends true ? Notifications[Namespace][Method] : never;
171
+ }>;
172
+ }>>;
173
+ }
174
+ export declare namespace Server {
175
+ type AvailableRequests<ServerCaps extends Partial<ServerCapabilities>, Requests extends Partial<LSPRequest> = LSPRequest> = Simplify<RemoveNever<{
176
+ [Namespace in KeyAsString<LSPRequest> as CamelCase<Namespace>]: RemoveNeverFromNamespace<{
177
+ [Method in keyof Requests[Namespace] as CamelCase<Method & string>]: IsServerCapabilityEnabled<ServerCaps, Requests[Namespace][Method]> extends true ? Requests[Namespace][Method] : never;
178
+ }>;
179
+ }>>;
180
+ type AvailableNotifications<ServerCaps extends Partial<ServerCapabilities>, Notifications extends Partial<LSPNotification> = LSPNotification> = Simplify<RemoveNever<{
181
+ [Namespace in KeyAsString<LSPNotification> as CamelCase<Namespace>]: RemoveNeverFromNamespace<{
182
+ [Method in keyof Notifications[Namespace] as CamelCase<StripNamespaceSuffix<Namespace & string, Method & string>>]: IsServerCapabilityEnabled<ServerCaps, Notifications[Namespace][Method]> extends true ? Notifications[Namespace][Method] : never;
183
+ }>;
184
+ }>>;
185
+ }
186
+ export type AvailableMethods<ClientCaps extends Partial<ClientCapabilities>, ServerCaps extends Partial<ServerCapabilities>> = {
187
+ client: {
188
+ notifications: ConditionalPickDeep<Client.AvailableNotifications<ClientCaps>, {
189
+ Direction: 'clientToServer' | 'both';
190
+ }>;
191
+ requests: ConditionalPickDeep<Client.AvailableRequests<ClientCaps>, {
192
+ Direction: 'clientToServer' | 'both';
193
+ }>;
194
+ requestHandlers: ConditionalPickDeep<Client.AvailableRequests<ClientCaps>, {
195
+ Direction: 'serverToClient' | 'both';
196
+ }>;
197
+ notificationHandlers: ConditionalPickDeep<Client.AvailableNotifications<ClientCaps>, {
198
+ Direction: 'serverToClient' | 'both';
199
+ }>;
200
+ };
201
+ server: {
202
+ notifications: ConditionalPickDeep<Server.AvailableNotifications<ServerCaps>, {
203
+ Direction: 'serverToClient' | 'both';
204
+ }>;
205
+ requests: ConditionalPickDeep<Server.AvailableRequests<ServerCaps>, {
206
+ Direction: 'serverToClient' | 'both';
207
+ }>;
208
+ requestHandlers: ConditionalPickDeep<Server.AvailableRequests<ServerCaps>, {
209
+ Direction: 'clientToServer' | 'both';
210
+ }>;
211
+ notificationHandlers: ConditionalPickDeep<Server.AvailableNotifications<ServerCaps>, {
212
+ Direction: 'clientToServer' | 'both';
213
+ }>;
214
+ };
215
+ };
216
+ export type Client<ClientCaps extends Partial<ClientCapabilities> = ClientCapabilities, ServerCaps extends Partial<ServerCapabilities> = ServerCapabilities> = SimplifyDeep<{
217
+ [K in keyof AvailableMethods<ClientCaps, ServerCaps>['client']['requests']]: {
218
+ [Q in keyof AvailableMethods<ClientCaps, ServerCaps>['client']['requests'][K]]: ToRequestSignature<AvailableMethods<ClientCaps, ServerCaps>['client']['requests'][K][Q]>;
219
+ };
220
+ } & {
221
+ [K in keyof AvailableMethods<ClientCaps, ServerCaps>['client']['notifications']]: {
222
+ [Q in keyof AvailableMethods<ClientCaps, ServerCaps>['client']['notifications'][K]]: ToNotificationSignature<AvailableMethods<ClientCaps, ServerCaps>['client']['notifications'][K][Q]>;
223
+ };
224
+ } & {
225
+ [K in keyof AvailableMethods<ClientCaps, ServerCaps>['client']['requestHandlers']]: {
226
+ [Q in keyof AvailableMethods<ClientCaps, ServerCaps>['client']['requestHandlers'][K] as `on${PascalCase<string & Q, {
227
+ preserveConsecutiveUppercase: true;
228
+ }>}`]: ToRequestHandlerSignature<AvailableMethods<ClientCaps, ServerCaps>['client']['requestHandlers'][K][Q]>;
229
+ };
230
+ } & {
231
+ [K in keyof AvailableMethods<ClientCaps, ServerCaps>['client']['notificationHandlers']]: {
232
+ [Q in keyof AvailableMethods<ClientCaps, ServerCaps>['client']['notificationHandlers'][K] as `on${PascalCase<string & Q, {
233
+ preserveConsecutiveUppercase: true;
234
+ }>}`]: ToNotificationHandlerSignature<AvailableMethods<ClientCaps, ServerCaps>['client']['notificationHandlers'][K][Q]>;
235
+ };
236
+ }>;
237
+ /**
238
+ * Combined Server type with handlers and send methods
239
+ *
240
+ * @example
241
+ * type MyCaps = { hoverProvider: true };
242
+ * type MyServer = Server<ClientCapabilities, MyCaps>;
243
+ * // server.textDocument.onHover is available
244
+ * // server.window.showMessage is available for sending
245
+ */
246
+ export type Server<ClientCaps extends Partial<ClientCapabilities> = ClientCapabilities, ServerCaps extends Partial<ServerCapabilities> = ServerCapabilities> = SimplifyDeep<{
247
+ [K in keyof AvailableMethods<ClientCaps, ServerCaps>['server']['requests']]: {
248
+ [Q in keyof AvailableMethods<ClientCaps, ServerCaps>['server']['requests'][K]]: ToRequestSignature<AvailableMethods<ClientCaps, ServerCaps>['server']['requests'][K][Q]>;
249
+ };
250
+ } & {
251
+ [K in keyof AvailableMethods<ClientCaps, ServerCaps>['server']['notifications']]: {
252
+ [Q in keyof AvailableMethods<ClientCaps, ServerCaps>['server']['notifications'][K]]: ToNotificationSignature<AvailableMethods<ClientCaps, ServerCaps>['server']['notifications'][K][Q]>;
253
+ };
254
+ } & {
255
+ [K in keyof AvailableMethods<ClientCaps, ServerCaps>['server']['requestHandlers']]: {
256
+ [Q in keyof AvailableMethods<ClientCaps, ServerCaps>['server']['requestHandlers'][K] as `on${PascalCase<string & Q, {
257
+ preserveConsecutiveUppercase: true;
258
+ }>}`]: ToRequestHandlerSignature<AvailableMethods<ClientCaps, ServerCaps>['server']['requestHandlers'][K][Q]>;
259
+ };
260
+ } & {
261
+ [K in keyof AvailableMethods<ClientCaps, ServerCaps>['server']['notificationHandlers']]: {
262
+ [Q in keyof AvailableMethods<ClientCaps, ServerCaps>['server']['notificationHandlers'][K] as `on${PascalCase<string & Q, {
263
+ preserveConsecutiveUppercase: true;
264
+ }>}`]: ToNotificationHandlerSignature<AvailableMethods<ClientCaps, ServerCaps>['server']['notificationHandlers'][K][Q]>;
265
+ };
266
+ }>;
267
+ export declare const ClientRequestMethodToCapabilityMap: Map<string, string | undefined>;
268
+ export declare const ClientNotificationMethodToCapabilityMap: Map<string, string | undefined>;
269
+ export {};
270
+ //# sourceMappingURL=capability-methods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-methods.d.ts","sourceRoot":"","sources":["../../src/protocol/capability-methods.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Capability-conditional method types
3
+ *
4
+ * These types transform LSPRequest and LSPNotification into strongly-typed
5
+ * method interfaces that are conditionally visible based on declared capabilities.
6
+ */
7
+ import { LSPRequest, LSPNotification } from './namespaces.js';
8
+ export const ClientRequestMethodToCapabilityMap = new Map(Object.values(LSPRequest)
9
+ .flatMap((ns) => Object.values(ns))
10
+ .map((req) => [req.Method, req.ServerCapability]));
11
+ export const ClientNotificationMethodToCapabilityMap = new Map(Object.values(LSPNotification)
12
+ .flatMap((ns) => Object.values(ns))
13
+ .map((notif) => [notif.Method, notif.ServerCapability]));
14
+ //# sourceMappingURL=capability-methods.js.map
@@ -0,0 +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"}
@@ -0,0 +1,336 @@
1
+ /**
2
+ * LSP Protocol Enums
3
+ *
4
+ * Auto-generated from metaModel.json
5
+ * DO NOT EDIT MANUALLY
6
+ */
7
+ export declare enum ApplyKind {
8
+ Replace = 1,
9
+ Merge = 2
10
+ }
11
+ export declare enum CodeActionKind {
12
+ Empty = "",
13
+ QuickFix = "quickfix",
14
+ Refactor = "refactor",
15
+ RefactorExtract = "refactor.extract",
16
+ RefactorInline = "refactor.inline",
17
+ RefactorMove = "refactor.move",
18
+ RefactorRewrite = "refactor.rewrite",
19
+ Source = "source",
20
+ SourceOrganizeImports = "source.organizeImports",
21
+ SourceFixAll = "source.fixAll",
22
+ Notebook = "notebook"
23
+ }
24
+ export declare enum CodeActionTag {
25
+ LLMGenerated = 1
26
+ }
27
+ export declare enum CodeActionTriggerKind {
28
+ Invoked = 1,
29
+ Automatic = 2
30
+ }
31
+ export declare enum CompletionItemKind {
32
+ Text = 1,
33
+ Method = 2,
34
+ Function = 3,
35
+ Constructor = 4,
36
+ Field = 5,
37
+ Variable = 6,
38
+ Class = 7,
39
+ Interface = 8,
40
+ Module = 9,
41
+ Property = 10,
42
+ Unit = 11,
43
+ Value = 12,
44
+ Enum = 13,
45
+ Keyword = 14,
46
+ Snippet = 15,
47
+ Color = 16,
48
+ File = 17,
49
+ Reference = 18,
50
+ Folder = 19,
51
+ EnumMember = 20,
52
+ Constant = 21,
53
+ Struct = 22,
54
+ Event = 23,
55
+ Operator = 24,
56
+ TypeParameter = 25
57
+ }
58
+ export declare enum CompletionItemTag {
59
+ Deprecated = 1
60
+ }
61
+ export declare enum CompletionTriggerKind {
62
+ Invoked = 1,
63
+ TriggerCharacter = 2,
64
+ TriggerForIncompleteCompletions = 3
65
+ }
66
+ export declare enum DiagnosticSeverity {
67
+ Error = 1,
68
+ Warning = 2,
69
+ Information = 3,
70
+ Hint = 4
71
+ }
72
+ export declare enum DiagnosticTag {
73
+ Unnecessary = 1,
74
+ Deprecated = 2
75
+ }
76
+ export declare enum DocumentDiagnosticReportKind {
77
+ Full = "full",
78
+ Unchanged = "unchanged"
79
+ }
80
+ export declare enum DocumentHighlightKind {
81
+ Text = 1,
82
+ Read = 2,
83
+ Write = 3
84
+ }
85
+ export declare enum ErrorCodes {
86
+ ParseError = -32700,
87
+ InvalidRequest = -32600,
88
+ MethodNotFound = -32601,
89
+ InvalidParams = -32602,
90
+ InternalError = -32603,
91
+ ServerNotInitialized = -32002,
92
+ UnknownErrorCode = -32001
93
+ }
94
+ export declare enum FailureHandlingKind {
95
+ Abort = "abort",
96
+ Transactional = "transactional",
97
+ TextOnlyTransactional = "textOnlyTransactional",
98
+ Undo = "undo"
99
+ }
100
+ export declare enum FileChangeType {
101
+ Created = 1,
102
+ Changed = 2,
103
+ Deleted = 3
104
+ }
105
+ export declare enum FileOperationPatternKind {
106
+ file = "file",
107
+ folder = "folder"
108
+ }
109
+ export declare enum FoldingRangeKind {
110
+ Comment = "comment",
111
+ Imports = "imports",
112
+ Region = "region"
113
+ }
114
+ export declare enum InlayHintKind {
115
+ Type = 1,
116
+ Parameter = 2
117
+ }
118
+ export declare enum InlineCompletionTriggerKind {
119
+ Invoked = 1,
120
+ Automatic = 2
121
+ }
122
+ export declare enum InsertTextFormat {
123
+ PlainText = 1,
124
+ Snippet = 2
125
+ }
126
+ export declare enum InsertTextMode {
127
+ asIs = 1,
128
+ adjustIndentation = 2
129
+ }
130
+ export declare enum LanguageKind {
131
+ ABAP = "abap",
132
+ WindowsBat = "bat",
133
+ BibTeX = "bibtex",
134
+ Clojure = "clojure",
135
+ Coffeescript = "coffeescript",
136
+ C = "c",
137
+ CPP = "cpp",
138
+ CSharp = "csharp",
139
+ CSS = "css",
140
+ D = "d",
141
+ Delphi = "pascal",
142
+ Diff = "diff",
143
+ Dart = "dart",
144
+ Dockerfile = "dockerfile",
145
+ Elixir = "elixir",
146
+ Erlang = "erlang",
147
+ FSharp = "fsharp",
148
+ GitCommit = "git-commit",
149
+ GitRebase = "rebase",
150
+ Go = "go",
151
+ Groovy = "groovy",
152
+ Handlebars = "handlebars",
153
+ Haskell = "haskell",
154
+ HTML = "html",
155
+ Ini = "ini",
156
+ Java = "java",
157
+ JavaScript = "javascript",
158
+ JavaScriptReact = "javascriptreact",
159
+ JSON = "json",
160
+ LaTeX = "latex",
161
+ Less = "less",
162
+ Lua = "lua",
163
+ Makefile = "makefile",
164
+ Markdown = "markdown",
165
+ ObjectiveC = "objective-c",
166
+ ObjectiveCPP = "objective-cpp",
167
+ Pascal = "pascal",
168
+ Perl = "perl",
169
+ Perl6 = "perl6",
170
+ PHP = "php",
171
+ Powershell = "powershell",
172
+ Pug = "jade",
173
+ Python = "python",
174
+ R = "r",
175
+ Razor = "razor",
176
+ Ruby = "ruby",
177
+ Rust = "rust",
178
+ SCSS = "scss",
179
+ SASS = "sass",
180
+ Scala = "scala",
181
+ ShaderLab = "shaderlab",
182
+ ShellScript = "shellscript",
183
+ SQL = "sql",
184
+ Swift = "swift",
185
+ TypeScript = "typescript",
186
+ TypeScriptReact = "typescriptreact",
187
+ TeX = "tex",
188
+ VisualBasic = "vb",
189
+ XML = "xml",
190
+ XSL = "xsl",
191
+ YAML = "yaml"
192
+ }
193
+ export declare enum LSPErrorCodes {
194
+ RequestFailed = -32803,
195
+ ServerCancelled = -32802,
196
+ ContentModified = -32801,
197
+ RequestCancelled = -32800
198
+ }
199
+ export declare enum MarkupKind {
200
+ PlainText = "plaintext",
201
+ Markdown = "markdown"
202
+ }
203
+ export declare enum MessageType {
204
+ Error = 1,
205
+ Warning = 2,
206
+ Info = 3,
207
+ Log = 4,
208
+ Debug = 5
209
+ }
210
+ export declare enum MonikerKind {
211
+ 'import' = "import",
212
+ 'export' = "export",
213
+ local = "local"
214
+ }
215
+ export declare enum NotebookCellKind {
216
+ Markup = 1,
217
+ Code = 2
218
+ }
219
+ export declare enum PositionEncodingKind {
220
+ UTF8 = "utf-8",
221
+ UTF16 = "utf-16",
222
+ UTF32 = "utf-32"
223
+ }
224
+ export declare enum PrepareSupportDefaultBehavior {
225
+ Identifier = 1
226
+ }
227
+ export declare enum ResourceOperationKind {
228
+ Create = "create",
229
+ Rename = "rename",
230
+ Delete = "delete"
231
+ }
232
+ export declare enum SemanticTokenModifiers {
233
+ declaration = "declaration",
234
+ definition = "definition",
235
+ readonly = "readonly",
236
+ 'static' = "static",
237
+ deprecated = "deprecated",
238
+ abstract = "abstract",
239
+ async = "async",
240
+ modification = "modification",
241
+ documentation = "documentation",
242
+ defaultLibrary = "defaultLibrary"
243
+ }
244
+ export declare enum SemanticTokenTypes {
245
+ namespace = "namespace",
246
+ type = "type",
247
+ 'class' = "class",
248
+ 'enum' = "enum",
249
+ 'interface' = "interface",
250
+ struct = "struct",
251
+ typeParameter = "typeParameter",
252
+ parameter = "parameter",
253
+ variable = "variable",
254
+ property = "property",
255
+ enumMember = "enumMember",
256
+ event = "event",
257
+ 'function' = "function",
258
+ method = "method",
259
+ macro = "macro",
260
+ keyword = "keyword",
261
+ modifier = "modifier",
262
+ comment = "comment",
263
+ string = "string",
264
+ number = "number",
265
+ regexp = "regexp",
266
+ operator = "operator",
267
+ decorator = "decorator",
268
+ label = "label"
269
+ }
270
+ export declare enum SignatureHelpTriggerKind {
271
+ Invoked = 1,
272
+ TriggerCharacter = 2,
273
+ ContentChange = 3
274
+ }
275
+ export declare enum SymbolKind {
276
+ File = 1,
277
+ Module = 2,
278
+ Namespace = 3,
279
+ Package = 4,
280
+ Class = 5,
281
+ Method = 6,
282
+ Property = 7,
283
+ Field = 8,
284
+ Constructor = 9,
285
+ Enum = 10,
286
+ Interface = 11,
287
+ Function = 12,
288
+ Variable = 13,
289
+ Constant = 14,
290
+ String = 15,
291
+ Number = 16,
292
+ Boolean = 17,
293
+ Array = 18,
294
+ Object = 19,
295
+ Key = 20,
296
+ Null = 21,
297
+ EnumMember = 22,
298
+ Struct = 23,
299
+ Event = 24,
300
+ Operator = 25,
301
+ TypeParameter = 26
302
+ }
303
+ export declare enum SymbolTag {
304
+ Deprecated = 1
305
+ }
306
+ export declare enum TextDocumentSaveReason {
307
+ Manual = 1,
308
+ AfterDelay = 2,
309
+ FocusOut = 3
310
+ }
311
+ export declare enum TextDocumentSyncKind {
312
+ None = 0,
313
+ Full = 1,
314
+ Incremental = 2
315
+ }
316
+ export declare enum TokenFormat {
317
+ Relative = "relative"
318
+ }
319
+ export declare enum TraceValue {
320
+ Off = "off",
321
+ Messages = "messages",
322
+ Verbose = "verbose"
323
+ }
324
+ export declare enum UniquenessLevel {
325
+ document = "document",
326
+ project = "project",
327
+ group = "group",
328
+ scheme = "scheme",
329
+ global = "global"
330
+ }
331
+ export declare enum WatchKind {
332
+ Create = 1,
333
+ Change = 2,
334
+ Delete = 4
335
+ }
336
+ //# sourceMappingURL=enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/protocol/enums.ts"],"names":[],"mappings":"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"}