@mhome/app-facade-protocol 1.90.1 → 1.93.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.
@@ -0,0 +1,335 @@
1
+ [
2
+ {
3
+ "name": "unknown alone does not create water incident",
4
+ "capabilityId": "basic.device.state.water",
5
+ "observations": [
6
+ {
7
+ "sequence": 1,
8
+ "timestamp": 1000,
9
+ "value": "unknown"
10
+ }
11
+ ],
12
+ "active": false,
13
+ "verificationRequired": false,
14
+ "episodeClearSequence": 0,
15
+ "sourceUpdatedAt": 1000,
16
+ "persisted": {
17
+ "entityId": "sensor",
18
+ "capabilityId": "basic.device.state.water",
19
+ "latest": {
20
+ "sequence": 1,
21
+ "timestamp": 1000,
22
+ "value": "unknown"
23
+ },
24
+ "detected": null,
25
+ "cleared": null
26
+ }
27
+ },
28
+ {
29
+ "name": "delayed first wet survives unknown",
30
+ "capabilityId": "basic.device.state.water",
31
+ "observations": [
32
+ {
33
+ "sequence": 2,
34
+ "timestamp": 2000,
35
+ "value": "unknown"
36
+ },
37
+ {
38
+ "sequence": 1,
39
+ "timestamp": 1000,
40
+ "value": "wet"
41
+ }
42
+ ],
43
+ "active": true,
44
+ "verificationRequired": true,
45
+ "episodeClearSequence": 0,
46
+ "sourceUpdatedAt": 2000,
47
+ "persisted": {
48
+ "entityId": "sensor",
49
+ "capabilityId": "basic.device.state.water",
50
+ "latest": {
51
+ "sequence": 2,
52
+ "timestamp": 2000,
53
+ "value": "unknown"
54
+ },
55
+ "detected": {
56
+ "sequence": 1,
57
+ "timestamp": 1000,
58
+ "value": "wet"
59
+ },
60
+ "cleared": null
61
+ }
62
+ },
63
+ {
64
+ "name": "delayed wet cannot revive cleared incident",
65
+ "capabilityId": "basic.device.state.water",
66
+ "observations": [
67
+ {
68
+ "sequence": 3,
69
+ "timestamp": 3000,
70
+ "value": "unknown"
71
+ },
72
+ {
73
+ "sequence": 2,
74
+ "timestamp": 2000,
75
+ "value": "dry"
76
+ },
77
+ {
78
+ "sequence": 1,
79
+ "timestamp": 1000,
80
+ "value": "wet"
81
+ }
82
+ ],
83
+ "active": false,
84
+ "verificationRequired": false,
85
+ "episodeClearSequence": 0,
86
+ "sourceUpdatedAt": 1000,
87
+ "persisted": {
88
+ "entityId": "sensor",
89
+ "capabilityId": "basic.device.state.water",
90
+ "latest": {
91
+ "sequence": 3,
92
+ "timestamp": 3000,
93
+ "value": "unknown"
94
+ },
95
+ "detected": {
96
+ "sequence": 1,
97
+ "timestamp": 1000,
98
+ "value": "wet"
99
+ },
100
+ "cleared": {
101
+ "sequence": 2,
102
+ "timestamp": 2000,
103
+ "value": "dry"
104
+ }
105
+ }
106
+ },
107
+ {
108
+ "name": "delayed clear cannot remove newer wet",
109
+ "capabilityId": "basic.device.state.water",
110
+ "observations": [
111
+ {
112
+ "sequence": 3,
113
+ "timestamp": 3000,
114
+ "value": "wet"
115
+ },
116
+ {
117
+ "sequence": 1,
118
+ "timestamp": 1000,
119
+ "value": "wet"
120
+ },
121
+ {
122
+ "sequence": 2,
123
+ "timestamp": 2000,
124
+ "value": "dry"
125
+ }
126
+ ],
127
+ "active": true,
128
+ "verificationRequired": false,
129
+ "episodeClearSequence": 2,
130
+ "sourceUpdatedAt": 3000,
131
+ "persisted": {
132
+ "entityId": "sensor",
133
+ "capabilityId": "basic.device.state.water",
134
+ "latest": {
135
+ "sequence": 3,
136
+ "timestamp": 3000,
137
+ "value": "wet"
138
+ },
139
+ "detected": {
140
+ "sequence": 3,
141
+ "timestamp": 3000,
142
+ "value": "wet"
143
+ },
144
+ "cleared": {
145
+ "sequence": 2,
146
+ "timestamp": 2000,
147
+ "value": "dry"
148
+ }
149
+ }
150
+ },
151
+ {
152
+ "name": "new episode remains under verification",
153
+ "capabilityId": "basic.device.state.water",
154
+ "observations": [
155
+ {
156
+ "sequence": 3,
157
+ "timestamp": 3000,
158
+ "value": "unknown"
159
+ },
160
+ {
161
+ "sequence": 2,
162
+ "timestamp": 2000,
163
+ "value": "wet"
164
+ },
165
+ {
166
+ "sequence": 1,
167
+ "timestamp": 1000,
168
+ "value": "dry"
169
+ }
170
+ ],
171
+ "active": true,
172
+ "verificationRequired": true,
173
+ "episodeClearSequence": 1,
174
+ "sourceUpdatedAt": 3000,
175
+ "persisted": {
176
+ "entityId": "sensor",
177
+ "capabilityId": "basic.device.state.water",
178
+ "latest": {
179
+ "sequence": 3,
180
+ "timestamp": 3000,
181
+ "value": "unknown"
182
+ },
183
+ "detected": {
184
+ "sequence": 2,
185
+ "timestamp": 2000,
186
+ "value": "wet"
187
+ },
188
+ "cleared": {
189
+ "sequence": 1,
190
+ "timestamp": 1000,
191
+ "value": "dry"
192
+ }
193
+ }
194
+ },
195
+ {
196
+ "name": "duplicate wet is not proof of freshness",
197
+ "capabilityId": "basic.device.state.water",
198
+ "observations": [
199
+ {
200
+ "sequence": 1,
201
+ "timestamp": 1000,
202
+ "value": "wet"
203
+ },
204
+ {
205
+ "sequence": 2,
206
+ "timestamp": 2000,
207
+ "value": "wet"
208
+ }
209
+ ],
210
+ "active": true,
211
+ "verificationRequired": false,
212
+ "episodeClearSequence": 0,
213
+ "sourceUpdatedAt": 1000,
214
+ "persisted": {
215
+ "entityId": "sensor",
216
+ "capabilityId": "basic.device.state.water",
217
+ "latest": {
218
+ "sequence": 2,
219
+ "timestamp": 1000,
220
+ "value": "wet"
221
+ },
222
+ "detected": {
223
+ "sequence": 2,
224
+ "timestamp": 1000,
225
+ "value": "wet"
226
+ },
227
+ "cleared": null
228
+ }
229
+ },
230
+ {
231
+ "name": "testing alone does not create smoke incident",
232
+ "capabilityId": "basic.device.state.smoke",
233
+ "observations": [
234
+ {
235
+ "sequence": 1,
236
+ "timestamp": 1000,
237
+ "value": "testing"
238
+ }
239
+ ],
240
+ "active": false,
241
+ "verificationRequired": false,
242
+ "episodeClearSequence": 0,
243
+ "sourceUpdatedAt": 1000,
244
+ "persisted": {
245
+ "entityId": "sensor",
246
+ "capabilityId": "basic.device.state.smoke",
247
+ "latest": {
248
+ "sequence": 1,
249
+ "timestamp": 1000,
250
+ "value": "testing"
251
+ },
252
+ "detected": null,
253
+ "cleared": null
254
+ }
255
+ },
256
+ {
257
+ "name": "smoke testing preserves detected incident",
258
+ "capabilityId": "basic.device.state.smoke",
259
+ "observations": [
260
+ {
261
+ "sequence": 1,
262
+ "timestamp": 1000,
263
+ "value": "detected"
264
+ },
265
+ {
266
+ "sequence": 2,
267
+ "timestamp": 2000,
268
+ "value": "testing"
269
+ }
270
+ ],
271
+ "active": true,
272
+ "verificationRequired": true,
273
+ "episodeClearSequence": 0,
274
+ "sourceUpdatedAt": 2000,
275
+ "persisted": {
276
+ "entityId": "sensor",
277
+ "capabilityId": "basic.device.state.smoke",
278
+ "latest": {
279
+ "sequence": 2,
280
+ "timestamp": 2000,
281
+ "value": "testing"
282
+ },
283
+ "detected": {
284
+ "sequence": 1,
285
+ "timestamp": 1000,
286
+ "value": "detected"
287
+ },
288
+ "cleared": null
289
+ }
290
+ },
291
+ {
292
+ "name": "clear ends smoke incident",
293
+ "capabilityId": "basic.device.state.smoke",
294
+ "observations": [
295
+ {
296
+ "sequence": 1,
297
+ "timestamp": 1000,
298
+ "value": "detected"
299
+ },
300
+ {
301
+ "sequence": 2,
302
+ "timestamp": 2000,
303
+ "value": "clear"
304
+ },
305
+ {
306
+ "sequence": 3,
307
+ "timestamp": 3000,
308
+ "value": "unknown"
309
+ }
310
+ ],
311
+ "active": false,
312
+ "verificationRequired": false,
313
+ "episodeClearSequence": 0,
314
+ "sourceUpdatedAt": 1000,
315
+ "persisted": {
316
+ "entityId": "sensor",
317
+ "capabilityId": "basic.device.state.smoke",
318
+ "latest": {
319
+ "sequence": 3,
320
+ "timestamp": 3000,
321
+ "value": "unknown"
322
+ },
323
+ "detected": {
324
+ "sequence": 1,
325
+ "timestamp": 1000,
326
+ "value": "detected"
327
+ },
328
+ "cleared": {
329
+ "sequence": 2,
330
+ "timestamp": 2000,
331
+ "value": "clear"
332
+ }
333
+ }
334
+ }
335
+ ]
@@ -738,5 +738,93 @@
738
738
  "scopeId": "space",
739
739
  "target": "/app/now/attention/list",
740
740
  "allowed": false
741
+ },
742
+ {
743
+ "name": "owner:/app/object-storage/folders/set-limit",
744
+ "principal": {
745
+ "kind": "user",
746
+ "userId": "owner"
747
+ },
748
+ "memberRole": "OWNER",
749
+ "tenantId": "tenant",
750
+ "scopeId": "space",
751
+ "target": "/app/object-storage/folders/set-limit",
752
+ "allowed": true
753
+ },
754
+ {
755
+ "name": "member:/app/object-storage/folders/set-limit",
756
+ "principal": {
757
+ "kind": "user",
758
+ "userId": "member"
759
+ },
760
+ "memberRole": "MEMBER",
761
+ "tenantId": "tenant",
762
+ "scopeId": "space",
763
+ "target": "/app/object-storage/folders/set-limit",
764
+ "allowed": true
765
+ },
766
+ {
767
+ "name": "removed:/app/object-storage/folders/set-limit",
768
+ "principal": {
769
+ "kind": "user",
770
+ "userId": "former"
771
+ },
772
+ "memberRole": null,
773
+ "tenantId": "tenant",
774
+ "scopeId": "space",
775
+ "target": "/app/object-storage/folders/set-limit",
776
+ "allowed": false
777
+ },
778
+ {
779
+ "name": "space:/app/object-storage/folders/set-limit",
780
+ "principal": {
781
+ "kind": "space",
782
+ "tenantId": "tenant",
783
+ "scopeId": "space"
784
+ },
785
+ "memberRole": null,
786
+ "tenantId": "tenant",
787
+ "scopeId": "space",
788
+ "target": "/app/object-storage/folders/set-limit",
789
+ "allowed": true
790
+ },
791
+ {
792
+ "name": "space-cannot-borrow-owner:/app/object-storage/folders/set-limit",
793
+ "principal": {
794
+ "kind": "space",
795
+ "tenantId": "tenant",
796
+ "scopeId": "space"
797
+ },
798
+ "memberRole": "OWNER",
799
+ "tenantId": "tenant",
800
+ "scopeId": "space",
801
+ "target": "/app/object-storage/folders/set-limit",
802
+ "allowed": true
803
+ },
804
+ {
805
+ "name": "foreign-space:/app/object-storage/folders/set-limit",
806
+ "principal": {
807
+ "kind": "space",
808
+ "tenantId": "tenant",
809
+ "scopeId": "other"
810
+ },
811
+ "memberRole": null,
812
+ "tenantId": "tenant",
813
+ "scopeId": "space",
814
+ "target": "/app/object-storage/folders/set-limit",
815
+ "allowed": false
816
+ },
817
+ {
818
+ "name": "foreign-tenant:/app/object-storage/folders/set-limit",
819
+ "principal": {
820
+ "kind": "space",
821
+ "tenantId": "other",
822
+ "scopeId": "space"
823
+ },
824
+ "memberRole": null,
825
+ "tenantId": "tenant",
826
+ "scopeId": "space",
827
+ "target": "/app/object-storage/folders/set-limit",
828
+ "allowed": false
741
829
  }
742
830
  ]
@@ -34,7 +34,7 @@
34
34
  "active": false,
35
35
  "data": {},
36
36
  "capabilities": [],
37
- "twinTags": [],
37
+ "blueprintIds": [],
38
38
  "cardCount": 0,
39
39
  "issue": false
40
40
  },
@@ -266,7 +266,7 @@
266
266
  "message": "Member is unavailable"
267
267
  }
268
268
  ],
269
- "twinSig": "internal"
269
+ "blueprintSignature": "internal"
270
270
  }
271
271
  },
272
272
  {