@mxtommy/kip 4.7.0-beta.6 → 4.7.0-beta.8

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.
@@ -1,713 +0,0 @@
1
- {
2
- "openapi": "3.0.0",
3
- "info": {
4
- "version": "1.1.0",
5
- "title": "KIP Plugin API",
6
- "description": "Endpoints\n- List remote displays and control remote dashboard of a given KIP instance.\n- Configure data series for widget framework historical data series and data chart widgets.",
7
- "termsOfService": "http://signalk.org/terms/",
8
- "license": {
9
- "name": "Apache 2.0",
10
- "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
11
- }
12
- },
13
- "externalDocs": {
14
- "url": "http://signalk.org/specification/",
15
- "description": "Signal K specification."
16
- },
17
- "servers": [
18
- {
19
- "url": "/"
20
- }
21
- ],
22
- "tags": [
23
- {
24
- "name": "Displays",
25
- "description": "KIP remote display discovery and control."
26
- },
27
- {
28
- "name": "Series",
29
- "description": "KIP widget history series configuration."
30
- }
31
- ],
32
- "components": {
33
- "schemas": {
34
- "DisplayInfo": {
35
- "type": "object",
36
- "properties": {
37
- "displayId": {
38
- "type": "string",
39
- "description": "KIP instance UUID"
40
- },
41
- "displayName": {
42
- "type": "string",
43
- "nullable": true
44
- }
45
- },
46
- "required": [
47
- "displayId"
48
- ]
49
- },
50
- "ScreenItem": {
51
- "type": "object",
52
- "properties": {
53
- "id": {
54
- "type": "string"
55
- },
56
- "name": {
57
- "type": "string"
58
- },
59
- "icon": {
60
- "type": "string"
61
- }
62
- },
63
- "required": [
64
- "id",
65
- "name",
66
- "icon"
67
- ]
68
- },
69
- "ScreenListOrNull": {
70
- "type": "array",
71
- "nullable": true,
72
- "items": {
73
- "$ref": "#/components/schemas/ScreenItem"
74
- }
75
- },
76
- "SuccessResponse": {
77
- "type": "object",
78
- "properties": {
79
- "state": {
80
- "type": "string",
81
- "enum": [
82
- "SUCCESS"
83
- ]
84
- },
85
- "statusCode": {
86
- "type": "integer",
87
- "enum": [
88
- 200
89
- ]
90
- }
91
- },
92
- "required": [
93
- "state",
94
- "statusCode"
95
- ]
96
- },
97
- "ErrorResponse": {
98
- "type": "object",
99
- "properties": {
100
- "state": {
101
- "type": "string",
102
- "enum": [
103
- "FAILED"
104
- ]
105
- },
106
- "statusCode": {
107
- "type": "integer"
108
- },
109
- "message": {
110
- "type": "string"
111
- }
112
- },
113
- "required": [
114
- "state",
115
- "statusCode",
116
- "message"
117
- ]
118
- },
119
- "ActiveScreenSetRequest": {
120
- "type": "object",
121
- "properties": {
122
- "screenIdx": {
123
- "type": "integer",
124
- "nullable": true,
125
- "description": "Index of active screen or null to clear"
126
- }
127
- }
128
- },
129
- "AnyObjectOrNull": {
130
- "type": "object",
131
- "nullable": true,
132
- "additionalProperties": true
133
- },
134
- "SeriesDefinition": {
135
- "type": "object",
136
- "properties": {
137
- "seriesId": {
138
- "type": "string"
139
- },
140
- "datasetUuid": {
141
- "type": "string"
142
- },
143
- "ownerWidgetUuid": {
144
- "type": "string"
145
- },
146
- "ownerWidgetSelector": {
147
- "type": "string",
148
- "nullable": true
149
- },
150
- "path": {
151
- "type": "string"
152
- },
153
- "expansionMode": {
154
- "type": "string",
155
- "nullable": true,
156
- "enum": [
157
- "bms-battery-tree"
158
- ]
159
- },
160
- "allowedBatteryIds": {
161
- "type": "array",
162
- "nullable": true,
163
- "items": {
164
- "type": "string"
165
- }
166
- },
167
- "context": {
168
- "type": "string",
169
- "nullable": true
170
- },
171
- "source": {
172
- "type": "string",
173
- "nullable": true
174
- },
175
- "timeScale": {
176
- "type": "string",
177
- "nullable": true
178
- },
179
- "period": {
180
- "type": "integer",
181
- "nullable": true
182
- },
183
- "retentionDurationMs": {
184
- "type": "integer",
185
- "nullable": true
186
- },
187
- "sampleTime": {
188
- "type": "integer",
189
- "nullable": true
190
- },
191
- "enabled": {
192
- "type": "boolean",
193
- "default": true
194
- }
195
- },
196
- "required": [
197
- "seriesId",
198
- "datasetUuid",
199
- "ownerWidgetUuid",
200
- "path"
201
- ]
202
- },
203
- "SeriesReconcileResult": {
204
- "type": "object",
205
- "properties": {
206
- "created": {
207
- "type": "integer"
208
- },
209
- "updated": {
210
- "type": "integer"
211
- },
212
- "deleted": {
213
- "type": "integer"
214
- },
215
- "total": {
216
- "type": "integer"
217
- }
218
- },
219
- "required": [
220
- "created",
221
- "updated",
222
- "deleted",
223
- "total"
224
- ]
225
- }
226
- },
227
- "parameters": {
228
- "DisplayIdParam": {
229
- "in": "path",
230
- "required": true,
231
- "name": "displayId",
232
- "description": "KIP instance UUID",
233
- "schema": {
234
- "type": "string"
235
- }
236
- },
237
- "SeriesIdParam": {
238
- "in": "path",
239
- "required": true,
240
- "name": "seriesId",
241
- "description": "Series identifier (dataset UUID)",
242
- "schema": {
243
- "type": "string"
244
- }
245
- }
246
- },
247
- "securitySchemes": {
248
- "bearerAuth": {
249
- "type": "http",
250
- "scheme": "bearer",
251
- "bearerFormat": "JWT"
252
- },
253
- "cookieAuth": {
254
- "type": "apiKey",
255
- "in": "cookie",
256
- "name": "JAUTHENTICATION"
257
- }
258
- }
259
- },
260
- "security": [
261
- {
262
- "cookieAuth": []
263
- },
264
- {
265
- "bearerAuth": []
266
- }
267
- ],
268
- "paths": {
269
- "/plugins/kip/displays": {
270
- "get": {
271
- "tags": [
272
- "Displays"
273
- ],
274
- "summary": "List available KIP displays",
275
- "responses": {
276
- "200": {
277
- "description": "List of KIP instances discovered under self.displays",
278
- "content": {
279
- "application/json": {
280
- "schema": {
281
- "type": "array",
282
- "items": {
283
- "$ref": "#/components/schemas/DisplayInfo"
284
- }
285
- }
286
- }
287
- }
288
- },
289
- "400": {
290
- "description": "Bad request",
291
- "content": {
292
- "application/json": {
293
- "schema": {
294
- "$ref": "#/components/schemas/ErrorResponse"
295
- }
296
- }
297
- }
298
- }
299
- }
300
- }
301
- },
302
- "/plugins/kip/displays/{displayId}": {
303
- "parameters": [
304
- {
305
- "$ref": "#/components/parameters/DisplayIdParam"
306
- }
307
- ],
308
- "get": {
309
- "tags": [
310
- "Displays"
311
- ],
312
- "summary": "List screens for a display (self.displays.{displayId}.value.screens)",
313
- "responses": {
314
- "200": {
315
- "description": "Array of screen entries (or null)",
316
- "content": {
317
- "application/json": {
318
- "schema": {
319
- "$ref": "#/components/schemas/ScreenListOrNull"
320
- }
321
- }
322
- }
323
- },
324
- "404": {
325
- "description": "Not found",
326
- "content": {
327
- "application/json": {
328
- "schema": {
329
- "$ref": "#/components/schemas/ErrorResponse"
330
- }
331
- }
332
- }
333
- },
334
- "400": {
335
- "description": "Bad request",
336
- "content": {
337
- "application/json": {
338
- "schema": {
339
- "$ref": "#/components/schemas/ErrorResponse"
340
- }
341
- }
342
- }
343
- }
344
- }
345
- },
346
- "put": {
347
- "tags": [
348
- "Displays"
349
- ],
350
- "summary": "Set display entry under self.displays.{displayId}",
351
- "requestBody": {
352
- "required": false,
353
- "content": {
354
- "application/json": {
355
- "schema": {
356
- "$ref": "#/components/schemas/AnyObjectOrNull"
357
- }
358
- }
359
- }
360
- },
361
- "responses": {
362
- "200": {
363
- "description": "Updated",
364
- "content": {
365
- "application/json": {
366
- "schema": {
367
- "$ref": "#/components/schemas/SuccessResponse"
368
- }
369
- }
370
- }
371
- },
372
- "400": {
373
- "description": "Bad request",
374
- "content": {
375
- "application/json": {
376
- "schema": {
377
- "$ref": "#/components/schemas/ErrorResponse"
378
- }
379
- }
380
- }
381
- }
382
- }
383
- }
384
- },
385
- "/plugins/kip/displays/{displayId}/screenIndex": {
386
- "parameters": [
387
- {
388
- "$ref": "#/components/parameters/DisplayIdParam"
389
- }
390
- ],
391
- "get": {
392
- "tags": [
393
- "Displays"
394
- ],
395
- "summary": "Get current screen index for display (self.displays.{displayId}.screenIndex)",
396
- "responses": {
397
- "200": {
398
- "description": "Current screen index or null",
399
- "content": {
400
- "application/json": {
401
- "schema": {
402
- "type": "integer",
403
- "nullable": true
404
- }
405
- }
406
- }
407
- },
408
- "404": {
409
- "description": "Not found",
410
- "content": {
411
- "application/json": {
412
- "schema": {
413
- "$ref": "#/components/schemas/ErrorResponse"
414
- }
415
- }
416
- }
417
- },
418
- "400": {
419
- "description": "Bad request",
420
- "content": {
421
- "application/json": {
422
- "schema": {
423
- "$ref": "#/components/schemas/ErrorResponse"
424
- }
425
- }
426
- }
427
- }
428
- }
429
- },
430
- "put": {
431
- "tags": [
432
- "Displays"
433
- ],
434
- "summary": "Set current screen index for display (self.displays.{displayId}.screenIndex)",
435
- "requestBody": {
436
- "required": false,
437
- "content": {
438
- "application/json": {
439
- "schema": {
440
- "$ref": "#/components/schemas/ActiveScreenSetRequest"
441
- }
442
- }
443
- }
444
- },
445
- "responses": {
446
- "200": {
447
- "description": "Updated",
448
- "content": {
449
- "application/json": {
450
- "schema": {
451
- "$ref": "#/components/schemas/SuccessResponse"
452
- }
453
- }
454
- }
455
- },
456
- "400": {
457
- "description": "Bad request",
458
- "content": {
459
- "application/json": {
460
- "schema": {
461
- "$ref": "#/components/schemas/ErrorResponse"
462
- }
463
- }
464
- }
465
- }
466
- }
467
- }
468
- },
469
- "/plugins/kip/displays/{displayId}/activeScreen": {
470
- "parameters": [
471
- {
472
- "$ref": "#/components/parameters/DisplayIdParam"
473
- }
474
- ],
475
- "get": {
476
- "tags": [
477
- "Displays"
478
- ],
479
- "summary": "Get requested screen change index (self.displays.{displayId}.activeScreen)",
480
- "responses": {
481
- "200": {
482
- "description": "Requested screen index or null",
483
- "content": {
484
- "application/json": {
485
- "schema": {
486
- "type": "integer",
487
- "nullable": true
488
- }
489
- }
490
- }
491
- },
492
- "404": {
493
- "description": "Not found",
494
- "content": {
495
- "application/json": {
496
- "schema": {
497
- "$ref": "#/components/schemas/ErrorResponse"
498
- }
499
- }
500
- }
501
- },
502
- "400": {
503
- "description": "Bad request",
504
- "content": {
505
- "application/json": {
506
- "schema": {
507
- "$ref": "#/components/schemas/ErrorResponse"
508
- }
509
- }
510
- }
511
- }
512
- }
513
- },
514
- "put": {
515
- "tags": [
516
- "Displays"
517
- ],
518
- "summary": "Request a screen change (sets self.displays.{displayId}.activeScreen)",
519
- "requestBody": {
520
- "required": false,
521
- "content": {
522
- "application/json": {
523
- "schema": {
524
- "$ref": "#/components/schemas/ActiveScreenSetRequest"
525
- }
526
- }
527
- }
528
- },
529
- "responses": {
530
- "200": {
531
- "description": "Updated",
532
- "content": {
533
- "application/json": {
534
- "schema": {
535
- "$ref": "#/components/schemas/SuccessResponse"
536
- }
537
- }
538
- }
539
- },
540
- "400": {
541
- "description": "Bad request",
542
- "content": {
543
- "application/json": {
544
- "schema": {
545
- "$ref": "#/components/schemas/ErrorResponse"
546
- }
547
- }
548
- }
549
- }
550
- }
551
- }
552
- },
553
- "/plugins/kip/series": {
554
- "get": {
555
- "tags": [
556
- "Series"
557
- ],
558
- "summary": "List all configured history series",
559
- "responses": {
560
- "200": {
561
- "description": "Current series definitions",
562
- "content": {
563
- "application/json": {
564
- "schema": {
565
- "type": "array",
566
- "items": {
567
- "$ref": "#/components/schemas/SeriesDefinition"
568
- }
569
- }
570
- }
571
- }
572
- },
573
- "400": {
574
- "description": "Bad request",
575
- "content": {
576
- "application/json": {
577
- "schema": {
578
- "$ref": "#/components/schemas/ErrorResponse"
579
- }
580
- }
581
- }
582
- }
583
- }
584
- }
585
- },
586
- "/plugins/kip/series/{seriesId}": {
587
- "parameters": [
588
- {
589
- "$ref": "#/components/parameters/SeriesIdParam"
590
- }
591
- ],
592
- "put": {
593
- "tags": [
594
- "Series"
595
- ],
596
- "summary": "Create or update a series definition",
597
- "requestBody": {
598
- "required": true,
599
- "content": {
600
- "application/json": {
601
- "schema": {
602
- "$ref": "#/components/schemas/SeriesDefinition"
603
- }
604
- }
605
- }
606
- },
607
- "responses": {
608
- "200": {
609
- "description": "Series upserted",
610
- "content": {
611
- "application/json": {
612
- "schema": {
613
- "$ref": "#/components/schemas/SeriesDefinition"
614
- }
615
- }
616
- }
617
- },
618
- "400": {
619
- "description": "Bad request",
620
- "content": {
621
- "application/json": {
622
- "schema": {
623
- "$ref": "#/components/schemas/ErrorResponse"
624
- }
625
- }
626
- }
627
- }
628
- }
629
- },
630
- "delete": {
631
- "tags": [
632
- "Series"
633
- ],
634
- "summary": "Delete a series definition",
635
- "responses": {
636
- "200": {
637
- "description": "Series removed",
638
- "content": {
639
- "application/json": {
640
- "schema": {
641
- "$ref": "#/components/schemas/SuccessResponse"
642
- }
643
- }
644
- }
645
- },
646
- "404": {
647
- "description": "Series not found",
648
- "content": {
649
- "application/json": {
650
- "schema": {
651
- "$ref": "#/components/schemas/ErrorResponse"
652
- }
653
- }
654
- }
655
- },
656
- "400": {
657
- "description": "Bad request",
658
- "content": {
659
- "application/json": {
660
- "schema": {
661
- "$ref": "#/components/schemas/ErrorResponse"
662
- }
663
- }
664
- }
665
- }
666
- }
667
- }
668
- },
669
- "/plugins/kip/series/reconcile": {
670
- "post": {
671
- "tags": [
672
- "Series"
673
- ],
674
- "summary": "Reconcile full desired series set",
675
- "requestBody": {
676
- "required": true,
677
- "content": {
678
- "application/json": {
679
- "schema": {
680
- "type": "array",
681
- "items": {
682
- "$ref": "#/components/schemas/SeriesDefinition"
683
- }
684
- }
685
- }
686
- }
687
- },
688
- "responses": {
689
- "200": {
690
- "description": "Reconcile summary",
691
- "content": {
692
- "application/json": {
693
- "schema": {
694
- "$ref": "#/components/schemas/SeriesReconcileResult"
695
- }
696
- }
697
- }
698
- },
699
- "400": {
700
- "description": "Bad request",
701
- "content": {
702
- "application/json": {
703
- "schema": {
704
- "$ref": "#/components/schemas/ErrorResponse"
705
- }
706
- }
707
- }
708
- }
709
- }
710
- }
711
- }
712
- }
713
- }