@mhome/app-facade-protocol 1.45.0 → 1.46.1

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 (67) hide show
  1. package/README.md +12 -7
  2. package/contract/card-skins-v1.md +138 -0
  3. package/fixtures/actor-link-code-create.request.json +2 -5
  4. package/fixtures/actor-link-code-create.response.json +1 -1
  5. package/fixtures/actor-link-delete.request.json +7 -1
  6. package/fixtures/actor-link-delete.response.json +7 -1
  7. package/fixtures/actor-link-list.request.json +5 -1
  8. package/fixtures/actor-link-list.response.json +18 -1
  9. package/fixtures/authorization/decisions.json +36 -0
  10. package/fixtures/bind-code-create.request.json +5 -0
  11. package/fixtures/{surface-bind-code-create.response.json → bind-code-create.response.json} +1 -1
  12. package/fixtures/binding-list.request.json +5 -0
  13. package/fixtures/binding-list.response.json +18 -0
  14. package/fixtures/card-skins/space.json +79 -0
  15. package/fixtures/identity-code-failed.response.json +1 -2
  16. package/fixtures/identity-code-status.request.json +7 -1
  17. package/fixtures/identity-code-status.response.json +1 -2
  18. package/fixtures/interaction-flow.conformance.json +15 -5
  19. package/fixtures/provider-account-delete.response.json +3 -1
  20. package/fixtures/provider-account-list.request.json +4 -1
  21. package/fixtures/provider-account-status.request.json +4 -1
  22. package/fixtures/provider-account-status.response.json +4 -2
  23. package/fixtures/provider-account-test.request.json +7 -1
  24. package/fixtures/provider-account-test.response.json +5 -1
  25. package/fixtures/provider-account-update.request.json +3 -1
  26. package/fixtures/provider-list.request.json +4 -1
  27. package/fixtures/provider-list.response.json +20 -5
  28. package/fixtures/route-delete.request.json +5 -1
  29. package/fixtures/route-delete.response.json +3 -1
  30. package/fixtures/route-list.request.json +5 -1
  31. package/fixtures/route-list.response.json +4 -3
  32. package/fixtures/route-update.request.json +4 -2
  33. package/fixtures/route-update.response.json +4 -2
  34. package/fixtures/routing/cases.json +450 -0
  35. package/fixtures/setup-options.request.json +4 -1
  36. package/fixtures/setup-options.response.json +5 -1
  37. package/fixtures/setup-start.request.json +3 -1
  38. package/fixtures/setup-start.response.json +3 -1
  39. package/fixtures/setup-status.request.json +5 -1
  40. package/fixtures/shared-account-grant-create.request.json +5 -1
  41. package/fixtures/shared-account-grant-create.response.json +3 -1
  42. package/fixtures/shared-account-grant-delete.request.json +5 -1
  43. package/fixtures/shared-account-grant-delete.response.json +3 -1
  44. package/fixtures/shared-account-grant-list.request.json +5 -1
  45. package/fixtures/shared-account-grant-list.response.json +10 -1
  46. package/fixtures/shared-code-bind-create.request.json +2 -6
  47. package/fixtures/shared-code-link-create.request.json +2 -5
  48. package/fixtures/unbind.request.json +7 -0
  49. package/fixtures/unbind.response.json +7 -0
  50. package/manifest/app-facade.v1.json +52 -2
  51. package/manifest/host-provision-targets.v1.json +1 -1
  52. package/manifest/hub-targets.v1.json +1 -1
  53. package/manifest/pod-targets.v1.json +1 -1
  54. package/manifest/routing.v1.json +19 -37
  55. package/manifest/targets.v1.json +16 -18
  56. package/package.json +1 -1
  57. package/protocol.json +3 -1
  58. package/schema/card-skin-package.v1.schema.json +238 -0
  59. package/schema/card-skins.v1.schema.json +537 -0
  60. package/schema/messaging-frame.v3.schema.json +233 -373
  61. package/schema/routing.v1.schema.json +37 -14
  62. package/fixtures/identity-code-event.response.json +0 -33
  63. package/fixtures/surface-bind-code-create.request.json +0 -9
  64. package/fixtures/surface-dismiss.request.json +0 -1
  65. package/fixtures/surface-dismiss.response.json +0 -1
  66. package/fixtures/surface-list.request.json +0 -1
  67. package/fixtures/surface-list.response.json +0 -1
@@ -0,0 +1,537 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://schemas.meowlink.app/card-skins.v1.json",
4
+ "definitions": {
5
+ "empty": {
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {},
9
+ "required": []
10
+ },
11
+ "packageGet": {
12
+ "type": "object",
13
+ "additionalProperties": false,
14
+ "properties": {
15
+ "packageId": {
16
+ "type": "string",
17
+ "pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
18
+ "maxLength": 128
19
+ }
20
+ },
21
+ "required": [
22
+ "packageId"
23
+ ]
24
+ },
25
+ "packageCreate": {
26
+ "type": "object",
27
+ "additionalProperties": false,
28
+ "properties": {
29
+ "packageId": {
30
+ "type": "string",
31
+ "pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
32
+ "maxLength": 128
33
+ },
34
+ "name": {
35
+ "type": "string",
36
+ "minLength": 1,
37
+ "maxLength": 120
38
+ },
39
+ "description": {
40
+ "type": "string",
41
+ "maxLength": 2000
42
+ }
43
+ },
44
+ "required": [
45
+ "packageId",
46
+ "name",
47
+ "description"
48
+ ]
49
+ },
50
+ "packageUpdate": {
51
+ "type": "object",
52
+ "additionalProperties": false,
53
+ "properties": {
54
+ "packageId": {
55
+ "type": "string",
56
+ "pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
57
+ "maxLength": 128
58
+ },
59
+ "expectedRevision": {
60
+ "type": "string",
61
+ "minLength": 1,
62
+ "maxLength": 512
63
+ },
64
+ "name": {
65
+ "type": "string",
66
+ "minLength": 1,
67
+ "maxLength": 120
68
+ },
69
+ "description": {
70
+ "type": "string",
71
+ "maxLength": 2000
72
+ }
73
+ },
74
+ "required": [
75
+ "packageId",
76
+ "expectedRevision",
77
+ "name",
78
+ "description"
79
+ ]
80
+ },
81
+ "releaseGet": {
82
+ "type": "object",
83
+ "additionalProperties": false,
84
+ "properties": {
85
+ "packageId": {
86
+ "type": "string",
87
+ "pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
88
+ "maxLength": 128
89
+ },
90
+ "version": {
91
+ "type": "string",
92
+ "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*))?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$",
93
+ "maxLength": 128
94
+ }
95
+ },
96
+ "required": [
97
+ "packageId",
98
+ "version"
99
+ ]
100
+ },
101
+ "publishPrepare": {
102
+ "type": "object",
103
+ "additionalProperties": false,
104
+ "properties": {
105
+ "manifest": {
106
+ "type": "object"
107
+ }
108
+ },
109
+ "required": [
110
+ "manifest"
111
+ ]
112
+ },
113
+ "publishComplete": {
114
+ "type": "object",
115
+ "additionalProperties": false,
116
+ "properties": {
117
+ "uploadId": {
118
+ "type": "string",
119
+ "pattern": "^[a-f0-9]{32}$"
120
+ }
121
+ },
122
+ "required": [
123
+ "uploadId"
124
+ ]
125
+ },
126
+ "install": {
127
+ "type": "object",
128
+ "additionalProperties": false,
129
+ "properties": {
130
+ "expectedRevision": {
131
+ "type": [
132
+ "string",
133
+ "null"
134
+ ],
135
+ "minLength": 1,
136
+ "maxLength": 512
137
+ },
138
+ "packageId": {
139
+ "type": "string",
140
+ "pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
141
+ "maxLength": 128
142
+ },
143
+ "version": {
144
+ "type": "string",
145
+ "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*))?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$",
146
+ "maxLength": 128
147
+ }
148
+ },
149
+ "required": [
150
+ "expectedRevision",
151
+ "packageId",
152
+ "version"
153
+ ]
154
+ },
155
+ "uninstall": {
156
+ "type": "object",
157
+ "additionalProperties": false,
158
+ "properties": {
159
+ "expectedRevision": {
160
+ "type": [
161
+ "string",
162
+ "null"
163
+ ],
164
+ "minLength": 1,
165
+ "maxLength": 512
166
+ },
167
+ "installationId": {
168
+ "type": "string",
169
+ "minLength": 1,
170
+ "maxLength": 512
171
+ }
172
+ },
173
+ "required": [
174
+ "expectedRevision",
175
+ "installationId"
176
+ ]
177
+ },
178
+ "upgrade": {
179
+ "type": "object",
180
+ "additionalProperties": false,
181
+ "properties": {
182
+ "expectedRevision": {
183
+ "type": [
184
+ "string",
185
+ "null"
186
+ ],
187
+ "minLength": 1,
188
+ "maxLength": 512
189
+ },
190
+ "installationId": {
191
+ "type": "string",
192
+ "minLength": 1,
193
+ "maxLength": 512
194
+ },
195
+ "version": {
196
+ "type": "string",
197
+ "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*))?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$",
198
+ "maxLength": 128
199
+ }
200
+ },
201
+ "required": [
202
+ "expectedRevision",
203
+ "installationId",
204
+ "version"
205
+ ]
206
+ },
207
+ "overrideSet": {
208
+ "type": "object",
209
+ "additionalProperties": false,
210
+ "properties": {
211
+ "expectedRevision": {
212
+ "type": [
213
+ "string",
214
+ "null"
215
+ ],
216
+ "minLength": 1,
217
+ "maxLength": 512
218
+ },
219
+ "patternId": {
220
+ "type": "string",
221
+ "minLength": 1,
222
+ "maxLength": 512
223
+ },
224
+ "installationId": {
225
+ "type": "string",
226
+ "minLength": 1,
227
+ "maxLength": 512
228
+ },
229
+ "rendererId": {
230
+ "type": "string",
231
+ "pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
232
+ "maxLength": 128
233
+ },
234
+ "config": {
235
+ "type": "object"
236
+ }
237
+ },
238
+ "required": [
239
+ "expectedRevision",
240
+ "patternId",
241
+ "installationId",
242
+ "rendererId",
243
+ "config"
244
+ ]
245
+ },
246
+ "overrideReset": {
247
+ "type": "object",
248
+ "additionalProperties": false,
249
+ "properties": {
250
+ "expectedRevision": {
251
+ "type": [
252
+ "string",
253
+ "null"
254
+ ],
255
+ "minLength": 1,
256
+ "maxLength": 512
257
+ },
258
+ "patternId": {
259
+ "type": "string",
260
+ "minLength": 1,
261
+ "maxLength": 512
262
+ }
263
+ },
264
+ "required": [
265
+ "expectedRevision",
266
+ "patternId"
267
+ ]
268
+ },
269
+ "packageInfo": {
270
+ "type": "object",
271
+ "additionalProperties": false,
272
+ "required": [
273
+ "packageId",
274
+ "authorUserId",
275
+ "name",
276
+ "description",
277
+ "createdAt"
278
+ ],
279
+ "properties": {
280
+ "packageId": {
281
+ "type": "string",
282
+ "pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
283
+ "maxLength": 128
284
+ },
285
+ "authorUserId": {
286
+ "type": "string",
287
+ "minLength": 1,
288
+ "maxLength": 512
289
+ },
290
+ "name": {
291
+ "type": "string",
292
+ "minLength": 1,
293
+ "maxLength": 120
294
+ },
295
+ "description": {
296
+ "type": "string",
297
+ "maxLength": 2000
298
+ },
299
+ "createdAt": {
300
+ "type": "integer",
301
+ "minimum": 0
302
+ }
303
+ }
304
+ },
305
+ "packageSnapshot": {
306
+ "type": "object",
307
+ "additionalProperties": false,
308
+ "required": [
309
+ "revision",
310
+ "value"
311
+ ],
312
+ "properties": {
313
+ "revision": {
314
+ "type": "string",
315
+ "minLength": 1,
316
+ "maxLength": 512
317
+ },
318
+ "value": {
319
+ "$ref": "#/definitions/packageInfo"
320
+ }
321
+ }
322
+ },
323
+ "release": {
324
+ "type": "object",
325
+ "additionalProperties": false,
326
+ "required": [
327
+ "id",
328
+ "baseUrl",
329
+ "manifest"
330
+ ],
331
+ "properties": {
332
+ "id": {
333
+ "type": "string",
334
+ "minLength": 1,
335
+ "maxLength": 512
336
+ },
337
+ "baseUrl": {
338
+ "type": "string",
339
+ "format": "uri",
340
+ "pattern": "^https://[^?#]+/$"
341
+ },
342
+ "manifest": {
343
+ "$ref": "https://schemas.meowlink.app/card-skin-package.v1.json"
344
+ }
345
+ }
346
+ },
347
+ "releaseList": {
348
+ "type": "object",
349
+ "additionalProperties": false,
350
+ "required": [
351
+ "releases"
352
+ ],
353
+ "properties": {
354
+ "releases": {
355
+ "type": "array",
356
+ "items": {
357
+ "$ref": "#/definitions/release"
358
+ }
359
+ }
360
+ }
361
+ },
362
+ "installation": {
363
+ "type": "object",
364
+ "additionalProperties": false,
365
+ "required": [
366
+ "id",
367
+ "spaceId",
368
+ "releaseId"
369
+ ],
370
+ "properties": {
371
+ "id": {
372
+ "type": "string",
373
+ "minLength": 1,
374
+ "maxLength": 512
375
+ },
376
+ "spaceId": {
377
+ "type": "string",
378
+ "minLength": 1,
379
+ "maxLength": 512
380
+ },
381
+ "releaseId": {
382
+ "type": "string",
383
+ "minLength": 1,
384
+ "maxLength": 512
385
+ }
386
+ }
387
+ },
388
+ "override": {
389
+ "type": "object",
390
+ "additionalProperties": false,
391
+ "required": [
392
+ "spaceId",
393
+ "patternId",
394
+ "installationId",
395
+ "rendererId",
396
+ "config"
397
+ ],
398
+ "properties": {
399
+ "spaceId": {
400
+ "type": "string",
401
+ "minLength": 1,
402
+ "maxLength": 512
403
+ },
404
+ "patternId": {
405
+ "type": "string",
406
+ "minLength": 1,
407
+ "maxLength": 512
408
+ },
409
+ "installationId": {
410
+ "type": "string",
411
+ "minLength": 1,
412
+ "maxLength": 512
413
+ },
414
+ "rendererId": {
415
+ "type": "string",
416
+ "pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
417
+ "maxLength": 128
418
+ },
419
+ "config": {
420
+ "type": "object"
421
+ }
422
+ }
423
+ },
424
+ "selection": {
425
+ "type": "object",
426
+ "additionalProperties": false,
427
+ "required": [
428
+ "installations",
429
+ "overrides",
430
+ "releases"
431
+ ],
432
+ "properties": {
433
+ "installations": {
434
+ "type": "array",
435
+ "items": {
436
+ "$ref": "#/definitions/installation"
437
+ }
438
+ },
439
+ "overrides": {
440
+ "type": "array",
441
+ "items": {
442
+ "$ref": "#/definitions/override"
443
+ }
444
+ },
445
+ "releases": {
446
+ "type": "array",
447
+ "items": {
448
+ "$ref": "#/definitions/release"
449
+ }
450
+ }
451
+ }
452
+ },
453
+ "selectionView": {
454
+ "type": "object",
455
+ "additionalProperties": false,
456
+ "required": [
457
+ "revision",
458
+ "selection"
459
+ ],
460
+ "properties": {
461
+ "revision": {
462
+ "type": [
463
+ "string",
464
+ "null"
465
+ ],
466
+ "minLength": 1,
467
+ "maxLength": 512
468
+ },
469
+ "selection": {
470
+ "$ref": "#/definitions/selection"
471
+ }
472
+ }
473
+ },
474
+ "prepared": {
475
+ "type": "object",
476
+ "additionalProperties": false,
477
+ "required": [
478
+ "uploadId",
479
+ "expiresAt",
480
+ "files"
481
+ ],
482
+ "properties": {
483
+ "uploadId": {
484
+ "type": "string",
485
+ "pattern": "^[a-f0-9]{32}$"
486
+ },
487
+ "expiresAt": {
488
+ "type": "integer",
489
+ "minimum": 1
490
+ },
491
+ "files": {
492
+ "type": "array",
493
+ "items": {
494
+ "type": "object",
495
+ "additionalProperties": false,
496
+ "required": [
497
+ "path",
498
+ "url",
499
+ "headers"
500
+ ],
501
+ "properties": {
502
+ "path": {
503
+ "type": "string",
504
+ "minLength": 1,
505
+ "maxLength": 512
506
+ },
507
+ "url": {
508
+ "type": "string",
509
+ "format": "uri"
510
+ },
511
+ "headers": {
512
+ "type": "object",
513
+ "additionalProperties": false,
514
+ "required": [
515
+ "Authorization",
516
+ "Content-Type"
517
+ ],
518
+ "properties": {
519
+ "Authorization": {
520
+ "type": "string",
521
+ "minLength": 1,
522
+ "maxLength": 512
523
+ },
524
+ "Content-Type": {
525
+ "type": "string",
526
+ "minLength": 1,
527
+ "maxLength": 512
528
+ }
529
+ }
530
+ }
531
+ }
532
+ }
533
+ }
534
+ }
535
+ }
536
+ }
537
+ }