@matter/node 0.17.9-alpha.0-20260805-cb9a8ce7b → 0.17.9

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 (65) hide show
  1. package/dist/cjs/behavior/state/managed/Datasource.d.ts +2 -1
  2. package/dist/cjs/behavior/state/managed/Datasource.d.ts.map +1 -1
  3. package/dist/cjs/behavior/state/managed/Datasource.js +1 -1
  4. package/dist/cjs/behavior/state/managed/Datasource.js.map +1 -1
  5. package/dist/cjs/behavior/state/managed/ManagedReference.d.ts +0 -5
  6. package/dist/cjs/behavior/state/managed/ManagedReference.d.ts.map +1 -1
  7. package/dist/cjs/behavior/state/managed/ManagedReference.js +19 -67
  8. package/dist/cjs/behavior/state/managed/ManagedReference.js.map +1 -1
  9. package/dist/cjs/behavior/state/managed/MemberKeys.d.ts +25 -0
  10. package/dist/cjs/behavior/state/managed/MemberKeys.d.ts.map +1 -0
  11. package/dist/cjs/behavior/state/managed/MemberKeys.js +47 -0
  12. package/dist/cjs/behavior/state/managed/MemberKeys.js.map +6 -0
  13. package/dist/cjs/behavior/state/managed/NameResolver.d.ts.map +1 -1
  14. package/dist/cjs/behavior/state/managed/NameResolver.js +2 -4
  15. package/dist/cjs/behavior/state/managed/NameResolver.js.map +1 -1
  16. package/dist/cjs/behavior/state/managed/ValReference.d.ts +7 -1
  17. package/dist/cjs/behavior/state/managed/ValReference.d.ts.map +1 -1
  18. package/dist/cjs/behavior/state/managed/values/StructManager.d.ts.map +1 -1
  19. package/dist/cjs/behavior/state/managed/values/StructManager.js +19 -20
  20. package/dist/cjs/behavior/state/managed/values/StructManager.js.map +1 -1
  21. package/dist/cjs/behavior/supervision/RootSupervisor.d.ts +2 -1
  22. package/dist/cjs/behavior/supervision/RootSupervisor.d.ts.map +1 -1
  23. package/dist/cjs/behavior/supervision/RootSupervisor.js +3 -9
  24. package/dist/cjs/behavior/supervision/RootSupervisor.js.map +1 -1
  25. package/dist/cjs/node/client/ClientStructure.d.ts +2 -1
  26. package/dist/cjs/node/client/ClientStructure.d.ts.map +1 -1
  27. package/dist/cjs/node/client/ClientStructure.js +2 -1
  28. package/dist/cjs/node/client/ClientStructure.js.map +1 -1
  29. package/dist/esm/behavior/state/managed/Datasource.d.ts +2 -1
  30. package/dist/esm/behavior/state/managed/Datasource.d.ts.map +1 -1
  31. package/dist/esm/behavior/state/managed/Datasource.js +1 -1
  32. package/dist/esm/behavior/state/managed/Datasource.js.map +1 -1
  33. package/dist/esm/behavior/state/managed/ManagedReference.d.ts +0 -5
  34. package/dist/esm/behavior/state/managed/ManagedReference.d.ts.map +1 -1
  35. package/dist/esm/behavior/state/managed/ManagedReference.js +19 -67
  36. package/dist/esm/behavior/state/managed/ManagedReference.js.map +1 -1
  37. package/dist/esm/behavior/state/managed/MemberKeys.d.ts +25 -0
  38. package/dist/esm/behavior/state/managed/MemberKeys.d.ts.map +1 -0
  39. package/dist/esm/behavior/state/managed/MemberKeys.js +27 -0
  40. package/dist/esm/behavior/state/managed/MemberKeys.js.map +6 -0
  41. package/dist/esm/behavior/state/managed/NameResolver.d.ts.map +1 -1
  42. package/dist/esm/behavior/state/managed/NameResolver.js +2 -4
  43. package/dist/esm/behavior/state/managed/NameResolver.js.map +1 -1
  44. package/dist/esm/behavior/state/managed/ValReference.d.ts +7 -1
  45. package/dist/esm/behavior/state/managed/ValReference.d.ts.map +1 -1
  46. package/dist/esm/behavior/state/managed/values/StructManager.d.ts.map +1 -1
  47. package/dist/esm/behavior/state/managed/values/StructManager.js +19 -20
  48. package/dist/esm/behavior/state/managed/values/StructManager.js.map +1 -1
  49. package/dist/esm/behavior/supervision/RootSupervisor.d.ts +2 -1
  50. package/dist/esm/behavior/supervision/RootSupervisor.d.ts.map +1 -1
  51. package/dist/esm/behavior/supervision/RootSupervisor.js +3 -9
  52. package/dist/esm/behavior/supervision/RootSupervisor.js.map +1 -1
  53. package/dist/esm/node/client/ClientStructure.d.ts +2 -1
  54. package/dist/esm/node/client/ClientStructure.d.ts.map +1 -1
  55. package/dist/esm/node/client/ClientStructure.js +2 -1
  56. package/dist/esm/node/client/ClientStructure.js.map +1 -1
  57. package/package.json +6 -6
  58. package/src/behavior/state/managed/Datasource.ts +3 -3
  59. package/src/behavior/state/managed/ManagedReference.ts +23 -68
  60. package/src/behavior/state/managed/MemberKeys.ts +55 -0
  61. package/src/behavior/state/managed/NameResolver.ts +2 -4
  62. package/src/behavior/state/managed/ValReference.ts +8 -1
  63. package/src/behavior/state/managed/values/StructManager.ts +20 -23
  64. package/src/behavior/supervision/RootSupervisor.ts +4 -9
  65. package/src/node/client/ClientStructure.ts +5 -3
@@ -47,7 +47,7 @@ export interface ValReference<T extends Val = Val> {
47
47
  * How this container keys its own members. Only a datasource root may key by element ID; every nested container
48
48
  * keys by property name (list entries, by index).
49
49
  */
50
- readonly primaryKey: "id" | "name";
50
+ readonly primaryKey: ValReference.PrimaryKey;
51
51
  /**
52
52
  * The managed value that owns the reference.
53
53
  */
@@ -65,4 +65,10 @@ export interface ValReference<T extends Val = Val> {
65
65
  */
66
66
  supervisionConfig?: Supervision.Config;
67
67
  }
68
+ export declare namespace ValReference {
69
+ /**
70
+ * How a container keys its own members.
71
+ */
72
+ type PrimaryKey = "id" | "name";
73
+ }
68
74
  //# sourceMappingURL=ValReference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ValReference.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/state/managed/ValReference.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG;IAC7C;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC;IAET;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC;IAEhD;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC;IAEnC;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC;IAEV;;OAEG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;CAC1C"}
1
+ {"version":3,"file":"ValReference.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/state/managed/ValReference.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG;IAC7C;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC;IAET;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC;IAEhD;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC;IAE7C;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC;IAEV;;OAEG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;CAC1C;AAED,yBAAiB,YAAY,CAAC,CAAC;IAC3B;;OAEG;IACH,KAAY,UAAU,GAAG,IAAI,GAAG,MAAM,CAAC;CAC1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"StructManager.d.ts","sourceRoot":"","sources":["../../../../../../src/behavior/state/managed/values/StructManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAmE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAExG,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAuB/E;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CA+G3F;AAED,yBAAiB,aAAa,CAAC,CAAC;IAC5B;;;;;;;;;OASG;IACH,SAAgB,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,QAKjF;CACJ"}
1
+ {"version":3,"file":"StructManager.d.ts","sourceRoot":"","sources":["../../../../../../src/behavior/state/managed/values/StructManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAmE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAExG,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAwB/E;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CA+G3F;AAED,yBAAiB,aAAa,CAAC,CAAC;IAC5B;;;;;;;;;OASG;IACH,SAAgB,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,QAKjF;CACJ"}
@@ -9,6 +9,7 @@ import { PhantomReferenceError, SchemaImplementationError, Val } from "@matter/p
9
9
  import { Instrumentation } from "../Instrumentation.js";
10
10
  import { Internal } from "../Internal.js";
11
11
  import { ManagedReference } from "../ManagedReference.js";
12
+ import { memberFallbackKeyFor, memberKeyFor, memberValueOf } from "../MemberKeys.js";
12
13
  import { NameResolver } from "../NameResolver.js";
13
14
  import { PrimitiveManager } from "./PrimitiveManager.js";
14
15
  const AUTHORIZE_READ = /* @__PURE__ */ Symbol("authorize-read");
@@ -112,17 +113,14 @@ function configureProperty(supervisor, schema) {
112
113
  set(value) {
113
114
  access.authorizeWrite(this[Internal.session], this[Internal.reference].location);
114
115
  const pk = this[Internal.reference].primaryKey;
115
- let key = ManagedReference.keyFor(this[Internal.reference], name, id);
116
+ let key = memberKeyFor(pk, name, id);
116
117
  let storedKey;
117
118
  if (key in this[Internal.reference].value) {
118
119
  storedKey = key;
119
- } else if (pk === "id") {
120
- if (name in this[Internal.reference].value) {
121
- storedKey = name;
122
- }
123
- } else if (id !== void 0) {
124
- if (id in this[Internal.reference].value) {
125
- storedKey = id;
120
+ } else {
121
+ const fallbackKey = memberFallbackKeyFor(pk, name, id);
122
+ if (fallbackKey !== void 0 && fallbackKey in this[Internal.reference].value) {
123
+ storedKey = fallbackKey;
126
124
  }
127
125
  }
128
126
  const oldValue = storedKey === void 0 ? void 0 : this[Internal.reference].value[storedKey];
@@ -187,15 +185,12 @@ function configureProperty(supervisor, schema) {
187
185
  return properties[name];
188
186
  }
189
187
  }
190
- const key = ManagedReference.keyFor(this[Internal.reference], name, id);
191
- if (key in struct) {
192
- return struct[key];
193
- }
194
- const key2 = this[Internal.reference].primaryKey === "id" ? name : id;
195
- if (key2 !== void 0 && key2 in struct) {
196
- return struct[key2];
197
- }
198
- return void 0;
188
+ const primaryKey = this[Internal.reference].primaryKey;
189
+ return memberValueOf(
190
+ struct,
191
+ memberKeyFor(primaryKey, name, id),
192
+ memberFallbackKeyFor(primaryKey, name, id)
193
+ );
199
194
  }
200
195
  };
201
196
  } else {
@@ -218,7 +213,8 @@ function configureProperty(supervisor, schema) {
218
213
  descriptor.get = function() {
219
214
  let value;
220
215
  const struct = this[Internal.reference].value;
221
- const key = ManagedReference.keyFor(this[Internal.reference], name, id);
216
+ const primaryKey = this[Internal.reference].primaryKey;
217
+ const key = memberKeyFor(primaryKey, name, id);
222
218
  if (struct[Val.properties]) {
223
219
  const properties = struct[Val.properties](
224
220
  this[Internal.reference].rootOwner,
@@ -231,8 +227,11 @@ function configureProperty(supervisor, schema) {
231
227
  }
232
228
  } else if (key in struct) {
233
229
  value = struct[key];
234
- } else if (id !== void 0 && key !== id && id in struct) {
235
- value = struct[id];
230
+ } else if (primaryKey === "name") {
231
+ const fallbackKey = memberFallbackKeyFor(primaryKey, name, id);
232
+ if (fallbackKey !== void 0 && fallbackKey in struct) {
233
+ value = struct[fallbackKey];
234
+ }
236
235
  }
237
236
  if (!access.mayRead(this[Internal.session], this[Internal.reference].location)) {
238
237
  return void 0;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/behavior/state/managed/values/StructManager.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["name", "StructManager", "value"]
6
6
  }
@@ -6,6 +6,7 @@
6
6
  import { FeatureSet, Model, ModelIndex, Schema, Scope, ValueModel } from "@matter/model";
7
7
  import { AccessControl } from "@matter/protocol";
8
8
  import { AttributeId } from "@matter/types";
9
+ import type { ValReference } from "../state/managed/ValReference.js";
9
10
  import { ValueSupervisor } from "./ValueSupervisor.js";
10
11
  /**
11
12
  * A RootSupervisor is a {@link ValueSupervisor} that supervises a specific root {@link Schema}. It acts as a factory
@@ -47,7 +48,7 @@ export declare class RootSupervisor implements ValueSupervisor {
47
48
  /**
48
49
  * Retrieve names or IDs of fields configured as non-volatile.
49
50
  */
50
- persistentKeys(key?: "id" | "name"): Set<string>;
51
+ persistentKeys(primaryKey?: ValReference.PrimaryKey): Set<string>;
51
52
  get propertyNamesAndIds(): Map<string, AttributeId | undefined>;
52
53
  /**
53
54
  * Reverse of {@link propertyNamesAndIds}: maps attribute ID strings to property names.
@@ -1 +1 @@
1
- {"version":3,"file":"RootSupervisor.d.ts","sourceRoot":"","sources":["../../../../src/behavior/supervision/RootSupervisor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAKH,UAAU,EAEV,KAAK,EACL,UAAU,EACV,MAAM,EACN,KAAK,EACL,UAAU,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAO,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAavD;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,YAAW,eAAe;;IAalD;;;;OAIG;IACH,YAAY,MAAM,EAAE,MAAM,EAezB;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EACnC,MAAM,EAAE,CAAC,GACV,CAAC,SAAS,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAanE;IAED,IAAI,KAAK,mBAER;IAED,IAAI,MAAM,WAET;IAED,IAAI,KAAK,UAER;IAED,IAAI,MAAM,kBAET;IAED,IAAI,QAAQ,yCAEX;IAED,IAAI,MAAM,2BAET;IAED,IAAI,KAAK,0BAER;IAED,IAAI,IAAI,yBAEP;IAED;;OAEG;IACH,IAAI,WAAW,gBAUd;IAED;;OAEG;IACH,cAAc,CAAC,GAAG,GAAE,IAAI,GAAG,MAAe,eAsBzC;IAED,IAAI,mBAAmB,yCAUtB;IAED;;OAEG;IACH,IAAI,mBAAmB,wBAatB;IAED;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAE,KAAK,CAAC,aAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAKtG;IAED;;OAEG;IACH,IAAI,UAAU,qDAEb;IAED;;OAEG;IACH,IAAI,iBAAiB,eAEpB;IAED;;;;;OAKG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAsBnC;CAsEJ"}
1
+ {"version":3,"file":"RootSupervisor.d.ts","sourceRoot":"","sources":["../../../../src/behavior/supervision/RootSupervisor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAKH,UAAU,EAEV,KAAK,EACL,UAAU,EACV,MAAM,EACN,KAAK,EACL,UAAU,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAO,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAKrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAavD;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,YAAW,eAAe;;IAalD;;;;OAIG;IACH,YAAY,MAAM,EAAE,MAAM,EAezB;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EACnC,MAAM,EAAE,CAAC,GACV,CAAC,SAAS,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAanE;IAED,IAAI,KAAK,mBAER;IAED,IAAI,MAAM,WAET;IAED,IAAI,KAAK,UAER;IAED,IAAI,MAAM,kBAET;IAED,IAAI,QAAQ,yCAEX;IAED,IAAI,MAAM,2BAET;IAED,IAAI,KAAK,0BAER;IAED,IAAI,IAAI,yBAEP;IAED;;OAEG;IACH,IAAI,WAAW,gBAUd;IAED;;OAEG;IACH,cAAc,CAAC,UAAU,GAAE,YAAY,CAAC,UAAmB,eAe1D;IAED,IAAI,mBAAmB,yCAUtB;IAED;;OAEG;IACH,IAAI,mBAAmB,wBAatB;IAED;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAE,KAAK,CAAC,aAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAKtG;IAED;;OAEG;IACH,IAAI,UAAU,qDAEb;IAED;;OAEG;IACH,IAAI,iBAAiB,eAEpB;IAED;;;;;OAKG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAsBnC;CAsEJ"}
@@ -14,6 +14,7 @@ import {
14
14
  Scope
15
15
  } from "@matter/model";
16
16
  import { AccessControl } from "@matter/protocol";
17
+ import { memberKeyFor } from "../state/managed/MemberKeys.js";
17
18
  import { ValueCaster } from "../state/managed/values/ValueCaster.js";
18
19
  import { ValueManager } from "../state/managed/values/ValueManager.js";
19
20
  import { ValuePatcher } from "../state/managed/values/ValuePatcher.js";
@@ -105,19 +106,12 @@ class RootSupervisor {
105
106
  /**
106
107
  * Retrieve names or IDs of fields configured as non-volatile.
107
108
  */
108
- persistentKeys(key = "name") {
109
+ persistentKeys(primaryKey = "name") {
109
110
  const persistent = /* @__PURE__ */ new Set();
110
111
  for (const member of this.#members) {
111
112
  if (member.effectiveQuality.nonvolatile || // Persist all writable attributes in addition to those officially marked as nonvolatile
112
113
  member.tag === ElementTag.Attribute && (member.effectiveAccess.writable || member.effectiveAccess.fabricScoped)) {
113
- if (key === "id") {
114
- const id = member.effectiveId;
115
- if (id !== void 0) {
116
- persistent.add(id.toString());
117
- continue;
118
- }
119
- }
120
- persistent.add(member.propertyName);
114
+ persistent.add(String(memberKeyFor(primaryKey, member.propertyName, member.effectiveId)));
121
115
  }
122
116
  }
123
117
  return persistent;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/behavior/supervision/RootSupervisor.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -6,6 +6,7 @@
6
6
  import { ClusterBehavior } from "#behavior/cluster/ClusterBehavior.js";
7
7
  import type { ClusterBehaviorType } from "#behavior/cluster/ClusterBehaviorType.js";
8
8
  import { Datasource } from "#behavior/state/managed/Datasource.js";
9
+ import type { ValReference } from "#behavior/state/managed/ValReference.js";
9
10
  import { Endpoint } from "#endpoint/Endpoint.js";
10
11
  import type { Node } from "#node/Node.js";
11
12
  import type { StateStream } from "#node/integration/StateStream.js";
@@ -76,7 +77,7 @@ export declare namespace ClientStructure {
76
77
  /**
77
78
  * Creates a {@link Datasource.ExternallyMutableStore} for a behavior on an endpoint.
78
79
  */
79
- type StoreFactory = (endpoint: Endpoint, behaviorId: string, primaryKey: "id" | "name") => Datasource.ExternallyMutableStore;
80
+ type StoreFactory = (endpoint: Endpoint, behaviorId: string, primaryKey: ValReference.PrimaryKey) => Datasource.ExternallyMutableStore;
80
81
  interface Options {
81
82
  /**
82
83
  * Factory for command implementations used when generating peer behaviors.
@@ -1 +1 @@
1
- {"version":3,"file":"ClientStructure.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientStructure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClientStructure.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientStructure.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Datasource } from "#behavior/state/managed/Datasource.js";
7
+ import { memberValueOf } from "#behavior/state/managed/MemberKeys.js";
7
8
  import { Endpoint } from "#endpoint/Endpoint.js";
8
9
  import { EndpointType } from "#endpoint/type/EndpointType.js";
9
10
  import { RootEndpoint } from "#endpoints/root";
@@ -46,7 +47,7 @@ function getStoreValue(values, id, name) {
46
47
  if (values === void 0) {
47
48
  return void 0;
48
49
  }
49
- return id in values ? values[id] : values[name];
50
+ return memberValueOf(values, id, name);
50
51
  }
51
52
  class ClientStructure {
52
53
  #storeFactory;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/node/client/ClientStructure.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["id", "endpoint", "cluster"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/node",
3
- "version": "0.17.9-alpha.0-20260805-cb9a8ce7b",
3
+ "version": "0.17.9",
4
4
  "description": "API for building Matter nodes",
5
5
  "keywords": [
6
6
  "iot",
@@ -36,14 +36,14 @@
36
36
  "#*": "./src/*"
37
37
  },
38
38
  "dependencies": {
39
- "@matter/general": "0.17.9-alpha.0-20260805-cb9a8ce7b",
40
- "@matter/model": "0.17.9-alpha.0-20260805-cb9a8ce7b",
41
- "@matter/types": "0.17.9-alpha.0-20260805-cb9a8ce7b",
42
- "@matter/protocol": "0.17.9-alpha.0-20260805-cb9a8ce7b"
39
+ "@matter/general": "0.17.9",
40
+ "@matter/model": "0.17.9",
41
+ "@matter/types": "0.17.9",
42
+ "@matter/protocol": "0.17.9"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@nacho-iot/js-tools": "^0.1.7",
46
- "@matter/testing": "0.17.9-alpha.0-20260805-cb9a8ce7b"
46
+ "@matter/testing": "0.17.9"
47
47
  },
48
48
  "files": [
49
49
  "dist/**/*",
@@ -150,7 +150,7 @@ export namespace Datasource {
150
150
  *
151
151
  * For structs we also support the other key (id or name) for input, but always write using the preferred key.
152
152
  */
153
- primaryKey?: "name" | "id";
153
+ primaryKey?: ValReference.PrimaryKey;
154
154
 
155
155
  /**
156
156
  * Optional callback, invoked when properties change.
@@ -277,7 +277,7 @@ class DatasourceImpl implements Datasource, Datasource.ExternallyMutableStore.Co
277
277
  onChange?: (attrs: string[]) => MaybePromise<void>;
278
278
 
279
279
  // Computed state
280
- primaryKey: "name" | "id";
280
+ primaryKey: ValReference.PrimaryKey;
281
281
  version: number;
282
282
  manageVersion: boolean;
283
283
  events: Datasource.Events;
@@ -348,7 +348,7 @@ class DatasourceImpl implements Datasource, Datasource.ExternallyMutableStore.Co
348
348
 
349
349
  this.version = options.entropy.randomUint32;
350
350
  this.manageVersion = true;
351
- this.persistentFields = options.supervisor.persistentKeys(options.primaryKey);
351
+ this.persistentFields = options.supervisor.persistentKeys(this.primaryKey);
352
352
 
353
353
  this.#configureExternalChanges();
354
354
 
@@ -6,6 +6,7 @@
6
6
 
7
7
  import { AccessControl, ExpiredReferenceError, Val } from "@matter/protocol";
8
8
  import type { Supervision } from "../../supervision/Supervision.js";
9
+ import { memberFallbackKeyFor, memberKeyFor, memberValueOf } from "./MemberKeys.js";
9
10
  import type { ValReference } from "./ValReference.js";
10
11
 
11
12
  type Container = Record<string | number, Val>;
@@ -31,20 +32,12 @@ export class ManagedReference implements ValReference {
31
32
  readonly primaryKey = "name";
32
33
  parent;
33
34
 
34
- /**
35
- * The key a member occupies in `parent.value`. Readers of a container must resolve members with this so they agree
36
- * with the slot a {@link ManagedReference} registers itself and writes its value under.
37
- */
38
- static keyFor(parent: ValReference, name: string | number, id: number | undefined) {
39
- return parent.primaryKey === "id" ? (id ?? name) : name;
40
- }
41
-
42
35
  subrefs?: Record<number | string, ValReference>;
43
36
  owner?: Val;
44
37
  supervisionConfig?: Supervision.Config;
45
38
 
46
39
  #key: string | number;
47
- #altKey: string | number | undefined;
40
+ #fallbackKey: string | number | undefined;
48
41
  #assertWriteOk: (value: Val) => void;
49
42
  #clone: ((container: Val) => Val) | undefined;
50
43
  #session: AccessControl.Session;
@@ -79,18 +72,18 @@ export class ManagedReference implements ValReference {
79
72
  path: parent.location.path.at(name),
80
73
  };
81
74
 
82
- const key = ManagedReference.keyFor(parent, name, id);
83
- const altKey = parent.primaryKey === "id" ? (key === name ? undefined : name) : id;
75
+ const key = memberKeyFor(parent.primaryKey, name, id);
76
+ const fallbackKey = memberFallbackKeyFor(parent.primaryKey, name, id);
84
77
  this.#key = key;
85
- this.#altKey = altKey;
78
+ this.#fallbackKey = fallbackKey;
86
79
 
87
80
  let dynamicContainer: Val.Struct | undefined;
88
81
  if ((parent.value as Val.Dynamic)[Val.properties]) {
89
82
  dynamicContainer = (parent.value as Val.Dynamic)[Val.properties](parent.rootOwner, session);
90
83
  if (key in (dynamicContainer as Container)) {
91
84
  this.#value = (dynamicContainer as Container)[key];
92
- } else if (altKey !== undefined && altKey in (dynamicContainer as Container)) {
93
- this.#value = (dynamicContainer as Container)[altKey];
85
+ } else if (fallbackKey !== undefined && fallbackKey in (dynamicContainer as Container)) {
86
+ this.#value = (dynamicContainer as Container)[fallbackKey];
94
87
  } else {
95
88
  dynamicContainer = undefined;
96
89
  }
@@ -98,11 +91,7 @@ export class ManagedReference implements ValReference {
98
91
  this.#dynamicContainer = dynamicContainer;
99
92
 
100
93
  if (dynamicContainer === undefined) {
101
- if (key in (parent.value as Container)) {
102
- this.#value = (parent.value as Container)[key];
103
- } else if (altKey !== undefined) {
104
- this.#value = (parent.value as Container)[altKey];
105
- }
94
+ this.#value = memberValueOf(parent.value as Container, key, fallbackKey);
106
95
  }
107
96
 
108
97
  // Propagate supervision config from parent
@@ -139,17 +128,7 @@ export class ManagedReference implements ValReference {
139
128
 
140
129
  // Now use change to complete the update
141
130
  this.change(() => {
142
- if (this.#dynamicContainer) {
143
- (this.#dynamicContainer as Container)[this.#key] = newValue;
144
- if (this.#altKey !== undefined && this.#altKey in this.#dynamicContainer) {
145
- delete (this.#dynamicContainer as Container)[this.#altKey];
146
- }
147
- } else {
148
- (this.parent!.value as Container)[this.#key] = newValue;
149
- if (this.#altKey !== undefined && this.#altKey in this.parent!.value) {
150
- delete (this.parent!.value as Container)[this.#altKey];
151
- }
152
- }
131
+ this.#writeTo(this.#dynamicContainer ?? (this.parent!.value as Container), newValue);
153
132
  });
154
133
  }
155
134
 
@@ -174,20 +153,9 @@ export class ManagedReference implements ValReference {
174
153
  this.parent!.rootOwner,
175
154
  this.#session,
176
155
  );
177
- if (this.#key in (origProperties as Container)) {
178
- return (origProperties as Container)[this.#key];
179
- }
180
- if (this.#altKey !== undefined) {
181
- return (origProperties as Container)[this.#altKey];
182
- }
183
- } else {
184
- if (this.#key in this.parent!.original) {
185
- return (this.parent!.original as Container)[this.#key];
186
- }
187
- if (this.#altKey !== undefined) {
188
- return (this.parent!.original as Container)[this.#altKey];
189
- }
156
+ return memberValueOf(origProperties as Container, this.#key, this.#fallbackKey);
190
157
  }
158
+ return memberValueOf(this.parent!.original as Container, this.#key, this.#fallbackKey);
191
159
  }
192
160
 
193
161
  change(mutator: () => void) {
@@ -199,17 +167,7 @@ export class ManagedReference implements ValReference {
199
167
  // In transactions, clone the value if we haven't done so yet
200
168
  if (this.#clone && this.#value === this.original) {
201
169
  const newValue = this.#clone(this.#value);
202
- if (this.#dynamicContainer !== undefined) {
203
- (this.#dynamicContainer as Container)[this.#key] = newValue;
204
- if (this.#altKey !== undefined && this.#altKey in this.#dynamicContainer) {
205
- delete (this.#dynamicContainer as Container)[this.#altKey];
206
- }
207
- } else {
208
- (this.parent!.value as Container)[this.#key] = newValue;
209
- if (this.#altKey !== undefined && this.#altKey in (this.parent!.value as Container)) {
210
- delete (this.parent!.value as Container)[this.#altKey];
211
- }
212
- }
170
+ this.#writeTo(this.#dynamicContainer ?? (this.parent!.value as Container), newValue);
213
171
  this.#replaceValue(newValue);
214
172
  }
215
173
 
@@ -229,24 +187,21 @@ export class ManagedReference implements ValReference {
229
187
  return;
230
188
  }
231
189
 
232
- let value;
233
- if (this.#dynamicContainer !== undefined) {
234
- if (this.#key in this.#dynamicContainer) {
235
- value = (this.#dynamicContainer as Container)[this.#key];
236
- } else if (this.#altKey !== undefined && this.#altKey in this.#dynamicContainer) {
237
- value = (this.#dynamicContainer as Container)[this.#altKey];
238
- }
239
- } else {
240
- if (this.#key in this.parent!.value) {
241
- value = (this.parent!.value as Container)[this.#key];
242
- } else if (this.#altKey !== undefined && this.#altKey in this.parent!.value) {
243
- value = (this.parent!.value as Container)[this.#altKey];
244
- }
245
- }
190
+ const value =
191
+ this.#dynamicContainer !== undefined
192
+ ? memberValueOf(this.#dynamicContainer as Container, this.#key, this.#fallbackKey)
193
+ : memberValueOf(this.parent!.value as Container, this.#key, this.#fallbackKey);
246
194
 
247
195
  this.#replaceValue(value);
248
196
  }
249
197
 
198
+ #writeTo(container: Container, newValue: Val) {
199
+ container[this.#key] = newValue;
200
+ if (this.#fallbackKey !== undefined && this.#fallbackKey in container) {
201
+ delete container[this.#fallbackKey];
202
+ }
203
+ }
204
+
250
205
  #replaceValue(newValue: Val) {
251
206
  this.#value = newValue;
252
207