@mhome/app-facade-protocol 1.42.2 → 1.44.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.
- package/README.md +19 -20
- package/contract/host-provisioning-v1.md +9 -10
- package/contract/pod-commissioning-v1.md +50 -134
- package/fixtures/authorization/decisions.json +618 -0
- package/fixtures/pod-commission.awaiting-authorization.json +4 -2
- package/fixtures/pod-commission.reprovision-completed.json +2 -1
- package/fixtures/setup-cancel.request.json +9 -0
- package/fixtures/setup-cancel.response.json +11 -0
- package/fixtures/setup-submit.request.json +12 -0
- package/fixtures/setup-submit.response.json +11 -0
- package/manifest/app-facade.v1.json +18 -8
- package/manifest/host-provision-targets.v1.json +1 -1
- package/manifest/hub-targets.v1.json +1 -1
- package/manifest/pod-targets.v1.json +3 -6
- package/manifest/routing.v1.json +8 -4
- package/manifest/targets.v1.json +5 -1
- package/package.json +1 -1
- package/protocol.json +4 -2
- package/schema/host-access.v1.schema.json +33 -0
- package/schema/host-authorization.v1.schema.json +55 -0
- package/schema/messaging-frame.v3.schema.json +139 -2
- package/schema/pod-commission.v1.schema.json +267 -41
- package/schema/system-hosts.v1.schema.json +122 -1
- package/schema/pod-credential-status.v1.schema.json +0 -18
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest": "mhome.app-facade.v1",
|
|
3
|
-
"contractVersion": "1.
|
|
3
|
+
"contractVersion": "1.44.0",
|
|
4
4
|
"callSchema": "schema/facade-call.v1.schema.json",
|
|
5
5
|
"routing": "manifest/routing.v1.json",
|
|
6
6
|
"routingSchema": "schema/routing.v1.schema.json",
|
|
@@ -11,7 +11,10 @@
|
|
|
11
11
|
"/app/artifact/resolve",
|
|
12
12
|
"/app/artifact/put",
|
|
13
13
|
"/app/artifact/import",
|
|
14
|
-
"/app/artifact/delete"
|
|
14
|
+
"/app/artifact/delete",
|
|
15
|
+
"/app/artifact/upload/start",
|
|
16
|
+
"/app/artifact/upload/complete",
|
|
17
|
+
"/app/artifact/upload/cancel"
|
|
15
18
|
]
|
|
16
19
|
},
|
|
17
20
|
"hub": {
|
|
@@ -33,7 +36,6 @@
|
|
|
33
36
|
"plugin": {
|
|
34
37
|
"extensionVersion": "v1",
|
|
35
38
|
"targetPrefix": "/app/plugin",
|
|
36
|
-
"catalog": "manifest/plugin-catalog.v1.json",
|
|
37
39
|
"catalogSchema": "schema/plugin-catalog.v1.schema.json",
|
|
38
40
|
"exactRequestTargets": [
|
|
39
41
|
"/app/plugin/catalog/list",
|
|
@@ -84,14 +86,11 @@
|
|
|
84
86
|
"hostsSchema": "schema/system-hosts.v1.schema.json",
|
|
85
87
|
"hostsRuntimeContract": "mhome.system.hosts.runtime.v1",
|
|
86
88
|
"hostsRuntimeSchema": "schema/system-hosts-runtime.v1.schema.json",
|
|
87
|
-
"hostsClaimContract": "mhome.system.hosts.claim.v1",
|
|
88
|
-
"hostsClaimSchema": "schema/system-hosts-claim.v1.schema.json",
|
|
89
89
|
"requestTargets": [
|
|
90
90
|
"/app/system/instances/get",
|
|
91
91
|
"/app/system/clients/get",
|
|
92
92
|
"/app/system/hosts/get",
|
|
93
|
-
"/app/system/hosts/runtime"
|
|
94
|
-
"/app/system/hosts/claim"
|
|
93
|
+
"/app/system/hosts/runtime"
|
|
95
94
|
]
|
|
96
95
|
},
|
|
97
96
|
"integration": {
|
|
@@ -138,6 +137,17 @@
|
|
|
138
137
|
"/app/user/profile/avatar/clear"
|
|
139
138
|
],
|
|
140
139
|
"owner": "cloudAccount"
|
|
140
|
+
},
|
|
141
|
+
"hostManagement": {
|
|
142
|
+
"accessTarget": "/app/host/access/issue",
|
|
143
|
+
"accessSchema": "schema/host-access.v1.schema.json",
|
|
144
|
+
"principal": "user",
|
|
145
|
+
"issuer": "cloud",
|
|
146
|
+
"firstClaimTransport": "directLanOnly",
|
|
147
|
+
"authorizationTarget": "/app/host/authorization",
|
|
148
|
+
"authorizationSchema": "schema/host-authorization.v1.schema.json"
|
|
141
149
|
}
|
|
142
|
-
}
|
|
150
|
+
},
|
|
151
|
+
"authorization": "manifest/authorization.v1.json",
|
|
152
|
+
"delegatedCallSchema": "schema/delegated-call.v1.schema.json"
|
|
143
153
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest": "mhome.pod.targets.v1",
|
|
3
|
-
"contractVersion": "1.
|
|
3
|
+
"contractVersion": "1.44.0",
|
|
4
4
|
"contract": "contract/pod-commissioning-v1.md",
|
|
5
5
|
"localTargets": [
|
|
6
6
|
"/local/pod/discovery/start",
|
|
@@ -61,13 +61,10 @@
|
|
|
61
61
|
},
|
|
62
62
|
"session": {
|
|
63
63
|
"lifetimeMs": 600000,
|
|
64
|
-
"activationGraceMs": 30000
|
|
65
|
-
"credentialStatusPollMs": 5000
|
|
64
|
+
"activationGraceMs": 30000
|
|
66
65
|
},
|
|
67
66
|
"cloud": {
|
|
68
|
-
"
|
|
69
|
-
"status": "pod/credential/status",
|
|
70
|
-
"statusSchema": "schema/pod-credential-status.v1.schema.json",
|
|
67
|
+
"userLoginApprove": "pod/login/approve",
|
|
71
68
|
"spaceIssue": "pod/space/credential/issue"
|
|
72
69
|
},
|
|
73
70
|
"activationErrorCodes": [
|
package/manifest/routing.v1.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest": "mhome.app-facade.routing.v1",
|
|
3
|
-
"contractVersion": "1.
|
|
3
|
+
"contractVersion": "1.44.0",
|
|
4
4
|
"targetPrefix": "/app/",
|
|
5
5
|
"default": {
|
|
6
6
|
"execution": "scopeMode",
|
|
@@ -21,14 +21,19 @@
|
|
|
21
21
|
"/app/hub/remove",
|
|
22
22
|
"/app/plugin/catalog/list",
|
|
23
23
|
"/app/system/feedback/submit",
|
|
24
|
-
"/app/timeline/entity/latest/list"
|
|
24
|
+
"/app/timeline/entity/latest/list",
|
|
25
|
+
"/app/host/access/issue",
|
|
26
|
+
"/app/host/authorization"
|
|
25
27
|
],
|
|
26
28
|
"scopeModeTargets": [
|
|
27
29
|
"/app/artifact/resolve",
|
|
28
30
|
"/app/scope/context/get",
|
|
29
31
|
"/app/artifact/put",
|
|
30
32
|
"/app/artifact/import",
|
|
31
|
-
"/app/artifact/delete"
|
|
33
|
+
"/app/artifact/delete",
|
|
34
|
+
"/app/artifact/upload/start",
|
|
35
|
+
"/app/artifact/upload/complete",
|
|
36
|
+
"/app/artifact/upload/cancel"
|
|
32
37
|
],
|
|
33
38
|
"hubPrefixes": [
|
|
34
39
|
"/app/plugin/",
|
|
@@ -57,7 +62,6 @@
|
|
|
57
62
|
"/app/system/clients/get",
|
|
58
63
|
"/app/system/hosts/get",
|
|
59
64
|
"/app/system/hosts/runtime",
|
|
60
|
-
"/app/system/hosts/claim",
|
|
61
65
|
"/app/person/summary-images/batch-get",
|
|
62
66
|
"/app/person/status",
|
|
63
67
|
"/app/person/list",
|
package/manifest/targets.v1.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest": "mhome.messaging.targets.v1",
|
|
3
|
-
"contractVersion": "1.
|
|
3
|
+
"contractVersion": "1.44.0",
|
|
4
4
|
"requestTargets": [
|
|
5
5
|
"/app/messaging/provider/list",
|
|
6
6
|
"/app/messaging/provider-account/list",
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
"/app/messaging/setup/options",
|
|
18
18
|
"/app/messaging/setup/start",
|
|
19
19
|
"/app/messaging/setup/status",
|
|
20
|
+
"/app/messaging/setup/submit",
|
|
21
|
+
"/app/messaging/setup/cancel",
|
|
20
22
|
"/app/messaging/surface/list",
|
|
21
23
|
"/app/messaging/surface/dismiss",
|
|
22
24
|
"/app/messaging/surface/bind-code/create",
|
|
@@ -41,6 +43,8 @@
|
|
|
41
43
|
"/app/messaging/setup/options",
|
|
42
44
|
"/app/messaging/setup/start",
|
|
43
45
|
"/app/messaging/setup/status",
|
|
46
|
+
"/app/messaging/setup/submit",
|
|
47
|
+
"/app/messaging/setup/cancel",
|
|
44
48
|
"/app/messaging/surface/list",
|
|
45
49
|
"/app/messaging/surface/dismiss",
|
|
46
50
|
"/app/messaging/surface/bind-code/create",
|
package/package.json
CHANGED
package/protocol.json
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"protocol": "mhome.app-facade",
|
|
3
|
-
"contractVersion": "1.
|
|
3
|
+
"contractVersion": "1.44.0",
|
|
4
4
|
"manifest": "manifest/app-facade.v1.json",
|
|
5
5
|
"schemas": {
|
|
6
|
+
"hostAuthorization": "schema/host-authorization.v1.schema.json",
|
|
7
|
+
"hostAccess": "schema/host-access.v1.schema.json",
|
|
6
8
|
"capabilityDescriptor": "schema/capability-descriptor.v1.schema.json",
|
|
7
9
|
"call": "schema/facade-call.v1.schema.json",
|
|
8
10
|
"frame": "schema/messaging-frame.v3.schema.json",
|
|
@@ -12,7 +14,6 @@
|
|
|
12
14
|
"localHubState": "schema/local-hub-state.v1.schema.json",
|
|
13
15
|
"podDiscovery": "schema/pod-discovery.v1.schema.json",
|
|
14
16
|
"podCommission": "schema/pod-commission.v1.schema.json",
|
|
15
|
-
"podCredentialStatus": "schema/pod-credential-status.v1.schema.json",
|
|
16
17
|
"hostProvision": "schema/host-provision.v1.schema.json",
|
|
17
18
|
"systemClients": "schema/system-clients.v1.schema.json",
|
|
18
19
|
"systemHosts": "schema/system-hosts.v1.schema.json",
|
|
@@ -24,6 +25,7 @@
|
|
|
24
25
|
"fixtures": {
|
|
25
26
|
"valid": "fixtures",
|
|
26
27
|
"invalid": "fixtures/invalid",
|
|
28
|
+
"hostAccess": "schema/host-access.v1.schema.json",
|
|
27
29
|
"capabilityDescriptor": "fixtures/capability-descriptor.conformance.json",
|
|
28
30
|
"interactionFlow": "fixtures/interaction-flow.conformance.json"
|
|
29
31
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$defs": {
|
|
4
|
+
"request": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"challenge"
|
|
9
|
+
],
|
|
10
|
+
"properties": {
|
|
11
|
+
"challenge": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"minLength": 1,
|
|
14
|
+
"maxLength": 16384
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"response": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"additionalProperties": false,
|
|
21
|
+
"required": [
|
|
22
|
+
"accessToken"
|
|
23
|
+
],
|
|
24
|
+
"properties": {
|
|
25
|
+
"accessToken": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"minLength": 1,
|
|
28
|
+
"maxLength": 16384
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$defs": {
|
|
4
|
+
"request": {
|
|
5
|
+
"oneOf": [
|
|
6
|
+
{
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"required": [
|
|
10
|
+
"action",
|
|
11
|
+
"challenge",
|
|
12
|
+
"recoverIdentity"
|
|
13
|
+
],
|
|
14
|
+
"properties": {
|
|
15
|
+
"action": {
|
|
16
|
+
"const": "prepare"
|
|
17
|
+
},
|
|
18
|
+
"challenge": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"minLength": 1,
|
|
21
|
+
"maxLength": 16384
|
|
22
|
+
},
|
|
23
|
+
"recoverIdentity": {
|
|
24
|
+
"type": "boolean"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "object",
|
|
30
|
+
"additionalProperties": false,
|
|
31
|
+
"required": [
|
|
32
|
+
"action",
|
|
33
|
+
"requestId",
|
|
34
|
+
"proof"
|
|
35
|
+
],
|
|
36
|
+
"properties": {
|
|
37
|
+
"action": {
|
|
38
|
+
"const": "commit"
|
|
39
|
+
},
|
|
40
|
+
"requestId": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"minLength": 1,
|
|
43
|
+
"maxLength": 256
|
|
44
|
+
},
|
|
45
|
+
"proof": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"minLength": 1,
|
|
48
|
+
"maxLength": 16384
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -41,7 +41,8 @@
|
|
|
41
41
|
"deliveryMode": {
|
|
42
42
|
"enum": [
|
|
43
43
|
"unrestricted",
|
|
44
|
-
"session_window"
|
|
44
|
+
"session_window",
|
|
45
|
+
"reply_context"
|
|
45
46
|
]
|
|
46
47
|
},
|
|
47
48
|
"projectionUnsupportedReason": {
|
|
@@ -197,7 +198,9 @@
|
|
|
197
198
|
"actor.link_code.create",
|
|
198
199
|
"identity_code.status",
|
|
199
200
|
"actor.link.list",
|
|
200
|
-
"actor.link.delete"
|
|
201
|
+
"actor.link.delete",
|
|
202
|
+
"setup.submit",
|
|
203
|
+
"setup.cancel"
|
|
201
204
|
]
|
|
202
205
|
},
|
|
203
206
|
"frontendProvider": {
|
|
@@ -2186,6 +2189,12 @@
|
|
|
2186
2189
|
},
|
|
2187
2190
|
{
|
|
2188
2191
|
"$ref": "#/$defs/actorLinkDeleteRequest"
|
|
2192
|
+
},
|
|
2193
|
+
{
|
|
2194
|
+
"$ref": "#/$defs/setupSubmitRequest"
|
|
2195
|
+
},
|
|
2196
|
+
{
|
|
2197
|
+
"$ref": "#/$defs/setupCancelRequest"
|
|
2189
2198
|
}
|
|
2190
2199
|
]
|
|
2191
2200
|
},
|
|
@@ -2259,6 +2268,12 @@
|
|
|
2259
2268
|
},
|
|
2260
2269
|
{
|
|
2261
2270
|
"$ref": "#/$defs/actorLinkDeleteResponse"
|
|
2271
|
+
},
|
|
2272
|
+
{
|
|
2273
|
+
"$ref": "#/$defs/setupSubmitResponse"
|
|
2274
|
+
},
|
|
2275
|
+
{
|
|
2276
|
+
"$ref": "#/$defs/setupCancelResponse"
|
|
2262
2277
|
}
|
|
2263
2278
|
]
|
|
2264
2279
|
},
|
|
@@ -2588,6 +2603,128 @@
|
|
|
2588
2603
|
}
|
|
2589
2604
|
}
|
|
2590
2605
|
]
|
|
2606
|
+
},
|
|
2607
|
+
"setupSubmitBody": {
|
|
2608
|
+
"type": "object",
|
|
2609
|
+
"additionalProperties": false,
|
|
2610
|
+
"required": [
|
|
2611
|
+
"provider",
|
|
2612
|
+
"placement",
|
|
2613
|
+
"setupId",
|
|
2614
|
+
"data"
|
|
2615
|
+
],
|
|
2616
|
+
"properties": {
|
|
2617
|
+
"provider": {
|
|
2618
|
+
"$ref": "#/$defs/providerId"
|
|
2619
|
+
},
|
|
2620
|
+
"placement": {
|
|
2621
|
+
"$ref": "#/$defs/placement"
|
|
2622
|
+
},
|
|
2623
|
+
"setupId": {
|
|
2624
|
+
"$ref": "#/$defs/id"
|
|
2625
|
+
},
|
|
2626
|
+
"data": {
|
|
2627
|
+
"$ref": "#/$defs/extension"
|
|
2628
|
+
}
|
|
2629
|
+
}
|
|
2630
|
+
},
|
|
2631
|
+
"setupSubmitRequest": {
|
|
2632
|
+
"type": "object",
|
|
2633
|
+
"additionalProperties": false,
|
|
2634
|
+
"required": [
|
|
2635
|
+
"target",
|
|
2636
|
+
"direction",
|
|
2637
|
+
"body"
|
|
2638
|
+
],
|
|
2639
|
+
"properties": {
|
|
2640
|
+
"target": {
|
|
2641
|
+
"const": "/app/messaging/setup/submit"
|
|
2642
|
+
},
|
|
2643
|
+
"direction": {
|
|
2644
|
+
"const": "request"
|
|
2645
|
+
},
|
|
2646
|
+
"body": {
|
|
2647
|
+
"$ref": "#/$defs/setupSubmitBody"
|
|
2648
|
+
}
|
|
2649
|
+
}
|
|
2650
|
+
},
|
|
2651
|
+
"setupSubmitResponse": {
|
|
2652
|
+
"type": "object",
|
|
2653
|
+
"additionalProperties": false,
|
|
2654
|
+
"required": [
|
|
2655
|
+
"target",
|
|
2656
|
+
"direction",
|
|
2657
|
+
"body"
|
|
2658
|
+
],
|
|
2659
|
+
"properties": {
|
|
2660
|
+
"target": {
|
|
2661
|
+
"const": "/app/messaging/setup/submit"
|
|
2662
|
+
},
|
|
2663
|
+
"direction": {
|
|
2664
|
+
"const": "response"
|
|
2665
|
+
},
|
|
2666
|
+
"body": {
|
|
2667
|
+
"type": "object",
|
|
2668
|
+
"additionalProperties": false,
|
|
2669
|
+
"required": [
|
|
2670
|
+
"setup"
|
|
2671
|
+
],
|
|
2672
|
+
"properties": {
|
|
2673
|
+
"setup": {
|
|
2674
|
+
"$ref": "#/$defs/setupState"
|
|
2675
|
+
}
|
|
2676
|
+
}
|
|
2677
|
+
}
|
|
2678
|
+
}
|
|
2679
|
+
},
|
|
2680
|
+
"setupCancelRequest": {
|
|
2681
|
+
"type": "object",
|
|
2682
|
+
"additionalProperties": false,
|
|
2683
|
+
"required": [
|
|
2684
|
+
"target",
|
|
2685
|
+
"direction",
|
|
2686
|
+
"body"
|
|
2687
|
+
],
|
|
2688
|
+
"properties": {
|
|
2689
|
+
"target": {
|
|
2690
|
+
"const": "/app/messaging/setup/cancel"
|
|
2691
|
+
},
|
|
2692
|
+
"direction": {
|
|
2693
|
+
"const": "request"
|
|
2694
|
+
},
|
|
2695
|
+
"body": {
|
|
2696
|
+
"$ref": "#/$defs/setupStatusBody"
|
|
2697
|
+
}
|
|
2698
|
+
}
|
|
2699
|
+
},
|
|
2700
|
+
"setupCancelResponse": {
|
|
2701
|
+
"type": "object",
|
|
2702
|
+
"additionalProperties": false,
|
|
2703
|
+
"required": [
|
|
2704
|
+
"target",
|
|
2705
|
+
"direction",
|
|
2706
|
+
"body"
|
|
2707
|
+
],
|
|
2708
|
+
"properties": {
|
|
2709
|
+
"target": {
|
|
2710
|
+
"const": "/app/messaging/setup/cancel"
|
|
2711
|
+
},
|
|
2712
|
+
"direction": {
|
|
2713
|
+
"const": "response"
|
|
2714
|
+
},
|
|
2715
|
+
"body": {
|
|
2716
|
+
"type": "object",
|
|
2717
|
+
"additionalProperties": false,
|
|
2718
|
+
"required": [
|
|
2719
|
+
"setup"
|
|
2720
|
+
],
|
|
2721
|
+
"properties": {
|
|
2722
|
+
"setup": {
|
|
2723
|
+
"$ref": "#/$defs/setupState"
|
|
2724
|
+
}
|
|
2725
|
+
}
|
|
2726
|
+
}
|
|
2727
|
+
}
|
|
2591
2728
|
}
|
|
2592
2729
|
}
|
|
2593
2730
|
}
|