@lspeasy/core 2.2.0 → 2.3.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 (54) hide show
  1. package/dist/discover.d.ts +47 -0
  2. package/dist/discover.d.ts.map +1 -0
  3. package/dist/discover.js +120 -0
  4. package/dist/discover.js.map +1 -0
  5. package/dist/index.d.ts +4 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +4 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/jsonrpc/writer.d.ts +0 -3
  10. package/dist/jsonrpc/writer.d.ts.map +1 -1
  11. package/dist/node.d.ts +2 -0
  12. package/dist/node.d.ts.map +1 -1
  13. package/dist/node.js +1 -0
  14. package/dist/node.js.map +1 -1
  15. package/dist/protocol/capabilities.d.ts +1 -1
  16. package/dist/protocol/capabilities.d.ts.map +1 -1
  17. package/dist/protocol/capability-methods.d.ts.map +1 -1
  18. package/dist/protocol/enums.d.ts +374 -329
  19. package/dist/protocol/enums.d.ts.map +1 -1
  20. package/dist/protocol/enums.js +334 -370
  21. package/dist/protocol/enums.js.map +1 -1
  22. package/dist/protocol/infer.d.ts +1 -1
  23. package/dist/protocol/infer.d.ts.map +1 -1
  24. package/dist/protocol/namespaces.d.ts +8 -5
  25. package/dist/protocol/namespaces.d.ts.map +1 -1
  26. package/dist/protocol/namespaces.js +6 -2
  27. package/dist/protocol/namespaces.js.map +1 -1
  28. package/dist/protocol/partial.d.ts +1 -1
  29. package/dist/protocol/partial.d.ts.map +1 -1
  30. package/dist/protocol/progress.d.ts +1 -1
  31. package/dist/protocol/progress.d.ts.map +1 -1
  32. package/dist/protocol/schemas.d.ts +12833 -323
  33. package/dist/protocol/schemas.d.ts.map +1 -1
  34. package/dist/protocol/schemas.js +2277 -207
  35. package/dist/protocol/schemas.js.map +1 -1
  36. package/dist/protocol/types.d.ts +1899 -9
  37. package/dist/protocol/types.d.ts.map +1 -1
  38. package/dist/protocol/types.js +5 -2
  39. package/dist/protocol/types.js.map +1 -1
  40. package/dist/protocol/watching.d.ts +1 -1
  41. package/dist/protocol/watching.d.ts.map +1 -1
  42. package/dist/protocol/workspace.d.ts +1 -1
  43. package/dist/protocol/workspace.d.ts.map +1 -1
  44. package/dist/transport/socket.d.ts +48 -0
  45. package/dist/transport/socket.d.ts.map +1 -0
  46. package/dist/transport/socket.js +241 -0
  47. package/dist/transport/socket.js.map +1 -0
  48. package/dist/utils/document.d.ts +1 -1
  49. package/dist/utils/document.d.ts.map +1 -1
  50. package/dist/utils/tokenize-command.d.ts +16 -0
  51. package/dist/utils/tokenize-command.d.ts.map +1 -0
  52. package/dist/utils/tokenize-command.js +63 -0
  53. package/dist/utils/tokenize-command.js.map +1 -0
  54. package/package.json +2 -3
@@ -1,125 +1,1788 @@
1
1
  /**
2
2
  * Zod schemas for LSP protocol types
3
- * Runtime validators matching TypeScript types from vscode-languageserver-protocol
3
+ * Runtime validators derived from the official LSP metaModel.json
4
+ *
5
+ * Auto-generated from metaModel.json — DO NOT EDIT MANUALLY
4
6
  */
5
7
  import { z } from 'zod';
6
- /**
7
- * Position in a text document expressed as zero-based line and character offset
8
- */
8
+ export const SemanticTokenTypesSchema = z.union([
9
+ z.literal('namespace'),
10
+ z.literal('type'),
11
+ z.literal('class'),
12
+ z.literal('enum'),
13
+ z.literal('interface'),
14
+ z.literal('struct'),
15
+ z.literal('typeParameter'),
16
+ z.literal('parameter'),
17
+ z.literal('variable'),
18
+ z.literal('property'),
19
+ z.literal('enumMember'),
20
+ z.literal('event'),
21
+ z.literal('function'),
22
+ z.literal('method'),
23
+ z.literal('macro'),
24
+ z.literal('keyword'),
25
+ z.literal('modifier'),
26
+ z.literal('comment'),
27
+ z.literal('string'),
28
+ z.literal('number'),
29
+ z.literal('regexp'),
30
+ z.literal('operator'),
31
+ z.literal('decorator'),
32
+ z.literal('label'),
33
+ z.string()
34
+ ]);
35
+ export const SemanticTokenModifiersSchema = z.union([
36
+ z.literal('declaration'),
37
+ z.literal('definition'),
38
+ z.literal('readonly'),
39
+ z.literal('static'),
40
+ z.literal('deprecated'),
41
+ z.literal('abstract'),
42
+ z.literal('async'),
43
+ z.literal('modification'),
44
+ z.literal('documentation'),
45
+ z.literal('defaultLibrary'),
46
+ z.string()
47
+ ]);
48
+ export const DocumentDiagnosticReportKindSchema = z.union([
49
+ z.literal('full'),
50
+ z.literal('unchanged')
51
+ ]);
52
+ export const ErrorCodesSchema = z.union([
53
+ z.literal(-32700),
54
+ z.literal(-32600),
55
+ z.literal(-32601),
56
+ z.literal(-32602),
57
+ z.literal(-32603),
58
+ z.literal(-32002),
59
+ z.literal(-32001),
60
+ z.number().int()
61
+ ]);
62
+ export const LSPErrorCodesSchema = z.union([
63
+ z.literal(-32803),
64
+ z.literal(-32802),
65
+ z.literal(-32801),
66
+ z.literal(-32800),
67
+ z.number().int()
68
+ ]);
69
+ export const FoldingRangeKindSchema = z.union([
70
+ z.literal('comment'),
71
+ z.literal('imports'),
72
+ z.literal('region'),
73
+ z.string()
74
+ ]);
75
+ export const SymbolKindSchema = z.union([
76
+ z.literal(1),
77
+ z.literal(2),
78
+ z.literal(3),
79
+ z.literal(4),
80
+ z.literal(5),
81
+ z.literal(6),
82
+ z.literal(7),
83
+ z.literal(8),
84
+ z.literal(9),
85
+ z.literal(10),
86
+ z.literal(11),
87
+ z.literal(12),
88
+ z.literal(13),
89
+ z.literal(14),
90
+ z.literal(15),
91
+ z.literal(16),
92
+ z.literal(17),
93
+ z.literal(18),
94
+ z.literal(19),
95
+ z.literal(20),
96
+ z.literal(21),
97
+ z.literal(22),
98
+ z.literal(23),
99
+ z.literal(24),
100
+ z.literal(25),
101
+ z.literal(26)
102
+ ]);
103
+ export const SymbolTagSchema = z.literal(1);
104
+ export const UniquenessLevelSchema = z.union([
105
+ z.literal('document'),
106
+ z.literal('project'),
107
+ z.literal('group'),
108
+ z.literal('scheme'),
109
+ z.literal('global')
110
+ ]);
111
+ export const MonikerKindSchema = z.union([
112
+ z.literal('import'),
113
+ z.literal('export'),
114
+ z.literal('local')
115
+ ]);
116
+ export const InlayHintKindSchema = z.union([z.literal(1), z.literal(2)]);
117
+ export const MessageTypeSchema = z.union([
118
+ z.literal(1),
119
+ z.literal(2),
120
+ z.literal(3),
121
+ z.literal(4),
122
+ z.literal(5)
123
+ ]);
124
+ export const TextDocumentSyncKindSchema = z.union([z.literal(0), z.literal(1), z.literal(2)]);
125
+ export const TextDocumentSaveReasonSchema = z.union([z.literal(1), z.literal(2), z.literal(3)]);
126
+ export const CompletionItemKindSchema = z.union([
127
+ z.literal(1),
128
+ z.literal(2),
129
+ z.literal(3),
130
+ z.literal(4),
131
+ z.literal(5),
132
+ z.literal(6),
133
+ z.literal(7),
134
+ z.literal(8),
135
+ z.literal(9),
136
+ z.literal(10),
137
+ z.literal(11),
138
+ z.literal(12),
139
+ z.literal(13),
140
+ z.literal(14),
141
+ z.literal(15),
142
+ z.literal(16),
143
+ z.literal(17),
144
+ z.literal(18),
145
+ z.literal(19),
146
+ z.literal(20),
147
+ z.literal(21),
148
+ z.literal(22),
149
+ z.literal(23),
150
+ z.literal(24),
151
+ z.literal(25)
152
+ ]);
153
+ export const CompletionItemTagSchema = z.literal(1);
154
+ export const InsertTextFormatSchema = z.union([z.literal(1), z.literal(2)]);
155
+ export const InsertTextModeSchema = z.union([z.literal(1), z.literal(2)]);
156
+ export const DocumentHighlightKindSchema = z.union([z.literal(1), z.literal(2), z.literal(3)]);
157
+ export const CodeActionKindSchema = z.union([
158
+ z.literal(''),
159
+ z.literal('quickfix'),
160
+ z.literal('refactor'),
161
+ z.literal('refactor.extract'),
162
+ z.literal('refactor.inline'),
163
+ z.literal('refactor.move'),
164
+ z.literal('refactor.rewrite'),
165
+ z.literal('source'),
166
+ z.literal('source.organizeImports'),
167
+ z.literal('source.fixAll'),
168
+ z.literal('notebook'),
169
+ z.string()
170
+ ]);
171
+ export const CodeActionTagSchema = z.literal(1);
172
+ export const TraceValueSchema = z.union([
173
+ z.literal('off'),
174
+ z.literal('messages'),
175
+ z.literal('compact'),
176
+ z.literal('verbose')
177
+ ]);
178
+ export const MarkupKindSchema = z.union([z.literal('plaintext'), z.literal('markdown')]);
179
+ export const LanguageKindSchema = z.union([
180
+ z.literal('abap'),
181
+ z.literal('bat'),
182
+ z.literal('bibtex'),
183
+ z.literal('clojure'),
184
+ z.literal('coffeescript'),
185
+ z.literal('c'),
186
+ z.literal('cpp'),
187
+ z.literal('csharp'),
188
+ z.literal('css'),
189
+ z.literal('d'),
190
+ z.literal('pascal'),
191
+ z.literal('diff'),
192
+ z.literal('dart'),
193
+ z.literal('dockerfile'),
194
+ z.literal('elixir'),
195
+ z.literal('erlang'),
196
+ z.literal('fsharp'),
197
+ z.literal('git-commit'),
198
+ z.literal('git-rebase'),
199
+ z.literal('go'),
200
+ z.literal('groovy'),
201
+ z.literal('handlebars'),
202
+ z.literal('haskell'),
203
+ z.literal('html'),
204
+ z.literal('ini'),
205
+ z.literal('java'),
206
+ z.literal('javascript'),
207
+ z.literal('javascriptreact'),
208
+ z.literal('json'),
209
+ z.literal('latex'),
210
+ z.literal('less'),
211
+ z.literal('lua'),
212
+ z.literal('makefile'),
213
+ z.literal('markdown'),
214
+ z.literal('objective-c'),
215
+ z.literal('objective-cpp'),
216
+ z.literal('pascal'),
217
+ z.literal('perl'),
218
+ z.literal('perl6'),
219
+ z.literal('php'),
220
+ z.literal('plaintext'),
221
+ z.literal('powershell'),
222
+ z.literal('jade'),
223
+ z.literal('python'),
224
+ z.literal('r'),
225
+ z.literal('razor'),
226
+ z.literal('ruby'),
227
+ z.literal('rust'),
228
+ z.literal('scss'),
229
+ z.literal('sass'),
230
+ z.literal('scala'),
231
+ z.literal('shaderlab'),
232
+ z.literal('shellscript'),
233
+ z.literal('sql'),
234
+ z.literal('swift'),
235
+ z.literal('typescript'),
236
+ z.literal('typescriptreact'),
237
+ z.literal('tex'),
238
+ z.literal('vb'),
239
+ z.literal('xml'),
240
+ z.literal('xsl'),
241
+ z.literal('yaml'),
242
+ z.string()
243
+ ]);
244
+ export const InlineCompletionTriggerKindSchema = z.union([z.literal(1), z.literal(2)]);
245
+ export const PositionEncodingKindSchema = z.union([
246
+ z.literal('utf-8'),
247
+ z.literal('utf-16'),
248
+ z.literal('utf-32'),
249
+ z.string()
250
+ ]);
251
+ export const FileChangeTypeSchema = z.union([z.literal(1), z.literal(2), z.literal(3)]);
252
+ export const WatchKindSchema = z.union([z.literal(1), z.literal(2), z.literal(4), z.number()]);
253
+ export const DiagnosticSeveritySchema = z.union([
254
+ z.literal(1),
255
+ z.literal(2),
256
+ z.literal(3),
257
+ z.literal(4)
258
+ ]);
259
+ export const DiagnosticTagSchema = z.union([z.literal(1), z.literal(2)]);
260
+ export const CompletionTriggerKindSchema = z.union([z.literal(1), z.literal(2), z.literal(3)]);
261
+ export const ApplyKindSchema = z.union([z.literal(1), z.literal(2)]);
262
+ export const SignatureHelpTriggerKindSchema = z.union([z.literal(1), z.literal(2), z.literal(3)]);
263
+ export const CodeActionTriggerKindSchema = z.union([z.literal(1), z.literal(2)]);
264
+ export const FileOperationPatternKindSchema = z.union([z.literal('file'), z.literal('folder')]);
265
+ export const NotebookCellKindSchema = z.union([z.literal(1), z.literal(2)]);
266
+ export const ResourceOperationKindSchema = z.union([
267
+ z.literal('create'),
268
+ z.literal('rename'),
269
+ z.literal('delete')
270
+ ]);
271
+ export const FailureHandlingKindSchema = z.union([
272
+ z.literal('abort'),
273
+ z.literal('transactional'),
274
+ z.literal('textOnlyTransactional'),
275
+ z.literal('undo')
276
+ ]);
277
+ export const PrepareSupportDefaultBehaviorSchema = z.literal(1);
278
+ export const TokenFormatSchema = z.literal('relative');
279
+ export const TextDocumentIdentifierSchema = z.object({
280
+ uri: z.string()
281
+ });
9
282
  export const PositionSchema = z.object({
10
- line: z.number().int().min(0),
11
- character: z.number().int().min(0)
283
+ line: z.number().int().gte(0),
284
+ character: z.number().int().gte(0)
285
+ });
286
+ export const ProgressTokenSchema = z.union([z.number().int(), z.string()]);
287
+ export const ImplementationParamsSchema = z.object({
288
+ textDocument: TextDocumentIdentifierSchema,
289
+ position: PositionSchema,
290
+ workDoneToken: ProgressTokenSchema.optional(),
291
+ partialResultToken: ProgressTokenSchema.optional()
292
+ });
293
+ export const RangeSchema = z.object({
294
+ start: PositionSchema,
295
+ end: PositionSchema
296
+ });
297
+ export const LocationSchema = z.object({
298
+ uri: z.string(),
299
+ range: RangeSchema
300
+ });
301
+ export const PatternSchema = z.string();
302
+ export const WorkspaceFolderSchema = z.object({
303
+ uri: z.string(),
304
+ name: z.string()
305
+ });
306
+ export const RelativePatternSchema = z.object({
307
+ baseUri: z.union([WorkspaceFolderSchema, z.string()]),
308
+ pattern: PatternSchema
309
+ });
310
+ export const GlobPatternSchema = z.union([PatternSchema, RelativePatternSchema]);
311
+ export const TextDocumentFilterLanguageSchema = z.object({
312
+ language: z.string(),
313
+ scheme: z.string().optional(),
314
+ pattern: GlobPatternSchema.optional()
315
+ });
316
+ export const TextDocumentFilterSchemeSchema = z.object({
317
+ language: z.string().optional(),
318
+ scheme: z.string(),
319
+ pattern: GlobPatternSchema.optional()
320
+ });
321
+ export const TextDocumentFilterPatternSchema = z.object({
322
+ language: z.string().optional(),
323
+ scheme: z.string().optional(),
324
+ pattern: GlobPatternSchema
325
+ });
326
+ export const TextDocumentFilterSchema = z.union([
327
+ TextDocumentFilterLanguageSchema,
328
+ TextDocumentFilterSchemeSchema,
329
+ TextDocumentFilterPatternSchema
330
+ ]);
331
+ export const NotebookDocumentFilterNotebookTypeSchema = z.object({
332
+ notebookType: z.string(),
333
+ scheme: z.string().optional(),
334
+ pattern: GlobPatternSchema.optional()
335
+ });
336
+ export const NotebookDocumentFilterSchemeSchema = z.object({
337
+ notebookType: z.string().optional(),
338
+ scheme: z.string(),
339
+ pattern: GlobPatternSchema.optional()
340
+ });
341
+ export const NotebookDocumentFilterPatternSchema = z.object({
342
+ notebookType: z.string().optional(),
343
+ scheme: z.string().optional(),
344
+ pattern: GlobPatternSchema
345
+ });
346
+ export const NotebookDocumentFilterSchema = z.union([
347
+ NotebookDocumentFilterNotebookTypeSchema,
348
+ NotebookDocumentFilterSchemeSchema,
349
+ NotebookDocumentFilterPatternSchema
350
+ ]);
351
+ export const NotebookCellTextDocumentFilterSchema = z.object({
352
+ notebook: z.union([z.string(), NotebookDocumentFilterSchema]),
353
+ language: z.string().optional()
354
+ });
355
+ export const DocumentFilterSchema = z.union([
356
+ TextDocumentFilterSchema,
357
+ NotebookCellTextDocumentFilterSchema
358
+ ]);
359
+ export const DocumentSelectorSchema = z.array(DocumentFilterSchema);
360
+ export const ImplementationRegistrationOptionsSchema = z.object({
361
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
362
+ workDoneProgress: z.boolean().optional(),
363
+ id: z.string().optional()
364
+ });
365
+ export const TypeDefinitionParamsSchema = z.object({
366
+ textDocument: TextDocumentIdentifierSchema,
367
+ position: PositionSchema,
368
+ workDoneToken: ProgressTokenSchema.optional(),
369
+ partialResultToken: ProgressTokenSchema.optional()
370
+ });
371
+ export const TypeDefinitionRegistrationOptionsSchema = z.object({
372
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
373
+ workDoneProgress: z.boolean().optional(),
374
+ id: z.string().optional()
375
+ });
376
+ export const WorkspaceFoldersChangeEventSchema = z.object({
377
+ added: z.array(WorkspaceFolderSchema),
378
+ removed: z.array(WorkspaceFolderSchema)
379
+ });
380
+ export const DidChangeWorkspaceFoldersParamsSchema = z.object({
381
+ event: WorkspaceFoldersChangeEventSchema
382
+ });
383
+ export const ConfigurationItemSchema = z.object({
384
+ scopeUri: z.string().optional(),
385
+ section: z.string().optional()
386
+ });
387
+ export const ConfigurationParamsSchema = z.object({
388
+ items: z.array(ConfigurationItemSchema)
389
+ });
390
+ export const DocumentColorParamsSchema = z.object({
391
+ workDoneToken: ProgressTokenSchema.optional(),
392
+ partialResultToken: ProgressTokenSchema.optional(),
393
+ textDocument: TextDocumentIdentifierSchema
394
+ });
395
+ export const ColorSchema = z.object({
396
+ red: z.number(),
397
+ green: z.number(),
398
+ blue: z.number(),
399
+ alpha: z.number()
400
+ });
401
+ export const ColorInformationSchema = z.object({
402
+ range: RangeSchema,
403
+ color: ColorSchema
404
+ });
405
+ export const DocumentColorRegistrationOptionsSchema = z.object({
406
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
407
+ workDoneProgress: z.boolean().optional(),
408
+ id: z.string().optional()
409
+ });
410
+ export const ColorPresentationParamsSchema = z.object({
411
+ workDoneToken: ProgressTokenSchema.optional(),
412
+ partialResultToken: ProgressTokenSchema.optional(),
413
+ textDocument: TextDocumentIdentifierSchema,
414
+ color: ColorSchema,
415
+ range: RangeSchema
416
+ });
417
+ export const TextEditSchema = z.object({
418
+ range: RangeSchema,
419
+ newText: z.string()
420
+ });
421
+ export const ColorPresentationSchema = z.object({
422
+ label: z.string(),
423
+ textEdit: TextEditSchema.optional(),
424
+ additionalTextEdits: z.array(TextEditSchema).optional()
425
+ });
426
+ export const WorkDoneProgressOptionsSchema = z.object({
427
+ workDoneProgress: z.boolean().optional()
428
+ });
429
+ export const TextDocumentRegistrationOptionsSchema = z.object({
430
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)])
431
+ });
432
+ export const FoldingRangeParamsSchema = z.object({
433
+ workDoneToken: ProgressTokenSchema.optional(),
434
+ partialResultToken: ProgressTokenSchema.optional(),
435
+ textDocument: TextDocumentIdentifierSchema
436
+ });
437
+ export const FoldingRangeSchema = z.object({
438
+ startLine: z.number().int().gte(0),
439
+ startCharacter: z.number().int().gte(0).optional(),
440
+ endLine: z.number().int().gte(0),
441
+ endCharacter: z.number().int().gte(0).optional(),
442
+ kind: FoldingRangeKindSchema.optional(),
443
+ collapsedText: z.string().optional()
444
+ });
445
+ export const FoldingRangeRegistrationOptionsSchema = z.object({
446
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
447
+ workDoneProgress: z.boolean().optional(),
448
+ id: z.string().optional()
449
+ });
450
+ export const DeclarationParamsSchema = z.object({
451
+ textDocument: TextDocumentIdentifierSchema,
452
+ position: PositionSchema,
453
+ workDoneToken: ProgressTokenSchema.optional(),
454
+ partialResultToken: ProgressTokenSchema.optional()
455
+ });
456
+ export const DeclarationRegistrationOptionsSchema = z.object({
457
+ workDoneProgress: z.boolean().optional(),
458
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
459
+ id: z.string().optional()
460
+ });
461
+ export const SelectionRangeParamsSchema = z.object({
462
+ workDoneToken: ProgressTokenSchema.optional(),
463
+ partialResultToken: ProgressTokenSchema.optional(),
464
+ textDocument: TextDocumentIdentifierSchema,
465
+ positions: z.array(PositionSchema)
466
+ });
467
+ export const SelectionRangeSchema = z.object({
468
+ range: RangeSchema,
469
+ parent: z.lazy(() => SelectionRangeSchema).optional()
470
+ });
471
+ export const SelectionRangeRegistrationOptionsSchema = z.object({
472
+ workDoneProgress: z.boolean().optional(),
473
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
474
+ id: z.string().optional()
475
+ });
476
+ export const WorkDoneProgressCreateParamsSchema = z.object({
477
+ token: ProgressTokenSchema
478
+ });
479
+ export const WorkDoneProgressCancelParamsSchema = z.object({
480
+ token: ProgressTokenSchema
481
+ });
482
+ export const CallHierarchyPrepareParamsSchema = z.object({
483
+ textDocument: TextDocumentIdentifierSchema,
484
+ position: PositionSchema,
485
+ workDoneToken: ProgressTokenSchema.optional()
486
+ });
487
+ export const LSPObjectSchema = z.record(z.string(), z.lazy(() => LSPAnySchema));
488
+ export const LSPArraySchema = z.array(z.lazy(() => LSPAnySchema));
489
+ export const LSPAnySchema = z.union([
490
+ LSPObjectSchema,
491
+ LSPArraySchema,
492
+ z.string(),
493
+ z.number().int(),
494
+ z.number().int().gte(0),
495
+ z.number(),
496
+ z.boolean(),
497
+ z.literal(null)
498
+ ]);
499
+ export const CallHierarchyItemSchema = z.object({
500
+ name: z.string(),
501
+ kind: SymbolKindSchema,
502
+ tags: z.array(SymbolTagSchema).optional(),
503
+ detail: z.string().optional(),
504
+ uri: z.string(),
505
+ range: RangeSchema,
506
+ selectionRange: RangeSchema,
507
+ data: z.lazy(() => LSPAnySchema).optional()
508
+ });
509
+ export const CallHierarchyRegistrationOptionsSchema = z.object({
510
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
511
+ workDoneProgress: z.boolean().optional(),
512
+ id: z.string().optional()
513
+ });
514
+ export const CallHierarchyIncomingCallsParamsSchema = z.object({
515
+ workDoneToken: ProgressTokenSchema.optional(),
516
+ partialResultToken: ProgressTokenSchema.optional(),
517
+ item: CallHierarchyItemSchema
518
+ });
519
+ export const CallHierarchyIncomingCallSchema = z.object({
520
+ from: CallHierarchyItemSchema,
521
+ fromRanges: z.array(RangeSchema)
522
+ });
523
+ export const CallHierarchyOutgoingCallsParamsSchema = z.object({
524
+ workDoneToken: ProgressTokenSchema.optional(),
525
+ partialResultToken: ProgressTokenSchema.optional(),
526
+ item: CallHierarchyItemSchema
527
+ });
528
+ export const CallHierarchyOutgoingCallSchema = z.object({
529
+ to: CallHierarchyItemSchema,
530
+ fromRanges: z.array(RangeSchema)
531
+ });
532
+ export const SemanticTokensParamsSchema = z.object({
533
+ workDoneToken: ProgressTokenSchema.optional(),
534
+ partialResultToken: ProgressTokenSchema.optional(),
535
+ textDocument: TextDocumentIdentifierSchema
536
+ });
537
+ export const SemanticTokensSchema = z.object({
538
+ resultId: z.string().optional(),
539
+ data: z.array(z.number().int().gte(0))
540
+ });
541
+ export const SemanticTokensPartialResultSchema = z.object({
542
+ data: z.array(z.number().int().gte(0))
543
+ });
544
+ export const SemanticTokensLegendSchema = z.object({
545
+ tokenTypes: z.array(z.string()),
546
+ tokenModifiers: z.array(z.string())
547
+ });
548
+ export const SemanticTokensFullDeltaSchema = z.object({
549
+ delta: z.boolean().optional()
550
+ });
551
+ export const SemanticTokensRegistrationOptionsSchema = z.object({
552
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
553
+ workDoneProgress: z.boolean().optional(),
554
+ legend: SemanticTokensLegendSchema,
555
+ range: z.union([z.boolean(), z.object({})]).optional(),
556
+ full: z.union([z.boolean(), SemanticTokensFullDeltaSchema]).optional(),
557
+ id: z.string().optional()
558
+ });
559
+ export const SemanticTokensDeltaParamsSchema = z.object({
560
+ workDoneToken: ProgressTokenSchema.optional(),
561
+ partialResultToken: ProgressTokenSchema.optional(),
562
+ textDocument: TextDocumentIdentifierSchema,
563
+ previousResultId: z.string()
564
+ });
565
+ export const SemanticTokensEditSchema = z.object({
566
+ start: z.number().int().gte(0),
567
+ deleteCount: z.number().int().gte(0),
568
+ data: z.array(z.number().int().gte(0)).optional()
569
+ });
570
+ export const SemanticTokensDeltaSchema = z.object({
571
+ resultId: z.string().optional(),
572
+ edits: z.array(SemanticTokensEditSchema)
573
+ });
574
+ export const SemanticTokensDeltaPartialResultSchema = z.object({
575
+ edits: z.array(SemanticTokensEditSchema)
576
+ });
577
+ export const SemanticTokensRangeParamsSchema = z.object({
578
+ workDoneToken: ProgressTokenSchema.optional(),
579
+ partialResultToken: ProgressTokenSchema.optional(),
580
+ textDocument: TextDocumentIdentifierSchema,
581
+ range: RangeSchema
582
+ });
583
+ export const ShowDocumentParamsSchema = z.object({
584
+ uri: z.string(),
585
+ external: z.boolean().optional(),
586
+ takeFocus: z.boolean().optional(),
587
+ selection: RangeSchema.optional()
588
+ });
589
+ export const ShowDocumentResultSchema = z.object({
590
+ success: z.boolean()
591
+ });
592
+ export const LinkedEditingRangeParamsSchema = z.object({
593
+ textDocument: TextDocumentIdentifierSchema,
594
+ position: PositionSchema,
595
+ workDoneToken: ProgressTokenSchema.optional()
596
+ });
597
+ export const LinkedEditingRangesSchema = z.object({
598
+ ranges: z.array(RangeSchema),
599
+ wordPattern: z.string().optional()
600
+ });
601
+ export const LinkedEditingRangeRegistrationOptionsSchema = z.object({
602
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
603
+ workDoneProgress: z.boolean().optional(),
604
+ id: z.string().optional()
605
+ });
606
+ export const FileCreateSchema = z.object({
607
+ uri: z.string()
608
+ });
609
+ export const CreateFilesParamsSchema = z.object({
610
+ files: z.array(FileCreateSchema)
611
+ });
612
+ export const OptionalVersionedTextDocumentIdentifierSchema = z.object({
613
+ uri: z.string(),
614
+ version: z.union([z.number().int(), z.literal(null)])
615
+ });
616
+ export const ChangeAnnotationIdentifierSchema = z.string();
617
+ export const AnnotatedTextEditSchema = z.object({
618
+ range: RangeSchema,
619
+ newText: z.string(),
620
+ annotationId: ChangeAnnotationIdentifierSchema
621
+ });
622
+ export const StringValueSchema = z.object({
623
+ kind: z.literal('snippet'),
624
+ value: z.string()
625
+ });
626
+ export const SnippetTextEditSchema = z.object({
627
+ range: RangeSchema,
628
+ snippet: StringValueSchema,
629
+ annotationId: ChangeAnnotationIdentifierSchema.optional()
630
+ });
631
+ export const TextDocumentEditSchema = z.object({
632
+ textDocument: OptionalVersionedTextDocumentIdentifierSchema,
633
+ edits: z.array(z.union([TextEditSchema, AnnotatedTextEditSchema, SnippetTextEditSchema]))
634
+ });
635
+ export const CreateFileOptionsSchema = z.object({
636
+ overwrite: z.boolean().optional(),
637
+ ignoreIfExists: z.boolean().optional()
638
+ });
639
+ export const CreateFileSchema = z.object({
640
+ kind: z.literal('create'),
641
+ annotationId: ChangeAnnotationIdentifierSchema.optional(),
642
+ uri: z.string(),
643
+ options: CreateFileOptionsSchema.optional()
644
+ });
645
+ export const RenameFileOptionsSchema = z.object({
646
+ overwrite: z.boolean().optional(),
647
+ ignoreIfExists: z.boolean().optional()
648
+ });
649
+ export const RenameFileSchema = z.object({
650
+ kind: z.literal('rename'),
651
+ annotationId: ChangeAnnotationIdentifierSchema.optional(),
652
+ oldUri: z.string(),
653
+ newUri: z.string(),
654
+ options: RenameFileOptionsSchema.optional()
655
+ });
656
+ export const DeleteFileOptionsSchema = z.object({
657
+ recursive: z.boolean().optional(),
658
+ ignoreIfNotExists: z.boolean().optional()
659
+ });
660
+ export const DeleteFileSchema = z.object({
661
+ kind: z.literal('delete'),
662
+ annotationId: ChangeAnnotationIdentifierSchema.optional(),
663
+ uri: z.string(),
664
+ options: DeleteFileOptionsSchema.optional()
665
+ });
666
+ export const ChangeAnnotationSchema = z.object({
667
+ label: z.string(),
668
+ needsConfirmation: z.boolean().optional(),
669
+ description: z.string().optional()
670
+ });
671
+ export const WorkspaceEditSchema = z.object({
672
+ changes: z.record(z.string(), z.array(TextEditSchema)).optional(),
673
+ documentChanges: z
674
+ .array(z.union([TextDocumentEditSchema, CreateFileSchema, RenameFileSchema, DeleteFileSchema]))
675
+ .optional(),
676
+ changeAnnotations: z.record(ChangeAnnotationIdentifierSchema, ChangeAnnotationSchema).optional()
677
+ });
678
+ export const FileOperationPatternOptionsSchema = z.object({
679
+ ignoreCase: z.boolean().optional()
680
+ });
681
+ export const FileOperationPatternSchema = z.object({
682
+ glob: z.string(),
683
+ matches: FileOperationPatternKindSchema.optional(),
684
+ options: FileOperationPatternOptionsSchema.optional()
685
+ });
686
+ export const FileOperationFilterSchema = z.object({
687
+ scheme: z.string().optional(),
688
+ pattern: FileOperationPatternSchema
689
+ });
690
+ export const FileOperationRegistrationOptionsSchema = z.object({
691
+ filters: z.array(FileOperationFilterSchema)
692
+ });
693
+ export const FileRenameSchema = z.object({
694
+ oldUri: z.string(),
695
+ newUri: z.string()
696
+ });
697
+ export const RenameFilesParamsSchema = z.object({
698
+ files: z.array(FileRenameSchema)
699
+ });
700
+ export const FileDeleteSchema = z.object({
701
+ uri: z.string()
702
+ });
703
+ export const DeleteFilesParamsSchema = z.object({
704
+ files: z.array(FileDeleteSchema)
705
+ });
706
+ export const MonikerParamsSchema = z.object({
707
+ textDocument: TextDocumentIdentifierSchema,
708
+ position: PositionSchema,
709
+ workDoneToken: ProgressTokenSchema.optional(),
710
+ partialResultToken: ProgressTokenSchema.optional()
711
+ });
712
+ export const MonikerSchema = z.object({
713
+ scheme: z.string(),
714
+ identifier: z.string(),
715
+ unique: UniquenessLevelSchema,
716
+ kind: MonikerKindSchema.optional()
717
+ });
718
+ export const MonikerRegistrationOptionsSchema = z.object({
719
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
720
+ workDoneProgress: z.boolean().optional()
721
+ });
722
+ export const TypeHierarchyPrepareParamsSchema = z.object({
723
+ textDocument: TextDocumentIdentifierSchema,
724
+ position: PositionSchema,
725
+ workDoneToken: ProgressTokenSchema.optional()
726
+ });
727
+ export const TypeHierarchyItemSchema = z.object({
728
+ name: z.string(),
729
+ kind: SymbolKindSchema,
730
+ tags: z.array(SymbolTagSchema).optional(),
731
+ detail: z.string().optional(),
732
+ uri: z.string(),
733
+ range: RangeSchema,
734
+ selectionRange: RangeSchema,
735
+ data: z.lazy(() => LSPAnySchema).optional()
736
+ });
737
+ export const TypeHierarchyRegistrationOptionsSchema = z.object({
738
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
739
+ workDoneProgress: z.boolean().optional(),
740
+ id: z.string().optional()
741
+ });
742
+ export const TypeHierarchySupertypesParamsSchema = z.object({
743
+ workDoneToken: ProgressTokenSchema.optional(),
744
+ partialResultToken: ProgressTokenSchema.optional(),
745
+ item: TypeHierarchyItemSchema
746
+ });
747
+ export const TypeHierarchySubtypesParamsSchema = z.object({
748
+ workDoneToken: ProgressTokenSchema.optional(),
749
+ partialResultToken: ProgressTokenSchema.optional(),
750
+ item: TypeHierarchyItemSchema
751
+ });
752
+ export const InlineValueContextSchema = z.object({
753
+ frameId: z.number().int(),
754
+ stoppedLocation: RangeSchema
755
+ });
756
+ export const InlineValueParamsSchema = z.object({
757
+ workDoneToken: ProgressTokenSchema.optional(),
758
+ textDocument: TextDocumentIdentifierSchema,
759
+ range: RangeSchema,
760
+ context: InlineValueContextSchema
761
+ });
762
+ export const InlineValueRegistrationOptionsSchema = z.object({
763
+ workDoneProgress: z.boolean().optional(),
764
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
765
+ id: z.string().optional()
766
+ });
767
+ export const InlayHintParamsSchema = z.object({
768
+ workDoneToken: ProgressTokenSchema.optional(),
769
+ textDocument: TextDocumentIdentifierSchema,
770
+ range: RangeSchema
771
+ });
772
+ export const MarkupContentSchema = z.object({
773
+ kind: MarkupKindSchema,
774
+ value: z.string()
775
+ });
776
+ export const CommandSchema = z.object({
777
+ title: z.string(),
778
+ tooltip: z.string().optional(),
779
+ command: z.string(),
780
+ arguments: z.array(z.lazy(() => LSPAnySchema)).optional()
781
+ });
782
+ export const InlayHintLabelPartSchema = z.object({
783
+ value: z.string(),
784
+ tooltip: z.union([z.string(), MarkupContentSchema]).optional(),
785
+ location: LocationSchema.optional(),
786
+ command: CommandSchema.optional()
787
+ });
788
+ export const InlayHintSchema = z.object({
789
+ position: PositionSchema,
790
+ label: z.union([z.string(), z.array(InlayHintLabelPartSchema)]),
791
+ kind: InlayHintKindSchema.optional(),
792
+ textEdits: z.array(TextEditSchema).optional(),
793
+ tooltip: z.union([z.string(), MarkupContentSchema]).optional(),
794
+ paddingLeft: z.boolean().optional(),
795
+ paddingRight: z.boolean().optional(),
796
+ data: z.lazy(() => LSPAnySchema).optional()
797
+ });
798
+ export const InlayHintRegistrationOptionsSchema = z.object({
799
+ workDoneProgress: z.boolean().optional(),
800
+ resolveProvider: z.boolean().optional(),
801
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
802
+ id: z.string().optional()
803
+ });
804
+ export const DocumentDiagnosticParamsSchema = z.object({
805
+ workDoneToken: ProgressTokenSchema.optional(),
806
+ partialResultToken: ProgressTokenSchema.optional(),
807
+ textDocument: TextDocumentIdentifierSchema,
808
+ identifier: z.string().optional(),
809
+ previousResultId: z.string().optional()
810
+ });
811
+ export const CodeDescriptionSchema = z.object({
812
+ href: z.string()
813
+ });
814
+ export const DiagnosticRelatedInformationSchema = z.object({
815
+ location: LocationSchema,
816
+ message: z.string()
817
+ });
818
+ export const DiagnosticSchema = z.object({
819
+ range: RangeSchema,
820
+ severity: DiagnosticSeveritySchema.optional(),
821
+ code: z.union([z.number().int(), z.string()]).optional(),
822
+ codeDescription: CodeDescriptionSchema.optional(),
823
+ source: z.string().optional(),
824
+ message: z.union([z.string(), MarkupContentSchema]),
825
+ tags: z.array(DiagnosticTagSchema).optional(),
826
+ relatedInformation: z.array(DiagnosticRelatedInformationSchema).optional(),
827
+ data: z.lazy(() => LSPAnySchema).optional()
828
+ });
829
+ export const FullDocumentDiagnosticReportSchema = z.object({
830
+ kind: z.literal('full'),
831
+ resultId: z.string().optional(),
832
+ items: z.array(DiagnosticSchema)
833
+ });
834
+ export const UnchangedDocumentDiagnosticReportSchema = z.object({
835
+ kind: z.literal('unchanged'),
836
+ resultId: z.string()
837
+ });
838
+ export const DocumentDiagnosticReportPartialResultSchema = z.object({
839
+ relatedDocuments: z.record(z.string(), z.union([FullDocumentDiagnosticReportSchema, UnchangedDocumentDiagnosticReportSchema]))
840
+ });
841
+ export const DiagnosticServerCancellationDataSchema = z.object({
842
+ retriggerRequest: z.boolean()
843
+ });
844
+ export const DiagnosticRegistrationOptionsSchema = z.object({
845
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
846
+ workDoneProgress: z.boolean().optional(),
847
+ identifier: z.string().optional(),
848
+ interFileDependencies: z.boolean(),
849
+ workspaceDiagnostics: z.boolean(),
850
+ id: z.string().optional()
851
+ });
852
+ export const PreviousResultIdSchema = z.object({
853
+ uri: z.string(),
854
+ value: z.string()
855
+ });
856
+ export const WorkspaceDiagnosticParamsSchema = z.object({
857
+ workDoneToken: ProgressTokenSchema.optional(),
858
+ partialResultToken: ProgressTokenSchema.optional(),
859
+ identifier: z.string().optional(),
860
+ previousResultIds: z.array(PreviousResultIdSchema)
861
+ });
862
+ export const WorkspaceFullDocumentDiagnosticReportSchema = z.object({
863
+ kind: z.literal('full'),
864
+ resultId: z.string().optional(),
865
+ items: z.array(DiagnosticSchema),
866
+ uri: z.string(),
867
+ version: z.union([z.number().int(), z.literal(null)])
868
+ });
869
+ export const WorkspaceUnchangedDocumentDiagnosticReportSchema = z.object({
870
+ kind: z.literal('unchanged'),
871
+ resultId: z.string(),
872
+ uri: z.string(),
873
+ version: z.union([z.number().int(), z.literal(null)])
874
+ });
875
+ export const WorkspaceDocumentDiagnosticReportSchema = z.union([
876
+ WorkspaceFullDocumentDiagnosticReportSchema,
877
+ WorkspaceUnchangedDocumentDiagnosticReportSchema
878
+ ]);
879
+ export const WorkspaceDiagnosticReportSchema = z.object({
880
+ items: z.array(WorkspaceDocumentDiagnosticReportSchema)
881
+ });
882
+ export const WorkspaceDiagnosticReportPartialResultSchema = z.object({
883
+ items: z.array(WorkspaceDocumentDiagnosticReportSchema)
884
+ });
885
+ export const ExecutionSummarySchema = z.object({
886
+ executionOrder: z.number().int().gte(0),
887
+ success: z.boolean().optional()
888
+ });
889
+ export const NotebookCellSchema = z.object({
890
+ kind: NotebookCellKindSchema,
891
+ document: z.string(),
892
+ metadata: LSPObjectSchema.optional(),
893
+ executionSummary: ExecutionSummarySchema.optional()
894
+ });
895
+ export const NotebookDocumentSchema = z.object({
896
+ uri: z.string(),
897
+ notebookType: z.string(),
898
+ version: z.number().int(),
899
+ metadata: LSPObjectSchema.optional(),
900
+ cells: z.array(NotebookCellSchema)
901
+ });
902
+ export const TextDocumentItemSchema = z.object({
903
+ uri: z.string(),
904
+ languageId: LanguageKindSchema,
905
+ version: z.number().int(),
906
+ text: z.string()
907
+ });
908
+ export const DidOpenNotebookDocumentParamsSchema = z.object({
909
+ notebookDocument: NotebookDocumentSchema,
910
+ cellTextDocuments: z.array(TextDocumentItemSchema)
911
+ });
912
+ export const NotebookCellLanguageSchema = z.object({
913
+ language: z.string()
914
+ });
915
+ export const NotebookDocumentFilterWithNotebookSchema = z.object({
916
+ notebook: z.union([z.string(), NotebookDocumentFilterSchema]),
917
+ cells: z.array(NotebookCellLanguageSchema).optional()
918
+ });
919
+ export const NotebookDocumentFilterWithCellsSchema = z.object({
920
+ notebook: z.union([z.string(), NotebookDocumentFilterSchema]).optional(),
921
+ cells: z.array(NotebookCellLanguageSchema)
922
+ });
923
+ export const NotebookDocumentSyncRegistrationOptionsSchema = z.object({
924
+ notebookSelector: z.array(z.union([NotebookDocumentFilterWithNotebookSchema, NotebookDocumentFilterWithCellsSchema])),
925
+ save: z.boolean().optional(),
926
+ id: z.string().optional()
927
+ });
928
+ export const VersionedNotebookDocumentIdentifierSchema = z.object({
929
+ version: z.number().int(),
930
+ uri: z.string()
931
+ });
932
+ export const NotebookCellArrayChangeSchema = z.object({
933
+ start: z.number().int().gte(0),
934
+ deleteCount: z.number().int().gte(0),
935
+ cells: z.array(NotebookCellSchema).optional()
936
+ });
937
+ export const NotebookDocumentCellChangeStructureSchema = z.object({
938
+ array: NotebookCellArrayChangeSchema,
939
+ didOpen: z.array(TextDocumentItemSchema).optional(),
940
+ didClose: z.array(TextDocumentIdentifierSchema).optional()
941
+ });
942
+ export const VersionedTextDocumentIdentifierSchema = z.object({
943
+ uri: z.string(),
944
+ version: z.number().int()
945
+ });
946
+ export const TextDocumentContentChangePartialSchema = z.object({
947
+ range: RangeSchema,
948
+ rangeLength: z.number().int().gte(0).optional(),
949
+ text: z.string()
950
+ });
951
+ export const TextDocumentContentChangeWholeDocumentSchema = z.object({
952
+ text: z.string()
953
+ });
954
+ export const TextDocumentContentChangeEventSchema = z.union([
955
+ TextDocumentContentChangePartialSchema,
956
+ TextDocumentContentChangeWholeDocumentSchema
957
+ ]);
958
+ export const NotebookDocumentCellContentChangesSchema = z.object({
959
+ document: VersionedTextDocumentIdentifierSchema,
960
+ changes: z.array(TextDocumentContentChangeEventSchema)
961
+ });
962
+ export const NotebookDocumentCellChangesSchema = z.object({
963
+ structure: NotebookDocumentCellChangeStructureSchema.optional(),
964
+ data: z.array(NotebookCellSchema).optional(),
965
+ textContent: z.array(NotebookDocumentCellContentChangesSchema).optional()
966
+ });
967
+ export const NotebookDocumentChangeEventSchema = z.object({
968
+ metadata: LSPObjectSchema.optional(),
969
+ cells: NotebookDocumentCellChangesSchema.optional()
970
+ });
971
+ export const DidChangeNotebookDocumentParamsSchema = z.object({
972
+ notebookDocument: VersionedNotebookDocumentIdentifierSchema,
973
+ change: NotebookDocumentChangeEventSchema
974
+ });
975
+ export const NotebookDocumentIdentifierSchema = z.object({
976
+ uri: z.string()
977
+ });
978
+ export const DidSaveNotebookDocumentParamsSchema = z.object({
979
+ notebookDocument: NotebookDocumentIdentifierSchema
980
+ });
981
+ export const DidCloseNotebookDocumentParamsSchema = z.object({
982
+ notebookDocument: NotebookDocumentIdentifierSchema,
983
+ cellTextDocuments: z.array(TextDocumentIdentifierSchema)
984
+ });
985
+ export const SelectedCompletionInfoSchema = z.object({
986
+ range: RangeSchema,
987
+ text: z.string()
988
+ });
989
+ export const InlineCompletionContextSchema = z.object({
990
+ triggerKind: InlineCompletionTriggerKindSchema,
991
+ selectedCompletionInfo: SelectedCompletionInfoSchema.optional()
992
+ });
993
+ export const InlineCompletionParamsSchema = z.object({
994
+ textDocument: TextDocumentIdentifierSchema,
995
+ position: PositionSchema,
996
+ workDoneToken: ProgressTokenSchema.optional(),
997
+ context: InlineCompletionContextSchema
998
+ });
999
+ export const InlineCompletionItemSchema = z.object({
1000
+ insertText: z.union([z.string(), StringValueSchema]),
1001
+ filterText: z.string().optional(),
1002
+ range: RangeSchema.optional(),
1003
+ command: CommandSchema.optional()
1004
+ });
1005
+ export const InlineCompletionListSchema = z.object({
1006
+ items: z.array(InlineCompletionItemSchema)
1007
+ });
1008
+ export const InlineCompletionRegistrationOptionsSchema = z.object({
1009
+ workDoneProgress: z.boolean().optional(),
1010
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
1011
+ id: z.string().optional()
1012
+ });
1013
+ export const TextDocumentContentParamsSchema = z.object({
1014
+ uri: z.string()
1015
+ });
1016
+ export const TextDocumentContentResultSchema = z.object({
1017
+ text: z.string()
1018
+ });
1019
+ export const TextDocumentContentRegistrationOptionsSchema = z.object({
1020
+ schemes: z.array(z.string()),
1021
+ id: z.string().optional()
1022
+ });
1023
+ export const TextDocumentContentRefreshParamsSchema = z.object({
1024
+ uri: z.string()
1025
+ });
1026
+ export const RegistrationSchema = z.object({
1027
+ id: z.string(),
1028
+ method: z.string(),
1029
+ registerOptions: z.lazy(() => LSPAnySchema).optional()
1030
+ });
1031
+ export const RegistrationParamsSchema = z.object({
1032
+ registrations: z.array(RegistrationSchema)
1033
+ });
1034
+ export const UnregistrationSchema = z.object({
1035
+ id: z.string(),
1036
+ method: z.string()
1037
+ });
1038
+ export const UnregistrationParamsSchema = z.object({
1039
+ unregisterations: z.array(UnregistrationSchema)
1040
+ });
1041
+ export const ClientInfoSchema = z.object({
1042
+ name: z.string(),
1043
+ version: z.string().optional()
1044
+ });
1045
+ export const ChangeAnnotationsSupportOptionsSchema = z.object({
1046
+ groupsOnLabel: z.boolean().optional()
1047
+ });
1048
+ export const WorkspaceEditClientCapabilitiesSchema = z.object({
1049
+ documentChanges: z.boolean().optional(),
1050
+ resourceOperations: z.array(ResourceOperationKindSchema).optional(),
1051
+ failureHandling: FailureHandlingKindSchema.optional(),
1052
+ normalizesLineEndings: z.boolean().optional(),
1053
+ changeAnnotationSupport: ChangeAnnotationsSupportOptionsSchema.optional(),
1054
+ metadataSupport: z.boolean().optional(),
1055
+ snippetEditSupport: z.boolean().optional()
1056
+ });
1057
+ export const DidChangeConfigurationClientCapabilitiesSchema = z.object({
1058
+ dynamicRegistration: z.boolean().optional()
1059
+ });
1060
+ export const DidChangeWatchedFilesClientCapabilitiesSchema = z.object({
1061
+ dynamicRegistration: z.boolean().optional(),
1062
+ relativePatternSupport: z.boolean().optional()
1063
+ });
1064
+ export const ClientSymbolKindOptionsSchema = z.object({
1065
+ valueSet: z.array(SymbolKindSchema).optional()
1066
+ });
1067
+ export const ClientSymbolTagOptionsSchema = z.object({
1068
+ valueSet: z.array(SymbolTagSchema)
1069
+ });
1070
+ export const ClientSymbolResolveOptionsSchema = z.object({
1071
+ properties: z.array(z.string())
1072
+ });
1073
+ export const WorkspaceSymbolClientCapabilitiesSchema = z.object({
1074
+ dynamicRegistration: z.boolean().optional(),
1075
+ symbolKind: ClientSymbolKindOptionsSchema.optional(),
1076
+ tagSupport: ClientSymbolTagOptionsSchema.optional(),
1077
+ resolveSupport: ClientSymbolResolveOptionsSchema.optional()
1078
+ });
1079
+ export const ExecuteCommandClientCapabilitiesSchema = z.object({
1080
+ dynamicRegistration: z.boolean().optional()
1081
+ });
1082
+ export const SemanticTokensWorkspaceClientCapabilitiesSchema = z.object({
1083
+ refreshSupport: z.boolean().optional()
1084
+ });
1085
+ export const CodeLensWorkspaceClientCapabilitiesSchema = z.object({
1086
+ refreshSupport: z.boolean().optional()
1087
+ });
1088
+ export const FileOperationClientCapabilitiesSchema = z.object({
1089
+ dynamicRegistration: z.boolean().optional(),
1090
+ didCreate: z.boolean().optional(),
1091
+ willCreate: z.boolean().optional(),
1092
+ didRename: z.boolean().optional(),
1093
+ willRename: z.boolean().optional(),
1094
+ didDelete: z.boolean().optional(),
1095
+ willDelete: z.boolean().optional()
1096
+ });
1097
+ export const InlineValueWorkspaceClientCapabilitiesSchema = z.object({
1098
+ refreshSupport: z.boolean().optional()
1099
+ });
1100
+ export const InlayHintWorkspaceClientCapabilitiesSchema = z.object({
1101
+ refreshSupport: z.boolean().optional()
1102
+ });
1103
+ export const DiagnosticWorkspaceClientCapabilitiesSchema = z.object({
1104
+ refreshSupport: z.boolean().optional()
1105
+ });
1106
+ export const FoldingRangeWorkspaceClientCapabilitiesSchema = z.object({
1107
+ refreshSupport: z.boolean().optional()
1108
+ });
1109
+ export const TextDocumentContentClientCapabilitiesSchema = z.object({
1110
+ dynamicRegistration: z.boolean().optional()
1111
+ });
1112
+ export const WorkspaceClientCapabilitiesSchema = z.object({
1113
+ applyEdit: z.boolean().optional(),
1114
+ workspaceEdit: WorkspaceEditClientCapabilitiesSchema.optional(),
1115
+ didChangeConfiguration: DidChangeConfigurationClientCapabilitiesSchema.optional(),
1116
+ didChangeWatchedFiles: DidChangeWatchedFilesClientCapabilitiesSchema.optional(),
1117
+ symbol: WorkspaceSymbolClientCapabilitiesSchema.optional(),
1118
+ executeCommand: ExecuteCommandClientCapabilitiesSchema.optional(),
1119
+ workspaceFolders: z.boolean().optional(),
1120
+ configuration: z.boolean().optional(),
1121
+ semanticTokens: SemanticTokensWorkspaceClientCapabilitiesSchema.optional(),
1122
+ codeLens: CodeLensWorkspaceClientCapabilitiesSchema.optional(),
1123
+ fileOperations: FileOperationClientCapabilitiesSchema.optional(),
1124
+ inlineValue: InlineValueWorkspaceClientCapabilitiesSchema.optional(),
1125
+ inlayHint: InlayHintWorkspaceClientCapabilitiesSchema.optional(),
1126
+ diagnostics: DiagnosticWorkspaceClientCapabilitiesSchema.optional(),
1127
+ foldingRange: FoldingRangeWorkspaceClientCapabilitiesSchema.optional(),
1128
+ textDocumentContent: TextDocumentContentClientCapabilitiesSchema.optional()
1129
+ });
1130
+ export const TextDocumentSyncClientCapabilitiesSchema = z.object({
1131
+ dynamicRegistration: z.boolean().optional(),
1132
+ willSave: z.boolean().optional(),
1133
+ willSaveWaitUntil: z.boolean().optional(),
1134
+ didSave: z.boolean().optional()
1135
+ });
1136
+ export const TextDocumentFilterClientCapabilitiesSchema = z.object({
1137
+ relativePatternSupport: z.boolean().optional()
1138
+ });
1139
+ export const CompletionItemTagOptionsSchema = z.object({
1140
+ valueSet: z.array(CompletionItemTagSchema)
1141
+ });
1142
+ export const ClientCompletionItemResolveOptionsSchema = z.object({
1143
+ properties: z.array(z.string())
1144
+ });
1145
+ export const ClientCompletionItemInsertTextModeOptionsSchema = z.object({
1146
+ valueSet: z.array(InsertTextModeSchema)
1147
+ });
1148
+ export const ClientCompletionItemOptionsSchema = z.object({
1149
+ snippetSupport: z.boolean().optional(),
1150
+ commitCharactersSupport: z.boolean().optional(),
1151
+ documentationFormat: z.array(MarkupKindSchema).optional(),
1152
+ deprecatedSupport: z.boolean().optional(),
1153
+ preselectSupport: z.boolean().optional(),
1154
+ tagSupport: CompletionItemTagOptionsSchema.optional(),
1155
+ insertReplaceSupport: z.boolean().optional(),
1156
+ resolveSupport: ClientCompletionItemResolveOptionsSchema.optional(),
1157
+ insertTextModeSupport: ClientCompletionItemInsertTextModeOptionsSchema.optional(),
1158
+ labelDetailsSupport: z.boolean().optional()
1159
+ });
1160
+ export const ClientCompletionItemOptionsKindSchema = z.object({
1161
+ valueSet: z.array(CompletionItemKindSchema).optional()
1162
+ });
1163
+ export const CompletionListCapabilitiesSchema = z.object({
1164
+ itemDefaults: z.array(z.string()).optional(),
1165
+ applyKindSupport: z.boolean().optional()
1166
+ });
1167
+ export const CompletionClientCapabilitiesSchema = z.object({
1168
+ dynamicRegistration: z.boolean().optional(),
1169
+ completionItem: ClientCompletionItemOptionsSchema.optional(),
1170
+ completionItemKind: ClientCompletionItemOptionsKindSchema.optional(),
1171
+ insertTextMode: InsertTextModeSchema.optional(),
1172
+ contextSupport: z.boolean().optional(),
1173
+ completionList: CompletionListCapabilitiesSchema.optional()
1174
+ });
1175
+ export const HoverClientCapabilitiesSchema = z.object({
1176
+ dynamicRegistration: z.boolean().optional(),
1177
+ contentFormat: z.array(MarkupKindSchema).optional()
1178
+ });
1179
+ export const ClientSignatureParameterInformationOptionsSchema = z.object({
1180
+ labelOffsetSupport: z.boolean().optional()
1181
+ });
1182
+ export const ClientSignatureInformationOptionsSchema = z.object({
1183
+ documentationFormat: z.array(MarkupKindSchema).optional(),
1184
+ parameterInformation: ClientSignatureParameterInformationOptionsSchema.optional(),
1185
+ activeParameterSupport: z.boolean().optional(),
1186
+ noActiveParameterSupport: z.boolean().optional()
1187
+ });
1188
+ export const SignatureHelpClientCapabilitiesSchema = z.object({
1189
+ dynamicRegistration: z.boolean().optional(),
1190
+ signatureInformation: ClientSignatureInformationOptionsSchema.optional(),
1191
+ contextSupport: z.boolean().optional()
1192
+ });
1193
+ export const DeclarationClientCapabilitiesSchema = z.object({
1194
+ dynamicRegistration: z.boolean().optional(),
1195
+ linkSupport: z.boolean().optional()
1196
+ });
1197
+ export const DefinitionClientCapabilitiesSchema = z.object({
1198
+ dynamicRegistration: z.boolean().optional(),
1199
+ linkSupport: z.boolean().optional()
1200
+ });
1201
+ export const TypeDefinitionClientCapabilitiesSchema = z.object({
1202
+ dynamicRegistration: z.boolean().optional(),
1203
+ linkSupport: z.boolean().optional()
1204
+ });
1205
+ export const ImplementationClientCapabilitiesSchema = z.object({
1206
+ dynamicRegistration: z.boolean().optional(),
1207
+ linkSupport: z.boolean().optional()
1208
+ });
1209
+ export const ReferenceClientCapabilitiesSchema = z.object({
1210
+ dynamicRegistration: z.boolean().optional()
1211
+ });
1212
+ export const DocumentHighlightClientCapabilitiesSchema = z.object({
1213
+ dynamicRegistration: z.boolean().optional()
1214
+ });
1215
+ export const DocumentSymbolClientCapabilitiesSchema = z.object({
1216
+ dynamicRegistration: z.boolean().optional(),
1217
+ symbolKind: ClientSymbolKindOptionsSchema.optional(),
1218
+ hierarchicalDocumentSymbolSupport: z.boolean().optional(),
1219
+ tagSupport: ClientSymbolTagOptionsSchema.optional(),
1220
+ labelSupport: z.boolean().optional()
1221
+ });
1222
+ export const ClientCodeActionKindOptionsSchema = z.object({
1223
+ valueSet: z.array(CodeActionKindSchema)
1224
+ });
1225
+ export const ClientCodeActionLiteralOptionsSchema = z.object({
1226
+ codeActionKind: ClientCodeActionKindOptionsSchema
1227
+ });
1228
+ export const ClientCodeActionResolveOptionsSchema = z.object({
1229
+ properties: z.array(z.string())
1230
+ });
1231
+ export const CodeActionTagOptionsSchema = z.object({
1232
+ valueSet: z.array(CodeActionTagSchema)
1233
+ });
1234
+ export const CodeActionClientCapabilitiesSchema = z.object({
1235
+ dynamicRegistration: z.boolean().optional(),
1236
+ codeActionLiteralSupport: ClientCodeActionLiteralOptionsSchema.optional(),
1237
+ isPreferredSupport: z.boolean().optional(),
1238
+ disabledSupport: z.boolean().optional(),
1239
+ dataSupport: z.boolean().optional(),
1240
+ resolveSupport: ClientCodeActionResolveOptionsSchema.optional(),
1241
+ honorsChangeAnnotations: z.boolean().optional(),
1242
+ documentationSupport: z.boolean().optional(),
1243
+ tagSupport: CodeActionTagOptionsSchema.optional()
1244
+ });
1245
+ export const ClientCodeLensResolveOptionsSchema = z.object({
1246
+ properties: z.array(z.string())
1247
+ });
1248
+ export const CodeLensClientCapabilitiesSchema = z.object({
1249
+ dynamicRegistration: z.boolean().optional(),
1250
+ resolveSupport: ClientCodeLensResolveOptionsSchema.optional()
1251
+ });
1252
+ export const DocumentLinkClientCapabilitiesSchema = z.object({
1253
+ dynamicRegistration: z.boolean().optional(),
1254
+ tooltipSupport: z.boolean().optional()
1255
+ });
1256
+ export const DocumentColorClientCapabilitiesSchema = z.object({
1257
+ dynamicRegistration: z.boolean().optional()
1258
+ });
1259
+ export const DocumentFormattingClientCapabilitiesSchema = z.object({
1260
+ dynamicRegistration: z.boolean().optional()
1261
+ });
1262
+ export const DocumentRangeFormattingClientCapabilitiesSchema = z.object({
1263
+ dynamicRegistration: z.boolean().optional(),
1264
+ rangesSupport: z.boolean().optional()
1265
+ });
1266
+ export const DocumentOnTypeFormattingClientCapabilitiesSchema = z.object({
1267
+ dynamicRegistration: z.boolean().optional()
1268
+ });
1269
+ export const RenameClientCapabilitiesSchema = z.object({
1270
+ dynamicRegistration: z.boolean().optional(),
1271
+ prepareSupport: z.boolean().optional(),
1272
+ prepareSupportDefaultBehavior: PrepareSupportDefaultBehaviorSchema.optional(),
1273
+ honorsChangeAnnotations: z.boolean().optional()
1274
+ });
1275
+ export const ClientFoldingRangeKindOptionsSchema = z.object({
1276
+ valueSet: z.array(FoldingRangeKindSchema).optional()
1277
+ });
1278
+ export const ClientFoldingRangeOptionsSchema = z.object({
1279
+ collapsedText: z.boolean().optional()
1280
+ });
1281
+ export const FoldingRangeClientCapabilitiesSchema = z.object({
1282
+ dynamicRegistration: z.boolean().optional(),
1283
+ rangeLimit: z.number().int().gte(0).optional(),
1284
+ lineFoldingOnly: z.boolean().optional(),
1285
+ foldingRangeKind: ClientFoldingRangeKindOptionsSchema.optional(),
1286
+ foldingRange: ClientFoldingRangeOptionsSchema.optional()
1287
+ });
1288
+ export const SelectionRangeClientCapabilitiesSchema = z.object({
1289
+ dynamicRegistration: z.boolean().optional()
1290
+ });
1291
+ export const ClientDiagnosticsTagOptionsSchema = z.object({
1292
+ valueSet: z.array(DiagnosticTagSchema)
1293
+ });
1294
+ export const PublishDiagnosticsClientCapabilitiesSchema = z.object({
1295
+ relatedInformation: z.boolean().optional(),
1296
+ tagSupport: ClientDiagnosticsTagOptionsSchema.optional(),
1297
+ codeDescriptionSupport: z.boolean().optional(),
1298
+ dataSupport: z.boolean().optional(),
1299
+ versionSupport: z.boolean().optional()
1300
+ });
1301
+ export const CallHierarchyClientCapabilitiesSchema = z.object({
1302
+ dynamicRegistration: z.boolean().optional()
1303
+ });
1304
+ export const ClientSemanticTokensRequestFullDeltaSchema = z.object({
1305
+ delta: z.boolean().optional()
1306
+ });
1307
+ export const ClientSemanticTokensRequestOptionsSchema = z.object({
1308
+ range: z.union([z.boolean(), z.object({})]).optional(),
1309
+ full: z.union([z.boolean(), ClientSemanticTokensRequestFullDeltaSchema]).optional()
1310
+ });
1311
+ export const SemanticTokensClientCapabilitiesSchema = z.object({
1312
+ dynamicRegistration: z.boolean().optional(),
1313
+ requests: ClientSemanticTokensRequestOptionsSchema,
1314
+ tokenTypes: z.array(z.string()),
1315
+ tokenModifiers: z.array(z.string()),
1316
+ formats: z.array(TokenFormatSchema),
1317
+ overlappingTokenSupport: z.boolean().optional(),
1318
+ multilineTokenSupport: z.boolean().optional(),
1319
+ serverCancelSupport: z.boolean().optional(),
1320
+ augmentsSyntaxTokens: z.boolean().optional()
1321
+ });
1322
+ export const LinkedEditingRangeClientCapabilitiesSchema = z.object({
1323
+ dynamicRegistration: z.boolean().optional()
1324
+ });
1325
+ export const MonikerClientCapabilitiesSchema = z.object({
1326
+ dynamicRegistration: z.boolean().optional()
1327
+ });
1328
+ export const TypeHierarchyClientCapabilitiesSchema = z.object({
1329
+ dynamicRegistration: z.boolean().optional()
1330
+ });
1331
+ export const InlineValueClientCapabilitiesSchema = z.object({
1332
+ dynamicRegistration: z.boolean().optional()
1333
+ });
1334
+ export const ClientInlayHintResolveOptionsSchema = z.object({
1335
+ properties: z.array(z.string())
1336
+ });
1337
+ export const InlayHintClientCapabilitiesSchema = z.object({
1338
+ dynamicRegistration: z.boolean().optional(),
1339
+ resolveSupport: ClientInlayHintResolveOptionsSchema.optional()
1340
+ });
1341
+ export const DiagnosticClientCapabilitiesSchema = z.object({
1342
+ relatedInformation: z.boolean().optional(),
1343
+ tagSupport: ClientDiagnosticsTagOptionsSchema.optional(),
1344
+ codeDescriptionSupport: z.boolean().optional(),
1345
+ dataSupport: z.boolean().optional(),
1346
+ dynamicRegistration: z.boolean().optional(),
1347
+ relatedDocumentSupport: z.boolean().optional(),
1348
+ markupMessageSupport: z.boolean().optional()
1349
+ });
1350
+ export const InlineCompletionClientCapabilitiesSchema = z.object({
1351
+ dynamicRegistration: z.boolean().optional()
1352
+ });
1353
+ export const TextDocumentClientCapabilitiesSchema = z.object({
1354
+ synchronization: TextDocumentSyncClientCapabilitiesSchema.optional(),
1355
+ filters: TextDocumentFilterClientCapabilitiesSchema.optional(),
1356
+ completion: CompletionClientCapabilitiesSchema.optional(),
1357
+ hover: HoverClientCapabilitiesSchema.optional(),
1358
+ signatureHelp: SignatureHelpClientCapabilitiesSchema.optional(),
1359
+ declaration: DeclarationClientCapabilitiesSchema.optional(),
1360
+ definition: DefinitionClientCapabilitiesSchema.optional(),
1361
+ typeDefinition: TypeDefinitionClientCapabilitiesSchema.optional(),
1362
+ implementation: ImplementationClientCapabilitiesSchema.optional(),
1363
+ references: ReferenceClientCapabilitiesSchema.optional(),
1364
+ documentHighlight: DocumentHighlightClientCapabilitiesSchema.optional(),
1365
+ documentSymbol: DocumentSymbolClientCapabilitiesSchema.optional(),
1366
+ codeAction: CodeActionClientCapabilitiesSchema.optional(),
1367
+ codeLens: CodeLensClientCapabilitiesSchema.optional(),
1368
+ documentLink: DocumentLinkClientCapabilitiesSchema.optional(),
1369
+ colorProvider: DocumentColorClientCapabilitiesSchema.optional(),
1370
+ formatting: DocumentFormattingClientCapabilitiesSchema.optional(),
1371
+ rangeFormatting: DocumentRangeFormattingClientCapabilitiesSchema.optional(),
1372
+ onTypeFormatting: DocumentOnTypeFormattingClientCapabilitiesSchema.optional(),
1373
+ rename: RenameClientCapabilitiesSchema.optional(),
1374
+ foldingRange: FoldingRangeClientCapabilitiesSchema.optional(),
1375
+ selectionRange: SelectionRangeClientCapabilitiesSchema.optional(),
1376
+ publishDiagnostics: PublishDiagnosticsClientCapabilitiesSchema.optional(),
1377
+ callHierarchy: CallHierarchyClientCapabilitiesSchema.optional(),
1378
+ semanticTokens: SemanticTokensClientCapabilitiesSchema.optional(),
1379
+ linkedEditingRange: LinkedEditingRangeClientCapabilitiesSchema.optional(),
1380
+ moniker: MonikerClientCapabilitiesSchema.optional(),
1381
+ typeHierarchy: TypeHierarchyClientCapabilitiesSchema.optional(),
1382
+ inlineValue: InlineValueClientCapabilitiesSchema.optional(),
1383
+ inlayHint: InlayHintClientCapabilitiesSchema.optional(),
1384
+ diagnostic: DiagnosticClientCapabilitiesSchema.optional(),
1385
+ inlineCompletion: InlineCompletionClientCapabilitiesSchema.optional()
1386
+ });
1387
+ export const NotebookDocumentSyncClientCapabilitiesSchema = z.object({
1388
+ dynamicRegistration: z.boolean().optional(),
1389
+ executionSummarySupport: z.boolean().optional()
1390
+ });
1391
+ export const NotebookDocumentClientCapabilitiesSchema = z.object({
1392
+ synchronization: NotebookDocumentSyncClientCapabilitiesSchema
1393
+ });
1394
+ export const ClientShowMessageActionItemOptionsSchema = z.object({
1395
+ additionalPropertiesSupport: z.boolean().optional()
1396
+ });
1397
+ export const ShowMessageRequestClientCapabilitiesSchema = z.object({
1398
+ messageActionItem: ClientShowMessageActionItemOptionsSchema.optional()
1399
+ });
1400
+ export const ShowDocumentClientCapabilitiesSchema = z.object({
1401
+ support: z.boolean()
1402
+ });
1403
+ export const WindowClientCapabilitiesSchema = z.object({
1404
+ workDoneProgress: z.boolean().optional(),
1405
+ showMessage: ShowMessageRequestClientCapabilitiesSchema.optional(),
1406
+ showDocument: ShowDocumentClientCapabilitiesSchema.optional()
1407
+ });
1408
+ export const StaleRequestSupportOptionsSchema = z.object({
1409
+ cancel: z.boolean(),
1410
+ retryOnContentModified: z.array(z.string())
1411
+ });
1412
+ export const RegularExpressionEngineKindSchema = z.string();
1413
+ export const RegularExpressionsClientCapabilitiesSchema = z.object({
1414
+ engine: RegularExpressionEngineKindSchema,
1415
+ version: z.string().optional()
1416
+ });
1417
+ export const MarkdownClientCapabilitiesSchema = z.object({
1418
+ parser: z.string(),
1419
+ version: z.string().optional(),
1420
+ allowedTags: z.array(z.string()).optional()
1421
+ });
1422
+ export const GeneralClientCapabilitiesSchema = z.object({
1423
+ staleRequestSupport: StaleRequestSupportOptionsSchema.optional(),
1424
+ regularExpressions: RegularExpressionsClientCapabilitiesSchema.optional(),
1425
+ markdown: MarkdownClientCapabilitiesSchema.optional(),
1426
+ positionEncodings: z.array(PositionEncodingKindSchema).optional()
1427
+ });
1428
+ export const ClientCapabilitiesSchema = z.object({
1429
+ workspace: WorkspaceClientCapabilitiesSchema.optional(),
1430
+ textDocument: TextDocumentClientCapabilitiesSchema.optional(),
1431
+ notebookDocument: NotebookDocumentClientCapabilitiesSchema.optional(),
1432
+ window: WindowClientCapabilitiesSchema.optional(),
1433
+ general: GeneralClientCapabilitiesSchema.optional(),
1434
+ experimental: z.lazy(() => LSPAnySchema).optional()
1435
+ });
1436
+ export const InitializeParamsSchema = z.object({
1437
+ workDoneToken: ProgressTokenSchema.optional(),
1438
+ processId: z.union([z.number().int(), z.literal(null)]),
1439
+ clientInfo: ClientInfoSchema.optional(),
1440
+ locale: z.string().optional(),
1441
+ rootPath: z.union([z.string(), z.literal(null)]).optional(),
1442
+ rootUri: z.union([z.string(), z.literal(null)]),
1443
+ capabilities: ClientCapabilitiesSchema,
1444
+ initializationOptions: z.lazy(() => LSPAnySchema).optional(),
1445
+ trace: TraceValueSchema.optional(),
1446
+ workspaceFolders: z.union([z.array(WorkspaceFolderSchema), z.literal(null)]).optional()
1447
+ });
1448
+ export const SaveOptionsSchema = z.object({
1449
+ includeText: z.boolean().optional()
1450
+ });
1451
+ export const TextDocumentSyncOptionsSchema = z.object({
1452
+ openClose: z.boolean().optional(),
1453
+ change: TextDocumentSyncKindSchema.optional(),
1454
+ willSave: z.boolean().optional(),
1455
+ willSaveWaitUntil: z.boolean().optional(),
1456
+ save: z.union([z.boolean(), SaveOptionsSchema]).optional()
1457
+ });
1458
+ export const NotebookDocumentSyncOptionsSchema = z.object({
1459
+ notebookSelector: z.array(z.union([NotebookDocumentFilterWithNotebookSchema, NotebookDocumentFilterWithCellsSchema])),
1460
+ save: z.boolean().optional()
1461
+ });
1462
+ export const ServerCompletionItemOptionsSchema = z.object({
1463
+ labelDetailsSupport: z.boolean().optional()
1464
+ });
1465
+ export const CompletionOptionsSchema = z.object({
1466
+ workDoneProgress: z.boolean().optional(),
1467
+ triggerCharacters: z.array(z.string()).optional(),
1468
+ allCommitCharacters: z.array(z.string()).optional(),
1469
+ resolveProvider: z.boolean().optional(),
1470
+ completionItem: ServerCompletionItemOptionsSchema.optional()
1471
+ });
1472
+ export const HoverOptionsSchema = z.object({
1473
+ workDoneProgress: z.boolean().optional()
1474
+ });
1475
+ export const SignatureHelpOptionsSchema = z.object({
1476
+ workDoneProgress: z.boolean().optional(),
1477
+ triggerCharacters: z.array(z.string()).optional(),
1478
+ retriggerCharacters: z.array(z.string()).optional()
1479
+ });
1480
+ export const DeclarationOptionsSchema = z.object({
1481
+ workDoneProgress: z.boolean().optional()
1482
+ });
1483
+ export const DefinitionOptionsSchema = z.object({
1484
+ workDoneProgress: z.boolean().optional()
1485
+ });
1486
+ export const TypeDefinitionOptionsSchema = z.object({
1487
+ workDoneProgress: z.boolean().optional()
1488
+ });
1489
+ export const ImplementationOptionsSchema = z.object({
1490
+ workDoneProgress: z.boolean().optional()
1491
+ });
1492
+ export const ReferenceOptionsSchema = z.object({
1493
+ workDoneProgress: z.boolean().optional()
1494
+ });
1495
+ export const DocumentHighlightOptionsSchema = z.object({
1496
+ workDoneProgress: z.boolean().optional()
1497
+ });
1498
+ export const DocumentSymbolOptionsSchema = z.object({
1499
+ workDoneProgress: z.boolean().optional(),
1500
+ label: z.string().optional()
1501
+ });
1502
+ export const CodeActionKindDocumentationSchema = z.object({
1503
+ kind: CodeActionKindSchema,
1504
+ command: CommandSchema
1505
+ });
1506
+ export const CodeActionOptionsSchema = z.object({
1507
+ workDoneProgress: z.boolean().optional(),
1508
+ codeActionKinds: z.array(CodeActionKindSchema).optional(),
1509
+ documentation: z.array(CodeActionKindDocumentationSchema).optional(),
1510
+ resolveProvider: z.boolean().optional()
1511
+ });
1512
+ export const CodeLensOptionsSchema = z.object({
1513
+ workDoneProgress: z.boolean().optional(),
1514
+ resolveProvider: z.boolean().optional()
1515
+ });
1516
+ export const DocumentLinkOptionsSchema = z.object({
1517
+ workDoneProgress: z.boolean().optional(),
1518
+ resolveProvider: z.boolean().optional()
1519
+ });
1520
+ export const DocumentColorOptionsSchema = z.object({
1521
+ workDoneProgress: z.boolean().optional()
1522
+ });
1523
+ export const WorkspaceSymbolOptionsSchema = z.object({
1524
+ workDoneProgress: z.boolean().optional(),
1525
+ resolveProvider: z.boolean().optional()
1526
+ });
1527
+ export const DocumentFormattingOptionsSchema = z.object({
1528
+ workDoneProgress: z.boolean().optional()
1529
+ });
1530
+ export const DocumentRangeFormattingOptionsSchema = z.object({
1531
+ workDoneProgress: z.boolean().optional(),
1532
+ rangesSupport: z.boolean().optional()
1533
+ });
1534
+ export const DocumentOnTypeFormattingOptionsSchema = z.object({
1535
+ firstTriggerCharacter: z.string(),
1536
+ moreTriggerCharacter: z.array(z.string()).optional()
1537
+ });
1538
+ export const RenameOptionsSchema = z.object({
1539
+ workDoneProgress: z.boolean().optional(),
1540
+ prepareProvider: z.boolean().optional()
1541
+ });
1542
+ export const FoldingRangeOptionsSchema = z.object({
1543
+ workDoneProgress: z.boolean().optional()
1544
+ });
1545
+ export const SelectionRangeOptionsSchema = z.object({
1546
+ workDoneProgress: z.boolean().optional()
1547
+ });
1548
+ export const ExecuteCommandOptionsSchema = z.object({
1549
+ workDoneProgress: z.boolean().optional(),
1550
+ commands: z.array(z.string())
1551
+ });
1552
+ export const CallHierarchyOptionsSchema = z.object({
1553
+ workDoneProgress: z.boolean().optional()
1554
+ });
1555
+ export const LinkedEditingRangeOptionsSchema = z.object({
1556
+ workDoneProgress: z.boolean().optional()
1557
+ });
1558
+ export const SemanticTokensOptionsSchema = z.object({
1559
+ workDoneProgress: z.boolean().optional(),
1560
+ legend: SemanticTokensLegendSchema,
1561
+ range: z.union([z.boolean(), z.object({})]).optional(),
1562
+ full: z.union([z.boolean(), SemanticTokensFullDeltaSchema]).optional()
1563
+ });
1564
+ export const MonikerOptionsSchema = z.object({
1565
+ workDoneProgress: z.boolean().optional()
1566
+ });
1567
+ export const TypeHierarchyOptionsSchema = z.object({
1568
+ workDoneProgress: z.boolean().optional()
1569
+ });
1570
+ export const InlineValueOptionsSchema = z.object({
1571
+ workDoneProgress: z.boolean().optional()
1572
+ });
1573
+ export const InlayHintOptionsSchema = z.object({
1574
+ workDoneProgress: z.boolean().optional(),
1575
+ resolveProvider: z.boolean().optional()
1576
+ });
1577
+ export const DiagnosticOptionsSchema = z.object({
1578
+ workDoneProgress: z.boolean().optional(),
1579
+ identifier: z.string().optional(),
1580
+ interFileDependencies: z.boolean(),
1581
+ workspaceDiagnostics: z.boolean()
1582
+ });
1583
+ export const InlineCompletionOptionsSchema = z.object({
1584
+ workDoneProgress: z.boolean().optional()
1585
+ });
1586
+ export const WorkspaceFoldersServerCapabilitiesSchema = z.object({
1587
+ supported: z.boolean().optional(),
1588
+ changeNotifications: z.union([z.string(), z.boolean()]).optional()
1589
+ });
1590
+ export const FileOperationOptionsSchema = z.object({
1591
+ didCreate: FileOperationRegistrationOptionsSchema.optional(),
1592
+ willCreate: FileOperationRegistrationOptionsSchema.optional(),
1593
+ didRename: FileOperationRegistrationOptionsSchema.optional(),
1594
+ willRename: FileOperationRegistrationOptionsSchema.optional(),
1595
+ didDelete: FileOperationRegistrationOptionsSchema.optional(),
1596
+ willDelete: FileOperationRegistrationOptionsSchema.optional()
1597
+ });
1598
+ export const TextDocumentContentOptionsSchema = z.object({
1599
+ schemes: z.array(z.string())
1600
+ });
1601
+ export const WorkspaceOptionsSchema = z.object({
1602
+ workspaceFolders: WorkspaceFoldersServerCapabilitiesSchema.optional(),
1603
+ fileOperations: FileOperationOptionsSchema.optional(),
1604
+ textDocumentContent: z
1605
+ .union([TextDocumentContentOptionsSchema, TextDocumentContentRegistrationOptionsSchema])
1606
+ .optional()
1607
+ });
1608
+ export const ServerCapabilitiesSchema = z.object({
1609
+ positionEncoding: PositionEncodingKindSchema.optional(),
1610
+ textDocumentSync: z.union([TextDocumentSyncOptionsSchema, TextDocumentSyncKindSchema]).optional(),
1611
+ notebookDocumentSync: z
1612
+ .union([NotebookDocumentSyncOptionsSchema, NotebookDocumentSyncRegistrationOptionsSchema])
1613
+ .optional(),
1614
+ completionProvider: CompletionOptionsSchema.optional(),
1615
+ hoverProvider: z.union([z.boolean(), HoverOptionsSchema]).optional(),
1616
+ signatureHelpProvider: SignatureHelpOptionsSchema.optional(),
1617
+ declarationProvider: z
1618
+ .union([z.boolean(), DeclarationOptionsSchema, DeclarationRegistrationOptionsSchema])
1619
+ .optional(),
1620
+ definitionProvider: z.union([z.boolean(), DefinitionOptionsSchema]).optional(),
1621
+ typeDefinitionProvider: z
1622
+ .union([z.boolean(), TypeDefinitionOptionsSchema, TypeDefinitionRegistrationOptionsSchema])
1623
+ .optional(),
1624
+ implementationProvider: z
1625
+ .union([z.boolean(), ImplementationOptionsSchema, ImplementationRegistrationOptionsSchema])
1626
+ .optional(),
1627
+ referencesProvider: z.union([z.boolean(), ReferenceOptionsSchema]).optional(),
1628
+ documentHighlightProvider: z.union([z.boolean(), DocumentHighlightOptionsSchema]).optional(),
1629
+ documentSymbolProvider: z.union([z.boolean(), DocumentSymbolOptionsSchema]).optional(),
1630
+ codeActionProvider: z.union([z.boolean(), CodeActionOptionsSchema]).optional(),
1631
+ codeLensProvider: CodeLensOptionsSchema.optional(),
1632
+ documentLinkProvider: DocumentLinkOptionsSchema.optional(),
1633
+ colorProvider: z
1634
+ .union([z.boolean(), DocumentColorOptionsSchema, DocumentColorRegistrationOptionsSchema])
1635
+ .optional(),
1636
+ workspaceSymbolProvider: z.union([z.boolean(), WorkspaceSymbolOptionsSchema]).optional(),
1637
+ documentFormattingProvider: z.union([z.boolean(), DocumentFormattingOptionsSchema]).optional(),
1638
+ documentRangeFormattingProvider: z
1639
+ .union([z.boolean(), DocumentRangeFormattingOptionsSchema])
1640
+ .optional(),
1641
+ documentOnTypeFormattingProvider: DocumentOnTypeFormattingOptionsSchema.optional(),
1642
+ renameProvider: z.union([z.boolean(), RenameOptionsSchema]).optional(),
1643
+ foldingRangeProvider: z
1644
+ .union([z.boolean(), FoldingRangeOptionsSchema, FoldingRangeRegistrationOptionsSchema])
1645
+ .optional(),
1646
+ selectionRangeProvider: z
1647
+ .union([z.boolean(), SelectionRangeOptionsSchema, SelectionRangeRegistrationOptionsSchema])
1648
+ .optional(),
1649
+ executeCommandProvider: ExecuteCommandOptionsSchema.optional(),
1650
+ callHierarchyProvider: z
1651
+ .union([z.boolean(), CallHierarchyOptionsSchema, CallHierarchyRegistrationOptionsSchema])
1652
+ .optional(),
1653
+ linkedEditingRangeProvider: z
1654
+ .union([
1655
+ z.boolean(),
1656
+ LinkedEditingRangeOptionsSchema,
1657
+ LinkedEditingRangeRegistrationOptionsSchema
1658
+ ])
1659
+ .optional(),
1660
+ semanticTokensProvider: z
1661
+ .union([SemanticTokensOptionsSchema, SemanticTokensRegistrationOptionsSchema])
1662
+ .optional(),
1663
+ monikerProvider: z
1664
+ .union([z.boolean(), MonikerOptionsSchema, MonikerRegistrationOptionsSchema])
1665
+ .optional(),
1666
+ typeHierarchyProvider: z
1667
+ .union([z.boolean(), TypeHierarchyOptionsSchema, TypeHierarchyRegistrationOptionsSchema])
1668
+ .optional(),
1669
+ inlineValueProvider: z
1670
+ .union([z.boolean(), InlineValueOptionsSchema, InlineValueRegistrationOptionsSchema])
1671
+ .optional(),
1672
+ inlayHintProvider: z
1673
+ .union([z.boolean(), InlayHintOptionsSchema, InlayHintRegistrationOptionsSchema])
1674
+ .optional(),
1675
+ diagnosticProvider: z
1676
+ .union([DiagnosticOptionsSchema, DiagnosticRegistrationOptionsSchema])
1677
+ .optional(),
1678
+ inlineCompletionProvider: z.union([z.boolean(), InlineCompletionOptionsSchema]).optional(),
1679
+ workspace: WorkspaceOptionsSchema.optional(),
1680
+ experimental: z.lazy(() => LSPAnySchema).optional()
12
1681
  });
13
- /**
14
- * Range in a text document expressed as (zero-based) start and end positions
15
- */
16
- export const RangeSchema = z.object({
17
- start: PositionSchema,
18
- end: PositionSchema
1682
+ export const ServerInfoSchema = z.object({
1683
+ name: z.string(),
1684
+ version: z.string().optional()
19
1685
  });
20
- /**
21
- * Text document identifier
22
- */
23
- export const TextDocumentIdentifierSchema = z.object({
24
- uri: z.string() // DocumentUri
1686
+ export const InitializeResultSchema = z.object({
1687
+ capabilities: ServerCapabilitiesSchema,
1688
+ serverInfo: ServerInfoSchema.optional()
25
1689
  });
26
- /**
27
- * Versioned text document identifier
28
- */
29
- export const VersionedTextDocumentIdentifierSchema = z.object({
30
- uri: z.string(), // DocumentUri
31
- version: z.number().int()
1690
+ export const InitializeErrorSchema = z.object({
1691
+ retry: z.boolean()
32
1692
  });
33
- /**
34
- * Text document position params (common base)
35
- */
36
- export const TextDocumentPositionParamsSchema = z.object({
37
- textDocument: TextDocumentIdentifierSchema,
38
- position: PositionSchema
1693
+ export const InitializedParamsSchema = z.object({});
1694
+ export const DidChangeConfigurationParamsSchema = z.object({
1695
+ settings: z.lazy(() => LSPAnySchema)
39
1696
  });
40
- /**
41
- * Location represents a location inside a resource
42
- */
43
- export const LocationSchema = z.object({
44
- uri: z.string(), // DocumentUri
45
- range: RangeSchema
1697
+ export const DidChangeConfigurationRegistrationOptionsSchema = z.object({
1698
+ section: z.union([z.string(), z.array(z.string())]).optional()
46
1699
  });
47
- /**
48
- * Text edit to modify a text document
49
- */
50
- export const TextEditSchema = z.object({
51
- range: RangeSchema,
52
- newText: z.string()
1700
+ export const ShowMessageParamsSchema = z.object({
1701
+ type: MessageTypeSchema,
1702
+ message: z.string()
53
1703
  });
54
- /**
55
- * Diagnostic severity
56
- */
57
- export const DiagnosticSeveritySchema = z.union([
58
- z.literal(1), // Error
59
- z.literal(2), // Warning
60
- z.literal(3), // Information
61
- z.literal(4) // Hint
62
- ]);
63
- /**
64
- * Diagnostic represents a diagnostic, such as a compiler error or warning
65
- */
66
- export const DiagnosticSchema = z.object({
67
- range: RangeSchema,
68
- severity: DiagnosticSeveritySchema.optional(),
69
- code: z.union([z.number(), z.string()]).optional(),
70
- source: z.string().optional(),
1704
+ export const MessageActionItemSchema = z.object({
1705
+ title: z.string()
1706
+ });
1707
+ export const ShowMessageRequestParamsSchema = z.object({
1708
+ type: MessageTypeSchema,
71
1709
  message: z.string(),
72
- tags: z.array(z.number()).optional(),
73
- relatedInformation: z.array(z.any()).optional(), // DiagnosticRelatedInformation[]
74
- data: z.unknown().optional()
1710
+ actions: z.array(MessageActionItemSchema).optional()
75
1711
  });
76
- /**
77
- * Hover params
78
- */
79
- export const HoverParamsSchema = TextDocumentPositionParamsSchema;
80
- /**
81
- * Markup content (markdown or plaintext)
82
- */
83
- export const MarkupContentSchema = z.object({
84
- kind: z.union([z.literal('plaintext'), z.literal('markdown')]),
85
- value: z.string()
1712
+ export const LogMessageParamsSchema = z.object({
1713
+ type: MessageTypeSchema,
1714
+ message: z.string()
86
1715
  });
87
- /**
88
- * Hover result
89
- */
90
- export const HoverSchema = z.object({
91
- contents: z.union([
92
- z.string(),
93
- MarkupContentSchema,
94
- z.object({ language: z.string(), value: z.string() }),
95
- z.array(z.union([z.string(), z.object({ language: z.string(), value: z.string() })]))
96
- ]),
97
- range: RangeSchema.optional()
1716
+ export const DidOpenTextDocumentParamsSchema = z.object({
1717
+ textDocument: TextDocumentItemSchema
98
1718
  });
99
- /**
100
- * Completion params
101
- */
102
- export const CompletionParamsSchema = TextDocumentPositionParamsSchema.extend({
103
- workDoneToken: z.union([z.string(), z.number()]).optional(),
104
- partialResultToken: z.union([z.string(), z.number()]).optional(),
105
- context: z
106
- .object({
107
- triggerKind: z.number(),
108
- triggerCharacter: z.string().optional()
109
- })
110
- .optional()
1719
+ export const DidChangeTextDocumentParamsSchema = z.object({
1720
+ textDocument: VersionedTextDocumentIdentifierSchema,
1721
+ contentChanges: z.array(TextDocumentContentChangeEventSchema)
1722
+ });
1723
+ export const TextDocumentChangeRegistrationOptionsSchema = z.object({
1724
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
1725
+ syncKind: TextDocumentSyncKindSchema
1726
+ });
1727
+ export const DidCloseTextDocumentParamsSchema = z.object({
1728
+ textDocument: TextDocumentIdentifierSchema
1729
+ });
1730
+ export const DidSaveTextDocumentParamsSchema = z.object({
1731
+ textDocument: TextDocumentIdentifierSchema,
1732
+ text: z.string().optional()
1733
+ });
1734
+ export const TextDocumentSaveRegistrationOptionsSchema = z.object({
1735
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
1736
+ includeText: z.boolean().optional()
1737
+ });
1738
+ export const WillSaveTextDocumentParamsSchema = z.object({
1739
+ textDocument: TextDocumentIdentifierSchema,
1740
+ reason: TextDocumentSaveReasonSchema
1741
+ });
1742
+ export const FileEventSchema = z.object({
1743
+ uri: z.string(),
1744
+ type: FileChangeTypeSchema
1745
+ });
1746
+ export const DidChangeWatchedFilesParamsSchema = z.object({
1747
+ changes: z.array(FileEventSchema)
1748
+ });
1749
+ export const FileSystemWatcherSchema = z.object({
1750
+ globPattern: GlobPatternSchema,
1751
+ kind: WatchKindSchema.optional()
1752
+ });
1753
+ export const DidChangeWatchedFilesRegistrationOptionsSchema = z.object({
1754
+ watchers: z.array(FileSystemWatcherSchema)
1755
+ });
1756
+ export const PublishDiagnosticsParamsSchema = z.object({
1757
+ uri: z.string(),
1758
+ version: z.number().int().optional(),
1759
+ diagnostics: z.array(DiagnosticSchema)
1760
+ });
1761
+ export const CompletionContextSchema = z.object({
1762
+ triggerKind: CompletionTriggerKindSchema,
1763
+ triggerCharacter: z.string().optional()
1764
+ });
1765
+ export const CompletionParamsSchema = z.object({
1766
+ textDocument: TextDocumentIdentifierSchema,
1767
+ position: PositionSchema,
1768
+ workDoneToken: ProgressTokenSchema.optional(),
1769
+ partialResultToken: ProgressTokenSchema.optional(),
1770
+ context: CompletionContextSchema.optional()
1771
+ });
1772
+ export const CompletionItemLabelDetailsSchema = z.object({
1773
+ detail: z.string().optional(),
1774
+ description: z.string().optional()
1775
+ });
1776
+ export const InsertReplaceEditSchema = z.object({
1777
+ newText: z.string(),
1778
+ insert: RangeSchema,
1779
+ replace: RangeSchema
111
1780
  });
112
- /**
113
- * Completion item kind
114
- */
115
- export const CompletionItemKindSchema = z.number().int().min(1).max(25);
116
- /**
117
- * Completion item
118
- */
119
1781
  export const CompletionItemSchema = z.object({
120
1782
  label: z.string(),
1783
+ labelDetails: CompletionItemLabelDetailsSchema.optional(),
121
1784
  kind: CompletionItemKindSchema.optional(),
122
- tags: z.array(z.number()).optional(),
1785
+ tags: z.array(CompletionItemTagSchema).optional(),
123
1786
  detail: z.string().optional(),
124
1787
  documentation: z.union([z.string(), MarkupContentSchema]).optional(),
125
1788
  deprecated: z.boolean().optional(),
@@ -127,146 +1790,553 @@ export const CompletionItemSchema = z.object({
127
1790
  sortText: z.string().optional(),
128
1791
  filterText: z.string().optional(),
129
1792
  insertText: z.string().optional(),
130
- insertTextFormat: z.union([z.literal(1), z.literal(2)]).optional(),
131
- textEdit: TextEditSchema.optional(),
1793
+ insertTextFormat: InsertTextFormatSchema.optional(),
1794
+ insertTextMode: InsertTextModeSchema.optional(),
1795
+ textEdit: z.union([TextEditSchema, InsertReplaceEditSchema]).optional(),
1796
+ textEditText: z.string().optional(),
132
1797
  additionalTextEdits: z.array(TextEditSchema).optional(),
133
1798
  commitCharacters: z.array(z.string()).optional(),
134
- command: z.any().optional(), // Command
135
- data: z.unknown().optional()
1799
+ command: CommandSchema.optional(),
1800
+ data: z.lazy(() => LSPAnySchema).optional()
1801
+ });
1802
+ export const EditRangeWithInsertReplaceSchema = z.object({
1803
+ insert: RangeSchema,
1804
+ replace: RangeSchema
1805
+ });
1806
+ export const CompletionItemDefaultsSchema = z.object({
1807
+ commitCharacters: z.array(z.string()).optional(),
1808
+ editRange: z.union([RangeSchema, EditRangeWithInsertReplaceSchema]).optional(),
1809
+ insertTextFormat: InsertTextFormatSchema.optional(),
1810
+ insertTextMode: InsertTextModeSchema.optional(),
1811
+ data: z.lazy(() => LSPAnySchema).optional()
1812
+ });
1813
+ export const CompletionItemApplyKindsSchema = z.object({
1814
+ commitCharacters: ApplyKindSchema.optional(),
1815
+ data: ApplyKindSchema.optional()
136
1816
  });
137
- /**
138
- * Completion list
139
- */
140
1817
  export const CompletionListSchema = z.object({
141
1818
  isIncomplete: z.boolean(),
1819
+ itemDefaults: CompletionItemDefaultsSchema.optional(),
1820
+ applyKind: CompletionItemApplyKindsSchema.optional(),
142
1821
  items: z.array(CompletionItemSchema)
143
1822
  });
144
- /**
145
- * Definition params
146
- */
147
- export const DefinitionParamsSchema = TextDocumentPositionParamsSchema;
148
- /**
149
- * Reference params
150
- */
151
- export const ReferenceParamsSchema = TextDocumentPositionParamsSchema.extend({
152
- context: z.object({
153
- includeDeclaration: z.boolean()
154
- })
1823
+ export const CompletionRegistrationOptionsSchema = z.object({
1824
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
1825
+ workDoneProgress: z.boolean().optional(),
1826
+ triggerCharacters: z.array(z.string()).optional(),
1827
+ allCommitCharacters: z.array(z.string()).optional(),
1828
+ resolveProvider: z.boolean().optional(),
1829
+ completionItem: ServerCompletionItemOptionsSchema.optional()
1830
+ });
1831
+ export const HoverParamsSchema = z.object({
1832
+ textDocument: TextDocumentIdentifierSchema,
1833
+ position: PositionSchema,
1834
+ workDoneToken: ProgressTokenSchema.optional()
1835
+ });
1836
+ export const MarkedStringWithLanguageSchema = z.object({
1837
+ language: z.string(),
1838
+ value: z.string()
1839
+ });
1840
+ export const MarkedStringSchema = z.union([z.string(), MarkedStringWithLanguageSchema]);
1841
+ export const HoverSchema = z.object({
1842
+ contents: z.union([MarkupContentSchema, MarkedStringSchema, z.array(MarkedStringSchema)]),
1843
+ range: RangeSchema.optional()
1844
+ });
1845
+ export const HoverRegistrationOptionsSchema = z.object({
1846
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
1847
+ workDoneProgress: z.boolean().optional()
1848
+ });
1849
+ export const ParameterInformationSchema = z.object({
1850
+ label: z.union([z.string(), z.tuple([z.number().int().gte(0), z.number().int().gte(0)])]),
1851
+ documentation: z.union([z.string(), MarkupContentSchema]).optional()
1852
+ });
1853
+ export const SignatureInformationSchema = z.object({
1854
+ label: z.string(),
1855
+ documentation: z.union([z.string(), MarkupContentSchema]).optional(),
1856
+ parameters: z.array(ParameterInformationSchema).optional(),
1857
+ activeParameter: z.union([z.number().int().gte(0), z.literal(null)]).optional()
1858
+ });
1859
+ export const SignatureHelpSchema = z.object({
1860
+ signatures: z.array(SignatureInformationSchema),
1861
+ activeSignature: z.number().int().gte(0).optional(),
1862
+ activeParameter: z.union([z.number().int().gte(0), z.literal(null)]).optional()
1863
+ });
1864
+ export const SignatureHelpContextSchema = z.object({
1865
+ triggerKind: SignatureHelpTriggerKindSchema,
1866
+ triggerCharacter: z.string().optional(),
1867
+ isRetrigger: z.boolean(),
1868
+ activeSignatureHelp: SignatureHelpSchema.optional()
1869
+ });
1870
+ export const SignatureHelpParamsSchema = z.object({
1871
+ textDocument: TextDocumentIdentifierSchema,
1872
+ position: PositionSchema,
1873
+ workDoneToken: ProgressTokenSchema.optional(),
1874
+ context: SignatureHelpContextSchema.optional()
1875
+ });
1876
+ export const SignatureHelpRegistrationOptionsSchema = z.object({
1877
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
1878
+ workDoneProgress: z.boolean().optional(),
1879
+ triggerCharacters: z.array(z.string()).optional(),
1880
+ retriggerCharacters: z.array(z.string()).optional()
1881
+ });
1882
+ export const DefinitionParamsSchema = z.object({
1883
+ textDocument: TextDocumentIdentifierSchema,
1884
+ position: PositionSchema,
1885
+ workDoneToken: ProgressTokenSchema.optional(),
1886
+ partialResultToken: ProgressTokenSchema.optional()
1887
+ });
1888
+ export const DefinitionRegistrationOptionsSchema = z.object({
1889
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
1890
+ workDoneProgress: z.boolean().optional()
1891
+ });
1892
+ export const ReferenceContextSchema = z.object({
1893
+ includeDeclaration: z.boolean()
1894
+ });
1895
+ export const ReferenceParamsSchema = z.object({
1896
+ textDocument: TextDocumentIdentifierSchema,
1897
+ position: PositionSchema,
1898
+ workDoneToken: ProgressTokenSchema.optional(),
1899
+ partialResultToken: ProgressTokenSchema.optional(),
1900
+ context: ReferenceContextSchema
1901
+ });
1902
+ export const ReferenceRegistrationOptionsSchema = z.object({
1903
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
1904
+ workDoneProgress: z.boolean().optional()
1905
+ });
1906
+ export const DocumentHighlightParamsSchema = z.object({
1907
+ textDocument: TextDocumentIdentifierSchema,
1908
+ position: PositionSchema,
1909
+ workDoneToken: ProgressTokenSchema.optional(),
1910
+ partialResultToken: ProgressTokenSchema.optional()
1911
+ });
1912
+ export const DocumentHighlightSchema = z.object({
1913
+ range: RangeSchema,
1914
+ kind: DocumentHighlightKindSchema.optional()
1915
+ });
1916
+ export const DocumentHighlightRegistrationOptionsSchema = z.object({
1917
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
1918
+ workDoneProgress: z.boolean().optional()
155
1919
  });
156
- /**
157
- * Document symbol params
158
- */
159
1920
  export const DocumentSymbolParamsSchema = z.object({
1921
+ workDoneToken: ProgressTokenSchema.optional(),
1922
+ partialResultToken: ProgressTokenSchema.optional(),
160
1923
  textDocument: TextDocumentIdentifierSchema
161
1924
  });
162
- /**
163
- * Symbol kind
164
- */
165
- export const SymbolKindSchema = z.number().int().min(1).max(26);
166
- /**
167
- * Document symbol
168
- */
169
- export const DocumentSymbolSchema = z.lazy(() => z.object({
1925
+ export const SymbolInformationSchema = z.object({
1926
+ name: z.string(),
1927
+ kind: SymbolKindSchema,
1928
+ tags: z.array(SymbolTagSchema).optional(),
1929
+ containerName: z.string().optional(),
1930
+ deprecated: z.boolean().optional(),
1931
+ location: LocationSchema
1932
+ });
1933
+ export const DocumentSymbolSchema = z.object({
170
1934
  name: z.string(),
171
1935
  detail: z.string().optional(),
172
1936
  kind: SymbolKindSchema,
173
- tags: z.array(z.number()).optional(),
1937
+ tags: z.array(SymbolTagSchema).optional(),
174
1938
  deprecated: z.boolean().optional(),
175
1939
  range: RangeSchema,
176
1940
  selectionRange: RangeSchema,
177
- children: z.array(DocumentSymbolSchema).optional()
178
- }));
179
- /**
180
- * Initialize params
181
- */
182
- export const InitializeParamsSchema = z.object({
183
- processId: z.union([z.number(), z.null()]),
184
- clientInfo: z
185
- .object({
186
- name: z.string(),
187
- version: z.string().optional()
188
- })
189
- .optional(),
190
- locale: z.string().optional(),
191
- rootPath: z.union([z.string(), z.null()]).optional(),
192
- rootUri: z.union([z.string(), z.null()]),
193
- initializationOptions: z.unknown().optional(),
194
- capabilities: z.any(), // ClientCapabilities
195
- trace: z.enum(['off', 'messages', 'verbose']).optional(),
196
- workspaceFolders: z
197
- .array(z.object({
198
- uri: z.string(),
199
- name: z.string()
200
- }))
201
- .nullable()
202
- .optional()
1941
+ children: z.array(z.lazy(() => DocumentSymbolSchema)).optional()
203
1942
  });
204
- /**
205
- * Did open text document params
206
- */
207
- export const DidOpenTextDocumentParamsSchema = z.object({
208
- textDocument: z.object({
209
- uri: z.string(),
210
- languageId: z.string(),
211
- version: z.number().int(),
212
- text: z.string()
213
- })
1943
+ export const DocumentSymbolRegistrationOptionsSchema = z.object({
1944
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
1945
+ workDoneProgress: z.boolean().optional(),
1946
+ label: z.string().optional()
214
1947
  });
215
- /**
216
- * Text document content change event
217
- */
218
- export const TextDocumentContentChangeEventSchema = z.union([
219
- z.object({
220
- range: RangeSchema,
221
- rangeLength: z.number().optional(),
222
- text: z.string()
223
- }),
224
- z.object({
225
- text: z.string()
226
- })
227
- ]);
228
- /**
229
- * Did change text document params
230
- */
231
- export const DidChangeTextDocumentParamsSchema = z.object({
232
- textDocument: VersionedTextDocumentIdentifierSchema,
233
- contentChanges: z.array(TextDocumentContentChangeEventSchema)
1948
+ export const CodeActionContextSchema = z.object({
1949
+ diagnostics: z.array(DiagnosticSchema),
1950
+ only: z.array(CodeActionKindSchema).optional(),
1951
+ triggerKind: CodeActionTriggerKindSchema.optional()
234
1952
  });
235
- /**
236
- * Did close text document params
237
- */
238
- export const DidCloseTextDocumentParamsSchema = z.object({
1953
+ export const CodeActionParamsSchema = z.object({
1954
+ workDoneToken: ProgressTokenSchema.optional(),
1955
+ partialResultToken: ProgressTokenSchema.optional(),
1956
+ textDocument: TextDocumentIdentifierSchema,
1957
+ range: RangeSchema,
1958
+ context: CodeActionContextSchema
1959
+ });
1960
+ export const CodeActionDisabledSchema = z.object({
1961
+ reason: z.string()
1962
+ });
1963
+ export const CodeActionSchema = z.object({
1964
+ title: z.string(),
1965
+ kind: CodeActionKindSchema.optional(),
1966
+ diagnostics: z.array(DiagnosticSchema).optional(),
1967
+ isPreferred: z.boolean().optional(),
1968
+ disabled: CodeActionDisabledSchema.optional(),
1969
+ edit: WorkspaceEditSchema.optional(),
1970
+ command: CommandSchema.optional(),
1971
+ data: z.lazy(() => LSPAnySchema).optional(),
1972
+ tags: z.array(CodeActionTagSchema).optional()
1973
+ });
1974
+ export const CodeActionRegistrationOptionsSchema = z.object({
1975
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
1976
+ workDoneProgress: z.boolean().optional(),
1977
+ codeActionKinds: z.array(CodeActionKindSchema).optional(),
1978
+ documentation: z.array(CodeActionKindDocumentationSchema).optional(),
1979
+ resolveProvider: z.boolean().optional()
1980
+ });
1981
+ export const WorkspaceSymbolParamsSchema = z.object({
1982
+ workDoneToken: ProgressTokenSchema.optional(),
1983
+ partialResultToken: ProgressTokenSchema.optional(),
1984
+ query: z.string()
1985
+ });
1986
+ export const LocationUriOnlySchema = z.object({
1987
+ uri: z.string()
1988
+ });
1989
+ export const WorkspaceSymbolSchema = z.object({
1990
+ name: z.string(),
1991
+ kind: SymbolKindSchema,
1992
+ tags: z.array(SymbolTagSchema).optional(),
1993
+ containerName: z.string().optional(),
1994
+ location: z.union([LocationSchema, LocationUriOnlySchema]),
1995
+ data: z.lazy(() => LSPAnySchema).optional()
1996
+ });
1997
+ export const WorkspaceSymbolRegistrationOptionsSchema = z.object({
1998
+ workDoneProgress: z.boolean().optional(),
1999
+ resolveProvider: z.boolean().optional()
2000
+ });
2001
+ export const CodeLensParamsSchema = z.object({
2002
+ workDoneToken: ProgressTokenSchema.optional(),
2003
+ partialResultToken: ProgressTokenSchema.optional(),
239
2004
  textDocument: TextDocumentIdentifierSchema
240
2005
  });
241
- /**
242
- * Did save text document params
243
- */
244
- export const DidSaveTextDocumentParamsSchema = z.object({
2006
+ export const CodeLensSchema = z.object({
2007
+ range: RangeSchema,
2008
+ command: CommandSchema.optional(),
2009
+ data: z.lazy(() => LSPAnySchema).optional()
2010
+ });
2011
+ export const CodeLensRegistrationOptionsSchema = z.object({
2012
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
2013
+ workDoneProgress: z.boolean().optional(),
2014
+ resolveProvider: z.boolean().optional()
2015
+ });
2016
+ export const DocumentLinkParamsSchema = z.object({
2017
+ workDoneToken: ProgressTokenSchema.optional(),
2018
+ partialResultToken: ProgressTokenSchema.optional(),
2019
+ textDocument: TextDocumentIdentifierSchema
2020
+ });
2021
+ export const DocumentLinkSchema = z.object({
2022
+ range: RangeSchema,
2023
+ target: z.string().optional(),
2024
+ tooltip: z.string().optional(),
2025
+ data: z.lazy(() => LSPAnySchema).optional()
2026
+ });
2027
+ export const DocumentLinkRegistrationOptionsSchema = z.object({
2028
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
2029
+ workDoneProgress: z.boolean().optional(),
2030
+ resolveProvider: z.boolean().optional()
2031
+ });
2032
+ export const FormattingOptionsSchema = z.object({
2033
+ tabSize: z.number().int().gte(0),
2034
+ insertSpaces: z.boolean(),
2035
+ trimTrailingWhitespace: z.boolean().optional(),
2036
+ insertFinalNewline: z.boolean().optional(),
2037
+ trimFinalNewlines: z.boolean().optional()
2038
+ });
2039
+ export const DocumentFormattingParamsSchema = z.object({
2040
+ workDoneToken: ProgressTokenSchema.optional(),
245
2041
  textDocument: TextDocumentIdentifierSchema,
246
- text: z.string().optional()
2042
+ options: FormattingOptionsSchema
2043
+ });
2044
+ export const DocumentFormattingRegistrationOptionsSchema = z.object({
2045
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
2046
+ workDoneProgress: z.boolean().optional()
2047
+ });
2048
+ export const DocumentRangeFormattingParamsSchema = z.object({
2049
+ workDoneToken: ProgressTokenSchema.optional(),
2050
+ textDocument: TextDocumentIdentifierSchema,
2051
+ range: RangeSchema,
2052
+ options: FormattingOptionsSchema
2053
+ });
2054
+ export const DocumentRangeFormattingRegistrationOptionsSchema = z.object({
2055
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
2056
+ workDoneProgress: z.boolean().optional(),
2057
+ rangesSupport: z.boolean().optional()
2058
+ });
2059
+ export const DocumentRangesFormattingParamsSchema = z.object({
2060
+ workDoneToken: ProgressTokenSchema.optional(),
2061
+ textDocument: TextDocumentIdentifierSchema,
2062
+ ranges: z.array(RangeSchema),
2063
+ options: FormattingOptionsSchema
247
2064
  });
2065
+ export const DocumentOnTypeFormattingParamsSchema = z.object({
2066
+ textDocument: TextDocumentIdentifierSchema,
2067
+ position: PositionSchema,
2068
+ ch: z.string(),
2069
+ options: FormattingOptionsSchema
2070
+ });
2071
+ export const DocumentOnTypeFormattingRegistrationOptionsSchema = z.object({
2072
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
2073
+ firstTriggerCharacter: z.string(),
2074
+ moreTriggerCharacter: z.array(z.string()).optional()
2075
+ });
2076
+ export const RenameParamsSchema = z.object({
2077
+ textDocument: TextDocumentIdentifierSchema,
2078
+ position: PositionSchema,
2079
+ workDoneToken: ProgressTokenSchema.optional(),
2080
+ newName: z.string()
2081
+ });
2082
+ export const RenameRegistrationOptionsSchema = z.object({
2083
+ documentSelector: z.union([DocumentSelectorSchema, z.literal(null)]),
2084
+ workDoneProgress: z.boolean().optional(),
2085
+ prepareProvider: z.boolean().optional()
2086
+ });
2087
+ export const PrepareRenameParamsSchema = z.object({
2088
+ textDocument: TextDocumentIdentifierSchema,
2089
+ position: PositionSchema,
2090
+ workDoneToken: ProgressTokenSchema.optional()
2091
+ });
2092
+ export const ExecuteCommandParamsSchema = z.object({
2093
+ workDoneToken: ProgressTokenSchema.optional(),
2094
+ command: z.string(),
2095
+ arguments: z.array(z.lazy(() => LSPAnySchema)).optional()
2096
+ });
2097
+ export const ExecuteCommandRegistrationOptionsSchema = z.object({
2098
+ workDoneProgress: z.boolean().optional(),
2099
+ commands: z.array(z.string())
2100
+ });
2101
+ export const WorkspaceEditMetadataSchema = z.object({
2102
+ isRefactoring: z.boolean().optional()
2103
+ });
2104
+ export const ApplyWorkspaceEditParamsSchema = z.object({
2105
+ label: z.string().optional(),
2106
+ edit: WorkspaceEditSchema,
2107
+ metadata: WorkspaceEditMetadataSchema.optional()
2108
+ });
2109
+ export const ApplyWorkspaceEditResultSchema = z.object({
2110
+ applied: z.boolean(),
2111
+ failureReason: z.string().optional(),
2112
+ failedChange: z.number().int().gte(0).optional()
2113
+ });
2114
+ export const WorkDoneProgressBeginSchema = z.object({
2115
+ kind: z.literal('begin'),
2116
+ title: z.string(),
2117
+ cancellable: z.boolean().optional(),
2118
+ message: z.string().optional(),
2119
+ percentage: z.number().int().gte(0).optional()
2120
+ });
2121
+ export const WorkDoneProgressReportSchema = z.object({
2122
+ kind: z.literal('report'),
2123
+ cancellable: z.boolean().optional(),
2124
+ message: z.string().optional(),
2125
+ percentage: z.number().int().gte(0).optional()
2126
+ });
2127
+ export const WorkDoneProgressEndSchema = z.object({
2128
+ kind: z.literal('end'),
2129
+ message: z.string().optional()
2130
+ });
2131
+ export const SetTraceParamsSchema = z.object({
2132
+ value: TraceValueSchema
2133
+ });
2134
+ export const LogTraceParamsSchema = z.object({
2135
+ message: z.string(),
2136
+ verbose: z.string().optional()
2137
+ });
2138
+ export const CancelParamsSchema = z.object({
2139
+ id: z.union([z.number().int(), z.string()])
2140
+ });
2141
+ export const ProgressParamsSchema = z.object({
2142
+ token: ProgressTokenSchema,
2143
+ value: z.lazy(() => LSPAnySchema)
2144
+ });
2145
+ export const TextDocumentPositionParamsSchema = z.object({
2146
+ textDocument: TextDocumentIdentifierSchema,
2147
+ position: PositionSchema
2148
+ });
2149
+ export const WorkDoneProgressParamsSchema = z.object({
2150
+ workDoneToken: ProgressTokenSchema.optional()
2151
+ });
2152
+ export const PartialResultParamsSchema = z.object({
2153
+ partialResultToken: ProgressTokenSchema.optional()
2154
+ });
2155
+ export const LocationLinkSchema = z.object({
2156
+ originSelectionRange: RangeSchema.optional(),
2157
+ targetUri: z.string(),
2158
+ targetRange: RangeSchema,
2159
+ targetSelectionRange: RangeSchema
2160
+ });
2161
+ export const StaticRegistrationOptionsSchema = z.object({
2162
+ id: z.string().optional()
2163
+ });
2164
+ export const InlineValueTextSchema = z.object({
2165
+ range: RangeSchema,
2166
+ text: z.string()
2167
+ });
2168
+ export const InlineValueVariableLookupSchema = z.object({
2169
+ range: RangeSchema,
2170
+ variableName: z.string().optional(),
2171
+ caseSensitiveLookup: z.boolean()
2172
+ });
2173
+ export const InlineValueEvaluatableExpressionSchema = z.object({
2174
+ range: RangeSchema,
2175
+ expression: z.string().optional()
2176
+ });
2177
+ export const RelatedFullDocumentDiagnosticReportSchema = z.object({
2178
+ kind: z.literal('full'),
2179
+ resultId: z.string().optional(),
2180
+ items: z.array(DiagnosticSchema),
2181
+ relatedDocuments: z
2182
+ .record(z.string(), z.union([FullDocumentDiagnosticReportSchema, UnchangedDocumentDiagnosticReportSchema]))
2183
+ .optional()
2184
+ });
2185
+ export const RelatedUnchangedDocumentDiagnosticReportSchema = z.object({
2186
+ kind: z.literal('unchanged'),
2187
+ resultId: z.string(),
2188
+ relatedDocuments: z
2189
+ .record(z.string(), z.union([FullDocumentDiagnosticReportSchema, UnchangedDocumentDiagnosticReportSchema]))
2190
+ .optional()
2191
+ });
2192
+ export const _InitializeParamsSchema = z.object({
2193
+ workDoneToken: ProgressTokenSchema.optional(),
2194
+ processId: z.union([z.number().int(), z.literal(null)]),
2195
+ clientInfo: ClientInfoSchema.optional(),
2196
+ locale: z.string().optional(),
2197
+ rootPath: z.union([z.string(), z.literal(null)]).optional(),
2198
+ rootUri: z.union([z.string(), z.literal(null)]),
2199
+ capabilities: ClientCapabilitiesSchema,
2200
+ initializationOptions: z.lazy(() => LSPAnySchema).optional(),
2201
+ trace: TraceValueSchema.optional()
2202
+ });
2203
+ export const WorkspaceFoldersInitializeParamsSchema = z.object({
2204
+ workspaceFolders: z.union([z.array(WorkspaceFolderSchema), z.literal(null)]).optional()
2205
+ });
2206
+ export const BaseSymbolInformationSchema = z.object({
2207
+ name: z.string(),
2208
+ kind: SymbolKindSchema,
2209
+ tags: z.array(SymbolTagSchema).optional(),
2210
+ containerName: z.string().optional()
2211
+ });
2212
+ export const PrepareRenamePlaceholderSchema = z.object({
2213
+ range: RangeSchema,
2214
+ placeholder: z.string()
2215
+ });
2216
+ export const PrepareRenameDefaultBehaviorSchema = z.object({
2217
+ defaultBehavior: z.boolean()
2218
+ });
2219
+ export const ResourceOperationSchema = z.object({
2220
+ kind: z.string(),
2221
+ annotationId: ChangeAnnotationIdentifierSchema.optional()
2222
+ });
2223
+ export const DiagnosticsCapabilitiesSchema = z.object({
2224
+ relatedInformation: z.boolean().optional(),
2225
+ tagSupport: ClientDiagnosticsTagOptionsSchema.optional(),
2226
+ codeDescriptionSupport: z.boolean().optional(),
2227
+ dataSupport: z.boolean().optional()
2228
+ });
2229
+ export const DefinitionSchema = z.union([LocationSchema, z.array(LocationSchema)]);
2230
+ export const DefinitionLinkSchema = LocationLinkSchema;
2231
+ export const DeclarationSchema = z.union([LocationSchema, z.array(LocationSchema)]);
2232
+ export const DeclarationLinkSchema = LocationLinkSchema;
2233
+ export const InlineValueSchema = z.union([
2234
+ InlineValueTextSchema,
2235
+ InlineValueVariableLookupSchema,
2236
+ InlineValueEvaluatableExpressionSchema
2237
+ ]);
2238
+ export const DocumentDiagnosticReportSchema = z.union([
2239
+ RelatedFullDocumentDiagnosticReportSchema,
2240
+ RelatedUnchangedDocumentDiagnosticReportSchema
2241
+ ]);
2242
+ export const PrepareRenameResultSchema = z.union([
2243
+ RangeSchema,
2244
+ PrepareRenamePlaceholderSchema,
2245
+ PrepareRenameDefaultBehaviorSchema
2246
+ ]);
248
2247
  /**
249
2248
  * Schema registry for method-based lookup
250
2249
  */
251
2250
  export const LSPSchemas = {
252
- // Request params
253
- 'textDocument/hover': HoverParamsSchema,
2251
+ '$/cancelRequest': CancelParamsSchema,
2252
+ '$/logTrace': LogTraceParamsSchema,
2253
+ '$/progress': ProgressParamsSchema,
2254
+ '$/setTrace': SetTraceParamsSchema,
2255
+ 'callHierarchy/incomingCalls': CallHierarchyIncomingCallsParamsSchema,
2256
+ 'callHierarchy/outgoingCalls': CallHierarchyOutgoingCallsParamsSchema,
2257
+ 'client/registerCapability': RegistrationParamsSchema,
2258
+ 'client/unregisterCapability': UnregistrationParamsSchema,
2259
+ 'codeAction/resolve': CodeActionSchema,
2260
+ 'codeLens/resolve': CodeLensSchema,
2261
+ 'completionItem/resolve': CompletionItemSchema,
2262
+ 'documentLink/resolve': DocumentLinkSchema,
2263
+ initialize: InitializeParamsSchema,
2264
+ initialized: InitializedParamsSchema,
2265
+ 'inlayHint/resolve': InlayHintSchema,
2266
+ 'notebookDocument/didChange': DidChangeNotebookDocumentParamsSchema,
2267
+ 'notebookDocument/didClose': DidCloseNotebookDocumentParamsSchema,
2268
+ 'notebookDocument/didOpen': DidOpenNotebookDocumentParamsSchema,
2269
+ 'notebookDocument/didSave': DidSaveNotebookDocumentParamsSchema,
2270
+ 'telemetry/event': LSPAnySchema,
2271
+ 'textDocument/codeAction': CodeActionParamsSchema,
2272
+ 'textDocument/codeLens': CodeLensParamsSchema,
2273
+ 'textDocument/colorPresentation': ColorPresentationParamsSchema,
254
2274
  'textDocument/completion': CompletionParamsSchema,
2275
+ 'textDocument/declaration': DeclarationParamsSchema,
255
2276
  'textDocument/definition': DefinitionParamsSchema,
256
- 'textDocument/references': ReferenceParamsSchema,
257
- 'textDocument/documentSymbol': DocumentSymbolParamsSchema,
258
- initialize: InitializeParamsSchema,
259
- // Notification params
260
- 'textDocument/didOpen': DidOpenTextDocumentParamsSchema,
2277
+ 'textDocument/diagnostic': DocumentDiagnosticParamsSchema,
261
2278
  'textDocument/didChange': DidChangeTextDocumentParamsSchema,
262
2279
  'textDocument/didClose': DidCloseTextDocumentParamsSchema,
263
- 'textDocument/didSave': DidSaveTextDocumentParamsSchema
2280
+ 'textDocument/didOpen': DidOpenTextDocumentParamsSchema,
2281
+ 'textDocument/didSave': DidSaveTextDocumentParamsSchema,
2282
+ 'textDocument/documentColor': DocumentColorParamsSchema,
2283
+ 'textDocument/documentHighlight': DocumentHighlightParamsSchema,
2284
+ 'textDocument/documentLink': DocumentLinkParamsSchema,
2285
+ 'textDocument/documentSymbol': DocumentSymbolParamsSchema,
2286
+ 'textDocument/foldingRange': FoldingRangeParamsSchema,
2287
+ 'textDocument/formatting': DocumentFormattingParamsSchema,
2288
+ 'textDocument/hover': HoverParamsSchema,
2289
+ 'textDocument/implementation': ImplementationParamsSchema,
2290
+ 'textDocument/inlayHint': InlayHintParamsSchema,
2291
+ 'textDocument/inlineCompletion': InlineCompletionParamsSchema,
2292
+ 'textDocument/inlineValue': InlineValueParamsSchema,
2293
+ 'textDocument/linkedEditingRange': LinkedEditingRangeParamsSchema,
2294
+ 'textDocument/moniker': MonikerParamsSchema,
2295
+ 'textDocument/onTypeFormatting': DocumentOnTypeFormattingParamsSchema,
2296
+ 'textDocument/prepareCallHierarchy': CallHierarchyPrepareParamsSchema,
2297
+ 'textDocument/prepareRename': PrepareRenameParamsSchema,
2298
+ 'textDocument/prepareTypeHierarchy': TypeHierarchyPrepareParamsSchema,
2299
+ 'textDocument/publishDiagnostics': PublishDiagnosticsParamsSchema,
2300
+ 'textDocument/rangeFormatting': DocumentRangeFormattingParamsSchema,
2301
+ 'textDocument/rangesFormatting': DocumentRangesFormattingParamsSchema,
2302
+ 'textDocument/references': ReferenceParamsSchema,
2303
+ 'textDocument/rename': RenameParamsSchema,
2304
+ 'textDocument/selectionRange': SelectionRangeParamsSchema,
2305
+ 'textDocument/semanticTokens/full': SemanticTokensParamsSchema,
2306
+ 'textDocument/semanticTokens/full/delta': SemanticTokensDeltaParamsSchema,
2307
+ 'textDocument/semanticTokens/range': SemanticTokensRangeParamsSchema,
2308
+ 'textDocument/signatureHelp': SignatureHelpParamsSchema,
2309
+ 'textDocument/typeDefinition': TypeDefinitionParamsSchema,
2310
+ 'textDocument/willSave': WillSaveTextDocumentParamsSchema,
2311
+ 'textDocument/willSaveWaitUntil': WillSaveTextDocumentParamsSchema,
2312
+ 'typeHierarchy/subtypes': TypeHierarchySubtypesParamsSchema,
2313
+ 'typeHierarchy/supertypes': TypeHierarchySupertypesParamsSchema,
2314
+ 'window/logMessage': LogMessageParamsSchema,
2315
+ 'window/showDocument': ShowDocumentParamsSchema,
2316
+ 'window/showMessage': ShowMessageParamsSchema,
2317
+ 'window/showMessageRequest': ShowMessageRequestParamsSchema,
2318
+ 'window/workDoneProgress/cancel': WorkDoneProgressCancelParamsSchema,
2319
+ 'window/workDoneProgress/create': WorkDoneProgressCreateParamsSchema,
2320
+ 'workspace/applyEdit': ApplyWorkspaceEditParamsSchema,
2321
+ 'workspace/configuration': ConfigurationParamsSchema,
2322
+ 'workspace/diagnostic': WorkspaceDiagnosticParamsSchema,
2323
+ 'workspace/didChangeConfiguration': DidChangeConfigurationParamsSchema,
2324
+ 'workspace/didChangeWatchedFiles': DidChangeWatchedFilesParamsSchema,
2325
+ 'workspace/didChangeWorkspaceFolders': DidChangeWorkspaceFoldersParamsSchema,
2326
+ 'workspace/didCreateFiles': CreateFilesParamsSchema,
2327
+ 'workspace/didDeleteFiles': DeleteFilesParamsSchema,
2328
+ 'workspace/didRenameFiles': RenameFilesParamsSchema,
2329
+ 'workspace/executeCommand': ExecuteCommandParamsSchema,
2330
+ 'workspace/symbol': WorkspaceSymbolParamsSchema,
2331
+ 'workspace/textDocumentContent': TextDocumentContentParamsSchema,
2332
+ 'workspace/textDocumentContent/refresh': TextDocumentContentRefreshParamsSchema,
2333
+ 'workspace/willCreateFiles': CreateFilesParamsSchema,
2334
+ 'workspace/willDeleteFiles': DeleteFilesParamsSchema,
2335
+ 'workspace/willRenameFiles': RenameFilesParamsSchema,
2336
+ 'workspaceSymbol/resolve': WorkspaceSymbolSchema
264
2337
  };
265
2338
  /**
266
2339
  * Looks up the Zod validation schema for a given LSP method.
267
- *
268
- * @param method - The LSP method string to look up (e.g. `'textDocument/hover'`).
269
- * @returns The Zod schema for the method's params, or `undefined` if none is registered.
270
2340
  */
271
2341
  export function getSchemaForMethod(method) {
272
2342
  return LSPSchemas[method];