@science-corporation/synapse 2.2.2 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/api/api.d.ts +9421 -0
  2. package/dist/api/api.d.ts.map +1 -0
  3. package/dist/api/api.js +22272 -0
  4. package/dist/api/api.js.map +1 -0
  5. package/dist/api/proto.json +1662 -0
  6. package/dist/browser.d.ts +4 -0
  7. package/dist/browser.d.ts.map +1 -0
  8. package/dist/browser.js +22 -0
  9. package/dist/browser.js.map +1 -0
  10. package/dist/config.d.ts +17 -0
  11. package/dist/config.d.ts.map +1 -0
  12. package/dist/config.js +111 -0
  13. package/dist/config.js.map +1 -0
  14. package/dist/device.d.ts +37 -0
  15. package/dist/device.d.ts.map +1 -0
  16. package/dist/device.js +181 -0
  17. package/dist/device.js.map +1 -0
  18. package/dist/index.d.ts +7 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +30 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/node.d.ts +10 -0
  23. package/dist/node.d.ts.map +1 -0
  24. package/dist/node.js +14 -0
  25. package/dist/node.js.map +1 -0
  26. package/dist/nodes/broadband_source.d.ts +11 -0
  27. package/dist/nodes/broadband_source.d.ts.map +1 -0
  28. package/dist/nodes/broadband_source.js +28 -0
  29. package/dist/nodes/broadband_source.js.map +1 -0
  30. package/dist/nodes/disk_writer.d.ts +11 -0
  31. package/dist/nodes/disk_writer.d.ts.map +1 -0
  32. package/dist/nodes/disk_writer.js +28 -0
  33. package/dist/nodes/disk_writer.js.map +1 -0
  34. package/dist/nodes/electrical_stimulation.d.ts +11 -0
  35. package/dist/nodes/electrical_stimulation.d.ts.map +1 -0
  36. package/dist/nodes/electrical_stimulation.js +28 -0
  37. package/dist/nodes/electrical_stimulation.js.map +1 -0
  38. package/dist/nodes/index.d.ts +10 -0
  39. package/dist/nodes/index.d.ts.map +1 -0
  40. package/dist/nodes/index.js +23 -0
  41. package/dist/nodes/index.js.map +1 -0
  42. package/dist/nodes/optical_stimulation.d.ts +11 -0
  43. package/dist/nodes/optical_stimulation.d.ts.map +1 -0
  44. package/dist/nodes/optical_stimulation.js +28 -0
  45. package/dist/nodes/optical_stimulation.js.map +1 -0
  46. package/dist/nodes/spectral_filter.d.ts +11 -0
  47. package/dist/nodes/spectral_filter.d.ts.map +1 -0
  48. package/dist/nodes/spectral_filter.js +28 -0
  49. package/dist/nodes/spectral_filter.js.map +1 -0
  50. package/dist/nodes/spike_binner.d.ts +11 -0
  51. package/dist/nodes/spike_binner.d.ts.map +1 -0
  52. package/dist/nodes/spike_binner.js +28 -0
  53. package/dist/nodes/spike_binner.js.map +1 -0
  54. package/dist/nodes/spike_detector.d.ts +11 -0
  55. package/dist/nodes/spike_detector.d.ts.map +1 -0
  56. package/dist/nodes/spike_detector.js +28 -0
  57. package/dist/nodes/spike_detector.js.map +1 -0
  58. package/dist/nodes/spike_source.d.ts +11 -0
  59. package/dist/nodes/spike_source.d.ts.map +1 -0
  60. package/dist/nodes/spike_source.js +28 -0
  61. package/dist/nodes/spike_source.js.map +1 -0
  62. package/dist/utils/client.d.ts +10 -0
  63. package/dist/utils/client.d.ts.map +1 -0
  64. package/dist/utils/client.js +39 -0
  65. package/dist/utils/client.js.map +1 -0
  66. package/dist/utils/discover.d.ts +10 -0
  67. package/dist/utils/discover.d.ts.map +1 -0
  68. package/dist/utils/discover.js +49 -0
  69. package/dist/utils/discover.js.map +1 -0
  70. package/dist/utils/enum.d.ts +2 -0
  71. package/dist/utils/enum.d.ts.map +1 -0
  72. package/dist/utils/enum.js +13 -0
  73. package/dist/utils/enum.js.map +1 -0
  74. package/dist/utils/index.d.ts +2 -0
  75. package/dist/utils/index.d.ts.map +1 -0
  76. package/dist/utils/index.js +6 -0
  77. package/dist/utils/index.js.map +1 -0
  78. package/dist/utils/ip.d.ts +2 -0
  79. package/dist/utils/ip.d.ts.map +1 -0
  80. package/dist/utils/ip.js +52 -0
  81. package/dist/utils/ip.js.map +1 -0
  82. package/dist/utils/status.d.ts +28 -0
  83. package/dist/utils/status.d.ts.map +1 -0
  84. package/dist/utils/status.js +54 -0
  85. package/dist/utils/status.js.map +1 -0
  86. package/package.json +1 -1
  87. package/src/api/api.d.ts +9421 -0
  88. package/src/api/api.js +23712 -0
  89. package/src/api/proto.json +1662 -0
@@ -0,0 +1,1662 @@
1
+ {
2
+ "nested": {
3
+ "synapse": {
4
+ "nested": {
5
+ "FunctionProfile": {
6
+ "fields": {
7
+ "name": {
8
+ "type": "string",
9
+ "id": 1
10
+ },
11
+ "callCount": {
12
+ "type": "uint64",
13
+ "id": 2
14
+ },
15
+ "minDurationNs": {
16
+ "type": "uint64",
17
+ "id": 3
18
+ },
19
+ "maxDurationNs": {
20
+ "type": "uint64",
21
+ "id": 4
22
+ },
23
+ "averageDurationNs": {
24
+ "type": "uint64",
25
+ "id": 5
26
+ },
27
+ "medianDurationNs": {
28
+ "type": "uint64",
29
+ "id": 6
30
+ },
31
+ "p99DurationNs": {
32
+ "type": "uint64",
33
+ "id": 7
34
+ },
35
+ "latestDurationNs": {
36
+ "type": "uint64",
37
+ "id": 8
38
+ }
39
+ }
40
+ },
41
+ "NodeType": {
42
+ "values": {
43
+ "kNodeTypeUnknown": 0,
44
+ "kBroadbandSource": 3,
45
+ "kElectricalStimulation": 4,
46
+ "kOpticalStimulation": 5,
47
+ "kSpikeDetector": 6,
48
+ "kSpikeSource": 7,
49
+ "kSpectralFilter": 8,
50
+ "kDiskWriter": 9,
51
+ "kSpikeBinner": 10,
52
+ "kApplication": 11
53
+ },
54
+ "reserved": [
55
+ [
56
+ 1,
57
+ 1
58
+ ],
59
+ [
60
+ 2,
61
+ 2
62
+ ]
63
+ ]
64
+ },
65
+ "NodeConfig": {
66
+ "oneofs": {
67
+ "config": {
68
+ "oneof": [
69
+ "broadbandSource",
70
+ "electricalStimulation",
71
+ "opticalStimulation",
72
+ "spikeDetector",
73
+ "spectralFilter",
74
+ "diskWriter",
75
+ "spikeSource",
76
+ "spikeBinner",
77
+ "application"
78
+ ]
79
+ }
80
+ },
81
+ "fields": {
82
+ "type": {
83
+ "type": "NodeType",
84
+ "id": 1
85
+ },
86
+ "id": {
87
+ "type": "uint32",
88
+ "id": 2
89
+ },
90
+ "broadbandSource": {
91
+ "type": "BroadbandSourceConfig",
92
+ "id": 5
93
+ },
94
+ "electricalStimulation": {
95
+ "type": "ElectricalStimulationConfig",
96
+ "id": 6
97
+ },
98
+ "opticalStimulation": {
99
+ "type": "OpticalStimulationConfig",
100
+ "id": 8
101
+ },
102
+ "spikeDetector": {
103
+ "type": "SpikeDetectorConfig",
104
+ "id": 9
105
+ },
106
+ "spectralFilter": {
107
+ "type": "SpectralFilterConfig",
108
+ "id": 10
109
+ },
110
+ "diskWriter": {
111
+ "type": "DiskWriterConfig",
112
+ "id": 11
113
+ },
114
+ "spikeSource": {
115
+ "type": "SpikeSourceConfig",
116
+ "id": 12
117
+ },
118
+ "spikeBinner": {
119
+ "type": "SpikeBinnerConfig",
120
+ "id": 13
121
+ },
122
+ "application": {
123
+ "type": "ApplicationNodeConfig",
124
+ "id": 14
125
+ }
126
+ },
127
+ "reserved": [
128
+ [
129
+ 3,
130
+ 3
131
+ ],
132
+ [
133
+ 4,
134
+ 4
135
+ ]
136
+ ]
137
+ },
138
+ "NodeStatus": {
139
+ "oneofs": {
140
+ "status": {
141
+ "oneof": [
142
+ "broadbandSource",
143
+ "electricalStimulation",
144
+ "application",
145
+ "opticalStimulation",
146
+ "diskWriter"
147
+ ]
148
+ }
149
+ },
150
+ "fields": {
151
+ "type": {
152
+ "type": "NodeType",
153
+ "id": 1
154
+ },
155
+ "id": {
156
+ "type": "uint32",
157
+ "id": 2
158
+ },
159
+ "broadbandSource": {
160
+ "type": "BroadbandSourceStatus",
161
+ "id": 4
162
+ },
163
+ "electricalStimulation": {
164
+ "type": "ElectricalStimulationStatus",
165
+ "id": 6
166
+ },
167
+ "application": {
168
+ "type": "ApplicationNodeStatus",
169
+ "id": 7
170
+ },
171
+ "opticalStimulation": {
172
+ "type": "OpticalStimulationStatus",
173
+ "id": 8
174
+ },
175
+ "diskWriter": {
176
+ "type": "DiskWriterStatus",
177
+ "id": 10
178
+ }
179
+ },
180
+ "reserved": [
181
+ [
182
+ 3,
183
+ 3
184
+ ],
185
+ [
186
+ 5,
187
+ 5
188
+ ]
189
+ ]
190
+ },
191
+ "NodeConnection": {
192
+ "fields": {
193
+ "srcNodeId": {
194
+ "type": "uint32",
195
+ "id": 1
196
+ },
197
+ "dstNodeId": {
198
+ "type": "uint32",
199
+ "id": 2
200
+ }
201
+ }
202
+ },
203
+ "BroadbandSourceConfig": {
204
+ "fields": {
205
+ "peripheralId": {
206
+ "type": "uint32",
207
+ "id": 1
208
+ },
209
+ "bitWidth": {
210
+ "type": "uint32",
211
+ "id": 2
212
+ },
213
+ "sampleRateHz": {
214
+ "type": "uint32",
215
+ "id": 3
216
+ },
217
+ "gain": {
218
+ "type": "float",
219
+ "id": 4
220
+ },
221
+ "signal": {
222
+ "type": "SignalConfig",
223
+ "id": 5
224
+ }
225
+ }
226
+ },
227
+ "BroadbandSourceStatus": {
228
+ "fields": {
229
+ "status": {
230
+ "type": "SignalStatus",
231
+ "id": 1
232
+ }
233
+ }
234
+ },
235
+ "ElectrodeConfig": {
236
+ "fields": {
237
+ "channels": {
238
+ "rule": "repeated",
239
+ "type": "Channel",
240
+ "id": 1
241
+ },
242
+ "lowCutoffHz": {
243
+ "type": "float",
244
+ "id": 2
245
+ },
246
+ "highCutoffHz": {
247
+ "type": "float",
248
+ "id": 3
249
+ }
250
+ }
251
+ },
252
+ "PixelConfig": {
253
+ "fields": {
254
+ "pixelMask": {
255
+ "rule": "repeated",
256
+ "type": "uint32",
257
+ "id": 1
258
+ }
259
+ }
260
+ },
261
+ "SignalConfig": {
262
+ "oneofs": {
263
+ "signalType": {
264
+ "oneof": [
265
+ "electrode",
266
+ "pixel"
267
+ ]
268
+ }
269
+ },
270
+ "fields": {
271
+ "electrode": {
272
+ "type": "ElectrodeConfig",
273
+ "id": 1
274
+ },
275
+ "pixel": {
276
+ "type": "PixelConfig",
277
+ "id": 2
278
+ }
279
+ }
280
+ },
281
+ "ChannelType": {
282
+ "values": {
283
+ "ELECTRODE": 0,
284
+ "GPIO": 1
285
+ }
286
+ },
287
+ "Channel": {
288
+ "fields": {
289
+ "id": {
290
+ "type": "uint32",
291
+ "id": 1
292
+ },
293
+ "electrodeId": {
294
+ "type": "uint32",
295
+ "id": 2
296
+ },
297
+ "referenceId": {
298
+ "type": "uint32",
299
+ "id": 3
300
+ },
301
+ "type": {
302
+ "type": "ChannelType",
303
+ "id": 4
304
+ }
305
+ }
306
+ },
307
+ "ChannelRange": {
308
+ "fields": {
309
+ "type": {
310
+ "type": "ChannelType",
311
+ "id": 1
312
+ },
313
+ "count": {
314
+ "type": "uint32",
315
+ "id": 2
316
+ },
317
+ "channelIds": {
318
+ "rule": "repeated",
319
+ "type": "uint32",
320
+ "id": 3
321
+ }
322
+ }
323
+ },
324
+ "ElectrodeStatus": {
325
+ "fields": {
326
+ "lsbUV": {
327
+ "type": "float",
328
+ "id": 1
329
+ }
330
+ }
331
+ },
332
+ "PixelStatus": {
333
+ "fields": {}
334
+ },
335
+ "SignalStatus": {
336
+ "oneofs": {
337
+ "signalType": {
338
+ "oneof": [
339
+ "electrode",
340
+ "pixel"
341
+ ]
342
+ }
343
+ },
344
+ "fields": {
345
+ "electrode": {
346
+ "type": "ElectrodeStatus",
347
+ "id": 1
348
+ },
349
+ "pixel": {
350
+ "type": "PixelStatus",
351
+ "id": 2
352
+ }
353
+ }
354
+ },
355
+ "ElectricalStimulationConfig": {
356
+ "fields": {
357
+ "peripheralId": {
358
+ "type": "uint32",
359
+ "id": 1
360
+ },
361
+ "channels": {
362
+ "rule": "repeated",
363
+ "type": "Channel",
364
+ "id": 2
365
+ },
366
+ "bitWidth": {
367
+ "type": "uint32",
368
+ "id": 3
369
+ },
370
+ "sampleRate": {
371
+ "type": "uint32",
372
+ "id": 4
373
+ },
374
+ "lsb": {
375
+ "type": "uint32",
376
+ "id": 5
377
+ }
378
+ }
379
+ },
380
+ "ElectricalStimulationStatus": {
381
+ "fields": {
382
+ "lsbUV": {
383
+ "type": "float",
384
+ "id": 1
385
+ }
386
+ }
387
+ },
388
+ "OpticalStimulationConfig": {
389
+ "fields": {
390
+ "peripheralId": {
391
+ "type": "uint32",
392
+ "id": 1
393
+ },
394
+ "pixelMask": {
395
+ "rule": "repeated",
396
+ "type": "uint32",
397
+ "id": 2
398
+ },
399
+ "bitWidth": {
400
+ "type": "uint32",
401
+ "id": 3
402
+ },
403
+ "frameRate": {
404
+ "type": "uint32",
405
+ "id": 4
406
+ },
407
+ "gain": {
408
+ "type": "float",
409
+ "id": 5
410
+ },
411
+ "sendReceipts": {
412
+ "type": "bool",
413
+ "id": 6
414
+ }
415
+ }
416
+ },
417
+ "OpticalStimFrame": {
418
+ "fields": {
419
+ "frameId": {
420
+ "type": "uint64",
421
+ "id": 1
422
+ },
423
+ "sequenceNumber": {
424
+ "type": "uint64",
425
+ "id": 2
426
+ },
427
+ "timestampNs": {
428
+ "type": "uint64",
429
+ "id": 3
430
+ },
431
+ "rows": {
432
+ "type": "uint32",
433
+ "id": 4
434
+ },
435
+ "columns": {
436
+ "type": "uint32",
437
+ "id": 5
438
+ },
439
+ "intensity": {
440
+ "rule": "repeated",
441
+ "type": "float",
442
+ "id": 6
443
+ },
444
+ "durationUs": {
445
+ "type": "uint64",
446
+ "id": 7
447
+ }
448
+ }
449
+ },
450
+ "OpticalStimulationStatus": {
451
+ "fields": {
452
+ "framesWritten": {
453
+ "type": "uint64",
454
+ "id": 1
455
+ }
456
+ }
457
+ },
458
+ "TemplateMatcher": {
459
+ "fields": {
460
+ "templateUV": {
461
+ "rule": "repeated",
462
+ "type": "uint32",
463
+ "id": 1
464
+ }
465
+ }
466
+ },
467
+ "Thresholder": {
468
+ "fields": {
469
+ "thresholdUV": {
470
+ "type": "uint32",
471
+ "id": 1
472
+ }
473
+ }
474
+ },
475
+ "SpikeDetectorConfig": {
476
+ "oneofs": {
477
+ "config": {
478
+ "oneof": [
479
+ "thresholder",
480
+ "templateMatcher"
481
+ ]
482
+ }
483
+ },
484
+ "fields": {
485
+ "thresholder": {
486
+ "type": "Thresholder",
487
+ "id": 1
488
+ },
489
+ "templateMatcher": {
490
+ "type": "TemplateMatcher",
491
+ "id": 2
492
+ },
493
+ "samplesPerSpike": {
494
+ "type": "uint32",
495
+ "id": 3
496
+ }
497
+ }
498
+ },
499
+ "SpectralFilterMethod": {
500
+ "values": {
501
+ "kSpectralFilterUnknown": 0,
502
+ "kLowPass": 1,
503
+ "kHighPass": 2,
504
+ "kBandPass": 3,
505
+ "kBandStop": 4
506
+ }
507
+ },
508
+ "SpectralFilterConfig": {
509
+ "fields": {
510
+ "method": {
511
+ "type": "SpectralFilterMethod",
512
+ "id": 1
513
+ },
514
+ "lowCutoffHz": {
515
+ "type": "float",
516
+ "id": 2
517
+ },
518
+ "highCutoffHz": {
519
+ "type": "float",
520
+ "id": 3
521
+ }
522
+ }
523
+ },
524
+ "DiskWriterConfig": {
525
+ "fields": {
526
+ "filename": {
527
+ "type": "string",
528
+ "id": 1
529
+ }
530
+ }
531
+ },
532
+ "DiskWriterStatus": {
533
+ "fields": {
534
+ "outputPath": {
535
+ "type": "string",
536
+ "id": 1
537
+ },
538
+ "bytesWritten": {
539
+ "type": "uint64",
540
+ "id": 2
541
+ },
542
+ "isWriting": {
543
+ "type": "bool",
544
+ "id": 3
545
+ },
546
+ "availableDiskSpaceBytes": {
547
+ "type": "uint64",
548
+ "id": 4
549
+ },
550
+ "currentBitrateMbps": {
551
+ "type": "float",
552
+ "id": 5
553
+ }
554
+ }
555
+ },
556
+ "SpikeSourceConfig": {
557
+ "fields": {
558
+ "peripheralId": {
559
+ "type": "uint32",
560
+ "id": 1
561
+ },
562
+ "sampleRateHz": {
563
+ "type": "uint32",
564
+ "id": 2
565
+ },
566
+ "spikeWindowMs": {
567
+ "type": "float",
568
+ "id": 3
569
+ },
570
+ "gain": {
571
+ "type": "float",
572
+ "id": 4
573
+ },
574
+ "thresholdUV": {
575
+ "type": "float",
576
+ "id": 5
577
+ },
578
+ "electrodes": {
579
+ "type": "ElectrodeConfig",
580
+ "id": 6
581
+ }
582
+ }
583
+ },
584
+ "SpikeBinnerConfig": {
585
+ "fields": {
586
+ "binSizeMs": {
587
+ "type": "uint32",
588
+ "id": 1
589
+ }
590
+ }
591
+ },
592
+ "ApplicationNodeConfig": {
593
+ "fields": {
594
+ "name": {
595
+ "type": "string",
596
+ "id": 1
597
+ },
598
+ "parameters": {
599
+ "keyType": "string",
600
+ "type": "google.protobuf.Value",
601
+ "id": 2
602
+ }
603
+ }
604
+ },
605
+ "ApplicationNodeStatus": {
606
+ "fields": {
607
+ "name": {
608
+ "type": "string",
609
+ "id": 1
610
+ },
611
+ "running": {
612
+ "type": "bool",
613
+ "id": 2
614
+ },
615
+ "errorLogs": {
616
+ "type": "string",
617
+ "id": 3
618
+ }
619
+ }
620
+ },
621
+ "TimeSyncPacket": {
622
+ "fields": {
623
+ "clientId": {
624
+ "type": "fixed32",
625
+ "id": 1
626
+ },
627
+ "sequence": {
628
+ "type": "fixed32",
629
+ "id": 2
630
+ },
631
+ "clientSendTimeNs": {
632
+ "type": "fixed64",
633
+ "id": 3
634
+ },
635
+ "serverReceiveTimeNs": {
636
+ "type": "fixed64",
637
+ "id": 4
638
+ },
639
+ "serverSendTimeNs": {
640
+ "type": "fixed64",
641
+ "id": 5
642
+ },
643
+ "clientReceiveTimeNs": {
644
+ "type": "fixed64",
645
+ "id": 6
646
+ }
647
+ }
648
+ },
649
+ "TimeSource": {
650
+ "values": {
651
+ "TIME_SOURCE_UNKNOWN": 0,
652
+ "TIME_SOURCE_STEADY_CLOCK": 1,
653
+ "TIME_SOURCE_SAMPLE_COUNTER": 2
654
+ }
655
+ },
656
+ "DataType": {
657
+ "values": {
658
+ "kDataTypeUnknown": 0,
659
+ "kAny": 1,
660
+ "kBroadband": 2,
661
+ "kSpiketrain": 3,
662
+ "kTimestamps": 4,
663
+ "kImage": 5,
664
+ "kWaveforms": 6
665
+ }
666
+ },
667
+ "Tensor": {
668
+ "fields": {
669
+ "timestampNs": {
670
+ "type": "uint64",
671
+ "id": 1
672
+ },
673
+ "shape": {
674
+ "rule": "repeated",
675
+ "type": "int32",
676
+ "id": 2
677
+ },
678
+ "dtype": {
679
+ "type": "DType",
680
+ "id": 3
681
+ },
682
+ "endianness": {
683
+ "type": "Endianness",
684
+ "id": 4
685
+ },
686
+ "data": {
687
+ "type": "bytes",
688
+ "id": 5
689
+ }
690
+ },
691
+ "nested": {
692
+ "DType": {
693
+ "values": {
694
+ "DT_INVALID": 0,
695
+ "DT_FLOAT": 1,
696
+ "DT_DOUBLE": 2,
697
+ "DT_UINT8": 3,
698
+ "DT_UINT16": 4,
699
+ "DT_UINT32": 5,
700
+ "DT_UINT64": 6,
701
+ "DT_INT8": 7,
702
+ "DT_INT16": 8,
703
+ "DT_INT32": 9,
704
+ "DT_INT64": 10,
705
+ "DT_BOOL": 11
706
+ }
707
+ },
708
+ "Endianness": {
709
+ "values": {
710
+ "TENSOR_LITTLE_ENDIAN": 0,
711
+ "TENSOR_BIG_ENDIAN": 1
712
+ }
713
+ }
714
+ }
715
+ },
716
+ "BroadbandFrame": {
717
+ "fields": {
718
+ "timestampNs": {
719
+ "type": "uint64",
720
+ "id": 1
721
+ },
722
+ "sequenceNumber": {
723
+ "type": "uint64",
724
+ "id": 2
725
+ },
726
+ "frameData": {
727
+ "rule": "repeated",
728
+ "type": "sint32",
729
+ "id": 3
730
+ },
731
+ "sampleRateHz": {
732
+ "type": "uint32",
733
+ "id": 4
734
+ },
735
+ "channelRanges": {
736
+ "rule": "repeated",
737
+ "type": "ChannelRange",
738
+ "id": 5
739
+ },
740
+ "unixTimestampNs": {
741
+ "type": "uint64",
742
+ "id": 6
743
+ }
744
+ }
745
+ },
746
+ "Timeseries": {
747
+ "fields": {
748
+ "id": {
749
+ "type": "uint32",
750
+ "id": 1
751
+ },
752
+ "datapoints": {
753
+ "rule": "repeated",
754
+ "type": "Datapoint",
755
+ "id": 2
756
+ }
757
+ },
758
+ "nested": {
759
+ "Datapoint": {
760
+ "fields": {
761
+ "timestampNs": {
762
+ "type": "uint64",
763
+ "id": 1
764
+ },
765
+ "sample": {
766
+ "type": "sint32",
767
+ "id": 2
768
+ }
769
+ }
770
+ }
771
+ }
772
+ },
773
+ "AnnotatedTensor": {
774
+ "fields": {
775
+ "tensor": {
776
+ "type": "Tensor",
777
+ "id": 1
778
+ },
779
+ "metadata": {
780
+ "keyType": "string",
781
+ "type": "google.protobuf.Value",
782
+ "id": 2
783
+ }
784
+ }
785
+ },
786
+ "SampleQuery": {
787
+ "fields": {
788
+ "channels": {
789
+ "rule": "repeated",
790
+ "type": "Channel",
791
+ "id": 1
792
+ },
793
+ "sampleCount": {
794
+ "type": "uint32",
795
+ "id": 2
796
+ }
797
+ }
798
+ },
799
+ "ImpedanceQuery": {
800
+ "fields": {
801
+ "electrodeIds": {
802
+ "rule": "repeated",
803
+ "type": "uint32",
804
+ "id": 1
805
+ }
806
+ }
807
+ },
808
+ "SelfTestQuery": {
809
+ "fields": {
810
+ "peripheralId": {
811
+ "type": "uint32",
812
+ "id": 1
813
+ }
814
+ }
815
+ },
816
+ "ImpedanceMeasurement": {
817
+ "fields": {
818
+ "electrodeId": {
819
+ "type": "uint32",
820
+ "id": 1
821
+ },
822
+ "magnitude": {
823
+ "type": "float",
824
+ "id": 2
825
+ },
826
+ "phase": {
827
+ "type": "float",
828
+ "id": 3
829
+ }
830
+ }
831
+ },
832
+ "ImpedanceResponse": {
833
+ "fields": {
834
+ "measurements": {
835
+ "rule": "repeated",
836
+ "type": "ImpedanceMeasurement",
837
+ "id": 1
838
+ }
839
+ }
840
+ },
841
+ "SelfTestItem": {
842
+ "fields": {
843
+ "testName": {
844
+ "type": "string",
845
+ "id": 1
846
+ },
847
+ "passed": {
848
+ "type": "bool",
849
+ "id": 2
850
+ },
851
+ "testData": {
852
+ "rule": "repeated",
853
+ "type": "uint32",
854
+ "id": 3
855
+ },
856
+ "testReport": {
857
+ "type": "string",
858
+ "id": 4
859
+ }
860
+ }
861
+ },
862
+ "SelfTestResponse": {
863
+ "fields": {
864
+ "allPassed": {
865
+ "type": "bool",
866
+ "id": 1
867
+ },
868
+ "tests": {
869
+ "rule": "repeated",
870
+ "type": "SelfTestItem",
871
+ "id": 2
872
+ }
873
+ }
874
+ },
875
+ "QueryRequest": {
876
+ "oneofs": {
877
+ "query": {
878
+ "oneof": [
879
+ "impedanceQuery",
880
+ "sampleQuery",
881
+ "selfTestQuery",
882
+ "listTapsQuery",
883
+ "getSettingsQuery"
884
+ ]
885
+ }
886
+ },
887
+ "fields": {
888
+ "queryType": {
889
+ "type": "QueryType",
890
+ "id": 1
891
+ },
892
+ "impedanceQuery": {
893
+ "type": "ImpedanceQuery",
894
+ "id": 2
895
+ },
896
+ "sampleQuery": {
897
+ "type": "SampleQuery",
898
+ "id": 3
899
+ },
900
+ "selfTestQuery": {
901
+ "type": "SelfTestQuery",
902
+ "id": 4
903
+ },
904
+ "listTapsQuery": {
905
+ "type": "ListTapsQuery",
906
+ "id": 5
907
+ },
908
+ "getSettingsQuery": {
909
+ "type": "GetSettingsQuery",
910
+ "id": 6
911
+ }
912
+ },
913
+ "nested": {
914
+ "QueryType": {
915
+ "values": {
916
+ "kNone": 0,
917
+ "kImpedance": 1,
918
+ "kSample": 2,
919
+ "kSelfTest": 3,
920
+ "kListTaps": 4,
921
+ "kGetSettings": 5
922
+ }
923
+ }
924
+ }
925
+ },
926
+ "StreamQueryRequest": {
927
+ "fields": {
928
+ "request": {
929
+ "type": "QueryRequest",
930
+ "id": 1
931
+ }
932
+ }
933
+ },
934
+ "QueryResponse": {
935
+ "oneofs": {
936
+ "response": {
937
+ "oneof": [
938
+ "impedanceResponse",
939
+ "selfTestResponse",
940
+ "listTapsResponse",
941
+ "getSettingsResponse"
942
+ ]
943
+ }
944
+ },
945
+ "fields": {
946
+ "status": {
947
+ "type": "Status",
948
+ "id": 1
949
+ },
950
+ "data": {
951
+ "rule": "repeated",
952
+ "type": "uint32",
953
+ "id": 2
954
+ },
955
+ "impedanceResponse": {
956
+ "type": "ImpedanceResponse",
957
+ "id": 3
958
+ },
959
+ "selfTestResponse": {
960
+ "type": "SelfTestResponse",
961
+ "id": 4
962
+ },
963
+ "listTapsResponse": {
964
+ "type": "ListTapsResponse",
965
+ "id": 5
966
+ },
967
+ "getSettingsResponse": {
968
+ "type": "GetSettingsResponse",
969
+ "id": 6
970
+ }
971
+ }
972
+ },
973
+ "StreamQueryResponse": {
974
+ "oneofs": {
975
+ "response": {
976
+ "oneof": [
977
+ "impedance",
978
+ "selfTest"
979
+ ]
980
+ }
981
+ },
982
+ "fields": {
983
+ "code": {
984
+ "type": "StatusCode",
985
+ "id": 1
986
+ },
987
+ "message": {
988
+ "type": "string",
989
+ "id": 2
990
+ },
991
+ "timestampNs": {
992
+ "type": "uint64",
993
+ "id": 3
994
+ },
995
+ "impedance": {
996
+ "type": "ImpedanceResponse",
997
+ "id": 4
998
+ },
999
+ "selfTest": {
1000
+ "type": "SelfTestResponse",
1001
+ "id": 5
1002
+ }
1003
+ }
1004
+ },
1005
+ "StatusCode": {
1006
+ "values": {
1007
+ "kOk": 0,
1008
+ "kUndefinedError": 1,
1009
+ "kInvalidConfiguration": 2,
1010
+ "kFailedPrecondition": 3,
1011
+ "kUnimplemented": 4,
1012
+ "kInternalError": 5,
1013
+ "kPermissionDenied": 6,
1014
+ "kQueryFailed": 7
1015
+ }
1016
+ },
1017
+ "DeviceState": {
1018
+ "values": {
1019
+ "kUnknown": 0,
1020
+ "kInitializing": 1,
1021
+ "kStopped": 2,
1022
+ "kRunning": 3,
1023
+ "kError": 4
1024
+ }
1025
+ },
1026
+ "DeviceStorage": {
1027
+ "fields": {
1028
+ "totalGb": {
1029
+ "type": "float",
1030
+ "id": 1
1031
+ },
1032
+ "usedGb": {
1033
+ "type": "float",
1034
+ "id": 2
1035
+ }
1036
+ }
1037
+ },
1038
+ "DevicePower": {
1039
+ "fields": {
1040
+ "batteryLevelPercent": {
1041
+ "type": "float",
1042
+ "id": 1
1043
+ },
1044
+ "isCharging": {
1045
+ "type": "bool",
1046
+ "id": 2
1047
+ }
1048
+ }
1049
+ },
1050
+ "SignalChainStatus": {
1051
+ "fields": {
1052
+ "nodes": {
1053
+ "rule": "repeated",
1054
+ "type": "NodeStatus",
1055
+ "id": 1
1056
+ }
1057
+ }
1058
+ },
1059
+ "Status": {
1060
+ "fields": {
1061
+ "message": {
1062
+ "type": "string",
1063
+ "id": 1
1064
+ },
1065
+ "code": {
1066
+ "type": "StatusCode",
1067
+ "id": 2
1068
+ },
1069
+ "state": {
1070
+ "type": "DeviceState",
1071
+ "id": 3
1072
+ },
1073
+ "power": {
1074
+ "type": "DevicePower",
1075
+ "id": 5
1076
+ },
1077
+ "storage": {
1078
+ "type": "DeviceStorage",
1079
+ "id": 6
1080
+ },
1081
+ "signalChain": {
1082
+ "type": "SignalChainStatus",
1083
+ "id": 7
1084
+ },
1085
+ "timeSyncPort": {
1086
+ "type": "uint32",
1087
+ "id": 8
1088
+ }
1089
+ },
1090
+ "reserved": [
1091
+ [
1092
+ 4,
1093
+ 4
1094
+ ]
1095
+ ]
1096
+ },
1097
+ "TapType": {
1098
+ "values": {
1099
+ "TAP_TYPE_UNSPECIFIED": 0,
1100
+ "TAP_TYPE_PRODUCER": 1,
1101
+ "TAP_TYPE_CONSUMER": 2
1102
+ }
1103
+ },
1104
+ "TapConnection": {
1105
+ "fields": {
1106
+ "name": {
1107
+ "type": "string",
1108
+ "id": 1
1109
+ },
1110
+ "endpoint": {
1111
+ "type": "string",
1112
+ "id": 2
1113
+ },
1114
+ "messageType": {
1115
+ "type": "string",
1116
+ "id": 3
1117
+ },
1118
+ "tapType": {
1119
+ "type": "TapType",
1120
+ "id": 4
1121
+ }
1122
+ }
1123
+ },
1124
+ "ListTapsQuery": {
1125
+ "fields": {}
1126
+ },
1127
+ "ListTapsResponse": {
1128
+ "fields": {
1129
+ "taps": {
1130
+ "rule": "repeated",
1131
+ "type": "TapConnection",
1132
+ "id": 1
1133
+ }
1134
+ }
1135
+ },
1136
+ "Peripheral": {
1137
+ "fields": {
1138
+ "name": {
1139
+ "type": "string",
1140
+ "id": 1
1141
+ },
1142
+ "vendor": {
1143
+ "type": "string",
1144
+ "id": 2
1145
+ },
1146
+ "peripheralId": {
1147
+ "type": "uint32",
1148
+ "id": 3
1149
+ },
1150
+ "type": {
1151
+ "type": "Type",
1152
+ "id": 4
1153
+ },
1154
+ "address": {
1155
+ "type": "string",
1156
+ "id": 5
1157
+ }
1158
+ },
1159
+ "nested": {
1160
+ "Type": {
1161
+ "values": {
1162
+ "kUnknown": 0,
1163
+ "kBroadbandSource": 1,
1164
+ "kElectricalStimulation": 2,
1165
+ "kOpticalStimulation": 3,
1166
+ "kSpikeSource": 4
1167
+ }
1168
+ }
1169
+ }
1170
+ },
1171
+ "DeviceInfo": {
1172
+ "fields": {
1173
+ "name": {
1174
+ "type": "string",
1175
+ "id": 1
1176
+ },
1177
+ "serial": {
1178
+ "type": "string",
1179
+ "id": 2
1180
+ },
1181
+ "synapseVersion": {
1182
+ "type": "uint32",
1183
+ "id": 3
1184
+ },
1185
+ "firmwareVersion": {
1186
+ "type": "uint32",
1187
+ "id": 4
1188
+ },
1189
+ "status": {
1190
+ "type": "Status",
1191
+ "id": 5
1192
+ },
1193
+ "peripherals": {
1194
+ "rule": "repeated",
1195
+ "type": "Peripheral",
1196
+ "id": 6
1197
+ },
1198
+ "configuration": {
1199
+ "type": "DeviceConfiguration",
1200
+ "id": 7
1201
+ }
1202
+ }
1203
+ },
1204
+ "DeviceConfiguration": {
1205
+ "fields": {
1206
+ "nodes": {
1207
+ "rule": "repeated",
1208
+ "type": "NodeConfig",
1209
+ "id": 1
1210
+ },
1211
+ "connections": {
1212
+ "rule": "repeated",
1213
+ "type": "NodeConnection",
1214
+ "id": 2
1215
+ }
1216
+ }
1217
+ },
1218
+ "DeviceSettings": {
1219
+ "fields": {
1220
+ "name": {
1221
+ "type": "string",
1222
+ "id": 1
1223
+ },
1224
+ "timeSource": {
1225
+ "type": "TimeSource",
1226
+ "id": 2
1227
+ },
1228
+ "fpgaClockFreqHz": {
1229
+ "type": "uint32",
1230
+ "id": 3
1231
+ }
1232
+ }
1233
+ },
1234
+ "GetSettingsQuery": {
1235
+ "fields": {}
1236
+ },
1237
+ "GetSettingsResponse": {
1238
+ "fields": {
1239
+ "settings": {
1240
+ "type": "DeviceSettings",
1241
+ "id": 1
1242
+ }
1243
+ }
1244
+ },
1245
+ "UpdateDeviceSettingsRequest": {
1246
+ "fields": {
1247
+ "settings": {
1248
+ "type": "DeviceSettings",
1249
+ "id": 1
1250
+ }
1251
+ }
1252
+ },
1253
+ "UpdateDeviceSettingsResponse": {
1254
+ "fields": {
1255
+ "status": {
1256
+ "type": "Status",
1257
+ "id": 1
1258
+ },
1259
+ "updatedSettings": {
1260
+ "type": "DeviceSettings",
1261
+ "id": 2
1262
+ }
1263
+ }
1264
+ },
1265
+ "SynapseDevice": {
1266
+ "methods": {
1267
+ "Info": {
1268
+ "requestType": "google.protobuf.Empty",
1269
+ "responseType": "DeviceInfo"
1270
+ },
1271
+ "Configure": {
1272
+ "requestType": "DeviceConfiguration",
1273
+ "responseType": "Status"
1274
+ },
1275
+ "Start": {
1276
+ "requestType": "google.protobuf.Empty",
1277
+ "responseType": "Status"
1278
+ },
1279
+ "Stop": {
1280
+ "requestType": "google.protobuf.Empty",
1281
+ "responseType": "Status"
1282
+ },
1283
+ "Query": {
1284
+ "requestType": "QueryRequest",
1285
+ "responseType": "QueryResponse"
1286
+ },
1287
+ "StreamQuery": {
1288
+ "requestType": "StreamQueryRequest",
1289
+ "responseType": "StreamQueryResponse",
1290
+ "responseStream": true
1291
+ },
1292
+ "DeployApp": {
1293
+ "requestType": "AppPackageChunk",
1294
+ "requestStream": true,
1295
+ "responseType": "AppDeployResponse",
1296
+ "responseStream": true
1297
+ },
1298
+ "ListFiles": {
1299
+ "requestType": "google.protobuf.Empty",
1300
+ "responseType": "ListFilesResponse"
1301
+ },
1302
+ "WriteFile": {
1303
+ "requestType": "WriteFileRequest",
1304
+ "responseType": "WriteFileResponse"
1305
+ },
1306
+ "ReadFile": {
1307
+ "requestType": "ReadFileRequest",
1308
+ "responseType": "ReadFileResponse",
1309
+ "responseStream": true
1310
+ },
1311
+ "DeleteFile": {
1312
+ "requestType": "DeleteFileRequest",
1313
+ "responseType": "DeleteFileResponse"
1314
+ },
1315
+ "GetLogs": {
1316
+ "requestType": "LogQueryRequest",
1317
+ "responseType": "LogQueryResponse"
1318
+ },
1319
+ "TailLogs": {
1320
+ "requestType": "TailLogsRequest",
1321
+ "responseType": "LogEntry",
1322
+ "responseStream": true
1323
+ },
1324
+ "UpdateDeviceSettings": {
1325
+ "requestType": "UpdateDeviceSettingsRequest",
1326
+ "responseType": "UpdateDeviceSettingsResponse"
1327
+ }
1328
+ }
1329
+ },
1330
+ "ListFilesResponse": {
1331
+ "fields": {
1332
+ "files": {
1333
+ "rule": "repeated",
1334
+ "type": "File",
1335
+ "id": 1
1336
+ }
1337
+ },
1338
+ "nested": {
1339
+ "File": {
1340
+ "fields": {
1341
+ "name": {
1342
+ "type": "string",
1343
+ "id": 1
1344
+ },
1345
+ "size": {
1346
+ "type": "uint32",
1347
+ "id": 2
1348
+ },
1349
+ "created": {
1350
+ "type": "uint32",
1351
+ "id": 3
1352
+ },
1353
+ "modified": {
1354
+ "type": "uint32",
1355
+ "id": 4
1356
+ },
1357
+ "type": {
1358
+ "type": "string",
1359
+ "id": 5
1360
+ }
1361
+ }
1362
+ }
1363
+ }
1364
+ },
1365
+ "WriteFileRequest": {
1366
+ "fields": {
1367
+ "name": {
1368
+ "type": "string",
1369
+ "id": 1
1370
+ },
1371
+ "data": {
1372
+ "type": "bytes",
1373
+ "id": 2
1374
+ }
1375
+ }
1376
+ },
1377
+ "WriteFileResponse": {
1378
+ "fields": {
1379
+ "name": {
1380
+ "type": "string",
1381
+ "id": 1
1382
+ },
1383
+ "bytesWritten": {
1384
+ "type": "uint64",
1385
+ "id": 2
1386
+ }
1387
+ }
1388
+ },
1389
+ "ReadFileRequest": {
1390
+ "fields": {
1391
+ "name": {
1392
+ "type": "string",
1393
+ "id": 1
1394
+ }
1395
+ }
1396
+ },
1397
+ "ReadFileResponse": {
1398
+ "fields": {
1399
+ "name": {
1400
+ "type": "string",
1401
+ "id": 1
1402
+ },
1403
+ "data": {
1404
+ "type": "bytes",
1405
+ "id": 2
1406
+ },
1407
+ "startOffset": {
1408
+ "type": "uint32",
1409
+ "id": 3
1410
+ },
1411
+ "fileTotalLength": {
1412
+ "type": "uint32",
1413
+ "id": 4
1414
+ }
1415
+ }
1416
+ },
1417
+ "DeleteFileRequest": {
1418
+ "fields": {
1419
+ "name": {
1420
+ "type": "string",
1421
+ "id": 1
1422
+ }
1423
+ }
1424
+ },
1425
+ "DeleteFileResponse": {
1426
+ "fields": {
1427
+ "name": {
1428
+ "type": "string",
1429
+ "id": 1
1430
+ },
1431
+ "statusCode": {
1432
+ "type": "StatusCode",
1433
+ "id": 2
1434
+ }
1435
+ }
1436
+ },
1437
+ "LogLevel": {
1438
+ "values": {
1439
+ "LOG_LEVEL_UNKNOWN": 0,
1440
+ "LOG_LEVEL_DEBUG": 1,
1441
+ "LOG_LEVEL_INFO": 2,
1442
+ "LOG_LEVEL_WARNING": 3,
1443
+ "LOG_LEVEL_ERROR": 4,
1444
+ "LOG_LEVEL_CRITICAL": 5
1445
+ }
1446
+ },
1447
+ "LogEntry": {
1448
+ "fields": {
1449
+ "timestampNs": {
1450
+ "type": "uint64",
1451
+ "id": 1
1452
+ },
1453
+ "level": {
1454
+ "type": "LogLevel",
1455
+ "id": 2
1456
+ },
1457
+ "source": {
1458
+ "type": "string",
1459
+ "id": 3
1460
+ },
1461
+ "message": {
1462
+ "type": "string",
1463
+ "id": 4
1464
+ }
1465
+ }
1466
+ },
1467
+ "LogQueryRequest": {
1468
+ "fields": {
1469
+ "startTimeNs": {
1470
+ "type": "uint64",
1471
+ "id": 1
1472
+ },
1473
+ "endTimeNs": {
1474
+ "type": "uint64",
1475
+ "id": 2
1476
+ },
1477
+ "sinceMs": {
1478
+ "type": "uint64",
1479
+ "id": 3
1480
+ },
1481
+ "minLevel": {
1482
+ "type": "LogLevel",
1483
+ "id": 4
1484
+ }
1485
+ }
1486
+ },
1487
+ "LogQueryResponse": {
1488
+ "fields": {
1489
+ "entries": {
1490
+ "rule": "repeated",
1491
+ "type": "LogEntry",
1492
+ "id": 1
1493
+ }
1494
+ }
1495
+ },
1496
+ "TailLogsRequest": {
1497
+ "fields": {
1498
+ "minLevel": {
1499
+ "type": "LogLevel",
1500
+ "id": 1
1501
+ }
1502
+ }
1503
+ },
1504
+ "AppManifest": {
1505
+ "fields": {
1506
+ "name": {
1507
+ "type": "string",
1508
+ "id": 1
1509
+ },
1510
+ "configSchema": {
1511
+ "type": "google.protobuf.Struct",
1512
+ "id": 2
1513
+ },
1514
+ "deviceConfig": {
1515
+ "type": "DeviceConfiguration",
1516
+ "id": 3
1517
+ }
1518
+ }
1519
+ },
1520
+ "PackageMetadata": {
1521
+ "fields": {
1522
+ "name": {
1523
+ "type": "string",
1524
+ "id": 1
1525
+ },
1526
+ "version": {
1527
+ "type": "string",
1528
+ "id": 2
1529
+ },
1530
+ "size": {
1531
+ "type": "uint64",
1532
+ "id": 3
1533
+ },
1534
+ "sha256Sum": {
1535
+ "type": "string",
1536
+ "id": 4
1537
+ }
1538
+ }
1539
+ },
1540
+ "AppPackageChunk": {
1541
+ "oneofs": {
1542
+ "data": {
1543
+ "oneof": [
1544
+ "metadata",
1545
+ "fileChunk"
1546
+ ]
1547
+ }
1548
+ },
1549
+ "fields": {
1550
+ "metadata": {
1551
+ "type": "PackageMetadata",
1552
+ "id": 1
1553
+ },
1554
+ "fileChunk": {
1555
+ "type": "bytes",
1556
+ "id": 2
1557
+ }
1558
+ }
1559
+ },
1560
+ "AppDeployResponse": {
1561
+ "fields": {
1562
+ "status": {
1563
+ "type": "StatusCode",
1564
+ "id": 1
1565
+ },
1566
+ "message": {
1567
+ "type": "string",
1568
+ "id": 2
1569
+ }
1570
+ }
1571
+ },
1572
+ "AppPerformanceSummary": {
1573
+ "fields": {
1574
+ "timestampNs": {
1575
+ "type": "uint64",
1576
+ "id": 1
1577
+ },
1578
+ "functionProfiles": {
1579
+ "rule": "repeated",
1580
+ "type": "FunctionProfile",
1581
+ "id": 2
1582
+ }
1583
+ }
1584
+ }
1585
+ }
1586
+ },
1587
+ "google": {
1588
+ "nested": {
1589
+ "protobuf": {
1590
+ "nested": {
1591
+ "Struct": {
1592
+ "fields": {
1593
+ "fields": {
1594
+ "keyType": "string",
1595
+ "type": "Value",
1596
+ "id": 1
1597
+ }
1598
+ }
1599
+ },
1600
+ "Value": {
1601
+ "oneofs": {
1602
+ "kind": {
1603
+ "oneof": [
1604
+ "nullValue",
1605
+ "numberValue",
1606
+ "stringValue",
1607
+ "boolValue",
1608
+ "structValue",
1609
+ "listValue"
1610
+ ]
1611
+ }
1612
+ },
1613
+ "fields": {
1614
+ "nullValue": {
1615
+ "type": "NullValue",
1616
+ "id": 1
1617
+ },
1618
+ "numberValue": {
1619
+ "type": "double",
1620
+ "id": 2
1621
+ },
1622
+ "stringValue": {
1623
+ "type": "string",
1624
+ "id": 3
1625
+ },
1626
+ "boolValue": {
1627
+ "type": "bool",
1628
+ "id": 4
1629
+ },
1630
+ "structValue": {
1631
+ "type": "Struct",
1632
+ "id": 5
1633
+ },
1634
+ "listValue": {
1635
+ "type": "ListValue",
1636
+ "id": 6
1637
+ }
1638
+ }
1639
+ },
1640
+ "NullValue": {
1641
+ "values": {
1642
+ "NULL_VALUE": 0
1643
+ }
1644
+ },
1645
+ "ListValue": {
1646
+ "fields": {
1647
+ "values": {
1648
+ "rule": "repeated",
1649
+ "type": "Value",
1650
+ "id": 1
1651
+ }
1652
+ }
1653
+ },
1654
+ "Empty": {
1655
+ "fields": {}
1656
+ }
1657
+ }
1658
+ }
1659
+ }
1660
+ }
1661
+ }
1662
+ }