@mhome/app-facade-protocol 1.93.0 → 1.109.2

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 (34) hide show
  1. package/README.md +13 -1
  2. package/contract/automation-presentation-v1.md +76 -0
  3. package/contract/automation-v1.md +28 -0
  4. package/contract/client-space-focus-v1.md +26 -0
  5. package/contract/entity-presentation-v1.md +24 -1
  6. package/contract/integration-presentation-v1.md +1 -1
  7. package/contract/plugin-preview-v1.md +16 -0
  8. package/contract/reference-presentation-v1.md +35 -0
  9. package/contract/resource-read-v1.md +2 -2
  10. package/contract/space-presentation-v1.md +45 -0
  11. package/contract/storage-v1.md +3 -1
  12. package/contract/widget-presentation-v1.md +36 -0
  13. package/contract/widget-writes-v1.md +44 -0
  14. package/fixtures/authorization/decisions.json +96 -0
  15. package/fixtures/entity-presentation.conformance.json +216 -0
  16. package/fixtures/nfc.conformance.json +442 -0
  17. package/fixtures/presentation/cases.json +48 -50
  18. package/fixtures/reference-presentation.v1.json +5 -0
  19. package/fixtures/routing/cases.json +192 -0
  20. package/fixtures/widget-presentation.v1.json +96 -0
  21. package/manifest/app-facade.v1.json +87 -6
  22. package/manifest/authorization.v1.json +75 -99
  23. package/manifest/host-provision-targets.v1.json +1 -1
  24. package/manifest/hub-targets.v1.json +1 -1
  25. package/manifest/pod-targets.v1.json +1 -1
  26. package/manifest/presentation-times.v1.json +50 -1
  27. package/manifest/routing.v1.json +14 -4
  28. package/manifest/targets.v1.json +1 -1
  29. package/package.json +1 -1
  30. package/protocol.json +1 -1
  31. package/schema/automation-presentation.v1.schema.json +602 -0
  32. package/schema/automation.v1.schema.json +142 -0
  33. package/schema/entity-presentation.v1.schema.json +111 -0
  34. package/schema/routing.v1.schema.json +5 -1
@@ -0,0 +1,602 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://mhome.ai/schema/automation-presentation.v1.schema.json",
4
+ "$defs": {
5
+ "namesInput": {
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "ids"
10
+ ],
11
+ "properties": {
12
+ "ids": {
13
+ "type": "array",
14
+ "minItems": 1,
15
+ "maxItems": 100,
16
+ "items": {
17
+ "type": "string",
18
+ "pattern": "\\S"
19
+ }
20
+ }
21
+ }
22
+ },
23
+ "namesOutput": {
24
+ "type": "object",
25
+ "additionalProperties": false,
26
+ "required": [
27
+ "automations"
28
+ ],
29
+ "properties": {
30
+ "automations": {
31
+ "type": "object",
32
+ "additionalProperties": {
33
+ "type": "string"
34
+ }
35
+ }
36
+ }
37
+ },
38
+ "listInput": {
39
+ "type": "object",
40
+ "additionalProperties": false,
41
+ "required": [
42
+ "type"
43
+ ],
44
+ "properties": {
45
+ "type": {
46
+ "enum": [
47
+ "RECURRING",
48
+ "TASK_FLOW"
49
+ ]
50
+ }
51
+ }
52
+ },
53
+ "automationInput": {
54
+ "type": "object",
55
+ "additionalProperties": false,
56
+ "required": [
57
+ "automationId"
58
+ ],
59
+ "properties": {
60
+ "automationId": {
61
+ "type": "string",
62
+ "pattern": "\\S"
63
+ }
64
+ }
65
+ },
66
+ "listItem": {
67
+ "type": "object",
68
+ "additionalProperties": false,
69
+ "required": [
70
+ "id",
71
+ "name",
72
+ "type",
73
+ "enabled",
74
+ "corrupted",
75
+ "runnable",
76
+ "running",
77
+ "blocked",
78
+ "hasExpire",
79
+ "timestamp",
80
+ "createdAt",
81
+ "updatedAt",
82
+ "enabledAt",
83
+ "tags"
84
+ ],
85
+ "properties": {
86
+ "id": {
87
+ "type": "string"
88
+ },
89
+ "name": {
90
+ "type": "string"
91
+ },
92
+ "type": {
93
+ "type": "string"
94
+ },
95
+ "enabled": {
96
+ "type": "boolean"
97
+ },
98
+ "corrupted": {
99
+ "type": "boolean"
100
+ },
101
+ "runnable": {
102
+ "type": "boolean"
103
+ },
104
+ "running": {
105
+ "type": "boolean"
106
+ },
107
+ "blocked": {
108
+ "type": "boolean"
109
+ },
110
+ "hasExpire": {
111
+ "type": "boolean"
112
+ },
113
+ "timestamp": {
114
+ "type": "integer"
115
+ },
116
+ "createdAt": {
117
+ "type": "integer"
118
+ },
119
+ "updatedAt": {
120
+ "type": "integer"
121
+ },
122
+ "enabledAt": {
123
+ "type": "integer"
124
+ },
125
+ "tags": {
126
+ "type": "array",
127
+ "items": {
128
+ "type": "string"
129
+ }
130
+ }
131
+ }
132
+ },
133
+ "listOutput": {
134
+ "type": "object",
135
+ "additionalProperties": false,
136
+ "required": [
137
+ "automations"
138
+ ],
139
+ "properties": {
140
+ "automations": {
141
+ "type": "array",
142
+ "items": {
143
+ "$ref": "#/$defs/listItem"
144
+ }
145
+ }
146
+ }
147
+ },
148
+ "overviewOutput": {
149
+ "type": "object",
150
+ "additionalProperties": false,
151
+ "required": [
152
+ "id",
153
+ "name",
154
+ "type",
155
+ "enabled",
156
+ "runnable",
157
+ "corrupted",
158
+ "blocked",
159
+ "widgets"
160
+ ],
161
+ "properties": {
162
+ "id": {
163
+ "type": "string"
164
+ },
165
+ "name": {
166
+ "type": "string"
167
+ },
168
+ "type": {
169
+ "type": "string"
170
+ },
171
+ "enabled": {
172
+ "type": "boolean"
173
+ },
174
+ "runnable": {
175
+ "type": "boolean"
176
+ },
177
+ "corrupted": {
178
+ "type": "boolean"
179
+ },
180
+ "blocked": {
181
+ "type": "boolean"
182
+ },
183
+ "widgets": {
184
+ "type": "array",
185
+ "items": {
186
+ "type": "object"
187
+ }
188
+ }
189
+ }
190
+ },
191
+ "canvasPlacement": {
192
+ "type": "object",
193
+ "additionalProperties": false,
194
+ "required": [
195
+ "id",
196
+ "name",
197
+ "containsAutomation"
198
+ ],
199
+ "properties": {
200
+ "id": {
201
+ "type": "string"
202
+ },
203
+ "name": {
204
+ "type": "string"
205
+ },
206
+ "containsAutomation": {
207
+ "type": "boolean"
208
+ }
209
+ }
210
+ },
211
+ "placementsOutput": {
212
+ "type": "object",
213
+ "additionalProperties": false,
214
+ "required": [
215
+ "canvases"
216
+ ],
217
+ "properties": {
218
+ "canvases": {
219
+ "type": "array",
220
+ "items": {
221
+ "$ref": "#/$defs/canvasPlacement"
222
+ }
223
+ }
224
+ }
225
+ },
226
+ "summariesInput": {
227
+ "$ref": "#/$defs/namesInput"
228
+ },
229
+ "summary": {
230
+ "type": "object",
231
+ "additionalProperties": false,
232
+ "required": [
233
+ "id",
234
+ "name",
235
+ "type",
236
+ "enabled",
237
+ "corrupted",
238
+ "runnable",
239
+ "running",
240
+ "blocked",
241
+ "hasExpire",
242
+ "timestamp",
243
+ "createdAt",
244
+ "updatedAt",
245
+ "enabledAt",
246
+ "tags",
247
+ "automationId",
248
+ "temp",
249
+ "lastRunAt",
250
+ "expireAt"
251
+ ],
252
+ "properties": {
253
+ "id": {
254
+ "type": "string"
255
+ },
256
+ "name": {
257
+ "type": "string"
258
+ },
259
+ "type": {
260
+ "type": "string"
261
+ },
262
+ "enabled": {
263
+ "type": "boolean"
264
+ },
265
+ "corrupted": {
266
+ "type": "boolean"
267
+ },
268
+ "runnable": {
269
+ "type": "boolean"
270
+ },
271
+ "running": {
272
+ "type": "boolean"
273
+ },
274
+ "blocked": {
275
+ "type": "boolean"
276
+ },
277
+ "hasExpire": {
278
+ "type": "boolean"
279
+ },
280
+ "timestamp": {
281
+ "type": "integer"
282
+ },
283
+ "createdAt": {
284
+ "type": "integer"
285
+ },
286
+ "updatedAt": {
287
+ "type": "integer"
288
+ },
289
+ "enabledAt": {
290
+ "type": "integer"
291
+ },
292
+ "tags": {
293
+ "type": "array",
294
+ "items": {
295
+ "type": "string"
296
+ }
297
+ },
298
+ "automationId": {
299
+ "type": "string"
300
+ },
301
+ "temp": {
302
+ "type": "boolean"
303
+ },
304
+ "lastRunAt": {
305
+ "type": [
306
+ "integer",
307
+ "null"
308
+ ]
309
+ },
310
+ "expireAt": {
311
+ "type": [
312
+ "integer",
313
+ "null"
314
+ ]
315
+ }
316
+ }
317
+ },
318
+ "summariesOutput": {
319
+ "type": "object",
320
+ "additionalProperties": false,
321
+ "required": [
322
+ "items"
323
+ ],
324
+ "properties": {
325
+ "items": {
326
+ "type": "array",
327
+ "items": {
328
+ "type": "object",
329
+ "additionalProperties": false,
330
+ "required": [
331
+ "requestedId",
332
+ "found"
333
+ ],
334
+ "properties": {
335
+ "found": {
336
+ "type": "boolean"
337
+ },
338
+ "resource": {
339
+ "anyOf": [
340
+ {
341
+ "$ref": "#/$defs/summary"
342
+ },
343
+ {
344
+ "type": "null"
345
+ }
346
+ ]
347
+ },
348
+ "requestedId": {
349
+ "type": "string"
350
+ },
351
+ "reason": {
352
+ "type": "string"
353
+ }
354
+ }
355
+ }
356
+ }
357
+ }
358
+ },
359
+ "copyInput": {
360
+ "type": "object",
361
+ "additionalProperties": false,
362
+ "required": [
363
+ "automationId"
364
+ ],
365
+ "properties": {
366
+ "automationId": {
367
+ "type": "string"
368
+ },
369
+ "name": {
370
+ "type": [
371
+ "string",
372
+ "null"
373
+ ]
374
+ }
375
+ }
376
+ },
377
+ "savedOutput": {
378
+ "type": "object",
379
+ "additionalProperties": false,
380
+ "required": [
381
+ "automationId",
382
+ "runnable",
383
+ "enabled"
384
+ ],
385
+ "properties": {
386
+ "automationId": {
387
+ "type": "string"
388
+ },
389
+ "runnable": {
390
+ "type": "boolean"
391
+ },
392
+ "enabled": {
393
+ "type": "boolean"
394
+ }
395
+ }
396
+ },
397
+ "generatedRunInput": {
398
+ "type": "object",
399
+ "additionalProperties": false,
400
+ "required": [
401
+ "automationId"
402
+ ],
403
+ "properties": {
404
+ "automationId": {
405
+ "type": "string",
406
+ "pattern": "^\\s*(P-|S-|G-)\\S.*"
407
+ },
408
+ "timezone": {
409
+ "type": [
410
+ "string",
411
+ "null"
412
+ ]
413
+ },
414
+ "locationSymbol": {
415
+ "type": [
416
+ "string",
417
+ "null"
418
+ ]
419
+ }
420
+ }
421
+ },
422
+ "editorInitInput": {
423
+ "type": "object",
424
+ "additionalProperties": false,
425
+ "required": [],
426
+ "properties": {
427
+ "automationId": {
428
+ "type": [
429
+ "string",
430
+ "null"
431
+ ]
432
+ },
433
+ "inspireId": {
434
+ "type": [
435
+ "string",
436
+ "null"
437
+ ]
438
+ },
439
+ "inspireVersion": {
440
+ "type": [
441
+ "string",
442
+ "null"
443
+ ]
444
+ },
445
+ "snapshotId": {
446
+ "type": [
447
+ "string",
448
+ "null"
449
+ ]
450
+ },
451
+ "args": {
452
+ "type": [
453
+ "array",
454
+ "null"
455
+ ],
456
+ "items": {
457
+ "type": "object",
458
+ "additionalProperties": false,
459
+ "required": [],
460
+ "properties": {
461
+ "var": {
462
+ "type": [
463
+ "string",
464
+ "null"
465
+ ]
466
+ },
467
+ "entityType": {
468
+ "type": [
469
+ "string",
470
+ "null"
471
+ ]
472
+ },
473
+ "name": {
474
+ "type": [
475
+ "string",
476
+ "null"
477
+ ]
478
+ }
479
+ }
480
+ }
481
+ }
482
+ }
483
+ },
484
+ "editorCancelInput": {
485
+ "type": "object",
486
+ "additionalProperties": false,
487
+ "required": [
488
+ "sessionId"
489
+ ],
490
+ "properties": {
491
+ "sessionId": {
492
+ "type": "string"
493
+ }
494
+ }
495
+ },
496
+ "editorProvideInput": {
497
+ "type": "object",
498
+ "additionalProperties": false,
499
+ "required": [
500
+ "sessionId",
501
+ "var",
502
+ "input"
503
+ ],
504
+ "properties": {
505
+ "sessionId": {
506
+ "type": "string"
507
+ },
508
+ "var": {
509
+ "type": "string"
510
+ },
511
+ "input": {
512
+ "type": "string"
513
+ }
514
+ }
515
+ },
516
+ "editorUpdateInput": {
517
+ "type": "object",
518
+ "additionalProperties": false,
519
+ "required": [
520
+ "sessionId",
521
+ "var"
522
+ ],
523
+ "properties": {
524
+ "sessionId": {
525
+ "type": "string"
526
+ },
527
+ "var": {
528
+ "type": "string"
529
+ },
530
+ "inputs": {
531
+ "type": [
532
+ "array",
533
+ "null"
534
+ ]
535
+ },
536
+ "widgetize": {
537
+ "type": [
538
+ "boolean",
539
+ "null"
540
+ ]
541
+ }
542
+ }
543
+ },
544
+ "editorSaveInput": {
545
+ "type": "object",
546
+ "additionalProperties": false,
547
+ "required": [
548
+ "sessionId"
549
+ ],
550
+ "properties": {
551
+ "sessionId": {
552
+ "type": "string"
553
+ },
554
+ "automationId": {
555
+ "type": [
556
+ "string",
557
+ "null"
558
+ ]
559
+ },
560
+ "inspireId": {
561
+ "type": [
562
+ "string",
563
+ "null"
564
+ ]
565
+ },
566
+ "inspireVersion": {
567
+ "type": [
568
+ "string",
569
+ "null"
570
+ ]
571
+ },
572
+ "snapshotId": {
573
+ "type": [
574
+ "string",
575
+ "null"
576
+ ]
577
+ },
578
+ "preferredName": {
579
+ "type": [
580
+ "string",
581
+ "null"
582
+ ]
583
+ },
584
+ "debug": {
585
+ "type": "boolean"
586
+ },
587
+ "addCard": {
588
+ "type": "boolean"
589
+ },
590
+ "canvasIds": {
591
+ "type": [
592
+ "array",
593
+ "null"
594
+ ],
595
+ "items": {
596
+ "type": "string"
597
+ }
598
+ }
599
+ }
600
+ }
601
+ }
602
+ }