@matter/node 0.17.0-alpha.0-20260416-dd20efe63 → 0.17.0-alpha.0-20260417-dc7d0a2db
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/dist/cjs/behaviors/groups/GroupsServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/groups/GroupsServer.js +20 -2
- package/dist/cjs/behaviors/groups/GroupsServer.js.map +1 -1
- package/dist/cjs/storage/server/ServerEndpointStores.d.ts.map +1 -1
- package/dist/cjs/storage/server/ServerEndpointStores.js +12 -12
- package/dist/cjs/storage/server/ServerEndpointStores.js.map +2 -2
- package/dist/cjs/storage/server/ServerNodeStore.d.ts.map +1 -1
- package/dist/cjs/storage/server/ServerNodeStore.js +1 -0
- package/dist/cjs/storage/server/ServerNodeStore.js.map +1 -1
- package/dist/esm/behaviors/groups/GroupsServer.d.ts.map +1 -1
- package/dist/esm/behaviors/groups/GroupsServer.js +20 -2
- package/dist/esm/behaviors/groups/GroupsServer.js.map +1 -1
- package/dist/esm/storage/server/ServerEndpointStores.d.ts.map +1 -1
- package/dist/esm/storage/server/ServerEndpointStores.js +12 -12
- package/dist/esm/storage/server/ServerEndpointStores.js.map +2 -2
- package/dist/esm/storage/server/ServerNodeStore.d.ts.map +1 -1
- package/dist/esm/storage/server/ServerNodeStore.js +1 -0
- package/dist/esm/storage/server/ServerNodeStore.js.map +1 -1
- package/package.json +7 -7
- package/src/behaviors/groups/GroupsServer.ts +20 -2
- package/src/storage/server/ServerEndpointStores.ts +13 -13
- package/src/storage/server/ServerNodeStore.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupsServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/groups/GroupsServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"GroupsServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/groups/GroupsServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAsCvD,QAAA,MAAM,UAAU;;;;yEAA2E,CAAC;AAE5F;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;;IAC/B,UAAU;IAyBJ,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;IA8BhG,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,iBAAiB;IAmBnE,kBAAkB,CAAC,EAC9B,SAAS,GACZ,EAAE,MAAM,CAAC,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC;IAoBjE,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC;IA0BxF,eAAe;IAef,qBAAqB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,4BAA4B;CASnG"}
|
|
@@ -39,10 +39,28 @@ const logger = import_general.Logger.get("GroupsServer");
|
|
|
39
39
|
const { commands } = import_groups.Groups.schema;
|
|
40
40
|
const addGroup = commands.require("AddGroup");
|
|
41
41
|
const addGroupIfIdentifying = commands.require("AddGroupIfIdentifying");
|
|
42
|
+
const addGroupResponse = commands.require("AddGroupResponse");
|
|
43
|
+
const viewGroupResponse = commands.require("ViewGroupResponse");
|
|
44
|
+
const removeGroupResponse = commands.require("RemoveGroupResponse");
|
|
42
45
|
const GroupsSchema = import_groups.Groups.schema.extend(
|
|
43
46
|
void 0,
|
|
44
|
-
addGroup.extend(
|
|
45
|
-
|
|
47
|
+
addGroup.extend(
|
|
48
|
+
void 0,
|
|
49
|
+
addGroup.fields.extend("GroupId", { constraint: "none" }),
|
|
50
|
+
addGroup.fields.extend("GroupName", { constraint: "none" })
|
|
51
|
+
),
|
|
52
|
+
addGroupIfIdentifying.extend(
|
|
53
|
+
void 0,
|
|
54
|
+
addGroupIfIdentifying.fields.extend("GroupId", { constraint: "none" }),
|
|
55
|
+
addGroupIfIdentifying.fields.extend("GroupName", { constraint: "none" })
|
|
56
|
+
),
|
|
57
|
+
addGroupResponse.extend(void 0, addGroupResponse.fields.extend("GroupId", { constraint: "none" })),
|
|
58
|
+
viewGroupResponse.extend(
|
|
59
|
+
void 0,
|
|
60
|
+
viewGroupResponse.fields.extend("GroupId", { constraint: "none" }),
|
|
61
|
+
viewGroupResponse.fields.extend("GroupName", { constraint: "none" })
|
|
62
|
+
),
|
|
63
|
+
removeGroupResponse.extend(void 0, removeGroupResponse.fields.extend("GroupId", { constraint: "none" }))
|
|
46
64
|
);
|
|
47
65
|
const GroupsBase = import_GroupsBehavior.GroupsBehavior.for(import_groups.Groups, GroupsSchema).with(import_groups.Groups.Feature.GroupNames);
|
|
48
66
|
class GroupsServer extends GroupsBase {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/behaviors/groups/GroupsServer.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,kCAAyC;AACzC,sBAAiC;AACjC,+BAAuC;AAEvC,kBAA6B;AAC7B,qBAAsC;AACtC,sBAA0C;AAC1C,mBAAgD;AAChD,oBAAuB;AACvB,4BAA+B;AAf/B;AAAA;AAAA;AAAA;AAAA;AAiBA,MAAM,SAAS,sBAAO,IAAI,cAAc;AAMxC,MAAM,EAAE,SAAS,IAAI,qBAAO;AAC5B,MAAM,WAAW,SAAS,QAAQ,UAAU;AAC5C,MAAM,wBAAwB,SAAS,QAAQ,uBAAuB;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,kCAAyC;AACzC,sBAAiC;AACjC,+BAAuC;AAEvC,kBAA6B;AAC7B,qBAAsC;AACtC,sBAA0C;AAC1C,mBAAgD;AAChD,oBAAuB;AACvB,4BAA+B;AAf/B;AAAA;AAAA;AAAA;AAAA;AAiBA,MAAM,SAAS,sBAAO,IAAI,cAAc;AAMxC,MAAM,EAAE,SAAS,IAAI,qBAAO;AAC5B,MAAM,WAAW,SAAS,QAAQ,UAAU;AAC5C,MAAM,wBAAwB,SAAS,QAAQ,uBAAuB;AACtE,MAAM,mBAAmB,SAAS,QAAQ,kBAAkB;AAC5D,MAAM,oBAAoB,SAAS,QAAQ,mBAAmB;AAC9D,MAAM,sBAAsB,SAAS,QAAQ,qBAAqB;AAElE,MAAM,eAAe,qBAAO,OAAO;AAAA,EAC/B;AAAA,EACA,SAAS;AAAA,IACL;AAAA,IACA,SAAS,OAAO,OAAO,WAAW,EAAE,YAAY,OAAO,CAAC;AAAA,IACxD,SAAS,OAAO,OAAO,aAAa,EAAE,YAAY,OAAO,CAAC;AAAA,EAC9D;AAAA,EACA,sBAAsB;AAAA,IAClB;AAAA,IACA,sBAAsB,OAAO,OAAO,WAAW,EAAE,YAAY,OAAO,CAAC;AAAA,IACrE,sBAAsB,OAAO,OAAO,aAAa,EAAE,YAAY,OAAO,CAAC;AAAA,EAC3E;AAAA,EACA,iBAAiB,OAAO,QAAW,iBAAiB,OAAO,OAAO,WAAW,EAAE,YAAY,OAAO,CAAC,CAAC;AAAA,EACpG,kBAAkB;AAAA,IACd;AAAA,IACA,kBAAkB,OAAO,OAAO,WAAW,EAAE,YAAY,OAAO,CAAC;AAAA,IACjE,kBAAkB,OAAO,OAAO,aAAa,EAAE,YAAY,OAAO,CAAC;AAAA,EACvE;AAAA,EACA,oBAAoB,OAAO,QAAW,oBAAoB,OAAO,OAAO,WAAW,EAAE,YAAY,OAAO,CAAC,CAAC;AAC9G;AAGA,MAAM,aAAa,qCAAe,IAAI,sBAAQ,YAAY,EAAE,KAAK,qBAAO,QAAQ,UAAU;AAKnF,MAAM,qBAAqB,WAAW;AAAA,EAChC,aAAa;AAClB,SAAK,MAAM,YAAY,aAAa,KAAK,SAAS;AAAA,EACtD;AAAA;AAAA;AAAA,EAIA,IAAI,gBAAwC;AACxC,UAAM,eAAe,KAAK,SAAS,YAAY,wBAAY;AAC3D,QAAI,iBAAiB,QAAW;AAC5B,YAAM,IAAI,6BAAc,wBAAwB;AAAA,IACpD;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,yBACF,KACU;AACV,2CAAkB,KAAK,OAAO;AAC9B,UAAM,QAAQ,KAAK,cAAc,SAAS,KAAK,OAAO;AACtD,UAAM,MAAM,MAAM,IAAI,oDAAwB;AAC9C,UAAM,MAAM,QAAQ,YAAY,aAAa,GAAG;AAChD,UAAM,MAAM,QAAQ,YAAY,MAAM;AACtC,WAAO,IAAI,KAAK,QAAQ,QAAQ,kBAAkB,GAAG;AAAA,EACzD;AAAA,EAEA,MAAe,SAAS,EAAE,SAAS,UAAU,GAA6D;AACtG,2CAAkB,KAAK,OAAO;AAC9B,UAAM,SAAS,KAAK,QAAQ,QAAQ;AAEpC,QAAI,UAAU,GAAG;AACb,aAAO,EAAE,QAAQ,wBAAW,iBAAiB,QAAQ;AAAA,IACzD;AACA,QAAI,UAAU,SAAS,IAAI;AACvB,aAAO,EAAE,QAAQ,wBAAW,iBAAiB,QAAQ;AAAA,IACzD;AAEA,QAAI,CAAC,OAAO,OAAO,cAAc,IAAI,OAAO,GAAG;AAC3C,aAAO,EAAE,QAAQ,wBAAW,mBAAmB,QAAQ;AAAA,IAC3D;AAEA,UAAM,iBAAiB,KAAK,SAAS;AAErC,QAAI;AACA,YAAM,KAAK;AAAA,QAAyB,CAACA,SAAQ,QACzC,IAAI,oBAAoBA,SAAQ,SAAS,gBAAgB,SAAS;AAAA,MACtE;AAAA,IACJ,SAAS,OAAO;AACZ,aAAO,MAAM,KAAK;AAClB,uCAAoB,OAAO,KAAK;AAChC,aAAO,EAAE,QAAQ,MAAM,MAAM,QAAQ;AAAA,IACzC;AAEA,WAAO,EAAE,QAAQ,wBAAW,SAAS,QAAQ;AAAA,EACjD;AAAA,EAES,UAAU,EAAE,QAAQ,GAAsD;AAC/E,2CAAkB,KAAK,OAAO;AAC9B,UAAM,SAAS,KAAK,QAAQ,QAAQ;AAEpC,QAAI,UAAU,GAAG;AACb,aAAO,EAAE,QAAQ,wBAAW,iBAAiB,SAAS,WAAW,GAAG;AAAA,IACxE;AAEA,UAAM,cAAc,OAAO;AAC3B,UAAM,iBAAiB,KAAK,SAAS;AAErC,UAAM,EAAE,WAAW,IAAI,KAAK,cAAc,QAAQ,oDAAwB;AAC1E,UAAM,aAAa,WAAW,KAAK,WAAS,MAAM,YAAY,WAAW,MAAM,gBAAgB,WAAW;AAC1G,QAAI,eAAe,UAAa,CAAC,WAAW,UAAU,SAAS,cAAc,GAAG;AAC5E,aAAO,EAAE,QAAQ,wBAAW,UAAU,SAAS,WAAW,GAAG;AAAA,IACjE;AACA,WAAO,EAAE,QAAQ,wBAAW,SAAS,SAAS,WAAW,WAAW,aAAa,GAAG;AAAA,EACxF;AAAA,EAEA,MAAe,mBAAmB;AAAA,IAC9B;AAAA,EACJ,GAAiF;AAC7E,2CAAkB,KAAK,OAAO;AAC9B,UAAM,SAAS,KAAK,QAAQ,QAAQ;AACpC,UAAM,cAAc,OAAO;AAC3B,UAAM,iBAAiB,KAAK,SAAS;AAErC,UAAM,EAAE,WAAW,IAAI,KAAK,cAAc,QAAQ,oDAAwB;AAC1E,UAAM,iBAAiB,WAAW;AAAA,MAC9B,WAAS,MAAM,UAAU,SAAS,cAAc,KAAK,MAAM,gBAAgB;AAAA,IAC/E;AACA,UAAM,mBAAmB,eAAe,IAAI,WAAS,MAAM,OAAO;AAElE,QAAI,UAAU,WAAW,GAAG;AACxB,aAAO,EAAE,UAAU,MAAO,iBAAiB,QAAQ,WAAW,iBAAiB;AAAA,IACnF;AAEA,UAAM,qBAAqB,UAAU,OAAO,aAAW,iBAAiB,SAAS,OAAO,CAAC;AACzF,WAAO,EAAE,UAAU,MAAO,iBAAiB,QAAQ,WAAW,mBAAmB;AAAA,EACrF;AAAA,EAEA,MAAe,YAAY,EAAE,QAAQ,GAAmE;AACpG,QAAI,UAAU,GAAG;AACb,aAAO,EAAE,QAAQ,wBAAW,iBAAiB,QAAQ;AAAA,IACzD;AAEA,QAAI;AACA,6CAAkB,KAAK,OAAO;AAC9B,UACI,MAAM,KAAK;AAAA,QAAyB,CAAC,QAAQ,QACzC,IAAI,eAAe,QAAQ,KAAK,SAAS,QAAQ,OAAO;AAAA,MAC5D,GACF;AACE,YAAI,KAAK,MAAM,IAAI,+CAAsB,GAAG;AACxC,eAAK,MACA,IAAI,+CAAsB,EAC1B,6BAA6B,KAAK,QAAQ,QAAQ,iBAAiB,aAAa,OAAO;AAAA,QAChG;AACA,eAAO,EAAE,QAAQ,wBAAW,SAAS,QAAQ;AAAA,MACjD;AACA,aAAO,EAAE,QAAQ,wBAAW,UAAU,QAAQ;AAAA,IAClD,SAAS,OAAO;AACZ,uCAAoB,OAAO,KAAK;AAChC,aAAO,EAAE,QAAQ,MAAM,MAAM,QAAQ;AAAA,IACzC;AAAA,EACJ;AAAA,EAEA,MAAe,kBAAkB;AAC7B,QAAI;AACA,6CAAkB,KAAK,OAAO;AAC9B,YAAM,KAAK,yBAAyB,CAAC,QAAQ,QAAQ,IAAI,eAAe,QAAQ,KAAK,SAAS,MAAM,CAAC;AACrG,UAAI,KAAK,MAAM,IAAI,+CAAsB,GAAG;AACxC,aAAK,MACA,IAAI,+CAAsB,EAC1B,kCAAkC,KAAK,QAAQ,QAAQ,iBAAiB,WAAW;AAAA,MAC5F;AAAA,IACJ,SAAS,OAAO;AACZ,uCAAoB,OAAO,KAAK;AAChC,YAAM;AAAA,IACV;AAAA,EACJ;AAAA,EAEA,MAAe,sBAAsB,EAAE,SAAS,UAAU,GAAwC;AAC9F,QAAI,KAAK,SAAS,QAAQ,gCAAgB,EAAE,eAAe,GAAG;AAE1D,YAAM,EAAE,OAAO,IAAI,MAAM,KAAK,SAAS,EAAE,SAAS,UAAU,CAAC;AAC7D,UAAI,WAAW,wBAAW,SAAS;AAC/B,cAAM,IAAI,iCAAoB,uBAAuB,OAAO,IAAI,MAAM;AAAA,MAC1E;AAAA,IACJ;AAAA,EACJ;AACJ;",
|
|
5
5
|
"names": ["fabric"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerEndpointStores.d.ts","sourceRoot":"","sources":["../../../../src/storage/server/ServerEndpointStores.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D;;GAEG;AACH,qBAAa,oBAAoB;;IAUvB,IAAI,CAAC,OAAO,EAAE,cAAc;IAyB5B,KAAK;
|
|
1
|
+
{"version":3,"file":"ServerEndpointStores.d.ts","sourceRoot":"","sources":["../../../../src/storage/server/ServerEndpointStores.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D;;GAEG;AACH,qBAAa,oBAAoB;;IAUvB,IAAI,CAAC,OAAO,EAAE,cAAc;IAyB5B,KAAK;IAmBL,KAAK;IAcX;;;;;;;;OAQG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ;IAmD/B;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,mBAAmB;IAiBzD;;OAEG;IACH,0BAA0B,CAAC,QAAQ,EAAE,QAAQ;IAY7C;;OAEG;IACG,qBAAqB,CAAC,QAAQ,EAAE,QAAQ;CAuDjD"}
|
|
@@ -61,9 +61,7 @@ class ServerEndpointStores {
|
|
|
61
61
|
if (!storage) {
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
await this.#numbersPersisted;
|
|
66
|
-
}
|
|
64
|
+
await this.#awaitPendingPersistence();
|
|
67
65
|
this.#storage = void 0;
|
|
68
66
|
await storage.clearAll();
|
|
69
67
|
this.#allocatedNumbers = /* @__PURE__ */ new Set();
|
|
@@ -72,6 +70,9 @@ class ServerEndpointStores {
|
|
|
72
70
|
await this.load(storage);
|
|
73
71
|
}
|
|
74
72
|
async close() {
|
|
73
|
+
await this.#awaitPendingPersistence();
|
|
74
|
+
}
|
|
75
|
+
async #awaitPendingPersistence() {
|
|
75
76
|
if (this.#numbersPersisted) {
|
|
76
77
|
await this.#numbersPersisted;
|
|
77
78
|
}
|
|
@@ -92,7 +93,7 @@ class ServerEndpointStores {
|
|
|
92
93
|
const store = this.storeForEndpoint(endpoint);
|
|
93
94
|
if (endpoint.lifecycle.hasNumber) {
|
|
94
95
|
if (this.#allocatedNumbers.has(endpoint.number)) {
|
|
95
|
-
if (
|
|
96
|
+
if (store.number !== endpoint.number) {
|
|
96
97
|
throw new import_IdentityService.IdentityConflictError(
|
|
97
98
|
`Endpoint ${endpoint.id} number ${endpoint.number} is allocated to another endpoint`
|
|
98
99
|
);
|
|
@@ -125,7 +126,7 @@ class ServerEndpointStores {
|
|
|
125
126
|
}
|
|
126
127
|
this.#allocatedNumbers.add(endpoint.number);
|
|
127
128
|
store.number = endpoint.number;
|
|
128
|
-
this.#persistNumber(
|
|
129
|
+
this.#persistNumber(store);
|
|
129
130
|
}
|
|
130
131
|
/**
|
|
131
132
|
* Obtain the store for a single {@link Endpoint}.
|
|
@@ -175,25 +176,24 @@ class ServerEndpointStores {
|
|
|
175
176
|
/**
|
|
176
177
|
* Lazily persist a newly allocated number and the next number.
|
|
177
178
|
*/
|
|
178
|
-
#persistNumber(
|
|
179
|
+
#persistNumber(store) {
|
|
179
180
|
if (this.#numbersToPersist) {
|
|
180
|
-
this.#numbersToPersist.push(
|
|
181
|
+
this.#numbersToPersist.push(store);
|
|
181
182
|
return;
|
|
182
183
|
}
|
|
183
|
-
this.#numbersToPersist = [
|
|
184
|
+
this.#numbersToPersist = [store];
|
|
184
185
|
const numberPersister = async () => {
|
|
185
186
|
const numbersToPersist = this.#numbersToPersist;
|
|
186
187
|
if (!numbersToPersist) {
|
|
187
188
|
return;
|
|
188
189
|
}
|
|
189
190
|
this.#numbersToPersist = void 0;
|
|
190
|
-
for (const
|
|
191
|
-
|
|
192
|
-
await store.saveNumber();
|
|
191
|
+
for (const store2 of numbersToPersist) {
|
|
192
|
+
await store2.saveNumber();
|
|
193
193
|
}
|
|
194
194
|
if (this.#nextNumber !== this.#persistedNextNumber) {
|
|
195
195
|
if (this.#storage === void 0) {
|
|
196
|
-
this.#premature("
|
|
196
|
+
this.#premature("Number persistence");
|
|
197
197
|
}
|
|
198
198
|
await this.#storage.set(NEXT_NUMBER_KEY, this.#nextNumber);
|
|
199
199
|
this.#persistedNextNumber = this.#nextNumber;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/storage/server/ServerEndpointStores.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,6BAAsC;AAEtC,qBAA2D;AAC3D,iCAAoC;AAXpC;AAAA;AAAA;AAAA;AAAA;AAaA,MAAM,kBAAkB;AAExB,MAAM,SAAS,sBAAO,IAAI,sBAAsB;AAKzC,MAAM,qBAAqB;AAAA,EAC9B;AAAA,EACA,oBAAoB,oBAAI,IAAY;AAAA,EACpC,uBAAuB,oBAAI,IAAY;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EAEA,MAAM,KAAK,SAAyB;AAChC,SAAK,WAAW;AAGhB,SAAK,cAAe,MAAM,KAAK,SAAS,IAAI,iBAAiB,CAAC,IAAK;AAEnE,QAAI,KAAK,cAAc,GAAG;AACtB,WAAK,cAAc;AAAA,IACvB,OAAO;AACH,WAAK,uBAAuB,KAAK;AAAA,IACrC;AAGA,SAAK,QAAQ,IAAI,+CAAoB,KAAK,QAAQ;AAClD,UAAM,KAAK,MAAM,KAAK;AAItB,SAAK,MAAM,MAAM,CAAC,EAAE,OAAO,MAAM;AAC7B,UAAI,WAAW,QAAW;AACtB,aAAK,qBAAqB,IAAI,MAAM;AAAA,MACxC;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,QAAQ;AACV,UAAM,UAAU,KAAK;AACrB,QAAI,CAAC,SAAS;AACV;AAAA,IACJ;AAEA,
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["store"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerNodeStore.d.ts","sourceRoot":"","sources":["../../../../src/storage/server/ServerNodeStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAEH,KAAK,iBAAiB,EAGtB,YAAY,EAEZ,WAAW,EAGX,cAAc,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,SAAU,YAAW,YAAY;;gBAQtD,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;WAoBvC,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;IAItD,KAAK;
|
|
1
|
+
{"version":3,"file":"ServerNodeStore.d.ts","sourceRoot":"","sources":["../../../../src/storage/server/ServerNodeStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAEH,KAAK,iBAAiB,EAGtB,YAAY,EAEZ,WAAW,EAGX,cAAc,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,SAAU,YAAW,YAAY;;gBAQtD,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;WAoBvC,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;IAItD,KAAK;IAWX;;OAEG;IACH,IAAI,cAAc,yBAEjB;IAED;;OAEG;IACH,IAAI,YAAY,qBAEf;IAED;;OAEG;IACH,IAAI,OAAO,mBAEV;IAeD,gBAAgB,CAAC,QAAQ,EAAE,QAAQ;IAInC;;OAEG;IACY,QAAQ,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAWrD,KAAK;IAIC,IAAI;CAYb"}
|
|
@@ -59,6 +59,7 @@ class ServerNodeStore extends import_NodeStore.NodeStore {
|
|
|
59
59
|
}
|
|
60
60
|
async close() {
|
|
61
61
|
await this.construction.close(async () => {
|
|
62
|
+
await this.#endpointStores.close();
|
|
62
63
|
await this.#clientStores?.close();
|
|
63
64
|
await this.#bdxHandle?.close();
|
|
64
65
|
await this.#storageManager?.close();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/storage/server/ServerNodeStore.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupsServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/groups/GroupsServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"GroupsServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/groups/GroupsServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAsCvD,QAAA,MAAM,UAAU;;;;yEAA2E,CAAC;AAE5F;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;;IAC/B,UAAU;IAyBJ,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;IA8BhG,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,iBAAiB;IAmBnE,kBAAkB,CAAC,EAC9B,SAAS,GACZ,EAAE,MAAM,CAAC,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC;IAoBjE,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC;IA0BxF,eAAe;IAef,qBAAqB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,4BAA4B;CASnG"}
|
|
@@ -16,10 +16,28 @@ const logger = Logger.get("GroupsServer");
|
|
|
16
16
|
const { commands } = Groups.schema;
|
|
17
17
|
const addGroup = commands.require("AddGroup");
|
|
18
18
|
const addGroupIfIdentifying = commands.require("AddGroupIfIdentifying");
|
|
19
|
+
const addGroupResponse = commands.require("AddGroupResponse");
|
|
20
|
+
const viewGroupResponse = commands.require("ViewGroupResponse");
|
|
21
|
+
const removeGroupResponse = commands.require("RemoveGroupResponse");
|
|
19
22
|
const GroupsSchema = Groups.schema.extend(
|
|
20
23
|
void 0,
|
|
21
|
-
addGroup.extend(
|
|
22
|
-
|
|
24
|
+
addGroup.extend(
|
|
25
|
+
void 0,
|
|
26
|
+
addGroup.fields.extend("GroupId", { constraint: "none" }),
|
|
27
|
+
addGroup.fields.extend("GroupName", { constraint: "none" })
|
|
28
|
+
),
|
|
29
|
+
addGroupIfIdentifying.extend(
|
|
30
|
+
void 0,
|
|
31
|
+
addGroupIfIdentifying.fields.extend("GroupId", { constraint: "none" }),
|
|
32
|
+
addGroupIfIdentifying.fields.extend("GroupName", { constraint: "none" })
|
|
33
|
+
),
|
|
34
|
+
addGroupResponse.extend(void 0, addGroupResponse.fields.extend("GroupId", { constraint: "none" })),
|
|
35
|
+
viewGroupResponse.extend(
|
|
36
|
+
void 0,
|
|
37
|
+
viewGroupResponse.fields.extend("GroupId", { constraint: "none" }),
|
|
38
|
+
viewGroupResponse.fields.extend("GroupName", { constraint: "none" })
|
|
39
|
+
),
|
|
40
|
+
removeGroupResponse.extend(void 0, removeGroupResponse.fields.extend("GroupId", { constraint: "none" }))
|
|
23
41
|
);
|
|
24
42
|
const GroupsBase = GroupsBehavior.for(Groups, GroupsSchema).with(Groups.Feature.GroupNames);
|
|
25
43
|
class GroupsServer extends GroupsBase {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/behaviors/groups/GroupsServer.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,gCAAgC;AACzC,SAAS,wBAAwB;AACjC,SAAS,8BAA8B;AAEvC,SAAS,oBAAoB;AAC7B,SAAS,eAAe,cAAc;AACtC,SAAS,yBAAiC;AAC1C,SAAS,YAAY,2BAA2B;AAChD,SAAS,cAAc;AACvB,SAAS,sBAAsB;AAE/B,MAAM,SAAS,OAAO,IAAI,cAAc;AAMxC,MAAM,EAAE,SAAS,IAAI,OAAO;AAC5B,MAAM,WAAW,SAAS,QAAQ,UAAU;AAC5C,MAAM,wBAAwB,SAAS,QAAQ,uBAAuB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["fabric"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerEndpointStores.d.ts","sourceRoot":"","sources":["../../../../src/storage/server/ServerEndpointStores.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D;;GAEG;AACH,qBAAa,oBAAoB;;IAUvB,IAAI,CAAC,OAAO,EAAE,cAAc;IAyB5B,KAAK;
|
|
1
|
+
{"version":3,"file":"ServerEndpointStores.d.ts","sourceRoot":"","sources":["../../../../src/storage/server/ServerEndpointStores.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D;;GAEG;AACH,qBAAa,oBAAoB;;IAUvB,IAAI,CAAC,OAAO,EAAE,cAAc;IAyB5B,KAAK;IAmBL,KAAK;IAcX;;;;;;;;OAQG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ;IAmD/B;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,mBAAmB;IAiBzD;;OAEG;IACH,0BAA0B,CAAC,QAAQ,EAAE,QAAQ;IAY7C;;OAEG;IACG,qBAAqB,CAAC,QAAQ,EAAE,QAAQ;CAuDjD"}
|
|
@@ -38,9 +38,7 @@ class ServerEndpointStores {
|
|
|
38
38
|
if (!storage) {
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
|
-
|
|
42
|
-
await this.#numbersPersisted;
|
|
43
|
-
}
|
|
41
|
+
await this.#awaitPendingPersistence();
|
|
44
42
|
this.#storage = void 0;
|
|
45
43
|
await storage.clearAll();
|
|
46
44
|
this.#allocatedNumbers = /* @__PURE__ */ new Set();
|
|
@@ -49,6 +47,9 @@ class ServerEndpointStores {
|
|
|
49
47
|
await this.load(storage);
|
|
50
48
|
}
|
|
51
49
|
async close() {
|
|
50
|
+
await this.#awaitPendingPersistence();
|
|
51
|
+
}
|
|
52
|
+
async #awaitPendingPersistence() {
|
|
52
53
|
if (this.#numbersPersisted) {
|
|
53
54
|
await this.#numbersPersisted;
|
|
54
55
|
}
|
|
@@ -69,7 +70,7 @@ class ServerEndpointStores {
|
|
|
69
70
|
const store = this.storeForEndpoint(endpoint);
|
|
70
71
|
if (endpoint.lifecycle.hasNumber) {
|
|
71
72
|
if (this.#allocatedNumbers.has(endpoint.number)) {
|
|
72
|
-
if (
|
|
73
|
+
if (store.number !== endpoint.number) {
|
|
73
74
|
throw new IdentityConflictError(
|
|
74
75
|
`Endpoint ${endpoint.id} number ${endpoint.number} is allocated to another endpoint`
|
|
75
76
|
);
|
|
@@ -102,7 +103,7 @@ class ServerEndpointStores {
|
|
|
102
103
|
}
|
|
103
104
|
this.#allocatedNumbers.add(endpoint.number);
|
|
104
105
|
store.number = endpoint.number;
|
|
105
|
-
this.#persistNumber(
|
|
106
|
+
this.#persistNumber(store);
|
|
106
107
|
}
|
|
107
108
|
/**
|
|
108
109
|
* Obtain the store for a single {@link Endpoint}.
|
|
@@ -152,25 +153,24 @@ class ServerEndpointStores {
|
|
|
152
153
|
/**
|
|
153
154
|
* Lazily persist a newly allocated number and the next number.
|
|
154
155
|
*/
|
|
155
|
-
#persistNumber(
|
|
156
|
+
#persistNumber(store) {
|
|
156
157
|
if (this.#numbersToPersist) {
|
|
157
|
-
this.#numbersToPersist.push(
|
|
158
|
+
this.#numbersToPersist.push(store);
|
|
158
159
|
return;
|
|
159
160
|
}
|
|
160
|
-
this.#numbersToPersist = [
|
|
161
|
+
this.#numbersToPersist = [store];
|
|
161
162
|
const numberPersister = async () => {
|
|
162
163
|
const numbersToPersist = this.#numbersToPersist;
|
|
163
164
|
if (!numbersToPersist) {
|
|
164
165
|
return;
|
|
165
166
|
}
|
|
166
167
|
this.#numbersToPersist = void 0;
|
|
167
|
-
for (const
|
|
168
|
-
|
|
169
|
-
await store.saveNumber();
|
|
168
|
+
for (const store2 of numbersToPersist) {
|
|
169
|
+
await store2.saveNumber();
|
|
170
170
|
}
|
|
171
171
|
if (this.#nextNumber !== this.#persistedNextNumber) {
|
|
172
172
|
if (this.#storage === void 0) {
|
|
173
|
-
this.#premature("
|
|
173
|
+
this.#premature("Number persistence");
|
|
174
174
|
}
|
|
175
175
|
await this.#storage.set(NEXT_NUMBER_KEY, this.#nextNumber);
|
|
176
176
|
this.#persistedNextNumber = this.#nextNumber;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/storage/server/ServerEndpointStores.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,6BAA6B;AAEtC,SAAS,qBAAqB,eAAe,cAAc;AAC3D,SAAS,2BAA2B;AAEpC,MAAM,kBAAkB;AAExB,MAAM,SAAS,OAAO,IAAI,sBAAsB;AAKzC,MAAM,qBAAqB;AAAA,EAC9B;AAAA,EACA,oBAAoB,oBAAI,IAAY;AAAA,EACpC,uBAAuB,oBAAI,IAAY;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EAEA,MAAM,KAAK,SAAyB;AAChC,SAAK,WAAW;AAGhB,SAAK,cAAe,MAAM,KAAK,SAAS,IAAI,iBAAiB,CAAC,IAAK;AAEnE,QAAI,KAAK,cAAc,GAAG;AACtB,WAAK,cAAc;AAAA,IACvB,OAAO;AACH,WAAK,uBAAuB,KAAK;AAAA,IACrC;AAGA,SAAK,QAAQ,IAAI,oBAAoB,KAAK,QAAQ;AAClD,UAAM,KAAK,MAAM,KAAK;AAItB,SAAK,MAAM,MAAM,CAAC,EAAE,OAAO,MAAM;AAC7B,UAAI,WAAW,QAAW;AACtB,aAAK,qBAAqB,IAAI,MAAM;AAAA,MACxC;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,QAAQ;AACV,UAAM,UAAU,KAAK;AACrB,QAAI,CAAC,SAAS;AACV;AAAA,IACJ;AAEA,
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,6BAA6B;AAEtC,SAAS,qBAAqB,eAAe,cAAc;AAC3D,SAAS,2BAA2B;AAEpC,MAAM,kBAAkB;AAExB,MAAM,SAAS,OAAO,IAAI,sBAAsB;AAKzC,MAAM,qBAAqB;AAAA,EAC9B;AAAA,EACA,oBAAoB,oBAAI,IAAY;AAAA,EACpC,uBAAuB,oBAAI,IAAY;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EAEA,MAAM,KAAK,SAAyB;AAChC,SAAK,WAAW;AAGhB,SAAK,cAAe,MAAM,KAAK,SAAS,IAAI,iBAAiB,CAAC,IAAK;AAEnE,QAAI,KAAK,cAAc,GAAG;AACtB,WAAK,cAAc;AAAA,IACvB,OAAO;AACH,WAAK,uBAAuB,KAAK;AAAA,IACrC;AAGA,SAAK,QAAQ,IAAI,oBAAoB,KAAK,QAAQ;AAClD,UAAM,KAAK,MAAM,KAAK;AAItB,SAAK,MAAM,MAAM,CAAC,EAAE,OAAO,MAAM;AAC7B,UAAI,WAAW,QAAW;AACtB,aAAK,qBAAqB,IAAI,MAAM;AAAA,MACxC;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,QAAQ;AACV,UAAM,UAAU,KAAK;AACrB,QAAI,CAAC,SAAS;AACV;AAAA,IACJ;AAEA,UAAM,KAAK,yBAAyB;AAEpC,SAAK,WAAW;AAEhB,UAAM,QAAQ,SAAS;AAEvB,SAAK,oBAAoB,oBAAI,IAAI;AACjC,SAAK,cAAc;AACnB,SAAK,uBAAuB;AAE5B,UAAM,KAAK,KAAK,OAAO;AAAA,EAC3B;AAAA,EAEA,MAAM,QAAQ;AACV,UAAM,KAAK,yBAAyB;AAAA,EACxC;AAAA,EAEA,MAAM,2BAA2B;AAC7B,QAAI,KAAK,mBAAmB;AACxB,YAAM,KAAK;AAAA,IACf;AAAA,EACJ;AAAA,EAEA,WAAW,MAAqB;AAC5B,UAAM,IAAI,cAAc,GAAG,IAAI,kCAAkC;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,aAAa,UAAoB;AAC7B,UAAM,QAAQ,KAAK,iBAAiB,QAAQ;AAE5C,QAAI,SAAS,UAAU,WAAW;AAE9B,UAAI,KAAK,kBAAkB,IAAI,SAAS,MAAM,GAAG;AAC7C,YAAI,MAAM,WAAW,SAAS,QAAQ;AAClC,gBAAM,IAAI;AAAA,YACN,YAAY,SAAS,EAAE,WAAW,SAAS,MAAM;AAAA,UACrD;AAAA,QACJ;AACA;AAAA,MACJ;AAAA,IACJ,OAAO;AAEH,YAAM,cAAc,MAAM;AAC1B,UAAI,aAAa;AACb,YAAI,KAAK,kBAAkB,IAAI,WAAW,GAAG;AACzC,iBAAO,KAAK,iBAAiB,WAAW,qDAAqD;AAAA,QACjG,OAAO;AACH,eAAK,qBAAqB,OAAO,WAAW;AAC5C,eAAK,kBAAkB,IAAI,WAAW;AACtC,mBAAS,SAAS;AAClB;AAAA,QACJ;AAAA,MACJ;AAEA,YAAM,cAAc,KAAK;AAEzB,aACI,KAAK,cAAc,KACnB,KAAK,kBAAkB,IAAI,KAAK,WAAW,KAC3C,KAAK,qBAAqB,IAAI,KAAK,WAAW,GAChD;AACE,aAAK,eAAe,KAAK,cAAc,KAAK;AAC5C,YAAI,KAAK,gBAAgB,aAAa;AAClC,gBAAM,IAAI;AAAA,YACN;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAEA,YAAM,SAAS,KAAK;AACpB,eAAS,SAAS;AAAA,IACtB;AAEA,SAAK,kBAAkB,IAAI,SAAS,MAAM;AAC1C,UAAM,SAAS,SAAS;AACxB,SAAK,eAAe,KAAK;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,iBAAiB,UAAyC;AACtD,QAAI,SAAS,gBAAgB,GAAG;AAC5B,UAAI,KAAK,UAAU,QAAW;AAC1B,aAAK,WAAW,qBAAqB;AAAA,MACzC;AACA,aAAO,KAAK;AAAA,IAChB;AAEA,QAAI,CAAC,SAAS,OAAO;AACjB,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAEA,WAAO,KAAK,iBAAiB,SAAS,KAAK,EAAE,cAAc,QAAQ;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA,EAKA,2BAA2B,UAAoB;AAC3C,QAAI,SAAS,gBAAgB,GAAG;AAC5B,YAAM,IAAI,cAAc,mCAAmC;AAAA,IAC/D;AAEA,QAAI,CAAC,KAAK,kBAAkB,IAAI,SAAS,MAAM,GAAG;AAC9C;AAAA,IACJ;AACA,SAAK,kBAAkB,OAAO,SAAS,MAAM;AAC7C,SAAK,qBAAqB,IAAI,SAAS,MAAM;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,sBAAsB,UAAoB;AAC5C,QAAI,CAAC,SAAS,OAAO;AACjB,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,KAAK,iBAAiB,SAAS,KAAK,EAAE,mBAAmB,QAAQ;AAEvE,SAAK,kBAAkB,OAAO,SAAS,MAAM;AAC7C,SAAK,qBAAqB,OAAO,SAAS,MAAM;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA,EAKA,eAAe,OAA4B;AAGvC,QAAI,KAAK,mBAAmB;AACxB,WAAK,kBAAkB,KAAK,KAAK;AACjC;AAAA,IACJ;AAEA,SAAK,oBAAoB,CAAC,KAAK;AAE/B,UAAM,kBAAkB,YAAY;AAChC,YAAM,mBAAmB,KAAK;AAC9B,UAAI,CAAC,kBAAkB;AACnB;AAAA,MACJ;AAEA,WAAK,oBAAoB;AACzB,iBAAWA,UAAS,kBAAkB;AAClC,cAAMA,OAAM,WAAW;AAAA,MAC3B;AAEA,UAAI,KAAK,gBAAgB,KAAK,sBAAsB;AAChD,YAAI,KAAK,aAAa,QAAW;AAC7B,eAAK,WAAW,oBAAoB;AAAA,QACxC;AACA,cAAM,KAAK,SAAS,IAAI,iBAAiB,KAAK,WAAW;AACzD,aAAK,uBAAuB,KAAK;AAAA,MACrC;AAAA,IACJ;AAKA,QAAI,KAAK,mBAAmB;AACxB,WAAK,oBAAoB,KAAK,kBAAkB,KAAK,eAAe;AAAA,IACxE,OAAO;AACH,WAAK,oBAAoB,gBAAgB;AAAA,IAC7C;AAAA,EACJ;AACJ;",
|
|
5
|
+
"names": ["store"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerNodeStore.d.ts","sourceRoot":"","sources":["../../../../src/storage/server/ServerNodeStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAEH,KAAK,iBAAiB,EAGtB,YAAY,EAEZ,WAAW,EAGX,cAAc,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,SAAU,YAAW,YAAY;;gBAQtD,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;WAoBvC,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;IAItD,KAAK;
|
|
1
|
+
{"version":3,"file":"ServerNodeStore.d.ts","sourceRoot":"","sources":["../../../../src/storage/server/ServerNodeStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAEH,KAAK,iBAAiB,EAGtB,YAAY,EAEZ,WAAW,EAGX,cAAc,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,SAAU,YAAW,YAAY;;gBAQtD,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;WAoBvC,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;IAItD,KAAK;IAWX;;OAEG;IACH,IAAI,cAAc,yBAEjB;IAED;;OAEG;IACH,IAAI,YAAY,qBAEf;IAED;;OAEG;IACH,IAAI,OAAO,mBAEV;IAeD,gBAAgB,CAAC,QAAQ,EAAE,QAAQ;IAInC;;OAEG;IACY,QAAQ,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAWrD,KAAK;IAIC,IAAI;CAYb"}
|
|
@@ -44,6 +44,7 @@ class ServerNodeStore extends NodeStore {
|
|
|
44
44
|
}
|
|
45
45
|
async close() {
|
|
46
46
|
await this.construction.close(async () => {
|
|
47
|
+
await this.#endpointStores.close();
|
|
47
48
|
await this.#clientStores?.close();
|
|
48
49
|
await this.#bdxHandle?.close();
|
|
49
50
|
await this.#storageManager?.close();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/storage/server/ServerNodeStore.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/node",
|
|
3
|
-
"version": "0.17.0-alpha.0-
|
|
3
|
+
"version": "0.17.0-alpha.0-20260417-dc7d0a2db",
|
|
4
4
|
"description": "API for building Matter nodes",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -37,14 +37,14 @@
|
|
|
37
37
|
"#*": "./src/*"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@matter/general": "0.17.0-alpha.0-
|
|
41
|
-
"@matter/model": "0.17.0-alpha.0-
|
|
42
|
-
"@matter/types": "0.17.0-alpha.0-
|
|
43
|
-
"@matter/protocol": "0.17.0-alpha.0-
|
|
40
|
+
"@matter/general": "0.17.0-alpha.0-20260417-dc7d0a2db",
|
|
41
|
+
"@matter/model": "0.17.0-alpha.0-20260417-dc7d0a2db",
|
|
42
|
+
"@matter/types": "0.17.0-alpha.0-20260417-dc7d0a2db",
|
|
43
|
+
"@matter/protocol": "0.17.0-alpha.0-20260417-dc7d0a2db"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@matter/tools": "0.17.0-alpha.0-
|
|
47
|
-
"@matter/testing": "0.17.0-alpha.0-
|
|
46
|
+
"@matter/tools": "0.17.0-alpha.0-20260417-dc7d0a2db",
|
|
47
|
+
"@matter/testing": "0.17.0-alpha.0-20260417-dc7d0a2db"
|
|
48
48
|
},
|
|
49
49
|
"files": [
|
|
50
50
|
"dist/**/*",
|
|
@@ -24,11 +24,29 @@ const logger = Logger.get("GroupsServer");
|
|
|
24
24
|
const { commands } = Groups.schema;
|
|
25
25
|
const addGroup = commands.require("AddGroup");
|
|
26
26
|
const addGroupIfIdentifying = commands.require("AddGroupIfIdentifying");
|
|
27
|
+
const addGroupResponse = commands.require("AddGroupResponse");
|
|
28
|
+
const viewGroupResponse = commands.require("ViewGroupResponse");
|
|
29
|
+
const removeGroupResponse = commands.require("RemoveGroupResponse");
|
|
27
30
|
|
|
28
31
|
const GroupsSchema = Groups.schema.extend(
|
|
29
32
|
undefined,
|
|
30
|
-
addGroup.extend(
|
|
31
|
-
|
|
33
|
+
addGroup.extend(
|
|
34
|
+
undefined,
|
|
35
|
+
addGroup.fields.extend("GroupId", { constraint: "none" }),
|
|
36
|
+
addGroup.fields.extend("GroupName", { constraint: "none" }),
|
|
37
|
+
),
|
|
38
|
+
addGroupIfIdentifying.extend(
|
|
39
|
+
undefined,
|
|
40
|
+
addGroupIfIdentifying.fields.extend("GroupId", { constraint: "none" }),
|
|
41
|
+
addGroupIfIdentifying.fields.extend("GroupName", { constraint: "none" }),
|
|
42
|
+
),
|
|
43
|
+
addGroupResponse.extend(undefined, addGroupResponse.fields.extend("GroupId", { constraint: "none" })),
|
|
44
|
+
viewGroupResponse.extend(
|
|
45
|
+
undefined,
|
|
46
|
+
viewGroupResponse.fields.extend("GroupId", { constraint: "none" }),
|
|
47
|
+
viewGroupResponse.fields.extend("GroupName", { constraint: "none" }),
|
|
48
|
+
),
|
|
49
|
+
removeGroupResponse.extend(undefined, removeGroupResponse.fields.extend("GroupId", { constraint: "none" })),
|
|
32
50
|
);
|
|
33
51
|
|
|
34
52
|
// We enable group names by default
|
|
@@ -24,7 +24,7 @@ export class ServerEndpointStores {
|
|
|
24
24
|
#preAllocatedNumbers = new Set<number>();
|
|
25
25
|
#persistedNextNumber?: number;
|
|
26
26
|
#numbersPersisted?: Promise<void>;
|
|
27
|
-
#numbersToPersist?: Array<
|
|
27
|
+
#numbersToPersist?: Array<ServerEndpointStore>;
|
|
28
28
|
#nextNumber = 1;
|
|
29
29
|
#root?: ServerEndpointStore;
|
|
30
30
|
|
|
@@ -59,9 +59,7 @@ export class ServerEndpointStores {
|
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
await this.#numbersPersisted;
|
|
64
|
-
}
|
|
62
|
+
await this.#awaitPendingPersistence();
|
|
65
63
|
|
|
66
64
|
this.#storage = undefined;
|
|
67
65
|
|
|
@@ -75,7 +73,10 @@ export class ServerEndpointStores {
|
|
|
75
73
|
}
|
|
76
74
|
|
|
77
75
|
async close() {
|
|
78
|
-
|
|
76
|
+
await this.#awaitPendingPersistence();
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
async #awaitPendingPersistence() {
|
|
79
80
|
if (this.#numbersPersisted) {
|
|
80
81
|
await this.#numbersPersisted;
|
|
81
82
|
}
|
|
@@ -100,7 +101,7 @@ export class ServerEndpointStores {
|
|
|
100
101
|
if (endpoint.lifecycle.hasNumber) {
|
|
101
102
|
// Reserve number
|
|
102
103
|
if (this.#allocatedNumbers.has(endpoint.number)) {
|
|
103
|
-
if (
|
|
104
|
+
if (store.number !== endpoint.number) {
|
|
104
105
|
throw new IdentityConflictError(
|
|
105
106
|
`Endpoint ${endpoint.id} number ${endpoint.number} is allocated to another endpoint`,
|
|
106
107
|
);
|
|
@@ -142,7 +143,7 @@ export class ServerEndpointStores {
|
|
|
142
143
|
|
|
143
144
|
this.#allocatedNumbers.add(endpoint.number);
|
|
144
145
|
store.number = endpoint.number;
|
|
145
|
-
this.#persistNumber(
|
|
146
|
+
this.#persistNumber(store);
|
|
146
147
|
}
|
|
147
148
|
|
|
148
149
|
/**
|
|
@@ -201,15 +202,15 @@ export class ServerEndpointStores {
|
|
|
201
202
|
/**
|
|
202
203
|
* Lazily persist a newly allocated number and the next number.
|
|
203
204
|
*/
|
|
204
|
-
#persistNumber(
|
|
205
|
+
#persistNumber(store: ServerEndpointStore) {
|
|
205
206
|
// If there's already a set of numbers to persist there will be an outstanding promise that will do the work
|
|
206
207
|
// for us
|
|
207
208
|
if (this.#numbersToPersist) {
|
|
208
|
-
this.#numbersToPersist.push(
|
|
209
|
+
this.#numbersToPersist.push(store);
|
|
209
210
|
return;
|
|
210
211
|
}
|
|
211
212
|
|
|
212
|
-
this.#numbersToPersist = [
|
|
213
|
+
this.#numbersToPersist = [store];
|
|
213
214
|
|
|
214
215
|
const numberPersister = async () => {
|
|
215
216
|
const numbersToPersist = this.#numbersToPersist;
|
|
@@ -218,14 +219,13 @@ export class ServerEndpointStores {
|
|
|
218
219
|
}
|
|
219
220
|
|
|
220
221
|
this.#numbersToPersist = undefined;
|
|
221
|
-
for (const
|
|
222
|
-
const store = this.storeForEndpoint(endpoint);
|
|
222
|
+
for (const store of numbersToPersist) {
|
|
223
223
|
await store.saveNumber();
|
|
224
224
|
}
|
|
225
225
|
|
|
226
226
|
if (this.#nextNumber !== this.#persistedNextNumber) {
|
|
227
227
|
if (this.#storage === undefined) {
|
|
228
|
-
this.#premature("
|
|
228
|
+
this.#premature("Number persistence");
|
|
229
229
|
}
|
|
230
230
|
await this.#storage.set(NEXT_NUMBER_KEY, this.#nextNumber);
|
|
231
231
|
this.#persistedNextNumber = this.#nextNumber;
|
|
@@ -66,6 +66,7 @@ export class ServerNodeStore extends NodeStore implements Destructable {
|
|
|
66
66
|
|
|
67
67
|
async close() {
|
|
68
68
|
await this.construction.close(async () => {
|
|
69
|
+
await this.#endpointStores.close();
|
|
69
70
|
await this.#clientStores?.close();
|
|
70
71
|
await this.#bdxHandle?.close();
|
|
71
72
|
await this.#storageManager?.close();
|