@matter/node 0.15.0-alpha.0-20250619-df2264f15 → 0.15.0-alpha.0-20250624-e8c89f458
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/behavior/Events.d.ts +1 -1
- package/dist/cjs/behavior/Events.js +1 -1
- package/dist/cjs/behavior/Transitions.d.ts +1 -1
- package/dist/cjs/behavior/Transitions.js +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehaviorCache.d.ts +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehaviorCache.js +1 -1
- package/dist/cjs/behavior/context/server/OfflineContext.d.ts +1 -1
- package/dist/cjs/behavior/context/server/OfflineContext.js +1 -1
- package/dist/cjs/behavior/state/validation/conformance-compiler.d.ts.map +1 -1
- package/dist/cjs/behavior/state/validation/conformance-compiler.js +13 -3
- package/dist/cjs/behavior/state/validation/conformance-compiler.js.map +2 -2
- package/dist/cjs/node/server/ProtocolService.d.ts +1 -1
- package/dist/cjs/node/server/ProtocolService.js +1 -1
- package/dist/esm/behavior/Events.d.ts +1 -1
- package/dist/esm/behavior/Events.js +1 -1
- package/dist/esm/behavior/Transitions.d.ts +1 -1
- package/dist/esm/behavior/Transitions.js +1 -1
- package/dist/esm/behavior/cluster/ClusterBehaviorCache.d.ts +1 -1
- package/dist/esm/behavior/cluster/ClusterBehaviorCache.js +1 -1
- package/dist/esm/behavior/context/server/OfflineContext.d.ts +1 -1
- package/dist/esm/behavior/context/server/OfflineContext.js +1 -1
- package/dist/esm/behavior/state/validation/conformance-compiler.d.ts.map +1 -1
- package/dist/esm/behavior/state/validation/conformance-compiler.js +13 -3
- package/dist/esm/behavior/state/validation/conformance-compiler.js.map +1 -1
- package/dist/esm/node/server/ProtocolService.d.ts +1 -1
- package/dist/esm/node/server/ProtocolService.js +1 -1
- package/package.json +7 -7
- package/src/behavior/Events.ts +1 -1
- package/src/behavior/Transitions.ts +1 -1
- package/src/behavior/cluster/ClusterBehaviorCache.ts +1 -1
- package/src/behavior/context/server/OfflineContext.ts +1 -1
- package/src/behavior/state/validation/conformance-compiler.ts +14 -3
- package/src/node/server/ProtocolService.ts +1 -1
|
@@ -77,7 +77,7 @@ var import_types = require("@matter/types");
|
|
|
77
77
|
var import_NodeActivity = require("./context/NodeActivity.js");
|
|
78
78
|
/**
|
|
79
79
|
* @license
|
|
80
|
-
* Copyright 2022-2025
|
|
80
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
81
81
|
* SPDX-License-Identifier: Apache-2.0
|
|
82
82
|
*/
|
|
83
83
|
const logger = import_general.Logger.get("Logger");
|
|
@@ -25,7 +25,7 @@ var import_general = require("#general");
|
|
|
25
25
|
var import_OfflineContext = require("./context/server/OfflineContext.js");
|
|
26
26
|
/**
|
|
27
27
|
* @license
|
|
28
|
-
* Copyright 2022-2025
|
|
28
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
29
29
|
* SPDX-License-Identifier: Apache-2.0
|
|
30
30
|
*/
|
|
31
31
|
const logger = import_general.Logger.get("Transition");
|
|
@@ -23,7 +23,7 @@ __export(ClusterBehaviorCache_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(ClusterBehaviorCache_exports);
|
|
24
24
|
/**
|
|
25
25
|
* @license
|
|
26
|
-
* Copyright 2022-2025
|
|
26
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
27
27
|
* SPDX-License-Identifier: Apache-2.0
|
|
28
28
|
*/
|
|
29
29
|
const typeCache = /* @__PURE__ */ new WeakMap();
|
|
@@ -29,7 +29,7 @@ var import_Contextual = require("../Contextual.js");
|
|
|
29
29
|
var import_ContextAgents = require("./ContextAgents.js");
|
|
30
30
|
/**
|
|
31
31
|
* @license
|
|
32
|
-
* Copyright 2022-2025
|
|
32
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
33
33
|
* SPDX-License-Identifier: Apache-2.0
|
|
34
34
|
*/
|
|
35
35
|
let nextInternalId = 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conformance-compiler.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/state/validation/conformance-compiler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAgE,UAAU,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"conformance-compiler.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/state/validation/conformance-compiler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAgE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGlG,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAyBvE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,GAAG,eAAe,CAAC,QAAQ,GAAG,SAAS,CA2oBlH"}
|
|
@@ -24,6 +24,7 @@ module.exports = __toCommonJS(conformance_compiler_exports);
|
|
|
24
24
|
var import_general = require("#general");
|
|
25
25
|
var import_model = require("#model");
|
|
26
26
|
var import_protocol = require("#protocol");
|
|
27
|
+
var import_protocol2 = require("@matter/protocol");
|
|
27
28
|
var import_NameResolver = require("../managed/NameResolver.js");
|
|
28
29
|
var import_conformance_util = require("./conformance-util.js");
|
|
29
30
|
/**
|
|
@@ -31,6 +32,8 @@ var import_conformance_util = require("./conformance-util.js");
|
|
|
31
32
|
* Copyright 2022-2025 Matter.js Authors
|
|
32
33
|
* SPDX-License-Identifier: Apache-2.0
|
|
33
34
|
*/
|
|
35
|
+
const enumValueOk = () => {
|
|
36
|
+
};
|
|
34
37
|
function astToFunction(schema, supervisor) {
|
|
35
38
|
const ast = schema.conformance.ast;
|
|
36
39
|
const { featuresAvailable, featuresSupported } = import_model.FeatureSet.normalize(
|
|
@@ -366,7 +369,7 @@ function astToFunction(schema, supervisor) {
|
|
|
366
369
|
}
|
|
367
370
|
function disallowEnumValue(schema2) {
|
|
368
371
|
return (location) => {
|
|
369
|
-
throw new
|
|
372
|
+
throw new import_protocol2.EnumValueConformanceError(
|
|
370
373
|
schema2,
|
|
371
374
|
location,
|
|
372
375
|
`Matter does not allow enum value ${schema2.name} (ID ${schema2.effectiveId}) here`
|
|
@@ -395,7 +398,8 @@ function astToFunction(schema, supervisor) {
|
|
|
395
398
|
switch (compiledNode2.code) {
|
|
396
399
|
case import_conformance_util.Code.Conformant:
|
|
397
400
|
case import_conformance_util.Code.Optional:
|
|
398
|
-
|
|
401
|
+
memberValidator = enumValueOk;
|
|
402
|
+
break;
|
|
399
403
|
case import_conformance_util.Code.Nonconformant:
|
|
400
404
|
case import_conformance_util.Code.Disallowed:
|
|
401
405
|
memberValidator = disallowEnumValue(member);
|
|
@@ -432,7 +436,13 @@ function astToFunction(schema, supervisor) {
|
|
|
432
436
|
return (value, session, location) => {
|
|
433
437
|
mainValidator?.(value, session, location);
|
|
434
438
|
if (typeof value === "number") {
|
|
435
|
-
memberValidators[value]
|
|
439
|
+
if (!memberValidators[value]) {
|
|
440
|
+
throw new import_protocol2.UnknownEnumValueError(
|
|
441
|
+
location,
|
|
442
|
+
`Matter does not define the enum value ${value} for ${schema.name}`
|
|
443
|
+
);
|
|
444
|
+
}
|
|
445
|
+
memberValidators[value](location);
|
|
436
446
|
}
|
|
437
447
|
};
|
|
438
448
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/behavior/state/validation/conformance-compiler.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,qBAAyB;AAEzB,mBAAyF;AACzF,sBAAgF;
|
|
5
|
-
"names": ["ast", "lhs", "rhs", "name", "schema", "compiledNode"]
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["import_protocol", "ast", "lhs", "rhs", "name", "schema", "compiledNode"]
|
|
6
6
|
}
|
|
@@ -28,7 +28,7 @@ var import_protocol = require("#protocol");
|
|
|
28
28
|
var import_types = require("#types");
|
|
29
29
|
/**
|
|
30
30
|
* @license
|
|
31
|
-
* Copyright 2022-2025
|
|
31
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
32
32
|
* SPDX-License-Identifier: Apache-2.0
|
|
33
33
|
*/
|
|
34
34
|
const logger = import_general.Logger.get("ProtocolService");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conformance-compiler.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/state/validation/conformance-compiler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAgE,UAAU,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"conformance-compiler.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/state/validation/conformance-compiler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAgE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGlG,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAyBvE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,GAAG,eAAe,CAAC,QAAQ,GAAG,SAAS,CA2oBlH"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { camelize } from "#general";
|
|
7
7
|
import { Conformance, DataModelPath, FeatureSet, Metatype } from "#model";
|
|
8
8
|
import { ConformanceError, SchemaImplementationError } from "#protocol";
|
|
9
|
+
import { EnumValueConformanceError, UnknownEnumValueError } from "@matter/protocol";
|
|
9
10
|
import { NameResolver } from "../managed/NameResolver.js";
|
|
10
11
|
import {
|
|
11
12
|
Code,
|
|
@@ -21,6 +22,8 @@ import {
|
|
|
21
22
|
evaluateNode,
|
|
22
23
|
isStatic
|
|
23
24
|
} from "./conformance-util.js";
|
|
25
|
+
const enumValueOk = () => {
|
|
26
|
+
};
|
|
24
27
|
function astToFunction(schema, supervisor) {
|
|
25
28
|
const ast = schema.conformance.ast;
|
|
26
29
|
const { featuresAvailable, featuresSupported } = FeatureSet.normalize(
|
|
@@ -356,7 +359,7 @@ function astToFunction(schema, supervisor) {
|
|
|
356
359
|
}
|
|
357
360
|
function disallowEnumValue(schema2) {
|
|
358
361
|
return (location) => {
|
|
359
|
-
throw new
|
|
362
|
+
throw new EnumValueConformanceError(
|
|
360
363
|
schema2,
|
|
361
364
|
location,
|
|
362
365
|
`Matter does not allow enum value ${schema2.name} (ID ${schema2.effectiveId}) here`
|
|
@@ -385,7 +388,8 @@ function astToFunction(schema, supervisor) {
|
|
|
385
388
|
switch (compiledNode2.code) {
|
|
386
389
|
case Code.Conformant:
|
|
387
390
|
case Code.Optional:
|
|
388
|
-
|
|
391
|
+
memberValidator = enumValueOk;
|
|
392
|
+
break;
|
|
389
393
|
case Code.Nonconformant:
|
|
390
394
|
case Code.Disallowed:
|
|
391
395
|
memberValidator = disallowEnumValue(member);
|
|
@@ -422,7 +426,13 @@ function astToFunction(schema, supervisor) {
|
|
|
422
426
|
return (value, session, location) => {
|
|
423
427
|
mainValidator?.(value, session, location);
|
|
424
428
|
if (typeof value === "number") {
|
|
425
|
-
memberValidators[value]
|
|
429
|
+
if (!memberValidators[value]) {
|
|
430
|
+
throw new UnknownEnumValueError(
|
|
431
|
+
location,
|
|
432
|
+
`Matter does not define the enum value ${value} for ${schema.name}`
|
|
433
|
+
);
|
|
434
|
+
}
|
|
435
|
+
memberValidators[value](location);
|
|
426
436
|
}
|
|
427
437
|
};
|
|
428
438
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/behavior/state/validation/conformance-compiler.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,gBAAgB;AAEzB,SAAS,aAAa,eAAe,YAAwB,gBAA4B;AACzF,SAAwB,kBAAkB,iCAAsC;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["ast", "lhs", "rhs", "name", "schema", "compiledNode"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/node",
|
|
3
|
-
"version": "0.15.0-alpha.0-
|
|
3
|
+
"version": "0.15.0-alpha.0-20250624-e8c89f458",
|
|
4
4
|
"description": "API for building Matter nodes",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -42,14 +42,14 @@
|
|
|
42
42
|
"#*": "./src/*"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@matter/general": "0.15.0-alpha.0-
|
|
46
|
-
"@matter/model": "0.15.0-alpha.0-
|
|
47
|
-
"@matter/types": "0.15.0-alpha.0-
|
|
48
|
-
"@matter/protocol": "0.15.0-alpha.0-
|
|
45
|
+
"@matter/general": "0.15.0-alpha.0-20250624-e8c89f458",
|
|
46
|
+
"@matter/model": "0.15.0-alpha.0-20250624-e8c89f458",
|
|
47
|
+
"@matter/types": "0.15.0-alpha.0-20250624-e8c89f458",
|
|
48
|
+
"@matter/protocol": "0.15.0-alpha.0-20250624-e8c89f458"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@matter/tools": "0.15.0-alpha.0-
|
|
52
|
-
"@matter/testing": "0.15.0-alpha.0-
|
|
51
|
+
"@matter/tools": "0.15.0-alpha.0-20250624-e8c89f458",
|
|
52
|
+
"@matter/testing": "0.15.0-alpha.0-20250624-e8c89f458"
|
|
53
53
|
},
|
|
54
54
|
"files": [
|
|
55
55
|
"dist/**/*",
|
package/src/behavior/Events.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { camelize } from "#general";
|
|
|
9
9
|
import type { Schema } from "#model";
|
|
10
10
|
import { Conformance, DataModelPath, FeatureSet, FieldValue, Metatype, ValueModel } from "#model";
|
|
11
11
|
import { AccessControl, ConformanceError, SchemaImplementationError, Val } from "#protocol";
|
|
12
|
+
import { EnumValueConformanceError, UnknownEnumValueError } from "@matter/protocol";
|
|
12
13
|
import { ValueSupervisor } from "../../supervision/ValueSupervisor.js";
|
|
13
14
|
import { NameResolver } from "../managed/NameResolver.js";
|
|
14
15
|
import {
|
|
@@ -31,6 +32,9 @@ import {
|
|
|
31
32
|
} from "./conformance-util.js";
|
|
32
33
|
import { ValidationLocation } from "./location.js";
|
|
33
34
|
|
|
35
|
+
/** A no-op function used for valid enum values that have no specific conformance requirements. */
|
|
36
|
+
const enumValueOk: EnumMemberValidator = () => {};
|
|
37
|
+
|
|
34
38
|
/**
|
|
35
39
|
* Generates JS function equivalent of a conformance expression.
|
|
36
40
|
*
|
|
@@ -582,7 +586,7 @@ export function astToFunction(schema: ValueModel, supervisor: RootSupervisor): V
|
|
|
582
586
|
|
|
583
587
|
function disallowEnumValue(schema: Schema): EnumMemberValidator {
|
|
584
588
|
return location => {
|
|
585
|
-
throw new
|
|
589
|
+
throw new EnumValueConformanceError(
|
|
586
590
|
schema,
|
|
587
591
|
location,
|
|
588
592
|
`Matter does not allow enum value ${schema.name} (ID ${schema.effectiveId}) here`,
|
|
@@ -630,7 +634,8 @@ export function astToFunction(schema: ValueModel, supervisor: RootSupervisor): V
|
|
|
630
634
|
case Code.Conformant:
|
|
631
635
|
case Code.Optional:
|
|
632
636
|
// There's nothing to enforce here
|
|
633
|
-
|
|
637
|
+
memberValidator = enumValueOk;
|
|
638
|
+
break;
|
|
634
639
|
|
|
635
640
|
case Code.Nonconformant:
|
|
636
641
|
case Code.Disallowed:
|
|
@@ -688,8 +693,14 @@ export function astToFunction(schema: ValueModel, supervisor: RootSupervisor): V
|
|
|
688
693
|
mainValidator?.(value, session, location);
|
|
689
694
|
|
|
690
695
|
if (typeof value === "number") {
|
|
696
|
+
if (!memberValidators[value]) {
|
|
697
|
+
throw new UnknownEnumValueError(
|
|
698
|
+
location,
|
|
699
|
+
`Matter does not define the enum value ${value} for ${schema.name}`,
|
|
700
|
+
);
|
|
701
|
+
}
|
|
691
702
|
// Invoke the member validator if one exists for the selected value
|
|
692
|
-
memberValidators[value]
|
|
703
|
+
memberValidators[value](location);
|
|
693
704
|
}
|
|
694
705
|
};
|
|
695
706
|
}
|