1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739

#[macro_use]
extern crate serde_derive;
extern crate serde_json;
extern crate serde;

# [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct AttachRequest { /// Object containing arguments for the command.
 pub arguments : AttachRequestArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'attach' request.
/// The attach request has no standardized attributes.
 pub type AttachRequestArguments = serde_json::Value ; # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct AttachResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : Option<serde_json::Value> , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Information about a Breakpoint created in setBreakpoints or setFunctionBreakpoints.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct Breakpoint { /// An optional start column of the actual range covered by the breakpoint.
 pub column : Option<i64> , /// An optional end column of the actual range covered by the breakpoint. If no end line is 
/// given, then the end column is assumed to be in the start line.
 # [ serde ( rename = "endColumn" ) ] pub end_column : Option<i64> , /// An optional end line of the actual range covered by the breakpoint.
 # [ serde ( rename = "endLine" ) ] pub end_line : Option<i64> , /// An optional unique identifier for the breakpoint.
 pub id : Option<i64> , /// The start line of the actual range covered by the breakpoint.
 pub line : Option<i64> , /// An optional message about the state of the breakpoint. This is shown to the user and can be 
/// used to explain why a breakpoint could not be verified.
 pub message : Option<String> , /// The source where the breakpoint is located.
 pub source : Option<Source> , /// If true breakpoint could be set (but not necessarily at the desired location).
 pub verified : bool } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct BreakpointEventBody { /// The breakpoint.
 pub breakpoint : Breakpoint , /// The reason for the event (such as: 'changed', 'new').
 pub reason : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct BreakpointEvent { /// Event-specific information.
 pub body : BreakpointEventBody , /// Type of event.
 pub event : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Information about the capabilities of a debug adapter.
 # [ derive ( Clone , PartialEq , Debug , Default , Deserialize , Serialize ) ] pub struct Capabilities { /// The set of additional module information exposed by the debug adapter.
 # [ serde ( rename = "additionalModuleColumns" ) ] pub additional_module_columns : Option<Vec<ColumnDescriptor>> , /// Available filters for the setExceptionBreakpoints request.
 # [ serde ( rename = "exceptionBreakpointFilters" ) ] pub exception_breakpoint_filters : Option<Vec<ExceptionBreakpointsFilter>> , /// Checksum algorithms supported by the debug adapter.
 # [ serde ( rename = "supportedChecksumAlgorithms" ) ] pub supported_checksum_algorithms : Option<Vec<ChecksumAlgorithm>> , /// The debug adapter supports the completionsRequest.
 # [ serde ( rename = "supportsCompletionsRequest" ) ] pub supports_completions_request : Option<bool> , /// The debug adapter supports conditional breakpoints.
 # [ serde ( rename = "supportsConditionalBreakpoints" ) ] pub supports_conditional_breakpoints : Option<bool> , /// The debug adapter supports the configurationDoneRequest.
 # [ serde ( rename = "supportsConfigurationDoneRequest" ) ] pub supports_configuration_done_request : Option<bool> , /// The debug adapter supports a (side effect free) evaluate request for data hovers.
 # [ serde ( rename = "supportsEvaluateForHovers" ) ] pub supports_evaluate_for_hovers : Option<bool> , /// The debug adapter supports function breakpoints.
 # [ serde ( rename = "supportsFunctionBreakpoints" ) ] pub supports_function_breakpoints : Option<bool> , /// The debug adapter supports the gotoTargetsRequest.
 # [ serde ( rename = "supportsGotoTargetsRequest" ) ] pub supports_goto_targets_request : Option<bool> , /// The debug adapter supports breakpoints that break execution after a specified number of 
/// hits.
 # [ serde ( rename = "supportsHitConditionalBreakpoints" ) ] pub supports_hit_conditional_breakpoints : Option<bool> , /// The debug adapter supports the modules request.
 # [ serde ( rename = "supportsModulesRequest" ) ] pub supports_modules_request : Option<bool> , /// The debug adapter supports restarting a frame.
 # [ serde ( rename = "supportsRestartFrame" ) ] pub supports_restart_frame : Option<bool> , /// The debug adapter supports setting a variable to a value.
 # [ serde ( rename = "supportsSetVariable" ) ] pub supports_set_variable : Option<bool> , /// The debug adapter supports stepping back.
 # [ serde ( rename = "supportsStepBack" ) ] pub supports_step_back : Option<bool> , /// The debug adapter supports the stepInTargetsRequest.
 # [ serde ( rename = "supportsStepInTargetsRequest" ) ] pub supports_step_in_targets_request : Option<bool> } /// The checksum of an item calculated by the specified algorithm.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct Checksum { /// The algorithm used to calculate this checksum.
 pub algorithm : ChecksumAlgorithm , /// Value of the checksum.
 pub checksum : String } /// Names of checksum algorithms that may be supported by a debug adapter.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub enum ChecksumAlgorithm { # [ serde ( rename = "MD5" ) ] Md5 , # [ serde ( rename = "SHA1" ) ] Sha1 , # [ serde ( rename = "SHA256" ) ] Sha256 , # [ serde ( rename = "SHA1Normalized" ) ] Sha1Normalized , # [ serde ( rename = "SHA256Normalized" ) ] Sha256Normalized , # [ serde ( rename = "timestamp" ) ] Timestamp } /// A ColumnDescriptor specifies what module attribute to show in a column of the ModulesView, how 
/// to format it, and what the column's label should be.
/// It is only used if the underlying UI actually supports this level of customization.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ColumnDescriptor { /// Name of the attribute rendered in this column.
 # [ serde ( rename = "attributeName" ) ] pub attribute_name : String , /// Format to use for the rendered values in this column. TBD how the format strings looks 
/// like.
 pub format : Option<String> , /// Header UI label of column.
 pub label : String , /// Datatype of values in this column.  Defaults to 'string' if not specified.
 # [ serde ( rename = "type" ) ] pub type_ : Option<String> , /// Width of this column in characters (hint only).
 pub width : Option<i64> } /// CompletionItems are the suggestions returned from the CompletionsRequest.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct CompletionItem { /// The label of this completion item. By default this is also the text that is inserted when 
/// selecting this completion.
 pub label : String , pub length : Option<i64> , /// When a completion is selected it replaces 'length' characters starting at 'start' in the 
/// text passed to the CompletionsRequest.
/// If missing the frontend will try to determine these values heuristically.
 pub start : Option<i64> , /// If text is not falsy then it is inserted instead of the label.
 pub text : Option<String> , /// The item's type. Typically the client uses this information to render the item in the UI 
/// with an icon.
 # [ serde ( rename = "type" ) ] pub type_ : Option<CompletionItemType> } /// Some predefined types for the CompletionItem. Please note that not all clients have specific 
/// icons for all of them.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub enum CompletionItemType { # [ serde ( rename = "method" ) ] Method , # [ serde ( rename = "function" ) ] Function , # [ serde ( rename = "constructor" ) ] Constructor , # [ serde ( rename = "field" ) ] Field , # [ serde ( rename = "variable" ) ] Variable , # [ serde ( rename = "class" ) ] Class , # [ serde ( rename = "interface" ) ] Interface , # [ serde ( rename = "module" ) ] Module , # [ serde ( rename = "property" ) ] Property , # [ serde ( rename = "unit" ) ] Unit , # [ serde ( rename = "value" ) ] Value , # [ serde ( rename = "enum" ) ] Enum , # [ serde ( rename = "keyword" ) ] Keyword , # [ serde ( rename = "snippet" ) ] Snippet , # [ serde ( rename = "text" ) ] Text , # [ serde ( rename = "color" ) ] Color , # [ serde ( rename = "file" ) ] File , # [ serde ( rename = "reference" ) ] Reference , # [ serde ( rename = "customcolor" ) ] Customcolor } /// Arguments for 'completions' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct CompletionsArguments { /// The character position for which to determine the completion proposals.
 pub column : i64 , /// Returns completions in the scope of this stack frame. If not specified, the completions are 
/// returned for the global scope.
 # [ serde ( rename = "frameId" ) ] pub frame_id : Option<i64> , /// An optional line for which to determine the completion proposals. If missing the first line 
/// of the text is assumed.
 pub line : Option<i64> , /// One or more source lines. Typically this is the text a user has typed into the debug 
/// console before he asked for completion.
 pub text : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct CompletionsRequest { /// Object containing arguments for the command.
 pub arguments : CompletionsArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct CompletionsResponseBody { /// The possible completions for .
 pub targets : Vec<CompletionItem> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct CompletionsResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : CompletionsResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'configurationDone' request.
/// The configurationDone request has no standardized attributes.
 pub type ConfigurationDoneArguments = serde_json::Value ; # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ConfigurationDoneRequest { /// Object containing arguments for the command.
 pub arguments : Option<ConfigurationDoneArguments> , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ConfigurationDoneResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : Option<serde_json::Value> , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'continue' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ContinueArguments { /// Continue execution for the specified thread (if possible). If the backend cannot continue 
/// on a single thread but will continue on all threads, it should set the allThreadsContinued 
/// attribute in the response to true.
 # [ serde ( rename = "threadId" ) ] pub thread_id : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ContinueRequest { /// Object containing arguments for the command.
 pub arguments : ContinueArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Default , Deserialize , Serialize ) ] pub struct ContinueResponseBody { /// If true, the continue request has ignored the specified thread and continued all threads 
/// instead. If this attribute is missing a value of 'true' is assumed for backward 
/// compatibility.
 # [ serde ( rename = "allThreadsContinued" ) ] pub all_threads_continued : Option<bool> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ContinueResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : ContinueResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ContinuedEventBody { /// If allThreadsContinued is true, a debug adapter can announce that all threads have 
/// continued.
 # [ serde ( rename = "allThreadsContinued" ) ] pub all_threads_continued : Option<bool> , /// The thread which was continued.
 # [ serde ( rename = "threadId" ) ] pub thread_id : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ContinuedEvent { /// Event-specific information.
 pub body : ContinuedEventBody , /// Type of event.
 pub event : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'disconnect' request.
/// The disconnect request has no standardized attributes.
 pub type DisconnectArguments = serde_json::Value ; # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct DisconnectRequest { /// Object containing arguments for the command.
 pub arguments : Option<DisconnectArguments> , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct DisconnectResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : Option<serde_json::Value> , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Default , Deserialize , Serialize ) ] pub struct ErrorResponseBody { /// An optional, structured error message.
 pub error : Option<Message> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ErrorResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : ErrorResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'evaluate' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct EvaluateArguments { /// The context in which the evaluate request is run. Possible values are 'watch' if evaluate 
/// is run in a watch, 'repl' if run from the REPL console, or 'hover' if run from a data 
/// hover.
 pub context : Option<String> , /// The expression to evaluate.
 pub expression : String , /// Evaluate the expression in the scope of this stack frame. If not specified, the expression 
/// is evaluated in the global scope.
 # [ serde ( rename = "frameId" ) ] pub frame_id : Option<i64> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct EvaluateRequest { /// Object containing arguments for the command.
 pub arguments : EvaluateArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct EvaluateResponseBody { /// The number of indexed child variables.
/// The client can use this optional information to present the variables in a paged UI and 
/// fetch them in chunks.
 # [ serde ( rename = "indexedVariables" ) ] pub indexed_variables : Option<f64> , /// The number of named child variables.
/// The client can use this optional information to present the variables in a paged UI and 
/// fetch them in chunks.
 # [ serde ( rename = "namedVariables" ) ] pub named_variables : Option<f64> , /// The result of the evaluate request.
 pub result : String , /// The optional type of the evaluate result.
 # [ serde ( rename = "type" ) ] pub type_ : Option<String> , /// If variablesReference is > 0, the evaluate result is structured and its children can be 
/// retrieved by passing variablesReference to the VariablesRequest.
 # [ serde ( rename = "variablesReference" ) ] pub variables_reference : f64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct EvaluateResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : EvaluateResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct Event { /// Event-specific information.
 pub body : Option<serde_json::Value> , /// Type of event.
 pub event : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// An ExceptionBreakpointsFilter is shown in the UI as an option for configuring how exceptions 
/// are dealt with.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ExceptionBreakpointsFilter { /// Initial value of the filter. If not specified a value 'false' is assumed.
 pub default : Option<bool> , /// The internal ID of the filter. This value is passed to the setExceptionBreakpoints request.
 pub filter : String , /// The name of the filter. This will be shown in the UI.
 pub label : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ExitedEventBody { /// The exit code returned from the debuggee.
 # [ serde ( rename = "exitCode" ) ] pub exit_code : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ExitedEvent { /// Event-specific information.
 pub body : ExitedEventBody , /// Type of event.
 pub event : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Properties of a breakpoint passed to the setFunctionBreakpoints request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct FunctionBreakpoint { /// An optional expression for conditional breakpoints.
 pub condition : Option<String> , /// An optional expression that controls how many hits of the breakpoint are ignored. The 
/// backend is expected to interpret the expression as needed.
 # [ serde ( rename = "hitCondition" ) ] pub hit_condition : Option<String> , /// The name of the function.
 pub name : String } /// Arguments for 'goto' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct GotoArguments { /// The location where the debuggee will continue to run.
 # [ serde ( rename = "targetId" ) ] pub target_id : i64 , /// Set the goto target for this thread.
 # [ serde ( rename = "threadId" ) ] pub thread_id : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct GotoRequest { /// Object containing arguments for the command.
 pub arguments : GotoArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct GotoResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : Option<serde_json::Value> , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// A GotoTarget describes a code location that can be used as a target in the 'goto' request.
/// The possible goto targets can be determined via the 'gotoTargets' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct GotoTarget { /// An optional column of the goto target.
 pub column : Option<i64> , /// An optional end column of the range covered by the goto target.
 # [ serde ( rename = "endColumn" ) ] pub end_column : Option<i64> , /// An optional end line of the range covered by the goto target.
 # [ serde ( rename = "endLine" ) ] pub end_line : Option<i64> , /// Unique identifier for a goto target. This is used in the goto request.
 pub id : i64 , /// The name of the goto target (shown in the UI).
 pub label : String , /// The line of the goto target.
 pub line : i64 } /// Arguments for 'gotoTargets' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct GotoTargetsArguments { /// An optional column location for which the goto targets are determined.
 pub column : Option<i64> , /// The line location for which the goto targets are determined.
 pub line : i64 , /// The source location for which the goto targets are determined.
 pub source : Source } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct GotoTargetsRequest { /// Object containing arguments for the command.
 pub arguments : GotoTargetsArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct GotoTargetsResponseBody { /// The possible goto targets of the specified location.
 pub targets : Vec<GotoTarget> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct GotoTargetsResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : GotoTargetsResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct InitializeRequest { /// Object containing arguments for the command.
 pub arguments : InitializeRequestArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'initialize' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct InitializeRequestArguments { /// The ID of the debugger adapter. Used to select or verify debugger adapter.
 # [ serde ( rename = "adapterID" ) ] pub adapter_id : String , /// If true all column numbers are 1-based (default).
 # [ serde ( rename = "columnsStartAt1" ) ] pub columns_start_at_1 : Option<bool> , /// If true all line numbers are 1-based (default).
 # [ serde ( rename = "linesStartAt1" ) ] pub lines_start_at_1 : Option<bool> , /// Determines in what format paths are specified. Possible values are 'path' or 'uri'. The 
/// default is 'path', which is the native format.
 # [ serde ( rename = "pathFormat" ) ] pub path_format : Option<String> , /// Client supports the runInTerminal request.
 # [ serde ( rename = "supportsRunInTerminalRequest" ) ] pub supports_run_in_terminal_request : Option<bool> , /// Client supports the paging of variables.
 # [ serde ( rename = "supportsVariablePaging" ) ] pub supports_variable_paging : Option<bool> , /// Client supports the optional type attribute for variables.
 # [ serde ( rename = "supportsVariableType" ) ] pub supports_variable_type : Option<bool> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct InitializeResponse { /// The capabilities of this debug adapter.
 pub body : Option<Capabilities> , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct InitializedEvent { /// Event-specific information.
 pub body : Option<serde_json::Value> , /// Type of event.
 pub event : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct LaunchRequest { /// Object containing arguments for the command.
 pub arguments : LaunchRequestArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'launch' request.
 # [ derive ( Clone , PartialEq , Debug , Default , Deserialize , Serialize ) ] pub struct LaunchRequestArguments { /// If noDebug is true the launch request should launch the program without enabling debugging.
 # [ serde ( rename = "noDebug" ) ] pub no_debug : Option<bool> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct LaunchResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : Option<serde_json::Value> , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// A structured message object. Used to return errors from requests.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct Message { /// A format string for the message. Embedded variables have the form '{name}'.
/// If variable name starts with an underscore character, the variable does not contain user 
/// data (PII) and can be safely used for telemetry purposes.
 pub format : String , /// Unique identifier for the message.
 pub id : i64 , /// If true send to telemetry.
 # [ serde ( rename = "sendTelemetry" ) ] pub send_telemetry : Option<bool> , /// If true show user.
 # [ serde ( rename = "showUser" ) ] pub show_user : Option<bool> , /// An optional url where additional information about this message can be found.
 pub url : Option<String> , /// An optional label that is presented to the user as the UI for opening the url.
 # [ serde ( rename = "urlLabel" ) ] pub url_label : Option<String> , /// An object used as a dictionary for looking up the variables in the format string.
 pub variables : Option<::std::collections::BTreeMap<String, String>> } /// A Module object represents a row in the modules view.
/// Two attributes are mandatory: an id identifies a module in the modules view and is used in a 
/// ModuleEvent for identifying a module for adding, updating or deleting.
/// The name is used to minimally render the module in the UI.
/// 
/// Additional attributes can be added to the module. They will show up in the module View if they 
/// have a corresponding ColumnDescriptor.
/// 
/// To avoid an unnecessary proliferation of additional attributes with similar semantics but 
/// different names
/// we recommend to re-use attributes from the 'recommended' list below first, and only introduce 
/// new attributes if nothing appropriate could be found.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct Module { /// Address range covered by this module.
 # [ serde ( rename = "addressRange" ) ] pub address_range : Option<String> , /// Module created or modified.
 # [ serde ( rename = "dateTimeStamp" ) ] pub date_time_stamp : Option<String> , /// Unique identifier for the module.
 pub id : serde_json::Value , /// True if the module is optimized.
 # [ serde ( rename = "isOptimized" ) ] pub is_optimized : Option<bool> , /// True if the module is considered 'user code' by a debugger that supports 'Just My Code'.
 # [ serde ( rename = "isUserCode" ) ] pub is_user_code : Option<bool> , /// A name of the module.
 pub name : String , /// optional but recommended attributes.
/// always try to use these first before introducing additional attributes.
/// 
/// Logical full path to the module. The exact definition is implementation defined, but 
/// usually this would be a full path to the on-disk file for the module.
 pub path : Option<String> , /// Logical full path to the symbol file. The exact definition is implementation defined.
 # [ serde ( rename = "symbolFilePath" ) ] pub symbol_file_path : Option<String> , /// User understandable description of if symbols were found for the module (ex: 'Symbols 
/// Loaded', 'Symbols not found', etc.
 # [ serde ( rename = "symbolStatus" ) ] pub symbol_status : Option<String> , /// Version of Module.
 pub version : Option<String> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ModuleEventBody { /// The new, changed, or removed module. In case of 'removed' only the module id is used.
 pub module : Module , /// The reason for the event.
 pub reason : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ModuleEvent { /// Event-specific information.
 pub body : ModuleEventBody , /// Type of event.
 pub event : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'modules' request.
 # [ derive ( Clone , PartialEq , Debug , Default , Deserialize , Serialize ) ] pub struct ModulesArguments { /// The number of modules to return. If moduleCount is not specified or 0, all modules are 
/// returned.
 # [ serde ( rename = "moduleCount" ) ] pub module_count : Option<i64> , /// The index of the first module to return; if omitted modules start at 0.
 # [ serde ( rename = "startModule" ) ] pub start_module : Option<i64> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ModulesRequest { /// Object containing arguments for the command.
 pub arguments : ModulesArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ModulesResponseBody { /// All modules or range of modules.
 pub modules : Vec<Module> , /// The total number of modules available.
 # [ serde ( rename = "totalModules" ) ] pub total_modules : Option<i64> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ModulesResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : ModulesResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// The ModulesViewDescriptor is the container for all declarative configuration options of a 
/// ModuleView.
/// For now it only specifies the columns to be shown in the modules view.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ModulesViewDescriptor { pub columns : Vec<ColumnDescriptor> } /// Arguments for 'next' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct NextArguments { /// Continue execution for this thread.
 # [ serde ( rename = "threadId" ) ] pub thread_id : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct NextRequest { /// Object containing arguments for the command.
 pub arguments : NextArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct NextResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : Option<serde_json::Value> , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct OutputEventBody { /// The category of output (such as: 'console', 'stdout', 'stderr', 'telemetry'). If not 
/// specified, 'console' is assumed.
 pub category : Option<String> , /// Optional data to report. For the 'telemetry' category the data will be sent to telemetry, 
/// for the other categories the data is shown in JSON format.
 pub data : Option<serde_json::Value> , /// The output to report.
 pub output : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct OutputEvent { /// Event-specific information.
 pub body : OutputEventBody , /// Type of event.
 pub event : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'pause' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct PauseArguments { /// Pause execution for this thread.
 # [ serde ( rename = "threadId" ) ] pub thread_id : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct PauseRequest { /// Object containing arguments for the command.
 pub arguments : PauseArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct PauseResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : Option<serde_json::Value> , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Base class of requests, responses, and events.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ProtocolMessage { /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct Request { /// Object containing arguments for the command.
 pub arguments : Option<serde_json::Value> , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct Response { /// Contains request result if success is true and optional error details if success is false.
 pub body : Option<serde_json::Value> , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'restartFrame' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct RestartFrameArguments { /// Restart this stackframe.
 # [ serde ( rename = "frameId" ) ] pub frame_id : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct RestartFrameRequest { /// Object containing arguments for the command.
 pub arguments : RestartFrameArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct RestartFrameResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : Option<serde_json::Value> , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct RunInTerminalRequest { /// Object containing arguments for the command.
 pub arguments : RunInTerminalRequestArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'runInTerminal' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct RunInTerminalRequestArguments { /// List of arguments. The first argument is the command to run.
 pub args : Vec<String> , /// Working directory of the command.
 pub cwd : String , /// Environment key-value pairs that are added to the default environment.
 pub env : Option<::std::collections::BTreeMap<String, String>> , /// What kind of terminal to launch.
 pub kind : Option<String> , /// Optional title of the terminal.
 pub title : Option<String> } # [ derive ( Clone , PartialEq , Debug , Default , Deserialize , Serialize ) ] pub struct RunInTerminalResponseBody { /// The process ID.
 # [ serde ( rename = "processId" ) ] pub process_id : Option<f64> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct RunInTerminalResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : RunInTerminalResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// A Scope is a named container for variables. Optionally a scope can map to a source or a range 
/// within a source.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct Scope { /// Optional start column of the range covered by this scope.
 pub column : Option<i64> , /// Optional end column of the range covered by this scope.
 # [ serde ( rename = "endColumn" ) ] pub end_column : Option<i64> , /// Optional end line of the range covered by this scope.
 # [ serde ( rename = "endLine" ) ] pub end_line : Option<i64> , /// If true, the number of variables in this scope is large or expensive to retrieve.
 pub expensive : bool , /// The number of indexed variables in this scope.
/// The client can use this optional information to present the variables in a paged UI and 
/// fetch them in chunks.
 # [ serde ( rename = "indexedVariables" ) ] pub indexed_variables : Option<i64> , /// Optional start line of the range covered by this scope.
 pub line : Option<i64> , /// Name of the scope such as 'Arguments', 'Locals'.
 pub name : String , /// The number of named variables in this scope.
/// The client can use this optional information to present the variables in a paged UI and 
/// fetch them in chunks.
 # [ serde ( rename = "namedVariables" ) ] pub named_variables : Option<i64> , /// Optional source for this scope.
 pub source : Option<Source> , /// The variables of this scope can be retrieved by passing the value of variablesReference to 
/// the VariablesRequest.
 # [ serde ( rename = "variablesReference" ) ] pub variables_reference : i64 } /// Arguments for 'scopes' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ScopesArguments { /// Retrieve the scopes for this stackframe.
 # [ serde ( rename = "frameId" ) ] pub frame_id : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ScopesRequest { /// Object containing arguments for the command.
 pub arguments : ScopesArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ScopesResponseBody { /// The scopes of the stackframe. If the array has length zero, there are no scopes available.
 pub scopes : Vec<Scope> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ScopesResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : ScopesResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'setBreakpoints' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetBreakpointsArguments { /// The code locations of the breakpoints.
 pub breakpoints : Option<Vec<SourceBreakpoint>> , /// Deprecated: The code locations of the breakpoints.
 pub lines : Option<Vec<i64>> , /// The source location of the breakpoints; either source.path or source.reference must be 
/// specified.
 pub source : Source , /// A value of true indicates that the underlying source has been modified which results in new 
/// breakpoint locations.
 # [ serde ( rename = "sourceModified" ) ] pub source_modified : Option<bool> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetBreakpointsRequest { /// Object containing arguments for the command.
 pub arguments : SetBreakpointsArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetBreakpointsResponseBody { /// Information about the breakpoints. The array elements are in the same order as the elements 
/// of the 'breakpoints' (or the deprecated 'lines') in the SetBreakpointsArguments.
 pub breakpoints : Vec<Breakpoint> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetBreakpointsResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : SetBreakpointsResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'setExceptionBreakpoints' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetExceptionBreakpointsArguments { /// Names of enabled exception breakpoints.
 pub filters : Vec<String> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetExceptionBreakpointsRequest { /// Object containing arguments for the command.
 pub arguments : SetExceptionBreakpointsArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetExceptionBreakpointsResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : Option<serde_json::Value> , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'setFunctionBreakpoints' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetFunctionBreakpointsArguments { /// The function names of the breakpoints.
 pub breakpoints : Vec<FunctionBreakpoint> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetFunctionBreakpointsRequest { /// Object containing arguments for the command.
 pub arguments : SetFunctionBreakpointsArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetFunctionBreakpointsResponseBody { /// Information about the breakpoints. The array elements correspond to the elements of the 
/// 'breakpoints' array.
 pub breakpoints : Vec<Breakpoint> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetFunctionBreakpointsResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : SetFunctionBreakpointsResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'setVariable' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetVariableArguments { /// The name of the variable.
 pub name : String , /// The value of the variable.
 pub value : String , /// The reference of the variable container.
 # [ serde ( rename = "variablesReference" ) ] pub variables_reference : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetVariableRequest { /// Object containing arguments for the command.
 pub arguments : SetVariableArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetVariableResponseBody { /// The number of indexed child variables.
/// The client can use this optional information to present the variables in a paged UI and 
/// fetch them in chunks.
 # [ serde ( rename = "indexedVariables" ) ] pub indexed_variables : Option<f64> , /// The number of named child variables.
/// The client can use this optional information to present the variables in a paged UI and 
/// fetch them in chunks.
 # [ serde ( rename = "namedVariables" ) ] pub named_variables : Option<f64> , /// The type of the new value. Typically shown in the UI when hovering over the value.
 # [ serde ( rename = "type" ) ] pub type_ : Option<String> , /// The new value of the variable.
 pub value : String , /// If variablesReference is > 0, the new value is structured and its children can be retrieved 
/// by passing variablesReference to the VariablesRequest.
 # [ serde ( rename = "variablesReference" ) ] pub variables_reference : Option<f64> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SetVariableResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : SetVariableResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// A Source is a descriptor for source code. It is returned from the debug adapter as part of a 
/// StackFrame and it is used by clients when specifying breakpoints.
 # [ derive ( Clone , PartialEq , Debug , Default , Deserialize , Serialize ) ] pub struct Source { /// Optional data that a debug adapter might want to loop through the client. The client should 
/// leave the data intact and persist it across sessions. The client should not interpret the 
/// data.
 # [ serde ( rename = "adapterData" ) ] pub adapter_data : Option<serde_json::Value> , /// The checksums associated with this file.
 pub checksums : Option<Vec<Checksum>> , /// The short name of the source. Every source returned from the debug adapter has a name. When 
/// specifying a source to the debug adapter this name is optional.
 pub name : Option<String> , /// The (optional) origin of this source: possible values 'internal module', 'inlined content 
/// from source map', etc.
 pub origin : Option<String> , /// The long (absolute) path of the source. It is not guaranteed that the source exists at this 
/// location.
 pub path : Option<String> , /// If sourceReference > 0 the contents of the source can be retrieved through the 
/// SourceRequest. A sourceReference is only valid for a session, so it must not be used to 
/// persist a source.
 # [ serde ( rename = "sourceReference" ) ] pub source_reference : Option<f64> } /// Arguments for 'source' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SourceArguments { /// The reference to the source. This is the value received in Source.reference.
 # [ serde ( rename = "sourceReference" ) ] pub source_reference : i64 } /// Properties of a breakpoint passed to the setBreakpoints request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SourceBreakpoint { /// An optional source column of the breakpoint.
 pub column : Option<i64> , /// An optional expression for conditional breakpoints.
 pub condition : Option<String> , /// An optional expression that controls how many hits of the breakpoint are ignored. The 
/// backend is expected to interpret the expression as needed.
 # [ serde ( rename = "hitCondition" ) ] pub hit_condition : Option<String> , /// The source line of the breakpoint.
 pub line : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SourceRequest { /// Object containing arguments for the command.
 pub arguments : SourceArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SourceResponseBody { /// Content of the source reference.
 pub content : String , /// Optional content type (mime type) of the source.
 # [ serde ( rename = "mimeType" ) ] pub mime_type : Option<String> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct SourceResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : SourceResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// A Stackframe contains the source location.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StackFrame { /// The column within the line. If source is null or doesn't exist, column is 0 and must be 
/// ignored.
 pub column : i64 , /// An optional end column of the range covered by the stack frame.
 # [ serde ( rename = "endColumn" ) ] pub end_column : Option<i64> , /// An optional end line of the range covered by the stack frame.
 # [ serde ( rename = "endLine" ) ] pub end_line : Option<i64> , /// An identifier for the stack frame. It must be unique across all threads. This id can be 
/// used to retrieve the scopes of the frame with the 'scopesRequest' or to restart the 
/// execution of a stackframe.
 pub id : i64 , /// The line within the file of the frame. If source is null or doesn't exist, line is 0 and 
/// must be ignored.
 pub line : i64 , /// The module associated with this frame, if any.
 # [ serde ( rename = "moduleId" ) ] pub module_id : Option<serde_json::Value> , /// The name of the stack frame, typically a method name.
 pub name : String , /// The optional source of the frame.
 pub source : Option<Source> } /// Arguments for 'stackTrace' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StackTraceArguments { /// The maximum number of frames to return. If levels is not specified or 0, all frames are 
/// returned.
 pub levels : Option<i64> , /// The index of the first frame to return; if omitted frames start at 0.
 # [ serde ( rename = "startFrame" ) ] pub start_frame : Option<i64> , /// Retrieve the stacktrace for this thread.
 # [ serde ( rename = "threadId" ) ] pub thread_id : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StackTraceRequest { /// Object containing arguments for the command.
 pub arguments : StackTraceArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StackTraceResponseBody { /// The frames of the stackframe. If the array has length zero, there are no stackframes 
/// available.
/// This means that there is no location information available.
 # [ serde ( rename = "stackFrames" ) ] pub stack_frames : Vec<StackFrame> , /// The total number of frames available.
 # [ serde ( rename = "totalFrames" ) ] pub total_frames : Option<i64> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StackTraceResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : StackTraceResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'stepBack' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StepBackArguments { /// Continue execution for this thread.
 # [ serde ( rename = "threadId" ) ] pub thread_id : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StepBackRequest { /// Object containing arguments for the command.
 pub arguments : StepBackArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StepBackResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : Option<serde_json::Value> , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'stepIn' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StepInArguments { /// Optional id of the target to step into.
 # [ serde ( rename = "targetId" ) ] pub target_id : Option<i64> , /// Continue execution for this thread.
 # [ serde ( rename = "threadId" ) ] pub thread_id : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StepInRequest { /// Object containing arguments for the command.
 pub arguments : StepInArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StepInResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : Option<serde_json::Value> , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// A StepInTarget can be used in the 'stepIn' request and determines into which single target the 
/// stepIn request should step.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StepInTarget { /// Unique identifier for a stepIn target.
 pub id : i64 , /// The name of the stepIn target (shown in the UI).
 pub label : String } /// Arguments for 'stepInTargets' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StepInTargetsArguments { /// The stack frame for which to retrieve the possible stepIn targets.
 # [ serde ( rename = "frameId" ) ] pub frame_id : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StepInTargetsRequest { /// Object containing arguments for the command.
 pub arguments : StepInTargetsArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StepInTargetsResponseBody { /// The possible stepIn targets of the specified source location.
 pub targets : Vec<StepInTarget> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StepInTargetsResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : StepInTargetsResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// Arguments for 'stepOut' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StepOutArguments { /// Continue execution for this thread.
 # [ serde ( rename = "threadId" ) ] pub thread_id : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StepOutRequest { /// Object containing arguments for the command.
 pub arguments : StepOutArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StepOutResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : Option<serde_json::Value> , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StoppedEventBody { /// If allThreadsStopped is true, a debug adapter can announce that all threads have stopped.
/// *  The client should use this information to enable that all threads can be expanded to 
/// access their stacktraces.
/// *  If the attribute is missing or false, only the thread with the given threadId can be 
/// expanded.
 # [ serde ( rename = "allThreadsStopped" ) ] pub all_threads_stopped : Option<bool> , /// The reason for the event (such as: 'step', 'breakpoint', 'exception', 'pause'). This string 
/// is shown in the UI.
 pub reason : String , /// Additional information. E.g. if reason is 'exception', text contains the exception name. 
/// This string is shown in the UI.
 pub text : Option<String> , /// The thread which was stopped.
 # [ serde ( rename = "threadId" ) ] pub thread_id : Option<i64> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct StoppedEvent { /// Event-specific information.
 pub body : StoppedEventBody , /// Type of event.
 pub event : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Default , Deserialize , Serialize ) ] pub struct TerminatedEventBody { /// A debug adapter may set 'restart' to true to request that the front end restarts the 
/// session.
 pub restart : Option<bool> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct TerminatedEvent { /// Event-specific information.
 pub body : Option<TerminatedEventBody> , /// Type of event.
 pub event : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// A Thread
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct Thread { /// Unique identifier for the thread.
 pub id : i64 , /// A name of the thread.
 pub name : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ThreadEventBody { /// The reason for the event (such as: 'started', 'exited').
 pub reason : String , /// The identifier of the thread.
 # [ serde ( rename = "threadId" ) ] pub thread_id : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ThreadEvent { /// Event-specific information.
 pub body : ThreadEventBody , /// Type of event.
 pub event : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ThreadsRequest { /// Object containing arguments for the command.
 pub arguments : Option<serde_json::Value> , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ThreadsResponseBody { /// All threads.
 pub threads : Vec<Thread> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct ThreadsResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : ThreadsResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } /// A Variable is a name/value pair.
/// Optionally a variable can have a 'type' that is shown if space permits or when hovering over 
/// the variable's name.
/// An optional 'kind' is used to render additional properties of the variable, e.g. different 
/// icons can be used to indicate that a variable is public or private.
/// If the value is structured (has children), a handle is provided to retrieve the children with 
/// the VariablesRequest.
/// If the number of named or indexed children is large, the numbers should be returned via the 
/// optional 'namedVariables' and 'indexedVariables' attributes.
/// The client can use this optional information to present the children in a paged UI and fetch 
/// them in chunks.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct Variable { /// Optional evaluatable name of this variable which can be passed to the 'EvaluateRequest' to 
/// fetch the variable's value.
 # [ serde ( rename = "evaluateName" ) ] pub evaluate_name : Option<String> , /// The number of indexed child variables.
/// The client can use this optional information to present the children in a paged UI and 
/// fetch them in chunks.
 # [ serde ( rename = "indexedVariables" ) ] pub indexed_variables : Option<i64> , /// Properties of a variable that can be used to determine how to render the variable in the 
/// UI. Format of the string value: TBD.
 pub kind : Option<String> , /// The variable's name.
 pub name : String , /// The number of named child variables.
/// The client can use this optional information to present the children in a paged UI and 
/// fetch them in chunks.
 # [ serde ( rename = "namedVariables" ) ] pub named_variables : Option<i64> , /// The type of the variable's value. Typically shown in the UI when hovering over the value.
 # [ serde ( rename = "type" ) ] pub type_ : Option<String> , /// The variable's value. For structured objects this can be a multi line text, e.g. for a 
/// function the body of a function.
 pub value : String , /// If variablesReference is > 0, the variable is structured and its children can be retrieved 
/// by passing variablesReference to the VariablesRequest.
 # [ serde ( rename = "variablesReference" ) ] pub variables_reference : i64 } /// Arguments for 'variables' request.
 # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct VariablesArguments { /// The number of variables to return. If count is missing or 0, all variables are returned.
 pub count : Option<i64> , /// Optional filter to limit the child variables to either named or indexed. If ommited, both 
/// types are fetched.
 pub filter : Option<String> , /// The index of the first variable to return; if omitted children start at 0.
 pub start : Option<i64> , /// The Variable reference.
 # [ serde ( rename = "variablesReference" ) ] pub variables_reference : i64 } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct VariablesRequest { /// Object containing arguments for the command.
 pub arguments : VariablesArguments , /// The command to execute.
 pub command : String , /// Sequence number.
 pub seq : i64 , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct VariablesResponseBody { /// All (or a range) of variables for the given variable reference.
 pub variables : Vec<Variable> } # [ derive ( Clone , PartialEq , Debug , Deserialize , Serialize ) ] pub struct VariablesResponse { /// Contains request result if success is true and optional error details if success is false.
 pub body : VariablesResponseBody , /// The command requested.
 pub command : String , /// Contains error message if success == false.
 pub message : Option<String> , /// Sequence number of the corresponding request.
 pub request_seq : i64 , /// Sequence number.
 pub seq : i64 , /// Outcome of the request.
 pub success : bool , /// One of 'request', 'response', or 'event'.
 # [ serde ( rename = "type" ) ] pub type_ : String }