@mhome/app-facade-protocol 1.44.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 +58 -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
@@ -15,11 +15,13 @@
15
15
  "userId": "mhome-user-1",
16
16
  "scopeId": "scope-1",
17
17
  "displayName": "Telegram",
18
- "enabled": true,
19
18
  "projections": {
20
19
  "notification": {
21
20
  "enabled": true,
22
- "levels": ["alert", "notify"]
21
+ "levels": [
22
+ "alert",
23
+ "notify"
24
+ ]
23
25
  },
24
26
  "dialog": {
25
27
  "enabled": true
@@ -38,7 +40,6 @@
38
40
  "scopeId": "scope-2",
39
41
  "boundByUserId": "mhome-user-1",
40
42
  "displayName": "Project room",
41
- "enabled": true,
42
43
  "projections": {
43
44
  "notification": {
44
45
  "enabled": false,
@@ -7,11 +7,13 @@
7
7
  "placement": "cloud",
8
8
  "routeId": "route-1",
9
9
  "scopeId": "scope-1",
10
- "enabled": false,
11
10
  "projections": {
12
11
  "notification": {
13
12
  "enabled": true,
14
- "levels": ["alert", "notify"]
13
+ "levels": [
14
+ "alert",
15
+ "notify"
16
+ ]
15
17
  },
16
18
  "dialog": {
17
19
  "enabled": true
@@ -13,11 +13,13 @@
13
13
  "tenantId": "tenant-1",
14
14
  "userId": "mhome-user-1",
15
15
  "scopeId": "scope-1",
16
- "enabled": false,
17
16
  "projections": {
18
17
  "notification": {
19
18
  "enabled": true,
20
- "levels": ["alert", "notify"]
19
+ "levels": [
20
+ "alert",
21
+ "notify"
22
+ ]
21
23
  },
22
24
  "dialog": {
23
25
  "enabled": true
@@ -0,0 +1,450 @@
1
+ [
2
+ {
3
+ "target": "/app/scope/create",
4
+ "execution": "cloud",
5
+ "placement": null,
6
+ "hubReady": true,
7
+ "cloudReady": true,
8
+ "entry": "cloud"
9
+ },
10
+ {
11
+ "target": "/app/scope/create",
12
+ "execution": "cloud",
13
+ "placement": null,
14
+ "hubReady": true,
15
+ "cloudReady": false,
16
+ "entry": "unavailable"
17
+ },
18
+ {
19
+ "target": "/app/scope/create",
20
+ "execution": "cloud",
21
+ "placement": null,
22
+ "hubReady": false,
23
+ "cloudReady": true,
24
+ "entry": "cloud"
25
+ },
26
+ {
27
+ "target": "/app/scope/create",
28
+ "execution": "cloud",
29
+ "placement": null,
30
+ "hubReady": false,
31
+ "cloudReady": false,
32
+ "entry": "unavailable"
33
+ },
34
+ {
35
+ "target": "/app/room/delete",
36
+ "execution": "scopeMode",
37
+ "placement": null,
38
+ "hubReady": true,
39
+ "cloudReady": true,
40
+ "entry": "hub"
41
+ },
42
+ {
43
+ "target": "/app/room/delete",
44
+ "execution": "scopeMode",
45
+ "placement": null,
46
+ "hubReady": true,
47
+ "cloudReady": false,
48
+ "entry": "hub"
49
+ },
50
+ {
51
+ "target": "/app/room/delete",
52
+ "execution": "scopeMode",
53
+ "placement": null,
54
+ "hubReady": false,
55
+ "cloudReady": true,
56
+ "entry": "cloud"
57
+ },
58
+ {
59
+ "target": "/app/room/delete",
60
+ "execution": "scopeMode",
61
+ "placement": null,
62
+ "hubReady": false,
63
+ "cloudReady": false,
64
+ "entry": "unavailable"
65
+ },
66
+ {
67
+ "target": "/app/system/instances/get",
68
+ "execution": "scopeMode",
69
+ "placement": null,
70
+ "hubReady": true,
71
+ "cloudReady": true,
72
+ "entry": "hub"
73
+ },
74
+ {
75
+ "target": "/app/system/instances/get",
76
+ "execution": "scopeMode",
77
+ "placement": null,
78
+ "hubReady": true,
79
+ "cloudReady": false,
80
+ "entry": "hub"
81
+ },
82
+ {
83
+ "target": "/app/system/instances/get",
84
+ "execution": "scopeMode",
85
+ "placement": null,
86
+ "hubReady": false,
87
+ "cloudReady": true,
88
+ "entry": "cloud"
89
+ },
90
+ {
91
+ "target": "/app/system/instances/get",
92
+ "execution": "scopeMode",
93
+ "placement": null,
94
+ "hubReady": false,
95
+ "cloudReady": false,
96
+ "entry": "unavailable"
97
+ },
98
+ {
99
+ "target": "/app/system/clients/get",
100
+ "execution": "scopeMode",
101
+ "placement": null,
102
+ "hubReady": true,
103
+ "cloudReady": true,
104
+ "entry": "hub"
105
+ },
106
+ {
107
+ "target": "/app/system/clients/get",
108
+ "execution": "scopeMode",
109
+ "placement": null,
110
+ "hubReady": true,
111
+ "cloudReady": false,
112
+ "entry": "hub"
113
+ },
114
+ {
115
+ "target": "/app/system/clients/get",
116
+ "execution": "scopeMode",
117
+ "placement": null,
118
+ "hubReady": false,
119
+ "cloudReady": true,
120
+ "entry": "cloud"
121
+ },
122
+ {
123
+ "target": "/app/system/clients/get",
124
+ "execution": "scopeMode",
125
+ "placement": null,
126
+ "hubReady": false,
127
+ "cloudReady": false,
128
+ "entry": "unavailable"
129
+ },
130
+ {
131
+ "target": "/app/system/hosts/get",
132
+ "execution": "hub",
133
+ "placement": null,
134
+ "hubReady": true,
135
+ "cloudReady": true,
136
+ "entry": "hub"
137
+ },
138
+ {
139
+ "target": "/app/system/hosts/get",
140
+ "execution": "hub",
141
+ "placement": null,
142
+ "hubReady": true,
143
+ "cloudReady": false,
144
+ "entry": "hub"
145
+ },
146
+ {
147
+ "target": "/app/system/hosts/get",
148
+ "execution": "hub",
149
+ "placement": null,
150
+ "hubReady": false,
151
+ "cloudReady": true,
152
+ "entry": "cloud"
153
+ },
154
+ {
155
+ "target": "/app/system/hosts/get",
156
+ "execution": "hub",
157
+ "placement": null,
158
+ "hubReady": false,
159
+ "cloudReady": false,
160
+ "entry": "unavailable"
161
+ },
162
+ {
163
+ "target": "/app/hub/status",
164
+ "execution": "hub",
165
+ "placement": null,
166
+ "hubReady": true,
167
+ "cloudReady": true,
168
+ "entry": "hub"
169
+ },
170
+ {
171
+ "target": "/app/hub/status",
172
+ "execution": "hub",
173
+ "placement": null,
174
+ "hubReady": true,
175
+ "cloudReady": false,
176
+ "entry": "hub"
177
+ },
178
+ {
179
+ "target": "/app/hub/status",
180
+ "execution": "hub",
181
+ "placement": null,
182
+ "hubReady": false,
183
+ "cloudReady": true,
184
+ "entry": "cloud"
185
+ },
186
+ {
187
+ "target": "/app/hub/status",
188
+ "execution": "hub",
189
+ "placement": null,
190
+ "hubReady": false,
191
+ "cloudReady": false,
192
+ "entry": "unavailable"
193
+ },
194
+ {
195
+ "target": "/app/hub/restart",
196
+ "execution": "hub",
197
+ "placement": null,
198
+ "hubReady": true,
199
+ "cloudReady": true,
200
+ "entry": "hub"
201
+ },
202
+ {
203
+ "target": "/app/hub/restart",
204
+ "execution": "hub",
205
+ "placement": null,
206
+ "hubReady": true,
207
+ "cloudReady": false,
208
+ "entry": "hub"
209
+ },
210
+ {
211
+ "target": "/app/hub/restart",
212
+ "execution": "hub",
213
+ "placement": null,
214
+ "hubReady": false,
215
+ "cloudReady": true,
216
+ "entry": "cloud"
217
+ },
218
+ {
219
+ "target": "/app/hub/restart",
220
+ "execution": "hub",
221
+ "placement": null,
222
+ "hubReady": false,
223
+ "cloudReady": false,
224
+ "entry": "unavailable"
225
+ },
226
+ {
227
+ "target": "/app/plugin/catalog/list",
228
+ "execution": "cloud",
229
+ "placement": null,
230
+ "hubReady": true,
231
+ "cloudReady": true,
232
+ "entry": "cloud"
233
+ },
234
+ {
235
+ "target": "/app/plugin/catalog/list",
236
+ "execution": "cloud",
237
+ "placement": null,
238
+ "hubReady": true,
239
+ "cloudReady": false,
240
+ "entry": "unavailable"
241
+ },
242
+ {
243
+ "target": "/app/plugin/catalog/list",
244
+ "execution": "cloud",
245
+ "placement": null,
246
+ "hubReady": false,
247
+ "cloudReady": true,
248
+ "entry": "cloud"
249
+ },
250
+ {
251
+ "target": "/app/plugin/catalog/list",
252
+ "execution": "cloud",
253
+ "placement": null,
254
+ "hubReady": false,
255
+ "cloudReady": false,
256
+ "entry": "unavailable"
257
+ },
258
+ {
259
+ "target": "/app/plugin/enable/start",
260
+ "execution": "hub",
261
+ "placement": null,
262
+ "hubReady": true,
263
+ "cloudReady": true,
264
+ "entry": "hub"
265
+ },
266
+ {
267
+ "target": "/app/plugin/enable/start",
268
+ "execution": "hub",
269
+ "placement": null,
270
+ "hubReady": true,
271
+ "cloudReady": false,
272
+ "entry": "hub"
273
+ },
274
+ {
275
+ "target": "/app/plugin/enable/start",
276
+ "execution": "hub",
277
+ "placement": null,
278
+ "hubReady": false,
279
+ "cloudReady": true,
280
+ "entry": "cloud"
281
+ },
282
+ {
283
+ "target": "/app/plugin/enable/start",
284
+ "execution": "hub",
285
+ "placement": null,
286
+ "hubReady": false,
287
+ "cloudReady": false,
288
+ "entry": "unavailable"
289
+ },
290
+ {
291
+ "target": "/app/object-storage/folders/create",
292
+ "execution": "hub",
293
+ "placement": null,
294
+ "hubReady": true,
295
+ "cloudReady": true,
296
+ "entry": "hub"
297
+ },
298
+ {
299
+ "target": "/app/object-storage/folders/create",
300
+ "execution": "hub",
301
+ "placement": null,
302
+ "hubReady": true,
303
+ "cloudReady": false,
304
+ "entry": "hub"
305
+ },
306
+ {
307
+ "target": "/app/object-storage/folders/create",
308
+ "execution": "hub",
309
+ "placement": null,
310
+ "hubReady": false,
311
+ "cloudReady": true,
312
+ "entry": "cloud"
313
+ },
314
+ {
315
+ "target": "/app/object-storage/folders/create",
316
+ "execution": "hub",
317
+ "placement": null,
318
+ "hubReady": false,
319
+ "cloudReady": false,
320
+ "entry": "unavailable"
321
+ },
322
+ {
323
+ "target": "/app/artifact/resolve",
324
+ "execution": "scopeMode",
325
+ "placement": null,
326
+ "hubReady": true,
327
+ "cloudReady": true,
328
+ "entry": "hub"
329
+ },
330
+ {
331
+ "target": "/app/artifact/resolve",
332
+ "execution": "scopeMode",
333
+ "placement": null,
334
+ "hubReady": true,
335
+ "cloudReady": false,
336
+ "entry": "hub"
337
+ },
338
+ {
339
+ "target": "/app/artifact/resolve",
340
+ "execution": "scopeMode",
341
+ "placement": null,
342
+ "hubReady": false,
343
+ "cloudReady": true,
344
+ "entry": "cloud"
345
+ },
346
+ {
347
+ "target": "/app/artifact/resolve",
348
+ "execution": "scopeMode",
349
+ "placement": null,
350
+ "hubReady": false,
351
+ "cloudReady": false,
352
+ "entry": "unavailable"
353
+ },
354
+ {
355
+ "target": "/app/messaging/provider/list",
356
+ "execution": "requestPlacement",
357
+ "placement": "local",
358
+ "hubReady": true,
359
+ "cloudReady": true,
360
+ "entry": "hub"
361
+ },
362
+ {
363
+ "target": "/app/messaging/provider/list",
364
+ "execution": "requestPlacement",
365
+ "placement": "cloud",
366
+ "hubReady": true,
367
+ "cloudReady": true,
368
+ "entry": "cloud"
369
+ },
370
+ {
371
+ "target": "/app/messaging/provider/list",
372
+ "execution": "requestPlacement",
373
+ "placement": "local",
374
+ "hubReady": true,
375
+ "cloudReady": false,
376
+ "entry": "hub"
377
+ },
378
+ {
379
+ "target": "/app/messaging/provider/list",
380
+ "execution": "requestPlacement",
381
+ "placement": "cloud",
382
+ "hubReady": true,
383
+ "cloudReady": false,
384
+ "entry": "unavailable"
385
+ },
386
+ {
387
+ "target": "/app/messaging/provider/list",
388
+ "execution": "requestPlacement",
389
+ "placement": "local",
390
+ "hubReady": false,
391
+ "cloudReady": true,
392
+ "entry": "cloud"
393
+ },
394
+ {
395
+ "target": "/app/messaging/provider/list",
396
+ "execution": "requestPlacement",
397
+ "placement": "cloud",
398
+ "hubReady": false,
399
+ "cloudReady": true,
400
+ "entry": "cloud"
401
+ },
402
+ {
403
+ "target": "/app/messaging/provider/list",
404
+ "execution": "requestPlacement",
405
+ "placement": "local",
406
+ "hubReady": false,
407
+ "cloudReady": false,
408
+ "entry": "unavailable"
409
+ },
410
+ {
411
+ "target": "/app/messaging/provider/list",
412
+ "execution": "requestPlacement",
413
+ "placement": "cloud",
414
+ "hubReady": false,
415
+ "cloudReady": false,
416
+ "entry": "unavailable"
417
+ },
418
+ {
419
+ "target": "/app/agent/credit/usage",
420
+ "execution": "cloud",
421
+ "placement": null,
422
+ "hubReady": true,
423
+ "cloudReady": true,
424
+ "entry": "cloud"
425
+ },
426
+ {
427
+ "target": "/app/agent/credit/usage",
428
+ "execution": "cloud",
429
+ "placement": null,
430
+ "hubReady": true,
431
+ "cloudReady": false,
432
+ "entry": "unavailable"
433
+ },
434
+ {
435
+ "target": "/app/agent/credit/usage",
436
+ "execution": "cloud",
437
+ "placement": null,
438
+ "hubReady": false,
439
+ "cloudReady": true,
440
+ "entry": "cloud"
441
+ },
442
+ {
443
+ "target": "/app/agent/credit/usage",
444
+ "execution": "cloud",
445
+ "placement": null,
446
+ "hubReady": false,
447
+ "cloudReady": false,
448
+ "entry": "unavailable"
449
+ }
450
+ ]
@@ -1,5 +1,8 @@
1
1
  {
2
2
  "target": "/app/messaging/setup/options",
3
3
  "direction": "request",
4
- "body": { "provider": "telegram", "placement": "local" }
4
+ "body": {
5
+ "provider": "telegram",
6
+ "placement": "local"
7
+ }
5
8
  }
@@ -1,5 +1,9 @@
1
1
  {
2
2
  "target": "/app/messaging/setup/options",
3
3
  "direction": "response",
4
- "body": { "options": { "tokenRequired": true } }
4
+ "body": {
5
+ "options": {
6
+ "tokenRequired": true
7
+ }
8
+ }
5
9
  }
@@ -4,6 +4,8 @@
4
4
  "body": {
5
5
  "provider": "telegram",
6
6
  "placement": "local",
7
- "data": { "botToken": "secret" }
7
+ "data": {
8
+ "botToken": "secret"
9
+ }
8
10
  }
9
11
  }
@@ -6,7 +6,9 @@
6
6
  "setupId": "setup-1",
7
7
  "status": "action_required",
8
8
  "expiresAtMs": 1893456000000,
9
- "providerData": { "pairingCode": "ABCD" }
9
+ "providerData": {
10
+ "pairingCode": "ABCD"
11
+ }
10
12
  }
11
13
  }
12
14
  }
@@ -1,5 +1,9 @@
1
1
  {
2
2
  "target": "/app/messaging/setup/status",
3
3
  "direction": "request",
4
- "body": { "provider": "telegram", "placement": "local", "setupId": "setup-1" }
4
+ "body": {
5
+ "provider": "telegram",
6
+ "placement": "local",
7
+ "setupId": "setup-1"
8
+ }
5
9
  }
@@ -1,5 +1,9 @@
1
1
  {
2
2
  "target": "/app/messaging/shared-account-grant/create",
3
3
  "direction": "request",
4
- "body": { "provider": "telegram", "placement": "local", "accountId": "123456" }
4
+ "body": {
5
+ "provider": "telegram",
6
+ "placement": "local",
7
+ "accountId": "123456"
8
+ }
5
9
  }
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "target": "/app/messaging/shared-account-grant/create",
3
3
  "direction": "response",
4
- "body": { "success": true }
4
+ "body": {
5
+ "success": true
6
+ }
5
7
  }
@@ -1,5 +1,9 @@
1
1
  {
2
2
  "target": "/app/messaging/shared-account-grant/delete",
3
3
  "direction": "request",
4
- "body": { "provider": "telegram", "placement": "local", "accountId": "123456" }
4
+ "body": {
5
+ "provider": "telegram",
6
+ "placement": "local",
7
+ "accountId": "123456"
8
+ }
5
9
  }
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "target": "/app/messaging/shared-account-grant/delete",
3
3
  "direction": "response",
4
- "body": { "success": true }
4
+ "body": {
5
+ "success": true
6
+ }
5
7
  }
@@ -1,5 +1,9 @@
1
1
  {
2
2
  "target": "/app/messaging/shared-account-grant/list",
3
3
  "direction": "request",
4
- "body": { "provider": "telegram", "placement": "local", "accountId": "123456" }
4
+ "body": {
5
+ "provider": "telegram",
6
+ "placement": "local",
7
+ "accountId": "123456"
8
+ }
5
9
  }
@@ -3,7 +3,16 @@
3
3
  "direction": "response",
4
4
  "body": {
5
5
  "grants": [
6
- { "provider": "telegram", "placement": "local", "accountId": "123456", "tenantId": "tenant-1", "scopeId": "scope-1", "grantedByUserId": "user-1", "createdAtMs": 1787961600000, "updatedAtMs": 1787961600000 }
6
+ {
7
+ "provider": "telegram",
8
+ "placement": "local",
9
+ "accountId": "123456",
10
+ "tenantId": "tenant-1",
11
+ "scopeId": "scope-1",
12
+ "grantedByUserId": "user-1",
13
+ "createdAtMs": 1787961600000,
14
+ "updatedAtMs": 1787961600000
15
+ }
7
16
  ]
8
17
  }
9
18
  }
@@ -1,9 +1,5 @@
1
1
  {
2
- "target": "/app/messaging/surface/bind-code/create",
2
+ "target": "/app/messaging/bind/code/create",
3
3
  "direction": "request",
4
- "body": {
5
- "provider": "feishu",
6
- "placement": "local",
7
- "scopeId": "scope_a"
8
- }
4
+ "body": {}
9
5
  }
@@ -1,8 +1,5 @@
1
1
  {
2
- "target": "/app/messaging/actor/link-code/create",
2
+ "target": "/app/messaging/link/code/create",
3
3
  "direction": "request",
4
- "body": {
5
- "provider": "telegram",
6
- "placement": "local"
7
- }
4
+ "body": {}
8
5
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "target": "/app/messaging/unbind",
3
+ "direction": "request",
4
+ "body": {
5
+ "bindingId": "binding"
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "target": "/app/messaging/unbind",
3
+ "direction": "response",
4
+ "body": {
5
+ "success": true
6
+ }
7
+ }