@mhome/app-facade-protocol 1.10.0 → 1.11.0

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.
@@ -0,0 +1,517 @@
1
+ {
2
+ "type": "object",
3
+ "additionalProperties": false,
4
+ "required": [
5
+ "contract",
6
+ "scopeId",
7
+ "observedAtMs",
8
+ "discoveryError",
9
+ "hosts",
10
+ "instances"
11
+ ],
12
+ "properties": {
13
+ "contract": {
14
+ "const": "mhome.system.inventory.v1"
15
+ },
16
+ "scopeId": {
17
+ "type": "string"
18
+ },
19
+ "observedAtMs": {
20
+ "type": "integer",
21
+ "minimum": 0
22
+ },
23
+ "discoveryError": {
24
+ "anyOf": [
25
+ {
26
+ "type": "string"
27
+ },
28
+ {
29
+ "type": "null"
30
+ }
31
+ ]
32
+ },
33
+ "hosts": {
34
+ "type": "array",
35
+ "items": {
36
+ "type": "object",
37
+ "additionalProperties": false,
38
+ "required": [
39
+ "hostId",
40
+ "hostName",
41
+ "hostType",
42
+ "isHubHost",
43
+ "source",
44
+ "reachable",
45
+ "info",
46
+ "services"
47
+ ],
48
+ "properties": {
49
+ "hostId": {
50
+ "type": "string"
51
+ },
52
+ "hostName": {
53
+ "type": "string"
54
+ },
55
+ "hostType": {
56
+ "type": "string"
57
+ },
58
+ "isHubHost": {
59
+ "type": "boolean"
60
+ },
61
+ "source": {
62
+ "enum": [
63
+ "local",
64
+ "mdns",
65
+ "commissioned"
66
+ ]
67
+ },
68
+ "reachable": {
69
+ "type": "boolean"
70
+ },
71
+ "info": {
72
+ "type": "object",
73
+ "additionalProperties": false,
74
+ "required": [
75
+ "status",
76
+ "data",
77
+ "observedAtMs",
78
+ "lastAttemptAtMs",
79
+ "stale",
80
+ "errorCode"
81
+ ],
82
+ "properties": {
83
+ "status": {
84
+ "enum": [
85
+ "ok",
86
+ "unavailable",
87
+ "unsupported",
88
+ "notQueried"
89
+ ]
90
+ },
91
+ "data": {
92
+ "anyOf": [
93
+ {
94
+ "type": "object",
95
+ "additionalProperties": false,
96
+ "required": [
97
+ "hostId",
98
+ "hostName",
99
+ "hostType",
100
+ "os",
101
+ "osVersion",
102
+ "cpu",
103
+ "memory",
104
+ "disk",
105
+ "gpus"
106
+ ],
107
+ "properties": {
108
+ "hostId": {
109
+ "type": "string"
110
+ },
111
+ "hostName": {
112
+ "type": "string"
113
+ },
114
+ "hostType": {
115
+ "type": "string"
116
+ },
117
+ "os": {
118
+ "type": "string"
119
+ },
120
+ "osVersion": {
121
+ "anyOf": [
122
+ {
123
+ "type": "string"
124
+ },
125
+ {
126
+ "type": "null"
127
+ }
128
+ ]
129
+ },
130
+ "cpu": {
131
+ "type": "object",
132
+ "additionalProperties": false,
133
+ "required": [
134
+ "arch",
135
+ "logicalCores",
136
+ "model"
137
+ ],
138
+ "properties": {
139
+ "arch": {
140
+ "type": "string"
141
+ },
142
+ "logicalCores": {
143
+ "type": "integer",
144
+ "minimum": 0
145
+ },
146
+ "model": {
147
+ "type": "string"
148
+ }
149
+ }
150
+ },
151
+ "memory": {
152
+ "type": "object",
153
+ "additionalProperties": false,
154
+ "required": [
155
+ "totalBytes"
156
+ ],
157
+ "properties": {
158
+ "totalBytes": {
159
+ "type": "integer",
160
+ "minimum": 0
161
+ }
162
+ }
163
+ },
164
+ "disk": {
165
+ "anyOf": [
166
+ {
167
+ "type": "object",
168
+ "additionalProperties": false,
169
+ "required": [
170
+ "totalBytes"
171
+ ],
172
+ "properties": {
173
+ "totalBytes": {
174
+ "type": "integer",
175
+ "minimum": 0
176
+ }
177
+ }
178
+ },
179
+ {
180
+ "type": "null"
181
+ }
182
+ ]
183
+ },
184
+ "gpus": {
185
+ "type": "array",
186
+ "items": {
187
+ "type": "object",
188
+ "additionalProperties": false,
189
+ "required": [
190
+ "vendor",
191
+ "name",
192
+ "memoryBytes"
193
+ ],
194
+ "properties": {
195
+ "vendor": {
196
+ "type": "string"
197
+ },
198
+ "name": {
199
+ "type": "string"
200
+ },
201
+ "memoryBytes": {
202
+ "anyOf": [
203
+ {
204
+ "type": "integer",
205
+ "minimum": 0
206
+ },
207
+ {
208
+ "type": "null"
209
+ }
210
+ ]
211
+ }
212
+ }
213
+ }
214
+ }
215
+ }
216
+ },
217
+ {
218
+ "type": "null"
219
+ }
220
+ ]
221
+ },
222
+ "observedAtMs": {
223
+ "anyOf": [
224
+ {
225
+ "type": "integer",
226
+ "minimum": 0
227
+ },
228
+ {
229
+ "type": "null"
230
+ }
231
+ ]
232
+ },
233
+ "lastAttemptAtMs": {
234
+ "anyOf": [
235
+ {
236
+ "type": "integer",
237
+ "minimum": 0
238
+ },
239
+ {
240
+ "type": "null"
241
+ }
242
+ ]
243
+ },
244
+ "stale": {
245
+ "type": "boolean"
246
+ },
247
+ "errorCode": {
248
+ "anyOf": [
249
+ {
250
+ "type": "string"
251
+ },
252
+ {
253
+ "type": "null"
254
+ }
255
+ ]
256
+ }
257
+ }
258
+ },
259
+ "services": {
260
+ "type": "object",
261
+ "additionalProperties": false,
262
+ "required": [
263
+ "status",
264
+ "data",
265
+ "observedAtMs",
266
+ "lastAttemptAtMs",
267
+ "stale",
268
+ "errorCode"
269
+ ],
270
+ "properties": {
271
+ "status": {
272
+ "enum": [
273
+ "ok",
274
+ "unavailable",
275
+ "unsupported",
276
+ "notQueried"
277
+ ]
278
+ },
279
+ "data": {
280
+ "anyOf": [
281
+ {
282
+ "type": "array",
283
+ "items": {
284
+ "type": "object",
285
+ "additionalProperties": false,
286
+ "required": [
287
+ "serviceId",
288
+ "version",
289
+ "kind",
290
+ "status"
291
+ ],
292
+ "properties": {
293
+ "serviceId": {
294
+ "type": "string"
295
+ },
296
+ "version": {
297
+ "type": "string"
298
+ },
299
+ "kind": {
300
+ "type": "string"
301
+ },
302
+ "status": {
303
+ "type": "string"
304
+ }
305
+ }
306
+ }
307
+ },
308
+ {
309
+ "type": "null"
310
+ }
311
+ ]
312
+ },
313
+ "observedAtMs": {
314
+ "anyOf": [
315
+ {
316
+ "type": "integer",
317
+ "minimum": 0
318
+ },
319
+ {
320
+ "type": "null"
321
+ }
322
+ ]
323
+ },
324
+ "lastAttemptAtMs": {
325
+ "anyOf": [
326
+ {
327
+ "type": "integer",
328
+ "minimum": 0
329
+ },
330
+ {
331
+ "type": "null"
332
+ }
333
+ ]
334
+ },
335
+ "stale": {
336
+ "type": "boolean"
337
+ },
338
+ "errorCode": {
339
+ "anyOf": [
340
+ {
341
+ "type": "string"
342
+ },
343
+ {
344
+ "type": "null"
345
+ }
346
+ ]
347
+ }
348
+ }
349
+ }
350
+ }
351
+ }
352
+ },
353
+ "instances": {
354
+ "type": "array",
355
+ "items": {
356
+ "type": "object",
357
+ "additionalProperties": false,
358
+ "required": [
359
+ "id",
360
+ "kind",
361
+ "hostId",
362
+ "serviceId",
363
+ "displayName",
364
+ "nodeType",
365
+ "hubId",
366
+ "commissioned",
367
+ "lifecycle",
368
+ "hubConnection",
369
+ "cloudConnection",
370
+ "health"
371
+ ],
372
+ "properties": {
373
+ "id": {
374
+ "type": "string"
375
+ },
376
+ "kind": {
377
+ "enum": [
378
+ "hub",
379
+ "node"
380
+ ]
381
+ },
382
+ "hostId": {
383
+ "type": "string"
384
+ },
385
+ "serviceId": {
386
+ "type": "string"
387
+ },
388
+ "displayName": {
389
+ "type": "string"
390
+ },
391
+ "nodeType": {
392
+ "anyOf": [
393
+ {
394
+ "type": "string"
395
+ },
396
+ {
397
+ "type": "null"
398
+ }
399
+ ]
400
+ },
401
+ "hubId": {
402
+ "type": "string"
403
+ },
404
+ "commissioned": {
405
+ "type": "boolean"
406
+ },
407
+ "lifecycle": {
408
+ "anyOf": [
409
+ {
410
+ "enum": [
411
+ "active",
412
+ "inactive"
413
+ ]
414
+ },
415
+ {
416
+ "type": "null"
417
+ }
418
+ ]
419
+ },
420
+ "hubConnection": {
421
+ "anyOf": [
422
+ {
423
+ "enum": [
424
+ "connected",
425
+ "disconnected"
426
+ ]
427
+ },
428
+ {
429
+ "type": "null"
430
+ }
431
+ ]
432
+ },
433
+ "cloudConnection": {
434
+ "anyOf": [
435
+ {
436
+ "enum": [
437
+ "connected",
438
+ "disconnected"
439
+ ]
440
+ },
441
+ {
442
+ "type": "null"
443
+ }
444
+ ]
445
+ },
446
+ "health": {
447
+ "type": "object",
448
+ "additionalProperties": false,
449
+ "required": [
450
+ "status",
451
+ "data",
452
+ "observedAtMs",
453
+ "lastAttemptAtMs",
454
+ "stale",
455
+ "errorCode"
456
+ ],
457
+ "properties": {
458
+ "status": {
459
+ "enum": [
460
+ "ok",
461
+ "unavailable",
462
+ "unsupported",
463
+ "notQueried"
464
+ ]
465
+ },
466
+ "data": {
467
+ "anyOf": [
468
+ {
469
+ "type": "string"
470
+ },
471
+ {
472
+ "type": "null"
473
+ }
474
+ ]
475
+ },
476
+ "observedAtMs": {
477
+ "anyOf": [
478
+ {
479
+ "type": "integer",
480
+ "minimum": 0
481
+ },
482
+ {
483
+ "type": "null"
484
+ }
485
+ ]
486
+ },
487
+ "lastAttemptAtMs": {
488
+ "anyOf": [
489
+ {
490
+ "type": "integer",
491
+ "minimum": 0
492
+ },
493
+ {
494
+ "type": "null"
495
+ }
496
+ ]
497
+ },
498
+ "stale": {
499
+ "type": "boolean"
500
+ },
501
+ "errorCode": {
502
+ "anyOf": [
503
+ {
504
+ "type": "string"
505
+ },
506
+ {
507
+ "type": "null"
508
+ }
509
+ ]
510
+ }
511
+ }
512
+ }
513
+ }
514
+ }
515
+ }
516
+ }
517
+ }