@mhome/app-facade-protocol 1.45.0 → 1.47.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.
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 +55 -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
@@ -192,13 +192,6 @@
192
192
  "setup.options",
193
193
  "setup.start",
194
194
  "setup.status",
195
- "surface.list",
196
- "surface.dismiss",
197
- "surface.bind_code.create",
198
- "actor.link_code.create",
199
- "identity_code.status",
200
- "actor.link.list",
201
- "actor.link.delete",
202
195
  "setup.submit",
203
196
  "setup.cancel"
204
197
  ]
@@ -435,7 +428,6 @@
435
428
  "tenantId",
436
429
  "userId",
437
430
  "scopeId",
438
- "enabled",
439
431
  "projections",
440
432
  "providerData"
441
433
  ],
@@ -467,9 +459,6 @@
467
459
  "displayName": {
468
460
  "$ref": "#/$defs/id"
469
461
  },
470
- "enabled": {
471
- "type": "boolean"
472
- },
473
462
  "projections": {
474
463
  "$ref": "#/$defs/routeProjectionSettings"
475
464
  },
@@ -497,7 +486,6 @@
497
486
  "tenantId",
498
487
  "scopeId",
499
488
  "boundByUserId",
500
- "enabled",
501
489
  "projections",
502
490
  "providerData"
503
491
  ],
@@ -529,9 +517,6 @@
529
517
  "displayName": {
530
518
  "$ref": "#/$defs/id"
531
519
  },
532
- "enabled": {
533
- "type": "boolean"
534
- },
535
520
  "projections": {
536
521
  "$ref": "#/$defs/routeProjectionSettings"
537
522
  },
@@ -596,57 +581,6 @@
596
581
  }
597
582
  }
598
583
  },
599
- "surfaceState": {
600
- "enum": [
601
- "pending",
602
- "bound",
603
- "dismissed"
604
- ]
605
- },
606
- "messagingSurface": {
607
- "type": "object",
608
- "additionalProperties": false,
609
- "required": [
610
- "provider",
611
- "placement",
612
- "accountId",
613
- "surfaceId",
614
- "state",
615
- "firstSeenAtMs",
616
- "lastSeenAtMs"
617
- ],
618
- "properties": {
619
- "provider": {
620
- "$ref": "#/$defs/providerId"
621
- },
622
- "placement": {
623
- "$ref": "#/$defs/placement"
624
- },
625
- "accountId": {
626
- "$ref": "#/$defs/id"
627
- },
628
- "surfaceId": {
629
- "$ref": "#/$defs/id"
630
- },
631
- "displayName": {
632
- "$ref": "#/$defs/id"
633
- },
634
- "state": {
635
- "$ref": "#/$defs/surfaceState"
636
- },
637
- "scopeId": {
638
- "$ref": "#/$defs/id"
639
- },
640
- "firstSeenAtMs": {
641
- "type": "integer",
642
- "minimum": 0
643
- },
644
- "lastSeenAtMs": {
645
- "type": "integer",
646
- "minimum": 0
647
- }
648
- }
649
- },
650
584
  "challengeCode": {
651
585
  "type": "object",
652
586
  "additionalProperties": false,
@@ -932,9 +866,6 @@
932
866
  "scopeId": {
933
867
  "$ref": "#/$defs/id"
934
868
  },
935
- "enabled": {
936
- "type": "boolean"
937
- },
938
869
  "projections": {
939
870
  "$ref": "#/$defs/routeProjectionSettingsUpdate"
940
871
  }
@@ -962,9 +893,6 @@
962
893
  "routeId": {
963
894
  "$ref": "#/$defs/id"
964
895
  },
965
- "enabled": {
966
- "type": "boolean"
967
- },
968
896
  "projections": {
969
897
  "$ref": "#/$defs/routeProjectionSettingsUpdate"
970
898
  }
@@ -1012,122 +940,29 @@
1012
940
  }
1013
941
  }
1014
942
  },
1015
- "surfaceListBody": {
1016
- "type": "object",
1017
- "additionalProperties": false,
1018
- "required": [
1019
- "provider",
1020
- "placement"
1021
- ],
1022
- "properties": {
1023
- "provider": {
1024
- "$ref": "#/$defs/providerId"
1025
- },
1026
- "placement": {
1027
- "$ref": "#/$defs/placement"
1028
- },
1029
- "accountId": {
1030
- "$ref": "#/$defs/id"
1031
- },
1032
- "state": {
1033
- "$ref": "#/$defs/surfaceState"
1034
- }
1035
- }
1036
- },
1037
- "surfaceBody": {
1038
- "type": "object",
1039
- "additionalProperties": false,
1040
- "required": [
1041
- "provider",
1042
- "placement",
1043
- "surfaceId"
1044
- ],
1045
- "properties": {
1046
- "provider": {
1047
- "$ref": "#/$defs/providerId"
1048
- },
1049
- "placement": {
1050
- "$ref": "#/$defs/placement"
1051
- },
1052
- "surfaceId": {
1053
- "$ref": "#/$defs/id"
1054
- }
1055
- }
1056
- },
1057
- "surfaceBindCodeBody": {
1058
- "type": "object",
1059
- "additionalProperties": false,
1060
- "required": [
1061
- "provider",
1062
- "placement",
1063
- "scopeId"
1064
- ],
1065
- "properties": {
1066
- "provider": {
1067
- "$ref": "#/$defs/providerId"
1068
- },
1069
- "placement": {
1070
- "$ref": "#/$defs/placement"
1071
- },
1072
- "scopeId": {
1073
- "$ref": "#/$defs/id"
1074
- }
1075
- }
1076
- },
1077
943
  "actorLinkCodeBody": {
1078
944
  "type": "object",
1079
945
  "additionalProperties": false,
1080
- "required": [
1081
- "provider",
1082
- "placement"
1083
- ],
1084
- "properties": {
1085
- "provider": {
1086
- "$ref": "#/$defs/providerId"
1087
- },
1088
- "placement": {
1089
- "$ref": "#/$defs/placement"
1090
- }
1091
- }
946
+ "properties": {},
947
+ "required": []
1092
948
  },
1093
949
  "actorLinkListBody": {
1094
950
  "type": "object",
1095
951
  "additionalProperties": false,
1096
- "required": [
1097
- "provider",
1098
- "placement"
1099
- ],
1100
- "properties": {
1101
- "provider": {
1102
- "$ref": "#/$defs/providerId"
1103
- },
1104
- "placement": {
1105
- "$ref": "#/$defs/placement"
1106
- },
1107
- "accountId": {
1108
- "$ref": "#/$defs/id"
1109
- }
1110
- }
952
+ "properties": {},
953
+ "required": []
1111
954
  },
1112
955
  "actorLinkDeleteBody": {
1113
956
  "type": "object",
1114
957
  "additionalProperties": false,
1115
- "required": [
1116
- "provider",
1117
- "placement",
1118
- "linkId"
1119
- ],
1120
958
  "properties": {
1121
- "provider": {
1122
- "$ref": "#/$defs/providerId"
1123
- },
1124
- "placement": {
1125
- "$ref": "#/$defs/placement"
1126
- },
1127
959
  "linkId": {
1128
960
  "$ref": "#/$defs/id"
1129
961
  }
1130
- }
962
+ },
963
+ "required": [
964
+ "linkId"
965
+ ]
1131
966
  },
1132
967
  "providerListRequest": {
1133
968
  "type": "object",
@@ -1671,7 +1506,8 @@
1671
1506
  "body": {
1672
1507
  "$ref": "#/$defs/routeBody"
1673
1508
  }
1674
- }
1509
+ },
1510
+ "description": "Remove a shared conversation binding. Personal routes cannot be deleted."
1675
1511
  },
1676
1512
  "routeDeleteResponse": {
1677
1513
  "type": "object",
@@ -1840,147 +1676,6 @@
1840
1676
  }
1841
1677
  }
1842
1678
  },
1843
- "surfaceListRequest": {
1844
- "type": "object",
1845
- "additionalProperties": false,
1846
- "required": [
1847
- "target",
1848
- "direction",
1849
- "body"
1850
- ],
1851
- "properties": {
1852
- "target": {
1853
- "const": "/app/messaging/surface/list"
1854
- },
1855
- "direction": {
1856
- "const": "request"
1857
- },
1858
- "body": {
1859
- "$ref": "#/$defs/surfaceListBody"
1860
- }
1861
- }
1862
- },
1863
- "surfaceListResponse": {
1864
- "type": "object",
1865
- "additionalProperties": false,
1866
- "required": [
1867
- "target",
1868
- "direction",
1869
- "body"
1870
- ],
1871
- "properties": {
1872
- "target": {
1873
- "const": "/app/messaging/surface/list"
1874
- },
1875
- "direction": {
1876
- "const": "response"
1877
- },
1878
- "body": {
1879
- "type": "object",
1880
- "additionalProperties": false,
1881
- "required": [
1882
- "surfaces"
1883
- ],
1884
- "properties": {
1885
- "surfaces": {
1886
- "type": "array",
1887
- "items": {
1888
- "$ref": "#/$defs/messagingSurface"
1889
- }
1890
- }
1891
- }
1892
- }
1893
- }
1894
- },
1895
- "surfaceDismissRequest": {
1896
- "type": "object",
1897
- "additionalProperties": false,
1898
- "required": [
1899
- "target",
1900
- "direction",
1901
- "body"
1902
- ],
1903
- "properties": {
1904
- "target": {
1905
- "const": "/app/messaging/surface/dismiss"
1906
- },
1907
- "direction": {
1908
- "const": "request"
1909
- },
1910
- "body": {
1911
- "$ref": "#/$defs/surfaceBody"
1912
- }
1913
- }
1914
- },
1915
- "surfaceDismissResponse": {
1916
- "type": "object",
1917
- "additionalProperties": false,
1918
- "required": [
1919
- "target",
1920
- "direction",
1921
- "body"
1922
- ],
1923
- "properties": {
1924
- "target": {
1925
- "const": "/app/messaging/surface/dismiss"
1926
- },
1927
- "direction": {
1928
- "const": "response"
1929
- },
1930
- "body": {
1931
- "$ref": "#/$defs/mutationBody"
1932
- }
1933
- }
1934
- },
1935
- "surfaceBindCodeCreateRequest": {
1936
- "type": "object",
1937
- "additionalProperties": false,
1938
- "required": [
1939
- "target",
1940
- "direction",
1941
- "body"
1942
- ],
1943
- "properties": {
1944
- "target": {
1945
- "const": "/app/messaging/surface/bind-code/create"
1946
- },
1947
- "direction": {
1948
- "const": "request"
1949
- },
1950
- "body": {
1951
- "$ref": "#/$defs/surfaceBindCodeBody"
1952
- }
1953
- }
1954
- },
1955
- "surfaceBindCodeCreateResponse": {
1956
- "type": "object",
1957
- "additionalProperties": false,
1958
- "required": [
1959
- "target",
1960
- "direction",
1961
- "body"
1962
- ],
1963
- "properties": {
1964
- "target": {
1965
- "const": "/app/messaging/surface/bind-code/create"
1966
- },
1967
- "direction": {
1968
- "const": "response"
1969
- },
1970
- "body": {
1971
- "type": "object",
1972
- "additionalProperties": false,
1973
- "required": [
1974
- "challenge"
1975
- ],
1976
- "properties": {
1977
- "challenge": {
1978
- "$ref": "#/$defs/challengeCode"
1979
- }
1980
- }
1981
- }
1982
- }
1983
- },
1984
1679
  "actorLinkCodeCreateRequest": {
1985
1680
  "type": "object",
1986
1681
  "additionalProperties": false,
@@ -1991,7 +1686,7 @@
1991
1686
  ],
1992
1687
  "properties": {
1993
1688
  "target": {
1994
- "const": "/app/messaging/actor/link-code/create"
1689
+ "const": "/app/messaging/link/code/create"
1995
1690
  },
1996
1691
  "direction": {
1997
1692
  "const": "request"
@@ -2011,7 +1706,7 @@
2011
1706
  ],
2012
1707
  "properties": {
2013
1708
  "target": {
2014
- "const": "/app/messaging/actor/link-code/create"
1709
+ "const": "/app/messaging/link/code/create"
2015
1710
  },
2016
1711
  "direction": {
2017
1712
  "const": "response"
@@ -2040,7 +1735,7 @@
2040
1735
  ],
2041
1736
  "properties": {
2042
1737
  "target": {
2043
- "const": "/app/messaging/actor/link/list"
1738
+ "const": "/app/messaging/link/list"
2044
1739
  },
2045
1740
  "direction": {
2046
1741
  "const": "request"
@@ -2060,7 +1755,7 @@
2060
1755
  ],
2061
1756
  "properties": {
2062
1757
  "target": {
2063
- "const": "/app/messaging/actor/link/list"
1758
+ "const": "/app/messaging/link/list"
2064
1759
  },
2065
1760
  "direction": {
2066
1761
  "const": "response"
@@ -2092,7 +1787,7 @@
2092
1787
  ],
2093
1788
  "properties": {
2094
1789
  "target": {
2095
- "const": "/app/messaging/actor/link/delete"
1790
+ "const": "/app/messaging/unlink"
2096
1791
  },
2097
1792
  "direction": {
2098
1793
  "const": "request"
@@ -2112,7 +1807,7 @@
2112
1807
  ],
2113
1808
  "properties": {
2114
1809
  "target": {
2115
- "const": "/app/messaging/actor/link/delete"
1810
+ "const": "/app/messaging/unlink"
2116
1811
  },
2117
1812
  "direction": {
2118
1813
  "const": "response"
@@ -2170,13 +1865,10 @@
2170
1865
  "$ref": "#/$defs/setupStatusRequest"
2171
1866
  },
2172
1867
  {
2173
- "$ref": "#/$defs/surfaceListRequest"
1868
+ "$ref": "#/$defs/bindingListRequest"
2174
1869
  },
2175
1870
  {
2176
- "$ref": "#/$defs/surfaceDismissRequest"
2177
- },
2178
- {
2179
- "$ref": "#/$defs/surfaceBindCodeCreateRequest"
1871
+ "$ref": "#/$defs/bindCodeCreateRequest"
2180
1872
  },
2181
1873
  {
2182
1874
  "$ref": "#/$defs/actorLinkCodeCreateRequest"
@@ -2195,6 +1887,9 @@
2195
1887
  },
2196
1888
  {
2197
1889
  "$ref": "#/$defs/setupCancelRequest"
1890
+ },
1891
+ {
1892
+ "$ref": "#/$defs/unbindRequest"
2198
1893
  }
2199
1894
  ]
2200
1895
  },
@@ -2246,13 +1941,10 @@
2246
1941
  "$ref": "#/$defs/setupStatusResponse"
2247
1942
  },
2248
1943
  {
2249
- "$ref": "#/$defs/surfaceListResponse"
1944
+ "$ref": "#/$defs/bindingListResponse"
2250
1945
  },
2251
1946
  {
2252
- "$ref": "#/$defs/surfaceDismissResponse"
2253
- },
2254
- {
2255
- "$ref": "#/$defs/surfaceBindCodeCreateResponse"
1947
+ "$ref": "#/$defs/bindCodeCreateResponse"
2256
1948
  },
2257
1949
  {
2258
1950
  "$ref": "#/$defs/actorLinkCodeCreateResponse"
@@ -2260,9 +1952,6 @@
2260
1952
  {
2261
1953
  "$ref": "#/$defs/identityCodeStatusResponse"
2262
1954
  },
2263
- {
2264
- "$ref": "#/$defs/identityCodeStatusEventResponse"
2265
- },
2266
1955
  {
2267
1956
  "$ref": "#/$defs/actorLinkListResponse"
2268
1957
  },
@@ -2274,6 +1963,9 @@
2274
1963
  },
2275
1964
  {
2276
1965
  "$ref": "#/$defs/setupCancelResponse"
1966
+ },
1967
+ {
1968
+ "$ref": "#/$defs/unbindResponse"
2277
1969
  }
2278
1970
  ]
2279
1971
  },
@@ -2362,8 +2054,6 @@
2362
2054
  "additionalProperties": false,
2363
2055
  "required": [
2364
2056
  "challengeId",
2365
- "provider",
2366
- "placement",
2367
2057
  "expiresAtMs",
2368
2058
  "lifecycle",
2369
2059
  "kind"
@@ -2375,9 +2065,6 @@
2375
2065
  "provider": {
2376
2066
  "$ref": "#/$defs/providerId"
2377
2067
  },
2378
- "placement": {
2379
- "$ref": "#/$defs/placement"
2380
- },
2381
2068
  "accountId": {
2382
2069
  "$ref": "#/$defs/id"
2383
2070
  },
@@ -2424,22 +2111,14 @@
2424
2111
  "identityCodeStatusBody": {
2425
2112
  "type": "object",
2426
2113
  "additionalProperties": false,
2427
- "required": [
2428
- "provider",
2429
- "placement",
2430
- "challengeId"
2431
- ],
2432
2114
  "properties": {
2433
- "provider": {
2434
- "$ref": "#/$defs/providerId"
2435
- },
2436
- "placement": {
2437
- "$ref": "#/$defs/placement"
2438
- },
2439
2115
  "challengeId": {
2440
2116
  "$ref": "#/$defs/id"
2441
2117
  }
2442
- }
2118
+ },
2119
+ "required": [
2120
+ "challengeId"
2121
+ ]
2443
2122
  },
2444
2123
  "identityCodeStatusResponseBody": {
2445
2124
  "type": "object",
@@ -2463,7 +2142,7 @@
2463
2142
  ],
2464
2143
  "properties": {
2465
2144
  "target": {
2466
- "const": "/app/messaging/identity-code/status"
2145
+ "const": "/app/messaging/code/status"
2467
2146
  },
2468
2147
  "direction": {
2469
2148
  "const": "request"
@@ -2483,27 +2162,7 @@
2483
2162
  ],
2484
2163
  "properties": {
2485
2164
  "target": {
2486
- "const": "/app/messaging/identity-code/status"
2487
- },
2488
- "direction": {
2489
- "const": "response"
2490
- },
2491
- "body": {
2492
- "$ref": "#/$defs/identityCodeStatusResponseBody"
2493
- }
2494
- }
2495
- },
2496
- "identityCodeStatusEventResponse": {
2497
- "type": "object",
2498
- "additionalProperties": false,
2499
- "required": [
2500
- "target",
2501
- "direction",
2502
- "body"
2503
- ],
2504
- "properties": {
2505
- "target": {
2506
- "const": "/app/messaging/identity-code/changed"
2165
+ "const": "/app/messaging/code/status"
2507
2166
  },
2508
2167
  "direction": {
2509
2168
  "const": "response"
@@ -2725,6 +2384,207 @@
2725
2384
  }
2726
2385
  }
2727
2386
  }
2387
+ },
2388
+ "bindingListBody": {
2389
+ "type": "object",
2390
+ "additionalProperties": false,
2391
+ "properties": {},
2392
+ "required": []
2393
+ },
2394
+ "bindingListRequest": {
2395
+ "type": "object",
2396
+ "additionalProperties": false,
2397
+ "required": [
2398
+ "target",
2399
+ "direction",
2400
+ "body"
2401
+ ],
2402
+ "properties": {
2403
+ "target": {
2404
+ "const": "/app/messaging/binding/list"
2405
+ },
2406
+ "direction": {
2407
+ "const": "request"
2408
+ },
2409
+ "body": {
2410
+ "$ref": "#/$defs/bindingListBody"
2411
+ }
2412
+ }
2413
+ },
2414
+ "bindingListResponse": {
2415
+ "type": "object",
2416
+ "additionalProperties": false,
2417
+ "required": [
2418
+ "target",
2419
+ "direction",
2420
+ "body"
2421
+ ],
2422
+ "properties": {
2423
+ "target": {
2424
+ "const": "/app/messaging/binding/list"
2425
+ },
2426
+ "direction": {
2427
+ "const": "response"
2428
+ },
2429
+ "body": {
2430
+ "type": "object",
2431
+ "additionalProperties": false,
2432
+ "properties": {
2433
+ "bindings": {
2434
+ "type": "array",
2435
+ "items": {
2436
+ "$ref": "#/$defs/messagingBinding"
2437
+ }
2438
+ }
2439
+ },
2440
+ "required": [
2441
+ "bindings"
2442
+ ]
2443
+ }
2444
+ }
2445
+ },
2446
+ "bindCodeBody": {
2447
+ "type": "object",
2448
+ "additionalProperties": false,
2449
+ "properties": {}
2450
+ },
2451
+ "bindCodeCreateRequest": {
2452
+ "type": "object",
2453
+ "additionalProperties": false,
2454
+ "required": [
2455
+ "target",
2456
+ "direction",
2457
+ "body"
2458
+ ],
2459
+ "properties": {
2460
+ "target": {
2461
+ "const": "/app/messaging/bind/code/create"
2462
+ },
2463
+ "direction": {
2464
+ "const": "request"
2465
+ },
2466
+ "body": {
2467
+ "$ref": "#/$defs/bindCodeBody"
2468
+ }
2469
+ }
2470
+ },
2471
+ "bindCodeCreateResponse": {
2472
+ "type": "object",
2473
+ "additionalProperties": false,
2474
+ "required": [
2475
+ "target",
2476
+ "direction",
2477
+ "body"
2478
+ ],
2479
+ "properties": {
2480
+ "target": {
2481
+ "const": "/app/messaging/bind/code/create"
2482
+ },
2483
+ "direction": {
2484
+ "const": "response"
2485
+ },
2486
+ "body": {
2487
+ "type": "object",
2488
+ "additionalProperties": false,
2489
+ "required": [
2490
+ "challenge"
2491
+ ],
2492
+ "properties": {
2493
+ "challenge": {
2494
+ "$ref": "#/$defs/challengeCode"
2495
+ }
2496
+ }
2497
+ }
2498
+ }
2499
+ },
2500
+ "messagingBinding": {
2501
+ "type": "object",
2502
+ "additionalProperties": false,
2503
+ "properties": {
2504
+ "bindingId": {
2505
+ "$ref": "#/$defs/id"
2506
+ },
2507
+ "provider": {
2508
+ "$ref": "#/$defs/providerId"
2509
+ },
2510
+ "placement": {
2511
+ "$ref": "#/$defs/placement"
2512
+ },
2513
+ "accountId": {
2514
+ "$ref": "#/$defs/id"
2515
+ },
2516
+ "conversationId": {
2517
+ "$ref": "#/$defs/id"
2518
+ },
2519
+ "scopeId": {
2520
+ "$ref": "#/$defs/id"
2521
+ },
2522
+ "createdAtMs": {
2523
+ "type": "integer",
2524
+ "minimum": 0
2525
+ },
2526
+ "displayName": {
2527
+ "$ref": "#/$defs/id"
2528
+ }
2529
+ },
2530
+ "required": [
2531
+ "bindingId",
2532
+ "provider",
2533
+ "placement",
2534
+ "accountId",
2535
+ "conversationId",
2536
+ "scopeId",
2537
+ "createdAtMs"
2538
+ ]
2539
+ },
2540
+ "unbindRequest": {
2541
+ "type": "object",
2542
+ "additionalProperties": false,
2543
+ "properties": {
2544
+ "target": {
2545
+ "const": "/app/messaging/unbind"
2546
+ },
2547
+ "direction": {
2548
+ "const": "request"
2549
+ },
2550
+ "body": {
2551
+ "type": "object",
2552
+ "additionalProperties": false,
2553
+ "properties": {
2554
+ "bindingId": {
2555
+ "$ref": "#/$defs/id"
2556
+ }
2557
+ },
2558
+ "required": [
2559
+ "bindingId"
2560
+ ]
2561
+ }
2562
+ },
2563
+ "required": [
2564
+ "target",
2565
+ "direction",
2566
+ "body"
2567
+ ]
2568
+ },
2569
+ "unbindResponse": {
2570
+ "type": "object",
2571
+ "additionalProperties": false,
2572
+ "properties": {
2573
+ "target": {
2574
+ "const": "/app/messaging/unbind"
2575
+ },
2576
+ "direction": {
2577
+ "const": "response"
2578
+ },
2579
+ "body": {
2580
+ "$ref": "#/$defs/mutationBody"
2581
+ }
2582
+ },
2583
+ "required": [
2584
+ "target",
2585
+ "direction",
2586
+ "body"
2587
+ ]
2728
2588
  }
2729
2589
  }
2730
2590
  }