@zwave-js/cc 14.3.0 → 14.3.2
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/build/cjs/cc/EntryControlCC.js +6 -3
- package/build/cjs/cc/EntryControlCC.js.map +2 -2
- package/build/cjs/cc/SecurityCC.js +2 -3
- package/build/cjs/cc/SecurityCC.js.map +2 -2
- package/build/cjs/index_browser.d.ts +0 -2
- package/build/cjs/index_browser.js +0 -4
- package/build/cjs/index_browser.js.map +2 -2
- package/build/cjs/index_safe.js.map +2 -2
- package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC.js +8 -4
- package/build/esm/cc/EntryControlCC.js.map +1 -1
- package/build/esm/cc/SecurityCC.d.ts.map +1 -1
- package/build/esm/cc/SecurityCC.js +1 -2
- package/build/esm/cc/SecurityCC.js.map +1 -1
- package/build/esm/index_browser.d.ts +0 -2
- package/build/esm/index_browser.d.ts.map +1 -1
- package/build/esm/index_browser.js +1 -2
- package/build/esm/index_browser.js.map +1 -1
- package/build/esm/index_safe.d.ts.map +1 -1
- package/build/esm/index_safe.js +1 -0
- package/build/esm/index_safe.js.map +1 -1
- package/package.json +5 -5
|
@@ -400,11 +400,14 @@ let EntryControlCCNotification = (() => {
|
|
|
400
400
|
if (!noStrictValidation) {
|
|
401
401
|
(0, import_safe.validatePayload)(eventDataLength === 16 || eventDataLength === 32);
|
|
402
402
|
}
|
|
403
|
-
|
|
403
|
+
let paddingStart = eventDataLength;
|
|
404
|
+
while (paddingStart > 0 && eventData[paddingStart - 1] === 255) {
|
|
405
|
+
paddingStart--;
|
|
406
|
+
}
|
|
407
|
+
eventData = eventData.subarray(0, paddingStart).toString("ascii");
|
|
404
408
|
if (!noStrictValidation) {
|
|
405
|
-
(0, import_safe.validatePayload)(/^[\u0000-\u007f]
|
|
409
|
+
(0, import_safe.validatePayload)(/^[\u0000-\u007f]+$/.test(eventData));
|
|
406
410
|
}
|
|
407
|
-
eventData = eventData.replace(/[\u00ff]*$/, "");
|
|
408
411
|
break;
|
|
409
412
|
case import_Types.EntryControlDataTypes.MD5:
|
|
410
413
|
if (!noStrictValidation) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cc/EntryControlCC.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n\tCommandClasses,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tgetCCName,\n\tparseBitMask,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { buffer2hex, pick } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\ttype SetValueImplementation,\n\tthrowUnsupportedProperty,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValueProperty,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport {\n\tEntryControlCommand,\n\tEntryControlDataTypes,\n\tEntryControlEventTypes,\n} from \"../lib/_Types.js\";\nimport * as ccUtils from \"../lib/utils.js\";\n\nexport const EntryControlCCValues = Object.freeze({\n\t...V.defineStaticCCValues(CommandClasses[\"Entry Control\"], {\n\t\t...V.staticProperty(\n\t\t\t\"keyCacheSize\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Key cache size\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Number of character that must be stored before sending\",\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 32,\n\t\t\t} as const,\n\t\t),\n\n\t\t...V.staticProperty(\n\t\t\t\"keyCacheTimeout\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Key cache timeout\",\n\t\t\t\tunit: \"seconds\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"How long the key cache must wait for additional characters\",\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 10,\n\t\t\t} as const,\n\t\t),\n\n\t\t...V.staticProperty(\"supportedDataTypes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportedEventTypes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportedKeys\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t}),\n});\n\n@API(CommandClasses[\"Entry Control\"])\nexport class EntryControlCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: EntryControlCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase EntryControlCommand.KeySupportedGet:\n\t\t\tcase EntryControlCommand.EventSupportedGet:\n\t\t\tcase EntryControlCommand.ConfigurationGet:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase EntryControlCommand.ConfigurationSet:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getSupportedKeys() {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.KeySupportedGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCKeySupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tEntryControlCCKeySupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.supportedKeys;\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getEventCapabilities() {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.EventSupportedGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCEventSupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tEntryControlCCEventSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\n\t\t\t\t\"supportedDataTypes\",\n\t\t\t\t\"supportedEventTypes\",\n\t\t\t\t\"minKeyCacheSize\",\n\t\t\t\t\"maxKeyCacheSize\",\n\t\t\t\t\"minKeyCacheTimeout\",\n\t\t\t\t\"maxKeyCacheTimeout\",\n\t\t\t]);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getConfiguration() {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.ConfigurationGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCConfigurationGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tEntryControlCCConfigurationReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"keyCacheSize\", \"keyCacheTimeout\"]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async setConfiguration(\n\t\tkeyCacheSize: number,\n\t\tkeyCacheTimeout: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.ConfigurationGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCConfigurationSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tkeyCacheSize,\n\t\t\tkeyCacheTimeout,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(this: EntryControlCCAPI, { property }, value) {\n\t\t\tif (property !== \"keyCacheSize\" && property !== \"keyCacheTimeout\") {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t\tif (typeof value !== \"number\") {\n\t\t\t\tthrowWrongValueType(\n\t\t\t\t\tthis.ccId,\n\t\t\t\t\tproperty,\n\t\t\t\t\t\"number\",\n\t\t\t\t\ttypeof value,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tlet keyCacheSize = value;\n\t\t\tlet keyCacheTimeout = 2;\n\t\t\tif (property === \"keyCacheTimeout\") {\n\t\t\t\tkeyCacheTimeout = value;\n\n\t\t\t\tconst oldKeyCacheSize = this.tryGetValueDB()?.getValue<number>(\n\t\t\t\t\tEntryControlCCValues.keyCacheSize.endpoint(\n\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tif (oldKeyCacheSize == undefined) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The \"keyCacheTimeout\" property cannot be changed before the key cache size is known!`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tkeyCacheSize = oldKeyCacheSize;\n\t\t\t}\n\t\t\tconst result = await this.setConfiguration(\n\t\t\t\tkeyCacheSize,\n\t\t\t\tkeyCacheTimeout,\n\t\t\t);\n\n\t\t\t// Verify the change after a short delay, unless the command was supervised and successful\n\t\t\tif (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n\t\t\t\tthis.schedulePoll({ property }, value, { transition: \"fast\" });\n\t\t\t}\n\n\t\t\treturn result;\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: EntryControlCCAPI, { property }) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"keyCacheSize\":\n\t\t\t\tcase \"keyCacheTimeout\":\n\t\t\t\t\treturn (await this.getConfiguration())?.[property];\n\t\t\t}\n\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t};\n\t}\n}\n\n@commandClass(CommandClasses[\"Entry Control\"])\n@implementedVersion(1)\n@ccValues(EntryControlCCValues)\nexport class EntryControlCC extends CommandClass {\n\tdeclare ccCommand: EntryControlCommand;\n\n\tpublic determineRequiredCCInterviews(): readonly CommandClasses[] {\n\t\treturn [\n\t\t\t...super.determineRequiredCCInterviews(),\n\t\t\tCommandClasses.Association,\n\t\t\tCommandClasses[\"Multi Channel Association\"],\n\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t];\n\t}\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Entry Control\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\t// If one Association group issues Entry Control notifications,\n\t\t// we must associate ourselves with that channel\n\t\ttry {\n\t\t\tawait ccUtils.assignLifelineIssueingCommand(\n\t\t\t\tctx,\n\t\t\t\tendpoint,\n\t\t\t\tthis.ccId,\n\t\t\t\tEntryControlCommand.Notification,\n\t\t\t);\n\t\t} catch {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: endpoint.index,\n\t\t\t\tmessage: `Configuring associations to receive ${\n\t\t\t\t\tgetCCName(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t)\n\t\t\t\t} commands failed!`,\n\t\t\t\tlevel: \"warn\",\n\t\t\t});\n\t\t}\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"requesting entry control supported keys...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tconst supportedKeys = await api.getSupportedKeys();\n\t\tif (supportedKeys) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage:\n\t\t\t\t\t`received entry control supported keys: ${supportedKeys.toString()}`,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"requesting entry control supported events...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tconst eventCapabilities = await api.getEventCapabilities();\n\t\tif (eventCapabilities) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: `received entry control supported keys:\ndata types: ${\n\t\t\t\t\teventCapabilities.supportedDataTypes\n\t\t\t\t\t\t.map((e) => EntryControlDataTypes[e])\n\t\t\t\t\t\t.toString()\n\t\t\t\t}\nevent types: ${\n\t\t\t\t\teventCapabilities.supportedEventTypes\n\t\t\t\t\t\t.map((e) => EntryControlEventTypes[e])\n\t\t\t\t\t\t.toString()\n\t\t\t\t}\nmin key cache size: ${eventCapabilities.minKeyCacheSize}\nmax key cache size: ${eventCapabilities.maxKeyCacheSize}\nmin key cache timeout: ${eventCapabilities.minKeyCacheTimeout} seconds\nmax key cache timeout: ${eventCapabilities.maxKeyCacheTimeout} seconds`,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\n\t\tawait this.refreshValues(ctx);\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Entry Control\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"requesting entry control configuration...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tconst conf = await api.getConfiguration();\n\t\tif (conf) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: `received entry control configuration:\nkey cache size: ${conf.keyCacheSize}\nkey cache timeout: ${conf.keyCacheTimeout} seconds`,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\t}\n}\n\n// @publicAPI\nexport interface EntryControlCCNotificationOptions {\n\tsequenceNumber: number;\n\tdataType: EntryControlDataTypes;\n\teventType: EntryControlEventTypes;\n\teventData?: string | Bytes;\n}\n\n@CCCommand(EntryControlCommand.Notification)\nexport class EntryControlCCNotification extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCNotificationOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.sequenceNumber = options.sequenceNumber;\n\t\tthis.dataType = options.dataType;\n\t\tthis.eventType = options.eventType;\n\t\tthis.eventData = options.eventData;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCNotification {\n\t\tvalidatePayload(raw.payload.length >= 4);\n\t\tconst sequenceNumber = raw.payload[0];\n\t\tlet dataType: EntryControlDataTypes = raw.payload[1] & 0b11;\n\t\tconst eventType: EntryControlEventTypes = raw.payload[2];\n\t\tconst eventDataLength = raw.payload[3];\n\t\tvalidatePayload(eventDataLength >= 0 && eventDataLength <= 32);\n\t\tconst offset = 4;\n\t\tvalidatePayload(raw.payload.length >= offset + eventDataLength);\n\t\tlet eventData: string | Bytes | undefined;\n\t\tif (eventDataLength > 0) {\n\t\t\t// We shouldn't need to check this, since the specs are pretty clear which format to expect.\n\t\t\t// But as always - manufacturers don't care and send ASCII data with 0 bytes...\n\n\t\t\t// We also need to disable the strict validation for some devices to make them work\n\t\t\tconst noStrictValidation = !!ctx.getDeviceConfig?.(\n\t\t\t\tctx.sourceNodeId,\n\t\t\t)?.compat?.disableStrictEntryControlDataValidation;\n\n\t\t\teventData = Bytes.from(\n\t\t\t\traw.payload.subarray(offset, offset + eventDataLength),\n\t\t\t);\n\t\t\tswitch (dataType) {\n\t\t\t\tcase EntryControlDataTypes.Raw:\n\t\t\t\t\t// RAW 1 to 32 bytes of arbitrary binary data\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(\n\t\t\t\t\t\t\teventDataLength >= 1 && eventDataLength <= 32,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase EntryControlDataTypes.ASCII:\n\t\t\t\t\t// ASCII 1 to 32 ASCII encoded characters. ASCII codes MUST be in the value range 0x00-0xF7.\n\t\t\t\t\t// The string MUST be padded with the value 0xFF to fit 16 byte blocks when sent in a notification.\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(\n\t\t\t\t\t\t\teventDataLength === 16 || eventDataLength === 32,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\teventData = eventData.toString(\"ascii\");\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(\n\t\t\t\t\t\t\t/^[\\u0000-\\u007f]+[\\u00ff]*$/.test(eventData),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// Trim 0xff padding bytes\n\t\t\t\t\teventData = eventData.replace(/[\\u00ff]*$/, \"\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase EntryControlDataTypes.MD5:\n\t\t\t\t\t// MD5 16 byte binary data encoded as a MD5 hash value.\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(eventDataLength === 16);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} else {\n\t\t\tdataType = EntryControlDataTypes.None;\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceNumber,\n\t\t\tdataType,\n\t\t\teventType,\n\t\t\teventData,\n\t\t});\n\t}\n\n\tpublic readonly sequenceNumber: number;\n\tpublic readonly dataType: EntryControlDataTypes;\n\tpublic readonly eventType: EntryControlEventTypes;\n\tpublic readonly eventData?: Uint8Array | string;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"sequence number\": this.sequenceNumber,\n\t\t\t\"data type\": this.dataType,\n\t\t\t\"event type\": this.eventType,\n\t\t};\n\t\tif (this.eventData) {\n\t\t\tswitch (this.eventType) {\n\t\t\t\tcase EntryControlEventTypes.CachedKeys:\n\t\t\t\tcase EntryControlEventTypes.Enter:\n\t\t\t\t\t// The event data is likely the user's PIN code, hide it from logs\n\t\t\t\t\tmessage[\"event data\"] = \"*\".repeat(this.eventData.length);\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tmessage[\"event data\"] = typeof this.eventData === \"string\"\n\t\t\t\t\t\t? this.eventData\n\t\t\t\t\t\t: buffer2hex(this.eventData);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface EntryControlCCKeySupportedReportOptions {\n\tsupportedKeys: number[];\n}\n\n@CCCommand(EntryControlCommand.KeySupportedReport)\n@ccValueProperty(\"supportedKeys\", EntryControlCCValues.supportedKeys)\nexport class EntryControlCCKeySupportedReport extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCKeySupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.supportedKeys = options.supportedKeys;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCKeySupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst length = raw.payload[0];\n\t\tvalidatePayload(raw.payload.length >= 1 + length);\n\t\tconst supportedKeys = parseBitMask(\n\t\t\traw.payload.subarray(1, 1 + length),\n\t\t\t0,\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedKeys,\n\t\t});\n\t}\n\n\tpublic readonly supportedKeys: readonly number[];\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"supported keys\": this.supportedKeys.toString() },\n\t\t};\n\t}\n}\n\n@CCCommand(EntryControlCommand.KeySupportedGet)\n@expectedCCResponse(EntryControlCCKeySupportedReport)\nexport class EntryControlCCKeySupportedGet extends EntryControlCC {}\n\n// @publicAPI\nexport interface EntryControlCCEventSupportedReportOptions {\n\tsupportedDataTypes: EntryControlDataTypes[];\n\tsupportedEventTypes: EntryControlEventTypes[];\n\tminKeyCacheSize: number;\n\tmaxKeyCacheSize: number;\n\tminKeyCacheTimeout: number;\n\tmaxKeyCacheTimeout: number;\n}\n\n@CCCommand(EntryControlCommand.EventSupportedReport)\n@ccValueProperty(\"supportedDataTypes\", EntryControlCCValues.supportedDataTypes)\n@ccValueProperty(\n\t\"supportedEventTypes\",\n\tEntryControlCCValues.supportedEventTypes,\n)\nexport class EntryControlCCEventSupportedReport extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCEventSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.supportedDataTypes = options.supportedDataTypes;\n\t\tthis.supportedEventTypes = options.supportedEventTypes;\n\t\tthis.minKeyCacheSize = options.minKeyCacheSize;\n\t\tthis.maxKeyCacheSize = options.maxKeyCacheSize;\n\t\tthis.minKeyCacheTimeout = options.minKeyCacheTimeout;\n\t\tthis.maxKeyCacheTimeout = options.maxKeyCacheTimeout;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCEventSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst dataTypeLength = raw.payload[0] & 0b11;\n\t\tlet offset = 1;\n\t\tvalidatePayload(raw.payload.length >= offset + dataTypeLength);\n\t\tconst supportedDataTypes: EntryControlDataTypes[] = parseBitMask(\n\t\t\traw.payload.subarray(offset, offset + dataTypeLength),\n\t\t\tEntryControlDataTypes.None,\n\t\t);\n\t\toffset += dataTypeLength;\n\t\tvalidatePayload(raw.payload.length >= offset + 1);\n\t\tconst eventTypeLength = raw.payload[offset] & 0b11111;\n\t\toffset += 1;\n\t\tvalidatePayload(raw.payload.length >= offset + eventTypeLength);\n\t\tconst supportedEventTypes: EntryControlEventTypes[] = parseBitMask(\n\t\t\traw.payload.subarray(offset, offset + eventTypeLength),\n\t\t\tEntryControlEventTypes.Caching,\n\t\t);\n\t\toffset += eventTypeLength;\n\t\tvalidatePayload(raw.payload.length >= offset + 4);\n\t\tconst minKeyCacheSize = raw.payload[offset];\n\t\tvalidatePayload(\n\t\t\tminKeyCacheSize >= 1 && minKeyCacheSize <= 32,\n\t\t);\n\t\tconst maxKeyCacheSize = raw.payload[offset + 1];\n\t\tvalidatePayload(\n\t\t\tmaxKeyCacheSize >= minKeyCacheSize\n\t\t\t\t&& maxKeyCacheSize <= 32,\n\t\t);\n\t\tconst minKeyCacheTimeout = raw.payload[offset + 2];\n\t\tconst maxKeyCacheTimeout = raw.payload[offset + 3];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedDataTypes,\n\t\t\tsupportedEventTypes,\n\t\t\tminKeyCacheSize,\n\t\t\tmaxKeyCacheSize,\n\t\t\tminKeyCacheTimeout,\n\t\t\tmaxKeyCacheTimeout,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\t// Store min/max cache size and timeout as metadata\n\t\tconst keyCacheSizeValue = EntryControlCCValues.keyCacheSize;\n\t\tthis.setMetadata(ctx, keyCacheSizeValue, {\n\t\t\t...keyCacheSizeValue.meta,\n\t\t\tmin: this.minKeyCacheSize,\n\t\t\tmax: this.maxKeyCacheSize,\n\t\t});\n\n\t\tconst keyCacheTimeoutValue = EntryControlCCValues.keyCacheTimeout;\n\t\tthis.setMetadata(ctx, keyCacheTimeoutValue, {\n\t\t\t...keyCacheTimeoutValue.meta,\n\t\t\tmin: this.minKeyCacheTimeout,\n\t\t\tmax: this.maxKeyCacheTimeout,\n\t\t});\n\n\t\treturn true;\n\t}\n\n\tpublic readonly supportedDataTypes: readonly EntryControlDataTypes[];\n\n\tpublic readonly supportedEventTypes: readonly EntryControlEventTypes[];\n\n\tpublic readonly minKeyCacheSize: number;\n\tpublic readonly maxKeyCacheSize: number;\n\tpublic readonly minKeyCacheTimeout: number;\n\tpublic readonly maxKeyCacheTimeout: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"supported data types\": this.supportedDataTypes\n\t\t\t\t\t.map((dt) => EntryControlDataTypes[dt])\n\t\t\t\t\t.toString(),\n\t\t\t\t\"supported event types\": this.supportedEventTypes\n\t\t\t\t\t.map((et) => EntryControlEventTypes[et])\n\t\t\t\t\t.toString(),\n\t\t\t\t\"min key cache size\": this.minKeyCacheSize,\n\t\t\t\t\"max key cache size\": this.maxKeyCacheSize,\n\t\t\t\t\"min key cache timeout\": this.minKeyCacheTimeout,\n\t\t\t\t\"max key cache timeout\": this.maxKeyCacheTimeout,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(EntryControlCommand.EventSupportedGet)\n@expectedCCResponse(EntryControlCCEventSupportedReport)\nexport class EntryControlCCEventSupportedGet extends EntryControlCC {}\n\n// @publicAPI\nexport interface EntryControlCCConfigurationReportOptions {\n\tkeyCacheSize: number;\n\tkeyCacheTimeout: number;\n}\n\n@CCCommand(EntryControlCommand.ConfigurationReport)\n@ccValueProperty(\"keyCacheSize\", EntryControlCCValues.keyCacheSize)\n@ccValueProperty(\"keyCacheTimeout\", EntryControlCCValues.keyCacheTimeout)\nexport class EntryControlCCConfigurationReport extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCConfigurationReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.keyCacheSize = options.keyCacheSize;\n\t\tthis.keyCacheTimeout = options.keyCacheTimeout;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCConfigurationReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst keyCacheSize = raw.payload[0];\n\t\tvalidatePayload(keyCacheSize >= 1 && keyCacheSize <= 32);\n\t\tconst keyCacheTimeout = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tkeyCacheSize,\n\t\t\tkeyCacheTimeout,\n\t\t});\n\t}\n\n\tpublic readonly keyCacheSize: number;\n\n\tpublic readonly keyCacheTimeout: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"key cache size\": this.keyCacheSize,\n\t\t\t\t\"key cache timeout\": this.keyCacheTimeout,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(EntryControlCommand.ConfigurationGet)\n@expectedCCResponse(EntryControlCCConfigurationReport)\nexport class EntryControlCCConfigurationGet extends EntryControlCC {}\n\n// @publicAPI\nexport interface EntryControlCCConfigurationSetOptions {\n\tkeyCacheSize: number;\n\tkeyCacheTimeout: number;\n}\n\n@CCCommand(EntryControlCommand.ConfigurationSet)\n@useSupervision()\nexport class EntryControlCCConfigurationSet extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCConfigurationSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.keyCacheSize = options.keyCacheSize;\n\t\tthis.keyCacheTimeout = options.keyCacheTimeout;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): EntryControlCCConfigurationSet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new EntryControlCCConfigurationSet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic readonly keyCacheSize: number;\n\tpublic readonly keyCacheTimeout: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.keyCacheSize, this.keyCacheTimeout]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"key cache size\": this.keyCacheSize,\n\t\t\t\t\"key cache timeout\": this.keyCacheTimeout,\n\t\t\t},\n\t\t};\n\t}\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import {\n\tCommandClasses,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tgetCCName,\n\tparseBitMask,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { buffer2hex, pick } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\ttype SetValueImplementation,\n\tthrowUnsupportedProperty,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValueProperty,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport {\n\tEntryControlCommand,\n\tEntryControlDataTypes,\n\tEntryControlEventTypes,\n} from \"../lib/_Types.js\";\nimport * as ccUtils from \"../lib/utils.js\";\n\nexport const EntryControlCCValues = Object.freeze({\n\t...V.defineStaticCCValues(CommandClasses[\"Entry Control\"], {\n\t\t...V.staticProperty(\n\t\t\t\"keyCacheSize\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Key cache size\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Number of character that must be stored before sending\",\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 32,\n\t\t\t} as const,\n\t\t),\n\n\t\t...V.staticProperty(\n\t\t\t\"keyCacheTimeout\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Key cache timeout\",\n\t\t\t\tunit: \"seconds\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"How long the key cache must wait for additional characters\",\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 10,\n\t\t\t} as const,\n\t\t),\n\n\t\t...V.staticProperty(\"supportedDataTypes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportedEventTypes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportedKeys\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t}),\n});\n\n@API(CommandClasses[\"Entry Control\"])\nexport class EntryControlCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: EntryControlCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase EntryControlCommand.KeySupportedGet:\n\t\t\tcase EntryControlCommand.EventSupportedGet:\n\t\t\tcase EntryControlCommand.ConfigurationGet:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase EntryControlCommand.ConfigurationSet:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getSupportedKeys() {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.KeySupportedGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCKeySupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tEntryControlCCKeySupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.supportedKeys;\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getEventCapabilities() {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.EventSupportedGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCEventSupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tEntryControlCCEventSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\n\t\t\t\t\"supportedDataTypes\",\n\t\t\t\t\"supportedEventTypes\",\n\t\t\t\t\"minKeyCacheSize\",\n\t\t\t\t\"maxKeyCacheSize\",\n\t\t\t\t\"minKeyCacheTimeout\",\n\t\t\t\t\"maxKeyCacheTimeout\",\n\t\t\t]);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getConfiguration() {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.ConfigurationGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCConfigurationGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tEntryControlCCConfigurationReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"keyCacheSize\", \"keyCacheTimeout\"]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async setConfiguration(\n\t\tkeyCacheSize: number,\n\t\tkeyCacheTimeout: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.ConfigurationGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCConfigurationSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tkeyCacheSize,\n\t\t\tkeyCacheTimeout,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(this: EntryControlCCAPI, { property }, value) {\n\t\t\tif (property !== \"keyCacheSize\" && property !== \"keyCacheTimeout\") {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t\tif (typeof value !== \"number\") {\n\t\t\t\tthrowWrongValueType(\n\t\t\t\t\tthis.ccId,\n\t\t\t\t\tproperty,\n\t\t\t\t\t\"number\",\n\t\t\t\t\ttypeof value,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tlet keyCacheSize = value;\n\t\t\tlet keyCacheTimeout = 2;\n\t\t\tif (property === \"keyCacheTimeout\") {\n\t\t\t\tkeyCacheTimeout = value;\n\n\t\t\t\tconst oldKeyCacheSize = this.tryGetValueDB()?.getValue<number>(\n\t\t\t\t\tEntryControlCCValues.keyCacheSize.endpoint(\n\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tif (oldKeyCacheSize == undefined) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The \"keyCacheTimeout\" property cannot be changed before the key cache size is known!`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tkeyCacheSize = oldKeyCacheSize;\n\t\t\t}\n\t\t\tconst result = await this.setConfiguration(\n\t\t\t\tkeyCacheSize,\n\t\t\t\tkeyCacheTimeout,\n\t\t\t);\n\n\t\t\t// Verify the change after a short delay, unless the command was supervised and successful\n\t\t\tif (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n\t\t\t\tthis.schedulePoll({ property }, value, { transition: \"fast\" });\n\t\t\t}\n\n\t\t\treturn result;\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: EntryControlCCAPI, { property }) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"keyCacheSize\":\n\t\t\t\tcase \"keyCacheTimeout\":\n\t\t\t\t\treturn (await this.getConfiguration())?.[property];\n\t\t\t}\n\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t};\n\t}\n}\n\n@commandClass(CommandClasses[\"Entry Control\"])\n@implementedVersion(1)\n@ccValues(EntryControlCCValues)\nexport class EntryControlCC extends CommandClass {\n\tdeclare ccCommand: EntryControlCommand;\n\n\tpublic determineRequiredCCInterviews(): readonly CommandClasses[] {\n\t\treturn [\n\t\t\t...super.determineRequiredCCInterviews(),\n\t\t\tCommandClasses.Association,\n\t\t\tCommandClasses[\"Multi Channel Association\"],\n\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t];\n\t}\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Entry Control\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\t// If one Association group issues Entry Control notifications,\n\t\t// we must associate ourselves with that channel\n\t\ttry {\n\t\t\tawait ccUtils.assignLifelineIssueingCommand(\n\t\t\t\tctx,\n\t\t\t\tendpoint,\n\t\t\t\tthis.ccId,\n\t\t\t\tEntryControlCommand.Notification,\n\t\t\t);\n\t\t} catch {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: endpoint.index,\n\t\t\t\tmessage: `Configuring associations to receive ${\n\t\t\t\t\tgetCCName(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t)\n\t\t\t\t} commands failed!`,\n\t\t\t\tlevel: \"warn\",\n\t\t\t});\n\t\t}\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"requesting entry control supported keys...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tconst supportedKeys = await api.getSupportedKeys();\n\t\tif (supportedKeys) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage:\n\t\t\t\t\t`received entry control supported keys: ${supportedKeys.toString()}`,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"requesting entry control supported events...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tconst eventCapabilities = await api.getEventCapabilities();\n\t\tif (eventCapabilities) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: `received entry control supported keys:\ndata types: ${\n\t\t\t\t\teventCapabilities.supportedDataTypes\n\t\t\t\t\t\t.map((e) => EntryControlDataTypes[e])\n\t\t\t\t\t\t.toString()\n\t\t\t\t}\nevent types: ${\n\t\t\t\t\teventCapabilities.supportedEventTypes\n\t\t\t\t\t\t.map((e) => EntryControlEventTypes[e])\n\t\t\t\t\t\t.toString()\n\t\t\t\t}\nmin key cache size: ${eventCapabilities.minKeyCacheSize}\nmax key cache size: ${eventCapabilities.maxKeyCacheSize}\nmin key cache timeout: ${eventCapabilities.minKeyCacheTimeout} seconds\nmax key cache timeout: ${eventCapabilities.maxKeyCacheTimeout} seconds`,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\n\t\tawait this.refreshValues(ctx);\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Entry Control\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"requesting entry control configuration...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tconst conf = await api.getConfiguration();\n\t\tif (conf) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: `received entry control configuration:\nkey cache size: ${conf.keyCacheSize}\nkey cache timeout: ${conf.keyCacheTimeout} seconds`,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\t}\n}\n\n// @publicAPI\nexport interface EntryControlCCNotificationOptions {\n\tsequenceNumber: number;\n\tdataType: EntryControlDataTypes;\n\teventType: EntryControlEventTypes;\n\teventData?: string | Bytes;\n}\n\n@CCCommand(EntryControlCommand.Notification)\nexport class EntryControlCCNotification extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCNotificationOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.sequenceNumber = options.sequenceNumber;\n\t\tthis.dataType = options.dataType;\n\t\tthis.eventType = options.eventType;\n\t\tthis.eventData = options.eventData;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCNotification {\n\t\tvalidatePayload(raw.payload.length >= 4);\n\t\tconst sequenceNumber = raw.payload[0];\n\t\tlet dataType: EntryControlDataTypes = raw.payload[1] & 0b11;\n\t\tconst eventType: EntryControlEventTypes = raw.payload[2];\n\t\tconst eventDataLength = raw.payload[3];\n\t\tvalidatePayload(eventDataLength >= 0 && eventDataLength <= 32);\n\t\tconst offset = 4;\n\t\tvalidatePayload(raw.payload.length >= offset + eventDataLength);\n\t\tlet eventData: string | Bytes | undefined;\n\t\tif (eventDataLength > 0) {\n\t\t\t// We shouldn't need to check this, since the specs are pretty clear which format to expect.\n\t\t\t// But as always - manufacturers don't care and send ASCII data with 0 bytes...\n\n\t\t\t// We also need to disable the strict validation for some devices to make them work\n\t\t\tconst noStrictValidation = !!ctx.getDeviceConfig?.(\n\t\t\t\tctx.sourceNodeId,\n\t\t\t)?.compat?.disableStrictEntryControlDataValidation;\n\n\t\t\teventData = Bytes.from(\n\t\t\t\traw.payload.subarray(offset, offset + eventDataLength),\n\t\t\t);\n\t\t\tswitch (dataType) {\n\t\t\t\tcase EntryControlDataTypes.Raw:\n\t\t\t\t\t// RAW 1 to 32 bytes of arbitrary binary data\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(\n\t\t\t\t\t\t\teventDataLength >= 1 && eventDataLength <= 32,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase EntryControlDataTypes.ASCII:\n\t\t\t\t\t// ASCII 1 to 32 ASCII encoded characters. ASCII codes MUST be in the value range 0x00-0xF7.\n\t\t\t\t\t// The string MUST be padded with the value 0xFF to fit 16 byte blocks when sent in a notification.\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(\n\t\t\t\t\t\t\teventDataLength === 16 || eventDataLength === 32,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// Trim 0xff padding bytes\n\t\t\t\t\tlet paddingStart = eventDataLength;\n\t\t\t\t\twhile (\n\t\t\t\t\t\tpaddingStart > 0\n\t\t\t\t\t\t&& eventData[paddingStart - 1] === 0xff\n\t\t\t\t\t) {\n\t\t\t\t\t\tpaddingStart--;\n\t\t\t\t\t}\n\t\t\t\t\teventData = eventData.subarray(0, paddingStart).toString(\n\t\t\t\t\t\t\"ascii\",\n\t\t\t\t\t);\n\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(/^[\\u0000-\\u007f]+$/.test(eventData));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase EntryControlDataTypes.MD5:\n\t\t\t\t\t// MD5 16 byte binary data encoded as a MD5 hash value.\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(eventDataLength === 16);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} else {\n\t\t\tdataType = EntryControlDataTypes.None;\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceNumber,\n\t\t\tdataType,\n\t\t\teventType,\n\t\t\teventData,\n\t\t});\n\t}\n\n\tpublic readonly sequenceNumber: number;\n\tpublic readonly dataType: EntryControlDataTypes;\n\tpublic readonly eventType: EntryControlEventTypes;\n\tpublic readonly eventData?: Uint8Array | string;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"sequence number\": this.sequenceNumber,\n\t\t\t\"data type\": this.dataType,\n\t\t\t\"event type\": this.eventType,\n\t\t};\n\t\tif (this.eventData) {\n\t\t\tswitch (this.eventType) {\n\t\t\t\tcase EntryControlEventTypes.CachedKeys:\n\t\t\t\tcase EntryControlEventTypes.Enter:\n\t\t\t\t\t// The event data is likely the user's PIN code, hide it from logs\n\t\t\t\t\tmessage[\"event data\"] = \"*\".repeat(this.eventData.length);\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tmessage[\"event data\"] = typeof this.eventData === \"string\"\n\t\t\t\t\t\t? this.eventData\n\t\t\t\t\t\t: buffer2hex(this.eventData);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface EntryControlCCKeySupportedReportOptions {\n\tsupportedKeys: number[];\n}\n\n@CCCommand(EntryControlCommand.KeySupportedReport)\n@ccValueProperty(\"supportedKeys\", EntryControlCCValues.supportedKeys)\nexport class EntryControlCCKeySupportedReport extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCKeySupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.supportedKeys = options.supportedKeys;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCKeySupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst length = raw.payload[0];\n\t\tvalidatePayload(raw.payload.length >= 1 + length);\n\t\tconst supportedKeys = parseBitMask(\n\t\t\traw.payload.subarray(1, 1 + length),\n\t\t\t0,\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedKeys,\n\t\t});\n\t}\n\n\tpublic readonly supportedKeys: readonly number[];\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"supported keys\": this.supportedKeys.toString() },\n\t\t};\n\t}\n}\n\n@CCCommand(EntryControlCommand.KeySupportedGet)\n@expectedCCResponse(EntryControlCCKeySupportedReport)\nexport class EntryControlCCKeySupportedGet extends EntryControlCC {}\n\n// @publicAPI\nexport interface EntryControlCCEventSupportedReportOptions {\n\tsupportedDataTypes: EntryControlDataTypes[];\n\tsupportedEventTypes: EntryControlEventTypes[];\n\tminKeyCacheSize: number;\n\tmaxKeyCacheSize: number;\n\tminKeyCacheTimeout: number;\n\tmaxKeyCacheTimeout: number;\n}\n\n@CCCommand(EntryControlCommand.EventSupportedReport)\n@ccValueProperty(\"supportedDataTypes\", EntryControlCCValues.supportedDataTypes)\n@ccValueProperty(\n\t\"supportedEventTypes\",\n\tEntryControlCCValues.supportedEventTypes,\n)\nexport class EntryControlCCEventSupportedReport extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCEventSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.supportedDataTypes = options.supportedDataTypes;\n\t\tthis.supportedEventTypes = options.supportedEventTypes;\n\t\tthis.minKeyCacheSize = options.minKeyCacheSize;\n\t\tthis.maxKeyCacheSize = options.maxKeyCacheSize;\n\t\tthis.minKeyCacheTimeout = options.minKeyCacheTimeout;\n\t\tthis.maxKeyCacheTimeout = options.maxKeyCacheTimeout;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCEventSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst dataTypeLength = raw.payload[0] & 0b11;\n\t\tlet offset = 1;\n\t\tvalidatePayload(raw.payload.length >= offset + dataTypeLength);\n\t\tconst supportedDataTypes: EntryControlDataTypes[] = parseBitMask(\n\t\t\traw.payload.subarray(offset, offset + dataTypeLength),\n\t\t\tEntryControlDataTypes.None,\n\t\t);\n\t\toffset += dataTypeLength;\n\t\tvalidatePayload(raw.payload.length >= offset + 1);\n\t\tconst eventTypeLength = raw.payload[offset] & 0b11111;\n\t\toffset += 1;\n\t\tvalidatePayload(raw.payload.length >= offset + eventTypeLength);\n\t\tconst supportedEventTypes: EntryControlEventTypes[] = parseBitMask(\n\t\t\traw.payload.subarray(offset, offset + eventTypeLength),\n\t\t\tEntryControlEventTypes.Caching,\n\t\t);\n\t\toffset += eventTypeLength;\n\t\tvalidatePayload(raw.payload.length >= offset + 4);\n\t\tconst minKeyCacheSize = raw.payload[offset];\n\t\tvalidatePayload(\n\t\t\tminKeyCacheSize >= 1 && minKeyCacheSize <= 32,\n\t\t);\n\t\tconst maxKeyCacheSize = raw.payload[offset + 1];\n\t\tvalidatePayload(\n\t\t\tmaxKeyCacheSize >= minKeyCacheSize\n\t\t\t\t&& maxKeyCacheSize <= 32,\n\t\t);\n\t\tconst minKeyCacheTimeout = raw.payload[offset + 2];\n\t\tconst maxKeyCacheTimeout = raw.payload[offset + 3];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedDataTypes,\n\t\t\tsupportedEventTypes,\n\t\t\tminKeyCacheSize,\n\t\t\tmaxKeyCacheSize,\n\t\t\tminKeyCacheTimeout,\n\t\t\tmaxKeyCacheTimeout,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\t// Store min/max cache size and timeout as metadata\n\t\tconst keyCacheSizeValue = EntryControlCCValues.keyCacheSize;\n\t\tthis.setMetadata(ctx, keyCacheSizeValue, {\n\t\t\t...keyCacheSizeValue.meta,\n\t\t\tmin: this.minKeyCacheSize,\n\t\t\tmax: this.maxKeyCacheSize,\n\t\t});\n\n\t\tconst keyCacheTimeoutValue = EntryControlCCValues.keyCacheTimeout;\n\t\tthis.setMetadata(ctx, keyCacheTimeoutValue, {\n\t\t\t...keyCacheTimeoutValue.meta,\n\t\t\tmin: this.minKeyCacheTimeout,\n\t\t\tmax: this.maxKeyCacheTimeout,\n\t\t});\n\n\t\treturn true;\n\t}\n\n\tpublic readonly supportedDataTypes: readonly EntryControlDataTypes[];\n\n\tpublic readonly supportedEventTypes: readonly EntryControlEventTypes[];\n\n\tpublic readonly minKeyCacheSize: number;\n\tpublic readonly maxKeyCacheSize: number;\n\tpublic readonly minKeyCacheTimeout: number;\n\tpublic readonly maxKeyCacheTimeout: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"supported data types\": this.supportedDataTypes\n\t\t\t\t\t.map((dt) => EntryControlDataTypes[dt])\n\t\t\t\t\t.toString(),\n\t\t\t\t\"supported event types\": this.supportedEventTypes\n\t\t\t\t\t.map((et) => EntryControlEventTypes[et])\n\t\t\t\t\t.toString(),\n\t\t\t\t\"min key cache size\": this.minKeyCacheSize,\n\t\t\t\t\"max key cache size\": this.maxKeyCacheSize,\n\t\t\t\t\"min key cache timeout\": this.minKeyCacheTimeout,\n\t\t\t\t\"max key cache timeout\": this.maxKeyCacheTimeout,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(EntryControlCommand.EventSupportedGet)\n@expectedCCResponse(EntryControlCCEventSupportedReport)\nexport class EntryControlCCEventSupportedGet extends EntryControlCC {}\n\n// @publicAPI\nexport interface EntryControlCCConfigurationReportOptions {\n\tkeyCacheSize: number;\n\tkeyCacheTimeout: number;\n}\n\n@CCCommand(EntryControlCommand.ConfigurationReport)\n@ccValueProperty(\"keyCacheSize\", EntryControlCCValues.keyCacheSize)\n@ccValueProperty(\"keyCacheTimeout\", EntryControlCCValues.keyCacheTimeout)\nexport class EntryControlCCConfigurationReport extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCConfigurationReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.keyCacheSize = options.keyCacheSize;\n\t\tthis.keyCacheTimeout = options.keyCacheTimeout;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCConfigurationReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst keyCacheSize = raw.payload[0];\n\t\tvalidatePayload(keyCacheSize >= 1 && keyCacheSize <= 32);\n\t\tconst keyCacheTimeout = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tkeyCacheSize,\n\t\t\tkeyCacheTimeout,\n\t\t});\n\t}\n\n\tpublic readonly keyCacheSize: number;\n\n\tpublic readonly keyCacheTimeout: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"key cache size\": this.keyCacheSize,\n\t\t\t\t\"key cache timeout\": this.keyCacheTimeout,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(EntryControlCommand.ConfigurationGet)\n@expectedCCResponse(EntryControlCCConfigurationReport)\nexport class EntryControlCCConfigurationGet extends EntryControlCC {}\n\n// @publicAPI\nexport interface EntryControlCCConfigurationSetOptions {\n\tkeyCacheSize: number;\n\tkeyCacheTimeout: number;\n}\n\n@CCCommand(EntryControlCommand.ConfigurationSet)\n@useSupervision()\nexport class EntryControlCCConfigurationSet extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCConfigurationSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.keyCacheSize = options.keyCacheSize;\n\t\tthis.keyCacheTimeout = options.keyCacheTimeout;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): EntryControlCCConfigurationSet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new EntryControlCCConfigurationSet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic readonly keyCacheSize: number;\n\tpublic readonly keyCacheTimeout: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.keyCacheSize, this.keyCacheTimeout]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"key cache size\": this.keyCacheSize,\n\t\t\t\t\"key cache timeout\": this.keyCacheTimeout,\n\t\t\t},\n\t\t};\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_safe"]
|
|
7
7
|
}
|
|
@@ -37,7 +37,6 @@ var import_core = require("@zwave-js/core");
|
|
|
37
37
|
var import_safe = require("@zwave-js/shared/safe");
|
|
38
38
|
var import_safe2 = require("@zwave-js/shared/safe");
|
|
39
39
|
var import_async = require("alcalzone-shared/async");
|
|
40
|
-
var import_node_crypto = require("node:crypto");
|
|
41
40
|
var import_API = require("../lib/API.js");
|
|
42
41
|
var import_CommandClass = require("../lib/CommandClass.js");
|
|
43
42
|
var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
|
|
@@ -674,7 +673,7 @@ let SecurityCCCommandEncapsulation = (() => {
|
|
|
674
673
|
// TODO: frame control
|
|
675
674
|
serializedCC
|
|
676
675
|
]);
|
|
677
|
-
const senderNonce = (0,
|
|
676
|
+
const senderNonce = (0, import_core.randomBytes)(HALF_NONCE_SIZE);
|
|
678
677
|
const iv = import_safe.Bytes.concat([senderNonce, this.nonce]);
|
|
679
678
|
const ciphertext = (0, import_core.encryptAES128OFBSync)(plaintext, encryptionKey, iv);
|
|
680
679
|
const authData = getAuthenticationData(senderNonce, this.nonce, this.ccCommand, ctx.ownNodeId, this.nodeId, ciphertext);
|
|
@@ -713,7 +712,7 @@ let SecurityCCCommandEncapsulation = (() => {
|
|
|
713
712
|
// TODO: frame control
|
|
714
713
|
serializedCC
|
|
715
714
|
]);
|
|
716
|
-
const senderNonce = (0,
|
|
715
|
+
const senderNonce = (0, import_core.randomBytes)(HALF_NONCE_SIZE);
|
|
717
716
|
const iv = import_safe.Bytes.concat([senderNonce, this.nonce]);
|
|
718
717
|
const ciphertext = await (0, import_core.encryptAES128OFBAsync)(plaintext, encryptionKey, iv);
|
|
719
718
|
const authData = getAuthenticationData(senderNonce, this.nonce, this.ccCommand, ctx.ownNodeId, this.nodeId, ciphertext);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cc/SecurityCC.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n\tCommandClasses,\n\tEncapsulationFlags,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\tSecurityClass,\n\ttype SecurityManager,\n\tTransmitOptions,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tcomputeMACAsync,\n\tcomputeMACSync,\n\tdecryptAES128OFBAsync,\n\tdecryptAES128OFBSync,\n\tencodeCCList,\n\tencryptAES128OFBAsync,\n\tencryptAES128OFBSync,\n\tgenerateAuthKeyAsync,\n\tgenerateAuthKeySync,\n\tgenerateEncryptionKeyAsync,\n\tgenerateEncryptionKeySync,\n\tgetCCName,\n\tisTransmissionError,\n\tparseCCList,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { type MaybeNotKnown } from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { buffer2hex, num2hex, pick } from \"@zwave-js/shared/safe\";\nimport { wait } from \"alcalzone-shared/async\";\nimport { randomBytes } from \"node:crypto\";\nimport { CCAPI, PhysicalCCAPI } from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n} from \"../lib/CommandClassDecorators.js\";\nimport { SecurityCommand } from \"../lib/_Types.js\";\nimport { CRC16CC } from \"./CRC16CC.js\";\nimport { Security2CC } from \"./Security2CC.js\";\nimport { TransportServiceCC } from \"./TransportServiceCC.js\";\n\n// @noSetValueAPI This is an encapsulation CC\n\nfunction getAuthenticationData(\n\tsenderNonce: Uint8Array,\n\treceiverNonce: Uint8Array,\n\tccCommand: SecurityCommand,\n\tsendingNodeId: number,\n\treceivingNodeId: number,\n\tencryptedPayload: Uint8Array,\n): Uint8Array {\n\treturn Bytes.concat([\n\t\tsenderNonce,\n\t\treceiverNonce,\n\t\tBytes.from([\n\t\t\tccCommand,\n\t\t\tsendingNodeId,\n\t\t\treceivingNodeId,\n\t\t\tencryptedPayload.length,\n\t\t]),\n\t\tencryptedPayload,\n\t]);\n}\n\nfunction throwNoNonce(reason?: string): never {\n\tlet message = `Security CC requires a nonce to be sent!`;\n\tif (reason) message += ` Reason: ${reason}`;\n\tthrow new ZWaveError(message, ZWaveErrorCodes.SecurityCC_NoNonce);\n}\n\nconst HALF_NONCE_SIZE = 8;\n\nfunction assertSecurityRX(\n\tctx: CCParsingContext,\n): asserts ctx is CCParsingContext & { securityManager: SecurityManager } {\n\tif (!ctx.ownNodeId) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be decoded when the controller's node id is known!`,\n\t\t\tZWaveErrorCodes.Driver_NotReady,\n\t\t);\n\t}\n\n\tif (!ctx.securityManager) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be decoded when the security manager is set up!`,\n\t\t\tZWaveErrorCodes.Driver_NoSecurity,\n\t\t);\n\t}\n}\n\nfunction assertSecurityTX(\n\tctx: CCEncodingContext,\n): asserts ctx is CCEncodingContext & { securityManager: SecurityManager } {\n\tif (!ctx.ownNodeId) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be sent when the controller's node id is known!`,\n\t\t\tZWaveErrorCodes.Driver_NotReady,\n\t\t);\n\t}\n\n\tif (!ctx.securityManager) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be sent when the security manager is set up!`,\n\t\t\tZWaveErrorCodes.Driver_NoSecurity,\n\t\t);\n\t}\n}\n\n// TODO: Ignore commands if received via multicast\n\n// Encapsulation CCs are used internally and too frequently that we\n// want to pay the cost of validating each call\n/* eslint-disable @zwave-js/ccapi-validate-args */\n\n@API(CommandClasses.Security)\nexport class SecurityCCAPI extends PhysicalCCAPI {\n\tpublic supportsCommand(_cmd: SecurityCommand): MaybeNotKnown<boolean> {\n\t\t// All commands are mandatory\n\t\treturn true;\n\t}\n\n\tpublic async sendEncapsulated(\n\t\tencapsulated: CommandClass,\n\t\trequestNextNonce: boolean = false,\n\t): Promise<void> {\n\t\tif (requestNextNonce) {\n\t\t\tthis.assertSupportsCommand(\n\t\t\t\tSecurityCommand,\n\t\t\t\tSecurityCommand.CommandEncapsulation,\n\t\t\t);\n\t\t} else {\n\t\t\tthis.assertSupportsCommand(\n\t\t\t\tSecurityCommand,\n\t\t\t\tSecurityCommand.CommandEncapsulationNonceGet,\n\t\t\t);\n\t\t}\n\n\t\tconst cc = new (\n\t\t\trequestNextNonce\n\t\t\t\t? SecurityCCCommandEncapsulationNonceGet\n\t\t\t\t: SecurityCCCommandEncapsulation\n\t\t)({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tencapsulated,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t/**\n\t * Requests a new nonce for Security CC encapsulation which is not directly linked to a specific command.\n\t */\n\tpublic async getNonce(): Promise<Uint8Array | undefined> {\n\t\tthis.assertSupportsCommand(SecurityCommand, SecurityCommand.NonceGet);\n\n\t\tconst cc = new SecurityCCNonceGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<SecurityCCNonceReport>(\n\t\t\tcc,\n\t\t\t{\n\t\t\t\t...this.commandOptions,\n\t\t\t\t// Only try getting a nonce once\n\t\t\t\tmaxSendAttempts: 1,\n\t\t\t},\n\t\t);\n\t\tif (!response) return;\n\n\t\tconst nonce = response.nonce;\n\t\tconst secMan = this.host.securityManager!;\n\t\tsecMan.setNonce(\n\t\t\t{\n\t\t\t\tissuer: this.endpoint.nodeId,\n\t\t\t\tnonceId: secMan.getNonceId(nonce),\n\t\t\t},\n\t\t\t{ nonce, receiver: this.host.ownNodeId },\n\t\t\t{ free: true },\n\t\t);\n\t\treturn nonce;\n\t}\n\n\t/**\n\t * Responds to a NonceGet request. The message is sent without any retransmission etc.\n\t * The return value indicates whether a nonce was successfully sent\n\t */\n\tpublic async sendNonce(): Promise<boolean> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.NonceReport,\n\t\t);\n\n\t\tif (!this.host.securityManager) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`Nonces can only be sent if secure communication is set up!`,\n\t\t\t\tZWaveErrorCodes.Driver_NoSecurity,\n\t\t\t);\n\t\t}\n\n\t\tconst nonce = this.host.securityManager.generateNonce(\n\t\t\tthis.endpoint.nodeId,\n\t\t\tHALF_NONCE_SIZE,\n\t\t);\n\t\tconst nonceId = this.host.securityManager.getNonceId(nonce);\n\n\t\tconst cc = new SecurityCCNonceReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tnonce,\n\t\t});\n\n\t\ttry {\n\t\t\tawait this.host.sendCommand(cc, {\n\t\t\t\t...this.commandOptions,\n\t\t\t\t// Seems we need these options or some nodes won't accept the nonce\n\t\t\t\ttransmitOptions: TransmitOptions.ACK\n\t\t\t\t\t| TransmitOptions.AutoRoute,\n\t\t\t\t// Only try sending a nonce once\n\t\t\t\tmaxSendAttempts: 1,\n\t\t\t\t// Nonce requests must be handled immediately\n\t\t\t\tpriority: MessagePriority.Immediate,\n\t\t\t\t// We don't want failures causing us to treat the node as asleep or dead\n\t\t\t\tchangeNodeStatusOnMissingACK: false,\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tif (isTransmissionError(e)) {\n\t\t\t\t// The nonce could not be sent, invalidate it\n\t\t\t\tthis.host.securityManager.deleteNonce(nonceId);\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\t// Pass other errors through\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic async getSecurityScheme(): Promise<[0]> {\n\t\tthis.assertSupportsCommand(SecurityCommand, SecurityCommand.SchemeGet);\n\n\t\tconst cc = new SecurityCCSchemeGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t\t// There is only one scheme, so we hardcode it\n\t\treturn [0];\n\t}\n\n\tpublic async reportSecurityScheme(encapsulated: boolean): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.SchemeReport,\n\t\t);\n\n\t\tlet cc: CommandClass = new SecurityCCSchemeReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tif (encapsulated) {\n\t\t\tcc = new SecurityCCCommandEncapsulation({\n\t\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t\tencapsulated: cc,\n\t\t\t});\n\t\t}\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tpublic async inheritSecurityScheme(): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.SchemeInherit,\n\t\t);\n\n\t\tconst cc = new SecurityCCSchemeInherit({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t\t// There is only one scheme, so we don't return anything here\n\t}\n\n\tpublic async setNetworkKey(networkKey: Uint8Array): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.NetworkKeySet,\n\t\t);\n\n\t\tconst keySet = new SecurityCCNetworkKeySet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tnetworkKey,\n\t\t});\n\t\tconst cc = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tencapsulated: keySet,\n\t\t\talternativeNetworkKey: new Uint8Array(16).fill(0),\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tpublic async verifyNetworkKey(): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.NetworkKeyVerify,\n\t\t);\n\n\t\tconst cc = new SecurityCCNetworkKeyVerify({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getSupportedCommands() {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.CommandsSupportedGet,\n\t\t);\n\n\t\tconst cc = new SecurityCCCommandsSupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tSecurityCCCommandsSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"supportedCCs\", \"controlledCCs\"]);\n\t\t}\n\t}\n\n\tpublic async reportSupportedCommands(\n\t\tsupportedCCs: CommandClasses[],\n\t\tcontrolledCCs: CommandClasses[],\n\t): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.CommandsSupportedReport,\n\t\t);\n\n\t\tconst cc = new SecurityCCCommandsSupportedReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsupportedCCs,\n\t\t\tcontrolledCCs,\n\t\t\treportsToFollow: 0,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n}\n\n@commandClass(CommandClasses.Security)\n@implementedVersion(1)\nexport class SecurityCC extends CommandClass {\n\tdeclare ccCommand: SecurityCommand;\n\t// Force singlecast for the Security CC\n\tdeclare nodeId: number;\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses.Security,\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: \"Querying securely supported commands (S0)...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tlet supportedCCs: CommandClasses[] | undefined;\n\t\tlet controlledCCs: CommandClasses[] | undefined;\n\n\t\t// Try up to 3 times on the root device. We REALLY don't want a spurious timeout or collision to cause us to discard a known good security class\n\t\tconst MAX_ATTEMPTS = this.endpointIndex === 0 ? 3 : 1;\n\t\tfor (let attempts = 1; attempts <= MAX_ATTEMPTS; attempts++) {\n\t\t\tconst resp = await api.getSupportedCommands();\n\t\t\tif (resp) {\n\t\t\t\tsupportedCCs = resp.supportedCCs;\n\t\t\t\tcontrolledCCs = resp.controlledCCs;\n\t\t\t\tbreak;\n\t\t\t} else if (attempts < MAX_ATTEMPTS) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t`Querying securely supported commands (S0), attempt ${attempts}/${MAX_ATTEMPTS} failed. Retrying in 500ms...`,\n\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t});\n\t\t\t\tawait wait(500);\n\t\t\t}\n\t\t}\n\n\t\tif (!supportedCCs || !controlledCCs) {\n\t\t\tif (node.hasSecurityClass(SecurityClass.S0_Legacy) === true) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: \"Querying securely supported commands (S0) failed\",\n\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t});\n\t\t\t\t// TODO: Abort interview?\n\t\t\t} else {\n\t\t\t\t// We didn't know if the node was secure and it didn't respond,\n\t\t\t\t// assume that it doesn't have the S0 security class\n\t\t\t\tctx.logNode(\n\t\t\t\t\tnode.id,\n\t\t\t\t\t`The node was not granted the S0 security class. Continuing interview non-securely.`,\n\t\t\t\t);\n\t\t\t\tnode.setSecurityClass(SecurityClass.S0_Legacy, false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst logLines: string[] = [\n\t\t\t\"received secure commands (S0)\",\n\t\t\t\"supported CCs:\",\n\t\t];\n\t\tfor (const cc of supportedCCs) {\n\t\t\tlogLines.push(`\u00B7 ${getCCName(cc)}`);\n\t\t}\n\t\tlogLines.push(\"controlled CCs:\");\n\t\tfor (const cc of controlledCCs) {\n\t\t\tlogLines.push(`\u00B7 ${getCCName(cc)}`);\n\t\t}\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: logLines.join(\"\\n\"),\n\t\t\tdirection: \"inbound\",\n\t\t});\n\n\t\t// Remember which commands are supported securely\n\t\tfor (const cc of supportedCCs) {\n\t\t\t// Basic CC has special rules for when it is considered supported\n\t\t\t// Therefore we mark all other CCs as supported, but not Basic CC,\n\t\t\t// for which support is determined later.\n\t\t\tif (cc === CommandClasses.Basic) {\n\t\t\t\tendpoint.addCC(cc, { secure: true });\n\t\t\t} else {\n\t\t\t\tendpoint.addCC(cc, {\n\t\t\t\t\tisSupported: true,\n\t\t\t\t\tsecure: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tfor (const cc of controlledCCs) {\n\t\t\t// Basic CC has special rules for when it is considered supported\n\t\t\t// Therefore we mark all other CCs as supported, but not Basic CC,\n\t\t\t// for which support is determined later.\n\t\t\tif (cc === CommandClasses.Basic) {\n\t\t\t\tendpoint.addCC(cc, { secure: true });\n\t\t\t} else {\n\t\t\t\tendpoint.addCC(cc, {\n\t\t\t\t\tisControlled: true,\n\t\t\t\t\tsecure: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// We know for sure that the node is included securely\n\t\tif (node.hasSecurityClass(SecurityClass.S0_Legacy) !== true) {\n\t\t\tnode.setSecurityClass(SecurityClass.S0_Legacy, true);\n\t\t\tctx.logNode(\n\t\t\t\tnode.id,\n\t\t\t\t`The node was granted the S0 security class`,\n\t\t\t);\n\t\t}\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\t/** Tests if a command should be sent secure and thus requires encapsulation */\n\tpublic static requiresEncapsulation(cc: CommandClass): boolean {\n\t\t// No security flag -> no encapsulation\n\t\tif (!(cc.encapsulationFlags & EncapsulationFlags.Security)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// S2, CRC16, Transport Service -> no S2 encapsulation\n\t\tif (\n\t\t\tcc instanceof Security2CC\n\t\t\t|| cc instanceof CRC16CC\n\t\t\t|| cc instanceof TransportServiceCC\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// S0: check command\n\t\tif (cc instanceof SecurityCC) {\n\t\t\tswitch (cc.ccCommand) {\n\t\t\t\t// Already encapsulated\n\t\t\t\tcase SecurityCommand.CommandEncapsulation:\n\t\t\t\tcase SecurityCommand.CommandEncapsulationNonceGet:\n\t\t\t\t// Cannot be sent encapsulated:\n\t\t\t\tcase SecurityCommand.NonceGet:\n\t\t\t\tcase SecurityCommand.NonceReport:\n\t\t\t\tcase SecurityCommand.SchemeGet:\n\t\t\t\tcase SecurityCommand.SchemeReport:\n\t\t\t\t\treturn false;\n\n\t\t\t\tdefault:\n\t\t\t\t\t// All other commands must be encapsulated\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\t// Everything else needs to be encapsulated if the CC is secure\n\t\treturn true;\n\t}\n\n\t/** Encapsulates a command that should be sent encrypted */\n\tpublic static encapsulate(\n\t\townNodeId: number,\n\t\tsecurityManager: SecurityManager,\n\t\tcc: CommandClass,\n\t): SecurityCCCommandEncapsulation {\n\t\t// TODO: When to return a SecurityCCCommandEncapsulationNonceGet?\n\t\tconst ret = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: cc.nodeId,\n\t\t\tencapsulated: cc,\n\t\t});\n\n\t\t// Copy the encapsulation flags from the encapsulated command\n\t\t// but omit Security, since we're doing that right now\n\t\tret.encapsulationFlags = cc.encapsulationFlags\n\t\t\t& ~EncapsulationFlags.Security;\n\n\t\treturn ret;\n\t}\n}\n\ninterface SecurityCCNonceReportOptions {\n\tnonce: Uint8Array;\n}\n\n@CCCommand(SecurityCommand.NonceReport)\nexport class SecurityCCNonceReport extends SecurityCC {\n\tconstructor(\n\t\toptions: WithAddress<SecurityCCNonceReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.nonce.length !== HALF_NONCE_SIZE) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`Nonce must have length ${HALF_NONCE_SIZE}!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.nonce = options.nonce;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCNonceReport {\n\t\tvalidatePayload.withReason(\"Invalid nonce length\")(\n\t\t\traw.payload.length === HALF_NONCE_SIZE,\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnonce: raw.payload,\n\t\t});\n\t}\n\n\tpublic nonce: Uint8Array;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.view(this.nonce);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { nonce: buffer2hex(this.nonce) },\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.NonceGet)\n@expectedCCResponse(SecurityCCNonceReport)\nexport class SecurityCCNonceGet extends SecurityCC {}\n\n// @publicAPI\nexport type SecurityCCCommandEncapsulationOptions =\n\t& {\n\t\talternativeNetworkKey?: Uint8Array;\n\t}\n\t& ({\n\t\tencapsulated: CommandClass;\n\t} | {\n\t\tdecryptedCCBytes: Uint8Array;\n\t\tsequenced: boolean;\n\t\tsecondFrame: boolean;\n\t\tsequenceCounter: number;\n\t});\n\nfunction getCCResponseForCommandEncapsulation(\n\tsent: SecurityCCCommandEncapsulation,\n) {\n\tif (sent.encapsulated.expectsCCResponse()) {\n\t\treturn SecurityCCCommandEncapsulation;\n\t}\n}\n\n@CCCommand(SecurityCommand.CommandEncapsulation)\n@expectedCCResponse(\n\tgetCCResponseForCommandEncapsulation,\n\t() => \"checkEncapsulated\",\n)\nexport class SecurityCCCommandEncapsulation extends SecurityCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SecurityCCCommandEncapsulationOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tif (\"encapsulated\" in options) {\n\t\t\tthis.encapsulated = options.encapsulated;\n\t\t\tthis.encapsulated.encapsulatingCC = this as any;\n\t\t} else {\n\t\t\tthis.decryptedCCBytes = options.decryptedCCBytes;\n\t\t\tthis.sequenced = options.sequenced;\n\t\t\tthis.secondFrame = options.secondFrame;\n\t\t\tthis.sequenceCounter = options.sequenceCounter;\n\t\t}\n\t\tthis.alternativeNetworkKey = options.alternativeNetworkKey;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCCommandEncapsulation {\n\t\tassertSecurityRX(ctx);\n\n\t\t// HALF_NONCE_SIZE bytes iv, 1 byte frame control, at least 1 CC byte, 1 byte nonce id, 8 bytes auth code\n\t\tvalidatePayload(\n\t\t\traw.payload.length >= HALF_NONCE_SIZE + 1 + 1 + 1 + 8,\n\t\t);\n\t\tconst iv = raw.payload.subarray(0, HALF_NONCE_SIZE);\n\t\tconst encryptedPayload = raw.payload.subarray(HALF_NONCE_SIZE, -9);\n\t\tconst nonceId = raw.payload.at(-9)!;\n\t\tconst authCode = raw.payload.subarray(-8);\n\n\t\t// Retrieve the used nonce from the nonce store\n\t\tconst nonce = ctx.securityManager.getNonce(nonceId);\n\t\t// Only accept the message if the nonce hasn't expired\n\t\tif (!nonce) {\n\t\t\tvalidatePayload.fail(\n\t\t\t\t`Nonce ${\n\t\t\t\t\tnum2hex(\n\t\t\t\t\t\tnonceId,\n\t\t\t\t\t)\n\t\t\t\t} expired, cannot decode security encapsulated command.`,\n\t\t\t);\n\t\t}\n\t\t// and mark the nonce as used\n\t\tctx.securityManager.deleteNonce(nonceId);\n\n\t\t// Validate the encrypted data\n\t\tconst authData = getAuthenticationData(\n\t\t\tiv,\n\t\t\tnonce,\n\t\t\tSecurityCommand.CommandEncapsulation,\n\t\t\tctx.sourceNodeId,\n\t\t\tctx.ownNodeId,\n\t\t\tencryptedPayload,\n\t\t);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst expectedAuthCode = computeMACSync(\n\t\t\tauthData,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tctx.securityManager.authKey,\n\t\t);\n\t\t// Only accept messages with a correct auth code\n\t\tvalidatePayload.withReason(\n\t\t\t\"Invalid auth code, won't accept security encapsulated command.\",\n\t\t)(authCode.equals(expectedAuthCode));\n\n\t\t// Decrypt the encapsulated CC\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst frameControlAndDecryptedCC = decryptAES128OFBSync(\n\t\t\tencryptedPayload,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tctx.securityManager.encryptionKey,\n\t\t\tBytes.concat([iv, nonce]),\n\t\t);\n\t\tconst frameControl = frameControlAndDecryptedCC[0];\n\t\tconst sequenceCounter = frameControl & 0b1111;\n\t\tconst sequenced = !!(frameControl & 0b1_0000);\n\t\tconst secondFrame = !!(frameControl & 0b10_0000);\n\t\tconst decryptedCCBytes: Uint8Array | undefined =\n\t\t\tframeControlAndDecryptedCC\n\t\t\t\t.subarray(1);\n\n\t\tconst ret = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceCounter,\n\t\t\tsequenced,\n\t\t\tsecondFrame,\n\t\t\tdecryptedCCBytes,\n\t\t});\n\n\t\tret.authData = authData;\n\t\tret.authCode = authCode;\n\t\tret.iv = iv;\n\n\t\treturn ret;\n\t}\n\n\tpublic static async fromAsync(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): Promise<SecurityCCCommandEncapsulation> {\n\t\tassertSecurityRX(ctx);\n\n\t\t// HALF_NONCE_SIZE bytes iv, 1 byte frame control, at least 1 CC byte, 1 byte nonce id, 8 bytes auth code\n\t\tvalidatePayload(\n\t\t\traw.payload.length >= HALF_NONCE_SIZE + 1 + 1 + 1 + 8,\n\t\t);\n\t\tconst iv = raw.payload.subarray(0, HALF_NONCE_SIZE);\n\t\tconst encryptedPayload = raw.payload.subarray(HALF_NONCE_SIZE, -9);\n\t\tconst nonceId = raw.payload.at(-9)!;\n\t\tconst authCode = raw.payload.subarray(-8);\n\n\t\t// Retrieve the used nonce from the nonce store\n\t\tconst nonce = ctx.securityManager.getNonce(nonceId);\n\t\t// Only accept the message if the nonce hasn't expired\n\t\tif (!nonce) {\n\t\t\tvalidatePayload.fail(\n\t\t\t\t`Nonce ${\n\t\t\t\t\tnum2hex(\n\t\t\t\t\t\tnonceId,\n\t\t\t\t\t)\n\t\t\t\t} expired, cannot decode security encapsulated command.`,\n\t\t\t);\n\t\t}\n\t\t// and mark the nonce as used\n\t\tctx.securityManager.deleteNonce(nonceId);\n\n\t\t// Validate the encrypted data\n\t\tconst authData = getAuthenticationData(\n\t\t\tiv,\n\t\t\tnonce,\n\t\t\tSecurityCommand.CommandEncapsulation,\n\t\t\tctx.sourceNodeId,\n\t\t\tctx.ownNodeId,\n\t\t\tencryptedPayload,\n\t\t);\n\t\tconst expectedAuthCode = await computeMACAsync(\n\t\t\tauthData,\n\t\t\tawait ctx.securityManager.getAuthKey(),\n\t\t);\n\t\t// Only accept messages with a correct auth code\n\t\tvalidatePayload.withReason(\n\t\t\t\"Invalid auth code, won't accept security encapsulated command.\",\n\t\t)(authCode.equals(expectedAuthCode));\n\n\t\t// Decrypt the encapsulated CC\n\t\tconst frameControlAndDecryptedCC = await decryptAES128OFBAsync(\n\t\t\tencryptedPayload,\n\t\t\tawait ctx.securityManager.getEncryptionKey(),\n\t\t\tBytes.concat([iv, nonce]),\n\t\t);\n\t\tconst frameControl = frameControlAndDecryptedCC[0];\n\t\tconst sequenceCounter = frameControl & 0b1111;\n\t\tconst sequenced = !!(frameControl & 0b1_0000);\n\t\tconst secondFrame = !!(frameControl & 0b10_0000);\n\t\tconst decryptedCCBytes: Uint8Array | undefined =\n\t\t\tframeControlAndDecryptedCC\n\t\t\t\t.subarray(1);\n\n\t\tconst ret = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceCounter,\n\t\t\tsequenced,\n\t\t\tsecondFrame,\n\t\t\tdecryptedCCBytes,\n\t\t});\n\n\t\tret.authData = authData;\n\t\tret.authCode = authCode;\n\t\tret.iv = iv;\n\n\t\treturn ret;\n\t}\n\n\tprivate sequenced: boolean | undefined;\n\tprivate secondFrame: boolean | undefined;\n\tprivate sequenceCounter: number | undefined;\n\n\tprivate decryptedCCBytes: Uint8Array | undefined;\n\tpublic encapsulated!: CommandClass;\n\n\tprivate alternativeNetworkKey?: Uint8Array;\n\n\tpublic get nonceId(): number | undefined {\n\t\treturn this.nonce?.[0];\n\t}\n\tpublic nonce: Uint8Array | undefined;\n\n\t// Only used testing/for debugging purposes\n\tprivate iv?: Uint8Array;\n\tprivate authData?: Uint8Array;\n\tprivate authCode?: Uint8Array;\n\tprivate ciphertext?: Uint8Array;\n\n\tpublic getPartialCCSessionId(): Record<string, any> | undefined {\n\t\tif (this.sequenced) {\n\t\t\treturn {\n\t\t\t\t// Treat Encapsulation and EncapsulationNonceGet as one\n\t\t\t\tccCommand: undefined,\n\t\t\t\tsequence: this.sequenceCounter,\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\t// Treat Encapsulation and EncapsulationNonceGet as one\n\t\t\t\tccCommand: undefined,\n\t\t\t};\n\t\t}\n\t}\n\n\tpublic expectMoreMessages(): boolean {\n\t\treturn !!this.sequenced && !this.secondFrame;\n\t}\n\n\t/** @deprecated Use {@link mergePartialCCsAsync} instead */\n\tpublic mergePartialCCs(\n\t\tpartials: SecurityCCCommandEncapsulation[],\n\t\tctx: CCParsingContext,\n\t): void {\n\t\t// Concat the CC buffers\n\t\tthis.decryptedCCBytes = Bytes.concat(\n\t\t\t[...partials, this].map((cc) => cc.decryptedCCBytes!),\n\t\t);\n\t\t// make sure this contains a complete CC command that's worth splitting\n\t\tvalidatePayload(this.decryptedCCBytes.length >= 2);\n\t\t// and deserialize the CC\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tthis.encapsulated = CommandClass.parse(this.decryptedCCBytes, ctx);\n\t\tthis.encapsulated.encapsulatingCC = this as any;\n\t}\n\n\tpublic async mergePartialCCsAsync(\n\t\tpartials: SecurityCCCommandEncapsulation[],\n\t\tctx: CCParsingContext,\n\t): Promise<void> {\n\t\t// Concat the CC buffers\n\t\tthis.decryptedCCBytes = Bytes.concat(\n\t\t\t[...partials, this].map((cc) => cc.decryptedCCBytes!),\n\t\t);\n\t\t// make sure this contains a complete CC command that's worth splitting\n\t\tvalidatePayload(this.decryptedCCBytes.length >= 2);\n\t\t// and deserialize the CC\n\t\tthis.encapsulated = await CommandClass.parseAsync(\n\t\t\tthis.decryptedCCBytes,\n\t\t\tctx,\n\t\t);\n\t\tthis.encapsulated.encapsulatingCC = this as any;\n\t}\n\n\t/** @deprecated Use {@link serializeAsync} instead */\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tif (!this.nonce) throwNoNonce();\n\t\tif (this.nonce.length !== HALF_NONCE_SIZE) {\n\t\t\tthrowNoNonce(\"Invalid nonce size\");\n\t\t}\n\t\tassertSecurityTX(ctx);\n\n\t\tlet authKey: Uint8Array;\n\t\tlet encryptionKey: Uint8Array;\n\t\tif (this.alternativeNetworkKey) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tauthKey = generateAuthKeySync(this.alternativeNetworkKey);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tencryptionKey = generateEncryptionKeySync(\n\t\t\t\tthis.alternativeNetworkKey,\n\t\t\t);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tauthKey = ctx.securityManager.authKey;\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tencryptionKey = ctx.securityManager.encryptionKey;\n\t\t}\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst serializedCC = this.encapsulated.serialize(ctx);\n\t\tconst plaintext = Bytes.concat([\n\t\t\tBytes.from([0]), // TODO: frame control\n\t\t\tserializedCC,\n\t\t]);\n\t\t// Encrypt the payload\n\t\tconst senderNonce = randomBytes(HALF_NONCE_SIZE);\n\t\tconst iv = Bytes.concat([senderNonce, this.nonce]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst ciphertext = encryptAES128OFBSync(plaintext, encryptionKey, iv);\n\t\t// And generate the auth code\n\t\tconst authData = getAuthenticationData(\n\t\t\tsenderNonce,\n\t\t\tthis.nonce,\n\t\t\tthis.ccCommand,\n\t\t\tctx.ownNodeId,\n\t\t\tthis.nodeId,\n\t\t\tciphertext,\n\t\t);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst authCode = computeMACSync(authData, authKey);\n\n\t\t// Remember for debugging purposes\n\t\tthis.iv = iv;\n\t\tthis.authData = authData;\n\t\tthis.authCode = authCode;\n\t\tthis.ciphertext = ciphertext;\n\n\t\tthis.payload = Bytes.concat([\n\t\t\tsenderNonce,\n\t\t\tciphertext,\n\t\t\tBytes.from([this.nonceId!]),\n\t\t\tauthCode,\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic async serializeAsync(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tif (!this.nonce) throwNoNonce();\n\t\tif (this.nonce.length !== HALF_NONCE_SIZE) {\n\t\t\tthrowNoNonce(\"Invalid nonce size\");\n\t\t}\n\t\tassertSecurityTX(ctx);\n\n\t\tlet authKey: Uint8Array;\n\t\tlet encryptionKey: Uint8Array;\n\t\tif (this.alternativeNetworkKey) {\n\t\t\tauthKey = await generateAuthKeyAsync(this.alternativeNetworkKey);\n\t\t\tencryptionKey = await generateEncryptionKeyAsync(\n\t\t\t\tthis.alternativeNetworkKey,\n\t\t\t);\n\t\t} else {\n\t\t\tauthKey = await ctx.securityManager.getAuthKey();\n\t\t\tencryptionKey = await ctx.securityManager.getEncryptionKey();\n\t\t}\n\n\t\tconst serializedCC = await this.encapsulated.serializeAsync(ctx);\n\t\tconst plaintext = Bytes.concat([\n\t\t\tBytes.from([0]), // TODO: frame control\n\t\t\tserializedCC,\n\t\t]);\n\t\t// Encrypt the payload\n\t\tconst senderNonce = randomBytes(HALF_NONCE_SIZE);\n\t\tconst iv = Bytes.concat([senderNonce, this.nonce]);\n\t\tconst ciphertext = await encryptAES128OFBAsync(\n\t\t\tplaintext,\n\t\t\tencryptionKey,\n\t\t\tiv,\n\t\t);\n\t\t// And generate the auth code\n\t\tconst authData = getAuthenticationData(\n\t\t\tsenderNonce,\n\t\t\tthis.nonce,\n\t\t\tthis.ccCommand,\n\t\t\tctx.ownNodeId,\n\t\t\tthis.nodeId,\n\t\t\tciphertext,\n\t\t);\n\t\tconst authCode = await computeMACAsync(authData, authKey);\n\n\t\t// Remember for debugging purposes\n\t\tthis.iv = iv;\n\t\tthis.authData = authData;\n\t\tthis.authCode = authCode;\n\t\tthis.ciphertext = ciphertext;\n\n\t\tthis.payload = Bytes.concat([\n\t\t\tsenderNonce,\n\t\t\tciphertext,\n\t\t\tBytes.from([this.nonceId!]),\n\t\t\tauthCode,\n\t\t]);\n\t\treturn super.serializeAsync(ctx);\n\t}\n\n\tprotected computeEncapsulationOverhead(): number {\n\t\t// Security CC adds 8 bytes IV, 1 byte frame control, 1 byte nonce ID, 8 bytes MAC\n\t\treturn super.computeEncapsulationOverhead() + 18;\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {};\n\t\tif (this.nonceId != undefined) {\n\t\t\tmessage[\"nonce id\"] = this.nonceId;\n\t\t}\n\t\tif (this.sequenced != undefined) {\n\t\t\tmessage.sequenced = this.sequenced;\n\t\t\tif (this.sequenced) {\n\t\t\t\tif (this.secondFrame != undefined) {\n\t\t\t\t\tmessage[\"second frame\"] = this.secondFrame;\n\t\t\t\t}\n\t\t\t\tif (this.sequenceCounter != undefined) {\n\t\t\t\t\tmessage[\"sequence counter\"] = this.sequenceCounter;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Log the plaintext in integration tests and development mode\n\t\tif (\n\t\t\tprocess.env.NODE_ENV === \"test\"\n\t\t\t|| process.env.NODE_ENV === \"development\"\n\t\t) {\n\t\t\tif (this.iv) {\n\t\t\t\tmessage.IV = buffer2hex(this.iv);\n\t\t\t}\n\t\t\tif (this.ciphertext) {\n\t\t\t\tmessage.ciphertext = buffer2hex(this.ciphertext);\n\t\t\t} else if (this.decryptedCCBytes) {\n\t\t\t\tmessage.plaintext = buffer2hex(this.decryptedCCBytes);\n\t\t\t}\n\t\t\tif (this.authData) {\n\t\t\t\tmessage[\"auth data\"] = buffer2hex(this.authData);\n\t\t\t}\n\t\t\tif (this.authCode) {\n\t\t\t\tmessage[\"auth code\"] = buffer2hex(this.authCode);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// This is the same message, but with another CC command\n@CCCommand(SecurityCommand.CommandEncapsulationNonceGet)\nexport class SecurityCCCommandEncapsulationNonceGet\n\textends SecurityCCCommandEncapsulation\n{}\n\n@CCCommand(SecurityCommand.SchemeReport)\nexport class SecurityCCSchemeReport extends SecurityCC {\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCSchemeReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\t// The including controller MUST NOT perform any validation of the Supported Security Schemes byte\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t});\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n\t\tthis.payload = Bytes.from([0]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\t// Hide the default payload line\n\t\t\tmessage: undefined,\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.SchemeGet)\n@expectedCCResponse(SecurityCCSchemeReport)\nexport class SecurityCCSchemeGet extends SecurityCC {\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n\t\tthis.payload = Bytes.from([0]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\t// Hide the default payload line\n\t\t\tmessage: undefined,\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.SchemeInherit)\n@expectedCCResponse(SecurityCCSchemeReport)\nexport class SecurityCCSchemeInherit extends SecurityCC {\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n\t\tthis.payload = Bytes.from([0]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\t// Hide the default payload line\n\t\t\tmessage: undefined,\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.NetworkKeyVerify)\nexport class SecurityCCNetworkKeyVerify extends SecurityCC {}\n\n// @publicAPI\nexport interface SecurityCCNetworkKeySetOptions {\n\tnetworkKey: Uint8Array;\n}\n\n@CCCommand(SecurityCommand.NetworkKeySet)\n@expectedCCResponse(SecurityCCNetworkKeyVerify)\nexport class SecurityCCNetworkKeySet extends SecurityCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SecurityCCNetworkKeySetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.networkKey.length !== 16) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`The network key must have length 16!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.networkKey = options.networkKey;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCNetworkKeySet {\n\t\tvalidatePayload(raw.payload.length >= 16);\n\t\tconst networkKey: Uint8Array = raw.payload.subarray(0, 16);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnetworkKey,\n\t\t});\n\t}\n\n\tpublic networkKey: Uint8Array;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.view(this.networkKey);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\t// The network key shouldn't be logged, so users can safely post their logs online\n\t\tconst { message, ...log } = super.toLogEntry(ctx);\n\t\treturn log;\n\t}\n}\n\n// @publicAPI\nexport interface SecurityCCCommandsSupportedReportOptions {\n\treportsToFollow?: number;\n\tsupportedCCs: CommandClasses[];\n\tcontrolledCCs: CommandClasses[];\n}\n\n@CCCommand(SecurityCommand.CommandsSupportedReport)\nexport class SecurityCCCommandsSupportedReport extends SecurityCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SecurityCCCommandsSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.supportedCCs = options.supportedCCs;\n\t\tthis.controlledCCs = options.controlledCCs;\n\t\t// TODO: properly split the CCs into multiple reports\n\t\tthis.reportsToFollow = options.reportsToFollow ?? 0;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCCommandsSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst reportsToFollow = raw.payload[0];\n\t\tconst list = parseCCList(raw.payload.subarray(1));\n\t\tconst supportedCCs: CommandClasses[] = list.supportedCCs;\n\t\tconst controlledCCs: CommandClasses[] = list.controlledCCs;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\treportsToFollow,\n\t\t\tsupportedCCs,\n\t\t\tcontrolledCCs,\n\t\t});\n\t}\n\n\tpublic reportsToFollow: number;\n\tpublic supportedCCs: CommandClasses[];\n\tpublic controlledCCs: CommandClasses[];\n\n\tpublic getPartialCCSessionId(): Record<string, any> | undefined {\n\t\t// Nothing special we can distinguish sessions with\n\t\treturn {};\n\t}\n\n\tpublic expectMoreMessages(): boolean {\n\t\treturn this.reportsToFollow > 0;\n\t}\n\n\t/** @deprecated Use {@link mergePartialCCsAsync} instead */\n\tpublic mergePartialCCs(\n\t\tpartials: SecurityCCCommandsSupportedReport[],\n\t): void {\n\t\t// Concat the lists of CCs\n\t\tthis.supportedCCs = [...partials, this]\n\t\t\t.map((report) => report.supportedCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t\tthis.controlledCCs = [...partials, this]\n\t\t\t.map((report) => report.controlledCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t}\n\n\tpublic mergePartialCCsAsync(\n\t\tpartials: SecurityCCCommandsSupportedReport[],\n\t): Promise<void> {\n\t\t// Concat the lists of CCs\n\t\tthis.supportedCCs = [...partials, this]\n\t\t\t.map((report) => report.supportedCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t\tthis.controlledCCs = [...partials, this]\n\t\t\t.map((report) => report.controlledCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t\treturn Promise.resolve();\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.reportsToFollow]),\n\t\t\tencodeCCList(this.supportedCCs, this.controlledCCs),\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\treportsToFollow: this.reportsToFollow,\n\t\t\t\tsupportedCCs: this.supportedCCs\n\t\t\t\t\t.map((cc) => getCCName(cc))\n\t\t\t\t\t.map((cc) => `\\n\u00B7 ${cc}`)\n\t\t\t\t\t.join(\"\"),\n\t\t\t\tcontrolledCCs: this.controlledCCs\n\t\t\t\t\t.map((cc) => getCCName(cc))\n\t\t\t\t\t.map((cc) => `\\n\u00B7 ${cc}`)\n\t\t\t\t\t.join(\"\"),\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.CommandsSupportedGet)\n@expectedCCResponse(SecurityCCCommandsSupportedReport)\nexport class SecurityCCCommandsSupportedGet extends SecurityCC {}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import {\n\tCommandClasses,\n\tEncapsulationFlags,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\tSecurityClass,\n\ttype SecurityManager,\n\tTransmitOptions,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tcomputeMACAsync,\n\tcomputeMACSync,\n\tdecryptAES128OFBAsync,\n\tdecryptAES128OFBSync,\n\tencodeCCList,\n\tencryptAES128OFBAsync,\n\tencryptAES128OFBSync,\n\tgenerateAuthKeyAsync,\n\tgenerateAuthKeySync,\n\tgenerateEncryptionKeyAsync,\n\tgenerateEncryptionKeySync,\n\tgetCCName,\n\tisTransmissionError,\n\tparseCCList,\n\trandomBytes,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { type MaybeNotKnown } from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { buffer2hex, num2hex, pick } from \"@zwave-js/shared/safe\";\nimport { wait } from \"alcalzone-shared/async\";\nimport { CCAPI, PhysicalCCAPI } from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n} from \"../lib/CommandClassDecorators.js\";\nimport { SecurityCommand } from \"../lib/_Types.js\";\nimport { CRC16CC } from \"./CRC16CC.js\";\nimport { Security2CC } from \"./Security2CC.js\";\nimport { TransportServiceCC } from \"./TransportServiceCC.js\";\n\n// @noSetValueAPI This is an encapsulation CC\n\nfunction getAuthenticationData(\n\tsenderNonce: Uint8Array,\n\treceiverNonce: Uint8Array,\n\tccCommand: SecurityCommand,\n\tsendingNodeId: number,\n\treceivingNodeId: number,\n\tencryptedPayload: Uint8Array,\n): Uint8Array {\n\treturn Bytes.concat([\n\t\tsenderNonce,\n\t\treceiverNonce,\n\t\tBytes.from([\n\t\t\tccCommand,\n\t\t\tsendingNodeId,\n\t\t\treceivingNodeId,\n\t\t\tencryptedPayload.length,\n\t\t]),\n\t\tencryptedPayload,\n\t]);\n}\n\nfunction throwNoNonce(reason?: string): never {\n\tlet message = `Security CC requires a nonce to be sent!`;\n\tif (reason) message += ` Reason: ${reason}`;\n\tthrow new ZWaveError(message, ZWaveErrorCodes.SecurityCC_NoNonce);\n}\n\nconst HALF_NONCE_SIZE = 8;\n\nfunction assertSecurityRX(\n\tctx: CCParsingContext,\n): asserts ctx is CCParsingContext & { securityManager: SecurityManager } {\n\tif (!ctx.ownNodeId) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be decoded when the controller's node id is known!`,\n\t\t\tZWaveErrorCodes.Driver_NotReady,\n\t\t);\n\t}\n\n\tif (!ctx.securityManager) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be decoded when the security manager is set up!`,\n\t\t\tZWaveErrorCodes.Driver_NoSecurity,\n\t\t);\n\t}\n}\n\nfunction assertSecurityTX(\n\tctx: CCEncodingContext,\n): asserts ctx is CCEncodingContext & { securityManager: SecurityManager } {\n\tif (!ctx.ownNodeId) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be sent when the controller's node id is known!`,\n\t\t\tZWaveErrorCodes.Driver_NotReady,\n\t\t);\n\t}\n\n\tif (!ctx.securityManager) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be sent when the security manager is set up!`,\n\t\t\tZWaveErrorCodes.Driver_NoSecurity,\n\t\t);\n\t}\n}\n\n// TODO: Ignore commands if received via multicast\n\n// Encapsulation CCs are used internally and too frequently that we\n// want to pay the cost of validating each call\n/* eslint-disable @zwave-js/ccapi-validate-args */\n\n@API(CommandClasses.Security)\nexport class SecurityCCAPI extends PhysicalCCAPI {\n\tpublic supportsCommand(_cmd: SecurityCommand): MaybeNotKnown<boolean> {\n\t\t// All commands are mandatory\n\t\treturn true;\n\t}\n\n\tpublic async sendEncapsulated(\n\t\tencapsulated: CommandClass,\n\t\trequestNextNonce: boolean = false,\n\t): Promise<void> {\n\t\tif (requestNextNonce) {\n\t\t\tthis.assertSupportsCommand(\n\t\t\t\tSecurityCommand,\n\t\t\t\tSecurityCommand.CommandEncapsulation,\n\t\t\t);\n\t\t} else {\n\t\t\tthis.assertSupportsCommand(\n\t\t\t\tSecurityCommand,\n\t\t\t\tSecurityCommand.CommandEncapsulationNonceGet,\n\t\t\t);\n\t\t}\n\n\t\tconst cc = new (\n\t\t\trequestNextNonce\n\t\t\t\t? SecurityCCCommandEncapsulationNonceGet\n\t\t\t\t: SecurityCCCommandEncapsulation\n\t\t)({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tencapsulated,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t/**\n\t * Requests a new nonce for Security CC encapsulation which is not directly linked to a specific command.\n\t */\n\tpublic async getNonce(): Promise<Uint8Array | undefined> {\n\t\tthis.assertSupportsCommand(SecurityCommand, SecurityCommand.NonceGet);\n\n\t\tconst cc = new SecurityCCNonceGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<SecurityCCNonceReport>(\n\t\t\tcc,\n\t\t\t{\n\t\t\t\t...this.commandOptions,\n\t\t\t\t// Only try getting a nonce once\n\t\t\t\tmaxSendAttempts: 1,\n\t\t\t},\n\t\t);\n\t\tif (!response) return;\n\n\t\tconst nonce = response.nonce;\n\t\tconst secMan = this.host.securityManager!;\n\t\tsecMan.setNonce(\n\t\t\t{\n\t\t\t\tissuer: this.endpoint.nodeId,\n\t\t\t\tnonceId: secMan.getNonceId(nonce),\n\t\t\t},\n\t\t\t{ nonce, receiver: this.host.ownNodeId },\n\t\t\t{ free: true },\n\t\t);\n\t\treturn nonce;\n\t}\n\n\t/**\n\t * Responds to a NonceGet request. The message is sent without any retransmission etc.\n\t * The return value indicates whether a nonce was successfully sent\n\t */\n\tpublic async sendNonce(): Promise<boolean> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.NonceReport,\n\t\t);\n\n\t\tif (!this.host.securityManager) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`Nonces can only be sent if secure communication is set up!`,\n\t\t\t\tZWaveErrorCodes.Driver_NoSecurity,\n\t\t\t);\n\t\t}\n\n\t\tconst nonce = this.host.securityManager.generateNonce(\n\t\t\tthis.endpoint.nodeId,\n\t\t\tHALF_NONCE_SIZE,\n\t\t);\n\t\tconst nonceId = this.host.securityManager.getNonceId(nonce);\n\n\t\tconst cc = new SecurityCCNonceReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tnonce,\n\t\t});\n\n\t\ttry {\n\t\t\tawait this.host.sendCommand(cc, {\n\t\t\t\t...this.commandOptions,\n\t\t\t\t// Seems we need these options or some nodes won't accept the nonce\n\t\t\t\ttransmitOptions: TransmitOptions.ACK\n\t\t\t\t\t| TransmitOptions.AutoRoute,\n\t\t\t\t// Only try sending a nonce once\n\t\t\t\tmaxSendAttempts: 1,\n\t\t\t\t// Nonce requests must be handled immediately\n\t\t\t\tpriority: MessagePriority.Immediate,\n\t\t\t\t// We don't want failures causing us to treat the node as asleep or dead\n\t\t\t\tchangeNodeStatusOnMissingACK: false,\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tif (isTransmissionError(e)) {\n\t\t\t\t// The nonce could not be sent, invalidate it\n\t\t\t\tthis.host.securityManager.deleteNonce(nonceId);\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\t// Pass other errors through\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic async getSecurityScheme(): Promise<[0]> {\n\t\tthis.assertSupportsCommand(SecurityCommand, SecurityCommand.SchemeGet);\n\n\t\tconst cc = new SecurityCCSchemeGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t\t// There is only one scheme, so we hardcode it\n\t\treturn [0];\n\t}\n\n\tpublic async reportSecurityScheme(encapsulated: boolean): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.SchemeReport,\n\t\t);\n\n\t\tlet cc: CommandClass = new SecurityCCSchemeReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tif (encapsulated) {\n\t\t\tcc = new SecurityCCCommandEncapsulation({\n\t\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t\tencapsulated: cc,\n\t\t\t});\n\t\t}\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tpublic async inheritSecurityScheme(): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.SchemeInherit,\n\t\t);\n\n\t\tconst cc = new SecurityCCSchemeInherit({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t\t// There is only one scheme, so we don't return anything here\n\t}\n\n\tpublic async setNetworkKey(networkKey: Uint8Array): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.NetworkKeySet,\n\t\t);\n\n\t\tconst keySet = new SecurityCCNetworkKeySet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tnetworkKey,\n\t\t});\n\t\tconst cc = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tencapsulated: keySet,\n\t\t\talternativeNetworkKey: new Uint8Array(16).fill(0),\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tpublic async verifyNetworkKey(): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.NetworkKeyVerify,\n\t\t);\n\n\t\tconst cc = new SecurityCCNetworkKeyVerify({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getSupportedCommands() {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.CommandsSupportedGet,\n\t\t);\n\n\t\tconst cc = new SecurityCCCommandsSupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tSecurityCCCommandsSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"supportedCCs\", \"controlledCCs\"]);\n\t\t}\n\t}\n\n\tpublic async reportSupportedCommands(\n\t\tsupportedCCs: CommandClasses[],\n\t\tcontrolledCCs: CommandClasses[],\n\t): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.CommandsSupportedReport,\n\t\t);\n\n\t\tconst cc = new SecurityCCCommandsSupportedReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsupportedCCs,\n\t\t\tcontrolledCCs,\n\t\t\treportsToFollow: 0,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n}\n\n@commandClass(CommandClasses.Security)\n@implementedVersion(1)\nexport class SecurityCC extends CommandClass {\n\tdeclare ccCommand: SecurityCommand;\n\t// Force singlecast for the Security CC\n\tdeclare nodeId: number;\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses.Security,\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: \"Querying securely supported commands (S0)...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tlet supportedCCs: CommandClasses[] | undefined;\n\t\tlet controlledCCs: CommandClasses[] | undefined;\n\n\t\t// Try up to 3 times on the root device. We REALLY don't want a spurious timeout or collision to cause us to discard a known good security class\n\t\tconst MAX_ATTEMPTS = this.endpointIndex === 0 ? 3 : 1;\n\t\tfor (let attempts = 1; attempts <= MAX_ATTEMPTS; attempts++) {\n\t\t\tconst resp = await api.getSupportedCommands();\n\t\t\tif (resp) {\n\t\t\t\tsupportedCCs = resp.supportedCCs;\n\t\t\t\tcontrolledCCs = resp.controlledCCs;\n\t\t\t\tbreak;\n\t\t\t} else if (attempts < MAX_ATTEMPTS) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t`Querying securely supported commands (S0), attempt ${attempts}/${MAX_ATTEMPTS} failed. Retrying in 500ms...`,\n\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t});\n\t\t\t\tawait wait(500);\n\t\t\t}\n\t\t}\n\n\t\tif (!supportedCCs || !controlledCCs) {\n\t\t\tif (node.hasSecurityClass(SecurityClass.S0_Legacy) === true) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: \"Querying securely supported commands (S0) failed\",\n\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t});\n\t\t\t\t// TODO: Abort interview?\n\t\t\t} else {\n\t\t\t\t// We didn't know if the node was secure and it didn't respond,\n\t\t\t\t// assume that it doesn't have the S0 security class\n\t\t\t\tctx.logNode(\n\t\t\t\t\tnode.id,\n\t\t\t\t\t`The node was not granted the S0 security class. Continuing interview non-securely.`,\n\t\t\t\t);\n\t\t\t\tnode.setSecurityClass(SecurityClass.S0_Legacy, false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst logLines: string[] = [\n\t\t\t\"received secure commands (S0)\",\n\t\t\t\"supported CCs:\",\n\t\t];\n\t\tfor (const cc of supportedCCs) {\n\t\t\tlogLines.push(`\u00B7 ${getCCName(cc)}`);\n\t\t}\n\t\tlogLines.push(\"controlled CCs:\");\n\t\tfor (const cc of controlledCCs) {\n\t\t\tlogLines.push(`\u00B7 ${getCCName(cc)}`);\n\t\t}\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: logLines.join(\"\\n\"),\n\t\t\tdirection: \"inbound\",\n\t\t});\n\n\t\t// Remember which commands are supported securely\n\t\tfor (const cc of supportedCCs) {\n\t\t\t// Basic CC has special rules for when it is considered supported\n\t\t\t// Therefore we mark all other CCs as supported, but not Basic CC,\n\t\t\t// for which support is determined later.\n\t\t\tif (cc === CommandClasses.Basic) {\n\t\t\t\tendpoint.addCC(cc, { secure: true });\n\t\t\t} else {\n\t\t\t\tendpoint.addCC(cc, {\n\t\t\t\t\tisSupported: true,\n\t\t\t\t\tsecure: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tfor (const cc of controlledCCs) {\n\t\t\t// Basic CC has special rules for when it is considered supported\n\t\t\t// Therefore we mark all other CCs as supported, but not Basic CC,\n\t\t\t// for which support is determined later.\n\t\t\tif (cc === CommandClasses.Basic) {\n\t\t\t\tendpoint.addCC(cc, { secure: true });\n\t\t\t} else {\n\t\t\t\tendpoint.addCC(cc, {\n\t\t\t\t\tisControlled: true,\n\t\t\t\t\tsecure: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// We know for sure that the node is included securely\n\t\tif (node.hasSecurityClass(SecurityClass.S0_Legacy) !== true) {\n\t\t\tnode.setSecurityClass(SecurityClass.S0_Legacy, true);\n\t\t\tctx.logNode(\n\t\t\t\tnode.id,\n\t\t\t\t`The node was granted the S0 security class`,\n\t\t\t);\n\t\t}\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\t/** Tests if a command should be sent secure and thus requires encapsulation */\n\tpublic static requiresEncapsulation(cc: CommandClass): boolean {\n\t\t// No security flag -> no encapsulation\n\t\tif (!(cc.encapsulationFlags & EncapsulationFlags.Security)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// S2, CRC16, Transport Service -> no S2 encapsulation\n\t\tif (\n\t\t\tcc instanceof Security2CC\n\t\t\t|| cc instanceof CRC16CC\n\t\t\t|| cc instanceof TransportServiceCC\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// S0: check command\n\t\tif (cc instanceof SecurityCC) {\n\t\t\tswitch (cc.ccCommand) {\n\t\t\t\t// Already encapsulated\n\t\t\t\tcase SecurityCommand.CommandEncapsulation:\n\t\t\t\tcase SecurityCommand.CommandEncapsulationNonceGet:\n\t\t\t\t// Cannot be sent encapsulated:\n\t\t\t\tcase SecurityCommand.NonceGet:\n\t\t\t\tcase SecurityCommand.NonceReport:\n\t\t\t\tcase SecurityCommand.SchemeGet:\n\t\t\t\tcase SecurityCommand.SchemeReport:\n\t\t\t\t\treturn false;\n\n\t\t\t\tdefault:\n\t\t\t\t\t// All other commands must be encapsulated\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\t// Everything else needs to be encapsulated if the CC is secure\n\t\treturn true;\n\t}\n\n\t/** Encapsulates a command that should be sent encrypted */\n\tpublic static encapsulate(\n\t\townNodeId: number,\n\t\tsecurityManager: SecurityManager,\n\t\tcc: CommandClass,\n\t): SecurityCCCommandEncapsulation {\n\t\t// TODO: When to return a SecurityCCCommandEncapsulationNonceGet?\n\t\tconst ret = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: cc.nodeId,\n\t\t\tencapsulated: cc,\n\t\t});\n\n\t\t// Copy the encapsulation flags from the encapsulated command\n\t\t// but omit Security, since we're doing that right now\n\t\tret.encapsulationFlags = cc.encapsulationFlags\n\t\t\t& ~EncapsulationFlags.Security;\n\n\t\treturn ret;\n\t}\n}\n\ninterface SecurityCCNonceReportOptions {\n\tnonce: Uint8Array;\n}\n\n@CCCommand(SecurityCommand.NonceReport)\nexport class SecurityCCNonceReport extends SecurityCC {\n\tconstructor(\n\t\toptions: WithAddress<SecurityCCNonceReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.nonce.length !== HALF_NONCE_SIZE) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`Nonce must have length ${HALF_NONCE_SIZE}!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.nonce = options.nonce;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCNonceReport {\n\t\tvalidatePayload.withReason(\"Invalid nonce length\")(\n\t\t\traw.payload.length === HALF_NONCE_SIZE,\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnonce: raw.payload,\n\t\t});\n\t}\n\n\tpublic nonce: Uint8Array;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.view(this.nonce);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { nonce: buffer2hex(this.nonce) },\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.NonceGet)\n@expectedCCResponse(SecurityCCNonceReport)\nexport class SecurityCCNonceGet extends SecurityCC {}\n\n// @publicAPI\nexport type SecurityCCCommandEncapsulationOptions =\n\t& {\n\t\talternativeNetworkKey?: Uint8Array;\n\t}\n\t& ({\n\t\tencapsulated: CommandClass;\n\t} | {\n\t\tdecryptedCCBytes: Uint8Array;\n\t\tsequenced: boolean;\n\t\tsecondFrame: boolean;\n\t\tsequenceCounter: number;\n\t});\n\nfunction getCCResponseForCommandEncapsulation(\n\tsent: SecurityCCCommandEncapsulation,\n) {\n\tif (sent.encapsulated.expectsCCResponse()) {\n\t\treturn SecurityCCCommandEncapsulation;\n\t}\n}\n\n@CCCommand(SecurityCommand.CommandEncapsulation)\n@expectedCCResponse(\n\tgetCCResponseForCommandEncapsulation,\n\t() => \"checkEncapsulated\",\n)\nexport class SecurityCCCommandEncapsulation extends SecurityCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SecurityCCCommandEncapsulationOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tif (\"encapsulated\" in options) {\n\t\t\tthis.encapsulated = options.encapsulated;\n\t\t\tthis.encapsulated.encapsulatingCC = this as any;\n\t\t} else {\n\t\t\tthis.decryptedCCBytes = options.decryptedCCBytes;\n\t\t\tthis.sequenced = options.sequenced;\n\t\t\tthis.secondFrame = options.secondFrame;\n\t\t\tthis.sequenceCounter = options.sequenceCounter;\n\t\t}\n\t\tthis.alternativeNetworkKey = options.alternativeNetworkKey;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCCommandEncapsulation {\n\t\tassertSecurityRX(ctx);\n\n\t\t// HALF_NONCE_SIZE bytes iv, 1 byte frame control, at least 1 CC byte, 1 byte nonce id, 8 bytes auth code\n\t\tvalidatePayload(\n\t\t\traw.payload.length >= HALF_NONCE_SIZE + 1 + 1 + 1 + 8,\n\t\t);\n\t\tconst iv = raw.payload.subarray(0, HALF_NONCE_SIZE);\n\t\tconst encryptedPayload = raw.payload.subarray(HALF_NONCE_SIZE, -9);\n\t\tconst nonceId = raw.payload.at(-9)!;\n\t\tconst authCode = raw.payload.subarray(-8);\n\n\t\t// Retrieve the used nonce from the nonce store\n\t\tconst nonce = ctx.securityManager.getNonce(nonceId);\n\t\t// Only accept the message if the nonce hasn't expired\n\t\tif (!nonce) {\n\t\t\tvalidatePayload.fail(\n\t\t\t\t`Nonce ${\n\t\t\t\t\tnum2hex(\n\t\t\t\t\t\tnonceId,\n\t\t\t\t\t)\n\t\t\t\t} expired, cannot decode security encapsulated command.`,\n\t\t\t);\n\t\t}\n\t\t// and mark the nonce as used\n\t\tctx.securityManager.deleteNonce(nonceId);\n\n\t\t// Validate the encrypted data\n\t\tconst authData = getAuthenticationData(\n\t\t\tiv,\n\t\t\tnonce,\n\t\t\tSecurityCommand.CommandEncapsulation,\n\t\t\tctx.sourceNodeId,\n\t\t\tctx.ownNodeId,\n\t\t\tencryptedPayload,\n\t\t);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst expectedAuthCode = computeMACSync(\n\t\t\tauthData,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tctx.securityManager.authKey,\n\t\t);\n\t\t// Only accept messages with a correct auth code\n\t\tvalidatePayload.withReason(\n\t\t\t\"Invalid auth code, won't accept security encapsulated command.\",\n\t\t)(authCode.equals(expectedAuthCode));\n\n\t\t// Decrypt the encapsulated CC\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst frameControlAndDecryptedCC = decryptAES128OFBSync(\n\t\t\tencryptedPayload,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tctx.securityManager.encryptionKey,\n\t\t\tBytes.concat([iv, nonce]),\n\t\t);\n\t\tconst frameControl = frameControlAndDecryptedCC[0];\n\t\tconst sequenceCounter = frameControl & 0b1111;\n\t\tconst sequenced = !!(frameControl & 0b1_0000);\n\t\tconst secondFrame = !!(frameControl & 0b10_0000);\n\t\tconst decryptedCCBytes: Uint8Array | undefined =\n\t\t\tframeControlAndDecryptedCC\n\t\t\t\t.subarray(1);\n\n\t\tconst ret = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceCounter,\n\t\t\tsequenced,\n\t\t\tsecondFrame,\n\t\t\tdecryptedCCBytes,\n\t\t});\n\n\t\tret.authData = authData;\n\t\tret.authCode = authCode;\n\t\tret.iv = iv;\n\n\t\treturn ret;\n\t}\n\n\tpublic static async fromAsync(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): Promise<SecurityCCCommandEncapsulation> {\n\t\tassertSecurityRX(ctx);\n\n\t\t// HALF_NONCE_SIZE bytes iv, 1 byte frame control, at least 1 CC byte, 1 byte nonce id, 8 bytes auth code\n\t\tvalidatePayload(\n\t\t\traw.payload.length >= HALF_NONCE_SIZE + 1 + 1 + 1 + 8,\n\t\t);\n\t\tconst iv = raw.payload.subarray(0, HALF_NONCE_SIZE);\n\t\tconst encryptedPayload = raw.payload.subarray(HALF_NONCE_SIZE, -9);\n\t\tconst nonceId = raw.payload.at(-9)!;\n\t\tconst authCode = raw.payload.subarray(-8);\n\n\t\t// Retrieve the used nonce from the nonce store\n\t\tconst nonce = ctx.securityManager.getNonce(nonceId);\n\t\t// Only accept the message if the nonce hasn't expired\n\t\tif (!nonce) {\n\t\t\tvalidatePayload.fail(\n\t\t\t\t`Nonce ${\n\t\t\t\t\tnum2hex(\n\t\t\t\t\t\tnonceId,\n\t\t\t\t\t)\n\t\t\t\t} expired, cannot decode security encapsulated command.`,\n\t\t\t);\n\t\t}\n\t\t// and mark the nonce as used\n\t\tctx.securityManager.deleteNonce(nonceId);\n\n\t\t// Validate the encrypted data\n\t\tconst authData = getAuthenticationData(\n\t\t\tiv,\n\t\t\tnonce,\n\t\t\tSecurityCommand.CommandEncapsulation,\n\t\t\tctx.sourceNodeId,\n\t\t\tctx.ownNodeId,\n\t\t\tencryptedPayload,\n\t\t);\n\t\tconst expectedAuthCode = await computeMACAsync(\n\t\t\tauthData,\n\t\t\tawait ctx.securityManager.getAuthKey(),\n\t\t);\n\t\t// Only accept messages with a correct auth code\n\t\tvalidatePayload.withReason(\n\t\t\t\"Invalid auth code, won't accept security encapsulated command.\",\n\t\t)(authCode.equals(expectedAuthCode));\n\n\t\t// Decrypt the encapsulated CC\n\t\tconst frameControlAndDecryptedCC = await decryptAES128OFBAsync(\n\t\t\tencryptedPayload,\n\t\t\tawait ctx.securityManager.getEncryptionKey(),\n\t\t\tBytes.concat([iv, nonce]),\n\t\t);\n\t\tconst frameControl = frameControlAndDecryptedCC[0];\n\t\tconst sequenceCounter = frameControl & 0b1111;\n\t\tconst sequenced = !!(frameControl & 0b1_0000);\n\t\tconst secondFrame = !!(frameControl & 0b10_0000);\n\t\tconst decryptedCCBytes: Uint8Array | undefined =\n\t\t\tframeControlAndDecryptedCC\n\t\t\t\t.subarray(1);\n\n\t\tconst ret = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceCounter,\n\t\t\tsequenced,\n\t\t\tsecondFrame,\n\t\t\tdecryptedCCBytes,\n\t\t});\n\n\t\tret.authData = authData;\n\t\tret.authCode = authCode;\n\t\tret.iv = iv;\n\n\t\treturn ret;\n\t}\n\n\tprivate sequenced: boolean | undefined;\n\tprivate secondFrame: boolean | undefined;\n\tprivate sequenceCounter: number | undefined;\n\n\tprivate decryptedCCBytes: Uint8Array | undefined;\n\tpublic encapsulated!: CommandClass;\n\n\tprivate alternativeNetworkKey?: Uint8Array;\n\n\tpublic get nonceId(): number | undefined {\n\t\treturn this.nonce?.[0];\n\t}\n\tpublic nonce: Uint8Array | undefined;\n\n\t// Only used testing/for debugging purposes\n\tprivate iv?: Uint8Array;\n\tprivate authData?: Uint8Array;\n\tprivate authCode?: Uint8Array;\n\tprivate ciphertext?: Uint8Array;\n\n\tpublic getPartialCCSessionId(): Record<string, any> | undefined {\n\t\tif (this.sequenced) {\n\t\t\treturn {\n\t\t\t\t// Treat Encapsulation and EncapsulationNonceGet as one\n\t\t\t\tccCommand: undefined,\n\t\t\t\tsequence: this.sequenceCounter,\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\t// Treat Encapsulation and EncapsulationNonceGet as one\n\t\t\t\tccCommand: undefined,\n\t\t\t};\n\t\t}\n\t}\n\n\tpublic expectMoreMessages(): boolean {\n\t\treturn !!this.sequenced && !this.secondFrame;\n\t}\n\n\t/** @deprecated Use {@link mergePartialCCsAsync} instead */\n\tpublic mergePartialCCs(\n\t\tpartials: SecurityCCCommandEncapsulation[],\n\t\tctx: CCParsingContext,\n\t): void {\n\t\t// Concat the CC buffers\n\t\tthis.decryptedCCBytes = Bytes.concat(\n\t\t\t[...partials, this].map((cc) => cc.decryptedCCBytes!),\n\t\t);\n\t\t// make sure this contains a complete CC command that's worth splitting\n\t\tvalidatePayload(this.decryptedCCBytes.length >= 2);\n\t\t// and deserialize the CC\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tthis.encapsulated = CommandClass.parse(this.decryptedCCBytes, ctx);\n\t\tthis.encapsulated.encapsulatingCC = this as any;\n\t}\n\n\tpublic async mergePartialCCsAsync(\n\t\tpartials: SecurityCCCommandEncapsulation[],\n\t\tctx: CCParsingContext,\n\t): Promise<void> {\n\t\t// Concat the CC buffers\n\t\tthis.decryptedCCBytes = Bytes.concat(\n\t\t\t[...partials, this].map((cc) => cc.decryptedCCBytes!),\n\t\t);\n\t\t// make sure this contains a complete CC command that's worth splitting\n\t\tvalidatePayload(this.decryptedCCBytes.length >= 2);\n\t\t// and deserialize the CC\n\t\tthis.encapsulated = await CommandClass.parseAsync(\n\t\t\tthis.decryptedCCBytes,\n\t\t\tctx,\n\t\t);\n\t\tthis.encapsulated.encapsulatingCC = this as any;\n\t}\n\n\t/** @deprecated Use {@link serializeAsync} instead */\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tif (!this.nonce) throwNoNonce();\n\t\tif (this.nonce.length !== HALF_NONCE_SIZE) {\n\t\t\tthrowNoNonce(\"Invalid nonce size\");\n\t\t}\n\t\tassertSecurityTX(ctx);\n\n\t\tlet authKey: Uint8Array;\n\t\tlet encryptionKey: Uint8Array;\n\t\tif (this.alternativeNetworkKey) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tauthKey = generateAuthKeySync(this.alternativeNetworkKey);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tencryptionKey = generateEncryptionKeySync(\n\t\t\t\tthis.alternativeNetworkKey,\n\t\t\t);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tauthKey = ctx.securityManager.authKey;\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tencryptionKey = ctx.securityManager.encryptionKey;\n\t\t}\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst serializedCC = this.encapsulated.serialize(ctx);\n\t\tconst plaintext = Bytes.concat([\n\t\t\tBytes.from([0]), // TODO: frame control\n\t\t\tserializedCC,\n\t\t]);\n\t\t// Encrypt the payload\n\t\tconst senderNonce = randomBytes(HALF_NONCE_SIZE);\n\t\tconst iv = Bytes.concat([senderNonce, this.nonce]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst ciphertext = encryptAES128OFBSync(plaintext, encryptionKey, iv);\n\t\t// And generate the auth code\n\t\tconst authData = getAuthenticationData(\n\t\t\tsenderNonce,\n\t\t\tthis.nonce,\n\t\t\tthis.ccCommand,\n\t\t\tctx.ownNodeId,\n\t\t\tthis.nodeId,\n\t\t\tciphertext,\n\t\t);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst authCode = computeMACSync(authData, authKey);\n\n\t\t// Remember for debugging purposes\n\t\tthis.iv = iv;\n\t\tthis.authData = authData;\n\t\tthis.authCode = authCode;\n\t\tthis.ciphertext = ciphertext;\n\n\t\tthis.payload = Bytes.concat([\n\t\t\tsenderNonce,\n\t\t\tciphertext,\n\t\t\tBytes.from([this.nonceId!]),\n\t\t\tauthCode,\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic async serializeAsync(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tif (!this.nonce) throwNoNonce();\n\t\tif (this.nonce.length !== HALF_NONCE_SIZE) {\n\t\t\tthrowNoNonce(\"Invalid nonce size\");\n\t\t}\n\t\tassertSecurityTX(ctx);\n\n\t\tlet authKey: Uint8Array;\n\t\tlet encryptionKey: Uint8Array;\n\t\tif (this.alternativeNetworkKey) {\n\t\t\tauthKey = await generateAuthKeyAsync(this.alternativeNetworkKey);\n\t\t\tencryptionKey = await generateEncryptionKeyAsync(\n\t\t\t\tthis.alternativeNetworkKey,\n\t\t\t);\n\t\t} else {\n\t\t\tauthKey = await ctx.securityManager.getAuthKey();\n\t\t\tencryptionKey = await ctx.securityManager.getEncryptionKey();\n\t\t}\n\n\t\tconst serializedCC = await this.encapsulated.serializeAsync(ctx);\n\t\tconst plaintext = Bytes.concat([\n\t\t\tBytes.from([0]), // TODO: frame control\n\t\t\tserializedCC,\n\t\t]);\n\t\t// Encrypt the payload\n\t\tconst senderNonce = randomBytes(HALF_NONCE_SIZE);\n\t\tconst iv = Bytes.concat([senderNonce, this.nonce]);\n\t\tconst ciphertext = await encryptAES128OFBAsync(\n\t\t\tplaintext,\n\t\t\tencryptionKey,\n\t\t\tiv,\n\t\t);\n\t\t// And generate the auth code\n\t\tconst authData = getAuthenticationData(\n\t\t\tsenderNonce,\n\t\t\tthis.nonce,\n\t\t\tthis.ccCommand,\n\t\t\tctx.ownNodeId,\n\t\t\tthis.nodeId,\n\t\t\tciphertext,\n\t\t);\n\t\tconst authCode = await computeMACAsync(authData, authKey);\n\n\t\t// Remember for debugging purposes\n\t\tthis.iv = iv;\n\t\tthis.authData = authData;\n\t\tthis.authCode = authCode;\n\t\tthis.ciphertext = ciphertext;\n\n\t\tthis.payload = Bytes.concat([\n\t\t\tsenderNonce,\n\t\t\tciphertext,\n\t\t\tBytes.from([this.nonceId!]),\n\t\t\tauthCode,\n\t\t]);\n\t\treturn super.serializeAsync(ctx);\n\t}\n\n\tprotected computeEncapsulationOverhead(): number {\n\t\t// Security CC adds 8 bytes IV, 1 byte frame control, 1 byte nonce ID, 8 bytes MAC\n\t\treturn super.computeEncapsulationOverhead() + 18;\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {};\n\t\tif (this.nonceId != undefined) {\n\t\t\tmessage[\"nonce id\"] = this.nonceId;\n\t\t}\n\t\tif (this.sequenced != undefined) {\n\t\t\tmessage.sequenced = this.sequenced;\n\t\t\tif (this.sequenced) {\n\t\t\t\tif (this.secondFrame != undefined) {\n\t\t\t\t\tmessage[\"second frame\"] = this.secondFrame;\n\t\t\t\t}\n\t\t\t\tif (this.sequenceCounter != undefined) {\n\t\t\t\t\tmessage[\"sequence counter\"] = this.sequenceCounter;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Log the plaintext in integration tests and development mode\n\t\tif (\n\t\t\tprocess.env.NODE_ENV === \"test\"\n\t\t\t|| process.env.NODE_ENV === \"development\"\n\t\t) {\n\t\t\tif (this.iv) {\n\t\t\t\tmessage.IV = buffer2hex(this.iv);\n\t\t\t}\n\t\t\tif (this.ciphertext) {\n\t\t\t\tmessage.ciphertext = buffer2hex(this.ciphertext);\n\t\t\t} else if (this.decryptedCCBytes) {\n\t\t\t\tmessage.plaintext = buffer2hex(this.decryptedCCBytes);\n\t\t\t}\n\t\t\tif (this.authData) {\n\t\t\t\tmessage[\"auth data\"] = buffer2hex(this.authData);\n\t\t\t}\n\t\t\tif (this.authCode) {\n\t\t\t\tmessage[\"auth code\"] = buffer2hex(this.authCode);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// This is the same message, but with another CC command\n@CCCommand(SecurityCommand.CommandEncapsulationNonceGet)\nexport class SecurityCCCommandEncapsulationNonceGet\n\textends SecurityCCCommandEncapsulation\n{}\n\n@CCCommand(SecurityCommand.SchemeReport)\nexport class SecurityCCSchemeReport extends SecurityCC {\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCSchemeReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\t// The including controller MUST NOT perform any validation of the Supported Security Schemes byte\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t});\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n\t\tthis.payload = Bytes.from([0]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\t// Hide the default payload line\n\t\t\tmessage: undefined,\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.SchemeGet)\n@expectedCCResponse(SecurityCCSchemeReport)\nexport class SecurityCCSchemeGet extends SecurityCC {\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n\t\tthis.payload = Bytes.from([0]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\t// Hide the default payload line\n\t\t\tmessage: undefined,\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.SchemeInherit)\n@expectedCCResponse(SecurityCCSchemeReport)\nexport class SecurityCCSchemeInherit extends SecurityCC {\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n\t\tthis.payload = Bytes.from([0]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\t// Hide the default payload line\n\t\t\tmessage: undefined,\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.NetworkKeyVerify)\nexport class SecurityCCNetworkKeyVerify extends SecurityCC {}\n\n// @publicAPI\nexport interface SecurityCCNetworkKeySetOptions {\n\tnetworkKey: Uint8Array;\n}\n\n@CCCommand(SecurityCommand.NetworkKeySet)\n@expectedCCResponse(SecurityCCNetworkKeyVerify)\nexport class SecurityCCNetworkKeySet extends SecurityCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SecurityCCNetworkKeySetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.networkKey.length !== 16) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`The network key must have length 16!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.networkKey = options.networkKey;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCNetworkKeySet {\n\t\tvalidatePayload(raw.payload.length >= 16);\n\t\tconst networkKey: Uint8Array = raw.payload.subarray(0, 16);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnetworkKey,\n\t\t});\n\t}\n\n\tpublic networkKey: Uint8Array;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.view(this.networkKey);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\t// The network key shouldn't be logged, so users can safely post their logs online\n\t\tconst { message, ...log } = super.toLogEntry(ctx);\n\t\treturn log;\n\t}\n}\n\n// @publicAPI\nexport interface SecurityCCCommandsSupportedReportOptions {\n\treportsToFollow?: number;\n\tsupportedCCs: CommandClasses[];\n\tcontrolledCCs: CommandClasses[];\n}\n\n@CCCommand(SecurityCommand.CommandsSupportedReport)\nexport class SecurityCCCommandsSupportedReport extends SecurityCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SecurityCCCommandsSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.supportedCCs = options.supportedCCs;\n\t\tthis.controlledCCs = options.controlledCCs;\n\t\t// TODO: properly split the CCs into multiple reports\n\t\tthis.reportsToFollow = options.reportsToFollow ?? 0;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCCommandsSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst reportsToFollow = raw.payload[0];\n\t\tconst list = parseCCList(raw.payload.subarray(1));\n\t\tconst supportedCCs: CommandClasses[] = list.supportedCCs;\n\t\tconst controlledCCs: CommandClasses[] = list.controlledCCs;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\treportsToFollow,\n\t\t\tsupportedCCs,\n\t\t\tcontrolledCCs,\n\t\t});\n\t}\n\n\tpublic reportsToFollow: number;\n\tpublic supportedCCs: CommandClasses[];\n\tpublic controlledCCs: CommandClasses[];\n\n\tpublic getPartialCCSessionId(): Record<string, any> | undefined {\n\t\t// Nothing special we can distinguish sessions with\n\t\treturn {};\n\t}\n\n\tpublic expectMoreMessages(): boolean {\n\t\treturn this.reportsToFollow > 0;\n\t}\n\n\t/** @deprecated Use {@link mergePartialCCsAsync} instead */\n\tpublic mergePartialCCs(\n\t\tpartials: SecurityCCCommandsSupportedReport[],\n\t): void {\n\t\t// Concat the lists of CCs\n\t\tthis.supportedCCs = [...partials, this]\n\t\t\t.map((report) => report.supportedCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t\tthis.controlledCCs = [...partials, this]\n\t\t\t.map((report) => report.controlledCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t}\n\n\tpublic mergePartialCCsAsync(\n\t\tpartials: SecurityCCCommandsSupportedReport[],\n\t): Promise<void> {\n\t\t// Concat the lists of CCs\n\t\tthis.supportedCCs = [...partials, this]\n\t\t\t.map((report) => report.supportedCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t\tthis.controlledCCs = [...partials, this]\n\t\t\t.map((report) => report.controlledCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t\treturn Promise.resolve();\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.reportsToFollow]),\n\t\t\tencodeCCList(this.supportedCCs, this.controlledCCs),\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\treportsToFollow: this.reportsToFollow,\n\t\t\t\tsupportedCCs: this.supportedCCs\n\t\t\t\t\t.map((cc) => getCCName(cc))\n\t\t\t\t\t.map((cc) => `\\n\u00B7 ${cc}`)\n\t\t\t\t\t.join(\"\"),\n\t\t\t\tcontrolledCCs: this.controlledCCs\n\t\t\t\t\t.map((cc) => getCCName(cc))\n\t\t\t\t\t.map((cc) => `\\n\u00B7 ${cc}`)\n\t\t\t\t\t.join(\"\"),\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.CommandsSupportedGet)\n@expectedCCResponse(SecurityCCCommandsSupportedReport)\nexport class SecurityCCCommandsSupportedGet extends SecurityCC {}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_safe", "SecurityCC", "SecurityCCCommandEncapsulation"]
|
|
7
7
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export * from "./lib/Security2/shared.js";
|
|
2
2
|
export * from "./lib/SetValueResult.js";
|
|
3
|
-
export * from "./lib/SetValueResult.js";
|
|
4
3
|
export { defaultCCValueOptions } from "./lib/Values.js";
|
|
5
4
|
export type { CCValueOptions, CCValuePredicate, PartialCCValuePredicate, } from "./lib/Values.js";
|
|
6
5
|
export * from "./lib/_Types.js";
|
|
7
|
-
export * from "./lib/_Types.js";
|
|
8
6
|
//# sourceMappingURL=index_browser.d.ts.map
|
|
@@ -24,17 +24,13 @@ __export(index_browser_exports, {
|
|
|
24
24
|
module.exports = __toCommonJS(index_browser_exports);
|
|
25
25
|
__reExport(index_browser_exports, require("./lib/Security2/shared.js"), module.exports);
|
|
26
26
|
__reExport(index_browser_exports, require("./lib/SetValueResult.js"), module.exports);
|
|
27
|
-
__reExport(index_browser_exports, require("./lib/SetValueResult.js"), module.exports);
|
|
28
27
|
var import_Values = require("./lib/Values.js");
|
|
29
28
|
__reExport(index_browser_exports, require("./lib/_Types.js"), module.exports);
|
|
30
|
-
__reExport(index_browser_exports, require("./lib/_Types.js"), module.exports);
|
|
31
29
|
// Annotate the CommonJS export names for ESM import in node:
|
|
32
30
|
0 && (module.exports = {
|
|
33
31
|
defaultCCValueOptions,
|
|
34
32
|
...require("./lib/Security2/shared.js"),
|
|
35
33
|
...require("./lib/SetValueResult.js"),
|
|
36
|
-
...require("./lib/SetValueResult.js"),
|
|
37
|
-
...require("./lib/_Types.js"),
|
|
38
34
|
...require("./lib/_Types.js")
|
|
39
35
|
});
|
|
40
36
|
//# sourceMappingURL=index_browser.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index_browser.ts"],
|
|
4
|
-
"sourcesContent": ["/* @forbiddenImports external */\n\nexport * from \"./lib/Security2/shared.js\";\nexport * from \"./lib/SetValueResult.js\";\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;;;;;AAEA,kCAAc,sCAFd;AAGA,kCAAc,oCAHd;
|
|
4
|
+
"sourcesContent": ["/* @forbiddenImports external */\n\nexport * from \"./lib/Security2/shared.js\";\nexport * from \"./lib/SetValueResult.js\";\n// eslint-disable-next-line @zwave-js/no-forbidden-imports -- FIXME: This is actually wrong, but I need to get the release done\nexport { defaultCCValueOptions } from \"./lib/Values.js\";\nexport type {\n\tCCValueOptions,\n\tCCValuePredicate,\n\tPartialCCValuePredicate,\n} from \"./lib/Values.js\";\nexport * from \"./lib/_Types.js\";\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;;;;;AAEA,kCAAc,sCAFd;AAGA,kCAAc,oCAHd;AAKA,oBAAsC;AAMtC,kCAAc,4BAXd;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index_safe.ts"],
|
|
4
|
-
"sourcesContent": ["/* @forbiddenImports external */\n\nexport * from \"./lib/SetValueResult.js\";\nexport * from \"./lib/_Types.js\";\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;;AAEA,+BAAc,oCAFd;
|
|
4
|
+
"sourcesContent": ["/* @forbiddenImports external */\n\nexport * from \"./lib/SetValueResult.js\";\n// eslint-disable-next-line @zwave-js/no-forbidden-imports -- FIXME: This is actually wrong, but I need to get the release done\nexport * from \"./lib/_Types.js\";\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;;AAEA,+BAAc,oCAFd;AAIA,+BAAc,4BAJd;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntryControlCC.d.ts","sourceRoot":"","sources":["../../../src/cc/EntryControlCC.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAGxB,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EAOhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACX,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG9C,OAAO,EACN,KAAK,EACL,UAAU,EACV,KAAK,uBAAuB,EAC5B,SAAS,EACT,KAAK,sBAAsB,EAG3B,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,KAAK,KAAK,EACV,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,MAAM,wBAAwB,CAAC;AAYhC,OAAO,EACN,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,MAAM,kBAAkB,CAAC;AAG1B,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqC/B,CAAC;AAEH,qBACa,iBAAkB,SAAQ,KAAK;IACpC,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC;IAa3D,gBAAgB;IAoBhB,oBAAoB;IA6BpB,gBAAgB;IAsBhB,gBAAgB,CAC5B,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,GACrB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAezC,cAAuB,CAAC,SAAS,CAAC,IAAI,sBAAsB,CA4C3D;IAED,SAAS,KAAK,CAAC,UAAU,CAAC,IAAI,uBAAuB,CASpD;CACD;AAED,qBAGa,cAAe,SAAQ,YAAY;IACvC,SAAS,EAAE,mBAAmB,CAAC;IAEhC,6BAA6B,IAAI,SAAS,cAAc,EAAE;IASpD,SAAS,CACrB,GAAG,EAAE,gBAAgB,GACnB,OAAO,CAAC,IAAI,CAAC;IAyFH,aAAa,CACzB,GAAG,EAAE,oBAAoB,GACvB,OAAO,CAAC,IAAI,CAAC;CA4BhB;AAGD,MAAM,WAAW,iCAAiC;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,SAAS,EAAE,sBAAsB,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC3B;AAED,qBACa,0BAA2B,SAAQ,cAAc;gBAE5D,OAAO,EAAE,WAAW,CAAC,iCAAiC,CAAC;WAW1C,IAAI,CACjB,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,gBAAgB,GACnB,0BAA0B;
|
|
1
|
+
{"version":3,"file":"EntryControlCC.d.ts","sourceRoot":"","sources":["../../../src/cc/EntryControlCC.ts"],"names":[],"mappings":"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"}
|
|
@@ -364,12 +364,16 @@ let EntryControlCCNotification = (() => {
|
|
|
364
364
|
if (!noStrictValidation) {
|
|
365
365
|
validatePayload(eventDataLength === 16 || eventDataLength === 32);
|
|
366
366
|
}
|
|
367
|
-
|
|
367
|
+
// Trim 0xff padding bytes
|
|
368
|
+
let paddingStart = eventDataLength;
|
|
369
|
+
while (paddingStart > 0
|
|
370
|
+
&& eventData[paddingStart - 1] === 0xff) {
|
|
371
|
+
paddingStart--;
|
|
372
|
+
}
|
|
373
|
+
eventData = eventData.subarray(0, paddingStart).toString("ascii");
|
|
368
374
|
if (!noStrictValidation) {
|
|
369
|
-
validatePayload(/^[\u0000-\u007f]
|
|
375
|
+
validatePayload(/^[\u0000-\u007f]+$/.test(eventData));
|
|
370
376
|
}
|
|
371
|
-
// Trim 0xff padding bytes
|
|
372
|
-
eventData = eventData.replace(/[\u00ff]*$/, "");
|
|
373
377
|
break;
|
|
374
378
|
case EntryControlDataTypes.MD5:
|
|
375
379
|
// MD5 16 byte binary data encoded as a MD5 hash value.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntryControlCC.js","sourceRoot":"","sources":["../../../src/cc/EntryControlCC.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EntryControlCC.js","sourceRoot":"","sources":["../../../src/cc/EntryControlCC.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EACN,cAAc,EAGd,eAAe,EAGf,aAAa,EAEb,UAAU,EACV,eAAe,EACf,SAAS,EACT,YAAY,EACZ,0BAA0B,EAC1B,eAAe,GACf,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EACN,KAAK,EACL,UAAU,EAEV,SAAS,EAET,wBAAwB,EACxB,mBAAmB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAEN,YAAY,GAIZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,GAAG,EACH,SAAS,EACT,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,GACd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AACrC,OAAO,EACN,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,GAAG,CAAC,CAAC,oBAAoB,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;QAC1D,GAAG,CAAC,CAAC,cAAc,CAClB,cAAc,EACd;YACC,GAAG,aAAa,CAAC,KAAK;YACtB,KAAK,EAAE,gBAAgB;YACvB,WAAW,EACV,wDAAwD;YACzD,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,EAAE;SACE,CACV;QAED,GAAG,CAAC,CAAC,cAAc,CAClB,iBAAiB,EACjB;YACC,GAAG,aAAa,CAAC,KAAK;YACtB,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,SAAS;YACf,WAAW,EACV,4DAA4D;YAC7D,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,EAAE;SACE,CACV;QAED,GAAG,CAAC,CAAC,cAAc,CAAC,oBAAoB,EAAE,SAAS,EAAE;YACpD,QAAQ,EAAE,IAAI;SACd,CAAC;QACF,GAAG,CAAC,CAAC,cAAc,CAAC,qBAAqB,EAAE,SAAS,EAAE;YACrD,QAAQ,EAAE,IAAI;SACd,CAAC;QACF,GAAG,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE,SAAS,EAAE;YAC/C,QAAQ,EAAE,IAAI;SACd,CAAC;KACF,CAAC;CACF,CAAC,CAAC;IAGU,iBAAiB;4BAD7B,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;;;;sBACE,KAAK;iCAAb,SAAQ,WAAK;;;;YAA5C,6KA+JC;;;YA/JY,uDAAiB;;QACtB,eAAe,CAAC,GAAwB;YAC9C,QAAQ,GAAG,EAAE,CAAC;gBACb,KAAK,mBAAmB,CAAC,eAAe,CAAC;gBACzC,KAAK,mBAAmB,CAAC,iBAAiB,CAAC;gBAC3C,KAAK,mBAAmB,CAAC,gBAAgB;oBACxC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5B,KAAK,mBAAmB,CAAC,gBAAgB;oBACxC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,6EAA6E;QACtE,KAAK,CAAC,gBAAgB;YAC5B,IAAI,CAAC,qBAAqB,CACzB,mBAAmB,EACnB,mBAAmB,CAAC,eAAe,CACnC,CAAC;YAEF,MAAM,EAAE,GAAG,IAAI,6BAA6B,CAAC;gBAC5C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC5B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;aAClC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAG3C,EAAE,EACF,IAAI,CAAC,cAAc,CACnB,CAAC;YACF,OAAO,QAAQ,EAAE,aAAa,CAAC;QAChC,CAAC;QAED,6EAA6E;QACtE,KAAK,CAAC,oBAAoB;YAChC,IAAI,CAAC,qBAAqB,CACzB,mBAAmB,EACnB,mBAAmB,CAAC,iBAAiB,CACrC,CAAC;YAEF,MAAM,EAAE,GAAG,IAAI,+BAA+B,CAAC;gBAC9C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC5B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;aAClC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAG3C,EAAE,EACF,IAAI,CAAC,cAAc,CACnB,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,QAAQ,EAAE;oBACrB,oBAAoB;oBACpB,qBAAqB;oBACrB,iBAAiB;oBACjB,iBAAiB;oBACjB,oBAAoB;oBACpB,oBAAoB;iBACpB,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,6EAA6E;QACtE,KAAK,CAAC,gBAAgB;YAC5B,IAAI,CAAC,qBAAqB,CACzB,mBAAmB,EACnB,mBAAmB,CAAC,gBAAgB,CACpC,CAAC;YAEF,MAAM,EAAE,GAAG,IAAI,8BAA8B,CAAC;gBAC7C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC5B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;aAClC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAG3C,EAAE,EACF,IAAI,CAAC,cAAc,CACnB,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAC5D,CAAC;QACF,CAAC;QAGM,KAAK,CAAC,gBAAgB,CAC5B,YAAoB,EACpB,eAAuB;;;YAEvB,IAAI,CAAC,qBAAqB,CACzB,mBAAmB,EACnB,mBAAmB,CAAC,gBAAgB,CACpC,CAAC;YAEF,MAAM,EAAE,GAAG,IAAI,8BAA8B,CAAC;gBAC7C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC5B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAClC,YAAY;gBACZ,eAAe;aACf,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACtD;QAED,IAAuB,CAAC,SAAS,CAAC;YACjC,OAAO,KAAK,WAAmC,EAAE,QAAQ,EAAE,EAAE,KAAK;gBACjE,IAAI,QAAQ,KAAK,cAAc,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;oBACnE,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC/C,CAAC;gBACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC/B,mBAAmB,CAClB,IAAI,CAAC,IAAI,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,KAAK,CACZ,CAAC;gBACH,CAAC;gBAED,IAAI,YAAY,GAAG,KAAK,CAAC;gBACzB,IAAI,eAAe,GAAG,CAAC,CAAC;gBACxB,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;oBACpC,eAAe,GAAG,KAAK,CAAC;oBAExB,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CACrD,oBAAoB,CAAC,YAAY,CAAC,QAAQ,CACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CACnB,CACD,CAAC;oBACF,IAAI,eAAe,IAAI,SAAS,EAAE,CAAC;wBAClC,MAAM,IAAI,UAAU,CACnB,sFAAsF,EACtF,eAAe,CAAC,gBAAgB,CAChC,CAAC;oBACH,CAAC;oBACD,YAAY,GAAG,eAAe,CAAC;gBAChC,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACzC,YAAY,EACZ,eAAe,CACf,CAAC;gBAEF,0FAA0F;gBAC1F,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChE,IAAI,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;gBAChE,CAAC;gBAED,OAAO,MAAM,CAAC;YACf,CAAC,CAAC;QACH,CAAC;QAED,IAAc,CAAC,UAAU,CAAC;YACzB,OAAO,KAAK,WAAmC,EAAE,QAAQ,EAAE;gBAC1D,QAAQ,QAAQ,EAAE,CAAC;oBAClB,KAAK,cAAc,CAAC;oBACpB,KAAK,iBAAiB;wBACrB,OAAO,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;gBACrD,CAAC;gBACD,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC,CAAC;QACH,CAAC;;;;SA9JW,iBAAiB;IAoKjB,cAAc;4BAH1B,YAAY,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,EAC7C,kBAAkB,CAAC,CAAC,CAAC,EACrB,QAAQ,CAAC,oBAAoB,CAAC;;;;sBACK,YAAY;8BAApB,SAAQ,WAAY;;;;YAAhD,6KAqIC;;;YArIY,uDAAc;;QAGnB,6BAA6B;YACnC,OAAO;gBACN,GAAG,KAAK,CAAC,6BAA6B,EAAE;gBACxC,cAAc,CAAC,WAAW;gBAC1B,cAAc,CAAC,2BAA2B,CAAC;gBAC3C,cAAc,CAAC,+BAA+B,CAAC;aAC/C,CAAC;QACH,CAAC;QAEM,KAAK,CAAC,SAAS,CACrB,GAAqB;YAErB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAE,CAAC;YACxC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CACvB,cAAc,CAAC,eAAe,CAAC,EAC/B,GAAG,EACH,QAAQ,CACR,CAAC,WAAW,CAAC;gBACb,QAAQ,EAAE,eAAe,CAAC,SAAS;aACnC,CAAC,CAAC;YAEH,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;gBACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,OAAO,EAAE,gBAAgB,IAAI,CAAC,MAAM,KAAK;gBACzC,SAAS,EAAE,MAAM;aACjB,CAAC,CAAC;YAEH,+DAA+D;YAC/D,gDAAgD;YAChD,IAAI,CAAC;gBACJ,MAAM,OAAO,CAAC,6BAA6B,CAC1C,GAAG,EACH,QAAQ,EACR,IAAI,CAAC,IAAI,EACT,mBAAmB,CAAC,YAAY,CAChC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACR,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;oBACpB,QAAQ,EAAE,QAAQ,CAAC,KAAK;oBACxB,OAAO,EAAE,uCACR,SAAS,CACR,IAAI,CAAC,IAAI,CAEX,mBAAmB;oBACnB,KAAK,EAAE,MAAM;iBACb,CAAC,CAAC;YACJ,CAAC;YAED,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;gBACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,OAAO,EAAE,4CAA4C;gBACrD,SAAS,EAAE,UAAU;aACrB,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACnD,IAAI,aAAa,EAAE,CAAC;gBACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;oBACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;oBAC5B,OAAO,EACN,0CAA0C,aAAa,CAAC,QAAQ,EAAE,EAAE;oBACrE,SAAS,EAAE,SAAS;iBACpB,CAAC,CAAC;YACJ,CAAC;YAED,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;gBACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,OAAO,EAAE,8CAA8C;gBACvD,SAAS,EAAE,UAAU;aACrB,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,oBAAoB,EAAE,CAAC;YAC3D,IAAI,iBAAiB,EAAE,CAAC;gBACvB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;oBACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;oBAC5B,OAAO,EAAE;yBAER,iBAAiB,CAAC,kBAAkB;yBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;yBACpC,QAAQ,EACX;yBAEC,iBAAiB,CAAC,mBAAmB;yBACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;yBACrC,QAAQ,EACX;yBACqB,iBAAiB,CAAC,eAAe;yBACjC,iBAAiB,CAAC,eAAe;yBACjC,iBAAiB,CAAC,kBAAkB;yBACpC,iBAAiB,CAAC,kBAAkB,UAAU;oBACnE,SAAS,EAAE,SAAS;iBACpB,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAE9B,0CAA0C;YAC1C,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QAEM,KAAK,CAAC,aAAa,CACzB,GAAyB;YAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAE,CAAC;YACxC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CACvB,cAAc,CAAC,eAAe,CAAC,EAC/B,GAAG,EACH,QAAQ,CACR,CAAC,WAAW,CAAC;gBACb,QAAQ,EAAE,eAAe,CAAC,SAAS;aACnC,CAAC,CAAC;YAEH,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;gBACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,OAAO,EAAE,2CAA2C;gBACpD,SAAS,EAAE,UAAU;aACrB,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACV,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;oBACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;oBAC5B,OAAO,EAAE;qBACQ,IAAI,CAAC,YAAY;qBACjB,IAAI,CAAC,eAAe,UAAU;oBAC/C,SAAS,EAAE,SAAS;iBACpB,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;;;;SApIW,cAAc;IAgJd,0BAA0B;4BADtC,SAAS,CAAC,mBAAmB,CAAC,YAAY,CAAC;;;;sBACI,cAAc;0CAAtB,SAAQ,WAAc;;;;YAA9D,6KAyHC;;;YAzHY,uDAA0B;;QACtC,YACC,OAAuD;YAEvD,KAAK,CAAC,OAAO,CAAC,CAAC;YAEf,8BAA8B;YAC9B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;YAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,CAAC;QAEM,MAAM,CAAC,IAAI,CACjB,GAAU,EACV,GAAqB;YAErB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,QAAQ,GAA0B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5D,MAAM,SAAS,GAA2B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC,eAAe,CAAC,eAAe,IAAI,CAAC,IAAI,eAAe,IAAI,EAAE,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,CAAC,CAAC;YACjB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,GAAG,eAAe,CAAC,CAAC;YAChE,IAAI,SAAqC,CAAC;YAC1C,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACzB,4FAA4F;gBAC5F,+EAA+E;gBAE/E,mFAAmF;gBACnF,MAAM,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,CACjD,GAAG,CAAC,YAAY,CAChB,EAAE,MAAM,EAAE,uCAAuC,CAAC;gBAEnD,SAAS,GAAG,KAAK,CAAC,IAAI,CACrB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,CACtD,CAAC;gBACF,QAAQ,QAAQ,EAAE,CAAC;oBAClB,KAAK,qBAAqB,CAAC,GAAG;wBAC7B,6CAA6C;wBAC7C,IAAI,CAAC,kBAAkB,EAAE,CAAC;4BACzB,eAAe,CACd,eAAe,IAAI,CAAC,IAAI,eAAe,IAAI,EAAE,CAC7C,CAAC;wBACH,CAAC;wBACD,MAAM;oBACP,KAAK,qBAAqB,CAAC,KAAK;wBAC/B,4FAA4F;wBAC5F,mGAAmG;wBACnG,IAAI,CAAC,kBAAkB,EAAE,CAAC;4BACzB,eAAe,CACd,eAAe,KAAK,EAAE,IAAI,eAAe,KAAK,EAAE,CAChD,CAAC;wBACH,CAAC;wBACD,0BAA0B;wBAC1B,IAAI,YAAY,GAAG,eAAe,CAAC;wBACnC,OACC,YAAY,GAAG,CAAC;+BACb,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,IAAI,EACtC,CAAC;4BACF,YAAY,EAAE,CAAC;wBAChB,CAAC;wBACD,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,QAAQ,CACvD,OAAO,CACP,CAAC;wBAEF,IAAI,CAAC,kBAAkB,EAAE,CAAC;4BACzB,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;wBACvD,CAAC;wBACD,MAAM;oBACP,KAAK,qBAAqB,CAAC,GAAG;wBAC7B,uDAAuD;wBACvD,IAAI,CAAC,kBAAkB,EAAE,CAAC;4BACzB,eAAe,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;wBACzC,CAAC;wBACD,MAAM;gBACR,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC;YACvC,CAAC;YAED,OAAO,IAAI,IAAI,CAAC;gBACf,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,cAAc;gBACd,QAAQ;gBACR,SAAS;gBACT,SAAS;aACT,CAAC,CAAC;QACJ,CAAC;QAEe,cAAc,CAAS;QACvB,QAAQ,CAAwB;QAChC,SAAS,CAAyB;QAClC,SAAS,CAAuB;QAEzC,UAAU,CAAC,GAAgB;YACjC,MAAM,OAAO,GAAkB;gBAC9B,iBAAiB,EAAE,IAAI,CAAC,cAAc;gBACtC,WAAW,EAAE,IAAI,CAAC,QAAQ;gBAC1B,YAAY,EAAE,IAAI,CAAC,SAAS;aAC5B,CAAC;YACF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;oBACxB,KAAK,sBAAsB,CAAC,UAAU,CAAC;oBACvC,KAAK,sBAAsB,CAAC,KAAK;wBAChC,kEAAkE;wBAClE,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;wBAC1D,MAAM;oBAEP;wBACC,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;4BACzD,CAAC,CAAC,IAAI,CAAC,SAAS;4BAChB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChC,CAAC;YACF,CAAC;YACD,OAAO;gBACN,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxB,OAAO;aACP,CAAC;QACH,CAAC;;;;SAxHW,0BAA0B;IAkI1B,gCAAgC;4BAF5C,SAAS,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EACjD,eAAe,CAAC,eAAe,EAAE,oBAAoB,CAAC,aAAa,CAAC;;;;sBACf,cAAc;gDAAtB,SAAQ,WAAc;;;;YAApE,6KAoCC;;;YApCY,uDAAgC;;QAC5C,YACC,OAA6D;YAE7D,KAAK,CAAC,OAAO,CAAC,CAAC;YAEf,8BAA8B;YAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC5C,CAAC;QAEM,MAAM,CAAC,IAAI,CACjB,GAAU,EACV,GAAqB;YAErB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9B,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,YAAY,CACjC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EACnC,CAAC,CACD,CAAC;YAEF,OAAO,IAAI,IAAI,CAAC;gBACf,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,aAAa;aACb,CAAC,CAAC;QACJ,CAAC;QAEe,aAAa,CAAoB;QAE1C,UAAU,CAAC,GAAgB;YACjC,OAAO;gBACN,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxB,OAAO,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE;aAC5D,CAAC;QACH,CAAC;;;;SAnCW,gCAAgC;IAwChC,6BAA6B;4BAFzC,SAAS,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAC9C,kBAAkB,CAAC,gCAAgC,CAAC;;;;sBACF,cAAc;6CAAtB,SAAQ,WAAc;;;;YAAjE,6KAAoE;;;YAAvD,uDAA6B;;;;;SAA7B,6BAA6B;IAkB7B,kCAAkC;4BAN9C,SAAS,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,EACnD,eAAe,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,EAC9E,eAAe,CACf,qBAAqB,EACrB,oBAAoB,CAAC,mBAAmB,CACxC;;;;sBACuD,cAAc;kDAAtB,SAAQ,WAAc;;;;YAAtE,6KA4GC;;;YA5GY,uDAAkC;;QAC9C,YACC,OAA+D;YAE/D,KAAK,CAAC,OAAO,CAAC,CAAC;YAEf,8BAA8B;YAC9B,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;YACrD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;YACvD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;YAC/C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;YAC/C,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;YACrD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACtD,CAAC;QAEM,MAAM,CAAC,IAAI,CACjB,GAAU,EACV,GAAqB;YAErB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC7C,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,GAAG,cAAc,CAAC,CAAC;YAC/D,MAAM,kBAAkB,GAA4B,YAAY,CAC/D,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,EACrD,qBAAqB,CAAC,IAAI,CAC1B,CAAC;YACF,MAAM,IAAI,cAAc,CAAC;YACzB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;YAClD,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;YACtD,MAAM,IAAI,CAAC,CAAC;YACZ,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,GAAG,eAAe,CAAC,CAAC;YAChE,MAAM,mBAAmB,GAA6B,YAAY,CACjE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,EACtD,sBAAsB,CAAC,OAAO,CAC9B,CAAC;YACF,MAAM,IAAI,eAAe,CAAC;YAC1B,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;YAClD,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5C,eAAe,CACd,eAAe,IAAI,CAAC,IAAI,eAAe,IAAI,EAAE,CAC7C,CAAC;YACF,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAChD,eAAe,CACd,eAAe,IAAI,eAAe;mBAC9B,eAAe,IAAI,EAAE,CACzB,CAAC;YACF,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnD,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEnD,OAAO,IAAI,IAAI,CAAC;gBACf,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,kBAAkB;gBAClB,mBAAmB;gBACnB,eAAe;gBACf,eAAe;gBACf,kBAAkB;gBAClB,kBAAkB;aAClB,CAAC,CAAC;QACJ,CAAC;QAEM,aAAa,CAAC,GAAyB;YAC7C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE5C,mDAAmD;YACnD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,YAAY,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,iBAAiB,EAAE;gBACxC,GAAG,iBAAiB,CAAC,IAAI;gBACzB,GAAG,EAAE,IAAI,CAAC,eAAe;gBACzB,GAAG,EAAE,IAAI,CAAC,eAAe;aACzB,CAAC,CAAC;YAEH,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,eAAe,CAAC;YAClE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,oBAAoB,EAAE;gBAC3C,GAAG,oBAAoB,CAAC,IAAI;gBAC5B,GAAG,EAAE,IAAI,CAAC,kBAAkB;gBAC5B,GAAG,EAAE,IAAI,CAAC,kBAAkB;aAC5B,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;QAEe,kBAAkB,CAAmC;QAErD,mBAAmB,CAAoC;QAEvD,eAAe,CAAS;QACxB,eAAe,CAAS;QACxB,kBAAkB,CAAS;QAC3B,kBAAkB,CAAS;QAEpC,UAAU,CAAC,GAAgB;YACjC,OAAO;gBACN,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxB,OAAO,EAAE;oBACR,sBAAsB,EAAE,IAAI,CAAC,kBAAkB;yBAC7C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;yBACtC,QAAQ,EAAE;oBACZ,uBAAuB,EAAE,IAAI,CAAC,mBAAmB;yBAC/C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;yBACvC,QAAQ,EAAE;oBACZ,oBAAoB,EAAE,IAAI,CAAC,eAAe;oBAC1C,oBAAoB,EAAE,IAAI,CAAC,eAAe;oBAC1C,uBAAuB,EAAE,IAAI,CAAC,kBAAkB;oBAChD,uBAAuB,EAAE,IAAI,CAAC,kBAAkB;iBAChD;aACD,CAAC;QACH,CAAC;;;;SA3GW,kCAAkC;IAgHlC,+BAA+B;4BAF3C,SAAS,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAChD,kBAAkB,CAAC,kCAAkC,CAAC;;;;sBACF,cAAc;+CAAtB,SAAQ,WAAc;;;;YAAnE,6KAAsE;;;YAAzD,uDAA+B;;;;;SAA/B,+BAA+B;IAW/B,iCAAiC;4BAH7C,SAAS,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,EAClD,eAAe,CAAC,cAAc,EAAE,oBAAoB,CAAC,YAAY,CAAC,EAClE,eAAe,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,eAAe,CAAC;;;;sBAClB,cAAc;iDAAtB,SAAQ,WAAc;;;;YAArE,6KAwCC;;;YAxCY,uDAAiC;;QAC7C,YACC,OAA8D;YAE9D,KAAK,CAAC,OAAO,CAAC,CAAC;YAEf,8BAA8B;YAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;YACzC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAChD,CAAC;QAEM,MAAM,CAAC,IAAI,CACjB,GAAU,EACV,GAAqB;YAErB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACpC,eAAe,CAAC,YAAY,IAAI,CAAC,IAAI,YAAY,IAAI,EAAE,CAAC,CAAC;YACzD,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvC,OAAO,IAAI,IAAI,CAAC;gBACf,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,YAAY;gBACZ,eAAe;aACf,CAAC,CAAC;QACJ,CAAC;QAEe,YAAY,CAAS;QAErB,eAAe,CAAS;QAEjC,UAAU,CAAC,GAAgB;YACjC,OAAO;gBACN,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxB,OAAO,EAAE;oBACR,gBAAgB,EAAE,IAAI,CAAC,YAAY;oBACnC,mBAAmB,EAAE,IAAI,CAAC,eAAe;iBACzC;aACD,CAAC;QACH,CAAC;;;;SAvCW,iCAAiC;IA4CjC,8BAA8B;4BAF1C,SAAS,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC/C,kBAAkB,CAAC,iCAAiC,CAAC;;;;sBACF,cAAc;8CAAtB,SAAQ,WAAc;;;;YAAlE,6KAAqE;;;YAAxD,uDAA8B;;;;;SAA9B,8BAA8B;IAU9B,8BAA8B;4BAF1C,SAAS,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC/C,cAAc,EAAE;;;;sBACmC,cAAc;8CAAtB,SAAQ,WAAc;;;;YAAlE,6KA0CC;;;YA1CY,uDAA8B;;QAC1C,YACC,OAA2D;YAE3D,KAAK,CAAC,OAAO,CAAC,CAAC;YACf,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;YACzC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAChD,CAAC;QAEM,MAAM,CAAC,IAAI,CACjB,IAAW,EACX,IAAsB;YAEtB,4BAA4B;YAC5B,MAAM,IAAI,UAAU,CACnB,GAAG,IAAI,CAAC,IAAI,mCAAmC,EAC/C,eAAe,CAAC,8BAA8B,CAC9C,CAAC;YAEF,8CAA8C;YAC9C,6BAA6B;YAC7B,MAAM;QACP,CAAC;QAEe,YAAY,CAAS;QACrB,eAAe,CAAS;QAEjC,SAAS,CAAC,GAAsB;YACtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YACrE,4DAA4D;YAC5D,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAEM,UAAU,CAAC,GAAgB;YACjC,OAAO;gBACN,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxB,OAAO,EAAE;oBACR,gBAAgB,EAAE,IAAI,CAAC,YAAY;oBACnC,mBAAmB,EAAE,IAAI,CAAC,eAAe;iBACzC;aACD,CAAC;QACH,CAAC;;;;SAzCW,8BAA8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityCC.d.ts","sourceRoot":"","sources":["../../../src/cc/SecurityCC.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EAEd,KAAK,mBAAmB,EAIxB,KAAK,eAAe,EAEpB,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"SecurityCC.d.ts","sourceRoot":"","sources":["../../../src/cc/SecurityCC.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,11 +32,10 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
32
32
|
}
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
|
-
import { CommandClasses, EncapsulationFlags, MessagePriority, SecurityClass, TransmitOptions, ZWaveError, ZWaveErrorCodes, computeMACAsync, computeMACSync, decryptAES128OFBAsync, decryptAES128OFBSync, encodeCCList, encryptAES128OFBAsync, encryptAES128OFBSync, generateAuthKeyAsync, generateAuthKeySync, generateEncryptionKeyAsync, generateEncryptionKeySync, getCCName, isTransmissionError, parseCCList, validatePayload, } from "@zwave-js/core";
|
|
35
|
+
import { CommandClasses, EncapsulationFlags, MessagePriority, SecurityClass, TransmitOptions, ZWaveError, ZWaveErrorCodes, computeMACAsync, computeMACSync, decryptAES128OFBAsync, decryptAES128OFBSync, encodeCCList, encryptAES128OFBAsync, encryptAES128OFBSync, generateAuthKeyAsync, generateAuthKeySync, generateEncryptionKeyAsync, generateEncryptionKeySync, getCCName, isTransmissionError, parseCCList, randomBytes, validatePayload, } from "@zwave-js/core";
|
|
36
36
|
import { Bytes } from "@zwave-js/shared/safe";
|
|
37
37
|
import { buffer2hex, num2hex, pick } from "@zwave-js/shared/safe";
|
|
38
38
|
import { wait } from "alcalzone-shared/async";
|
|
39
|
-
import { randomBytes } from "node:crypto";
|
|
40
39
|
import { CCAPI, PhysicalCCAPI } from "../lib/API.js";
|
|
41
40
|
import { CommandClass, } from "../lib/CommandClass.js";
|
|
42
41
|
import { API, CCCommand, commandClass, expectedCCResponse, implementedVersion, } from "../lib/CommandClassDecorators.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityCC.js","sourceRoot":"","sources":["../../../src/cc/SecurityCC.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SecurityCC.js","sourceRoot":"","sources":["../../../src/cc/SecurityCC.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export * from "./lib/Security2/shared.js";
|
|
2
2
|
export * from "./lib/SetValueResult.js";
|
|
3
|
-
export * from "./lib/SetValueResult.js";
|
|
4
3
|
export { defaultCCValueOptions } from "./lib/Values.js";
|
|
5
4
|
export type { CCValueOptions, CCValuePredicate, PartialCCValuePredicate, } from "./lib/Values.js";
|
|
6
5
|
export * from "./lib/_Types.js";
|
|
7
|
-
export * from "./lib/_Types.js";
|
|
8
6
|
//# sourceMappingURL=index_browser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index_browser.d.ts","sourceRoot":"","sources":["../../src/index_browser.ts"],"names":[],"mappings":"AAEA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index_browser.d.ts","sourceRoot":"","sources":["../../src/index_browser.ts"],"names":[],"mappings":"AAEA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EACX,cAAc,EACd,gBAAgB,EAChB,uBAAuB,GACvB,MAAM,iBAAiB,CAAC;AACzB,cAAc,iBAAiB,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/* @forbiddenImports external */
|
|
2
2
|
export * from "./lib/Security2/shared.js";
|
|
3
3
|
export * from "./lib/SetValueResult.js";
|
|
4
|
-
|
|
4
|
+
// eslint-disable-next-line @zwave-js/no-forbidden-imports -- FIXME: This is actually wrong, but I need to get the release done
|
|
5
5
|
export { defaultCCValueOptions } from "./lib/Values.js";
|
|
6
6
|
export * from "./lib/_Types.js";
|
|
7
|
-
export * from "./lib/_Types.js";
|
|
8
7
|
//# sourceMappingURL=index_browser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index_browser.js","sourceRoot":"","sources":["../../src/index_browser.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC
|
|
1
|
+
{"version":3,"file":"index_browser.js","sourceRoot":"","sources":["../../src/index_browser.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,+HAA+H;AAC/H,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAMxD,cAAc,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index_safe.d.ts","sourceRoot":"","sources":["../../src/index_safe.ts"],"names":[],"mappings":"AAEA,cAAc,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index_safe.d.ts","sourceRoot":"","sources":["../../src/index_safe.ts"],"names":[],"mappings":"AAEA,cAAc,yBAAyB,CAAC;AAExC,cAAc,iBAAiB,CAAC"}
|
package/build/esm/index_safe.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* @forbiddenImports external */
|
|
2
2
|
export * from "./lib/SetValueResult.js";
|
|
3
|
+
// eslint-disable-next-line @zwave-js/no-forbidden-imports -- FIXME: This is actually wrong, but I need to get the release done
|
|
3
4
|
export * from "./lib/_Types.js";
|
|
4
5
|
//# sourceMappingURL=index_safe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index_safe.js","sourceRoot":"","sources":["../../src/index_safe.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index_safe.js","sourceRoot":"","sources":["../../src/index_safe.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,cAAc,yBAAyB,CAAC;AACxC,+HAA+H;AAC/H,cAAc,iBAAiB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zwave-js/cc",
|
|
3
|
-
"version": "14.3.
|
|
3
|
+
"version": "14.3.2",
|
|
4
4
|
"description": "zwave-js: Command Classes",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"publishConfig": {
|
|
@@ -68,9 +68,9 @@
|
|
|
68
68
|
"test:dirty": "tsx ../maintenance/src/resolveDirtyTests.ts --run"
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
|
-
"@zwave-js/core": "14.3.
|
|
72
|
-
"@zwave-js/host": "14.3.
|
|
73
|
-
"@zwave-js/shared": "14.3.
|
|
71
|
+
"@zwave-js/core": "14.3.2",
|
|
72
|
+
"@zwave-js/host": "14.3.2",
|
|
73
|
+
"@zwave-js/shared": "14.3.2",
|
|
74
74
|
"alcalzone-shared": "^5.0.0",
|
|
75
75
|
"ansi-colors": "^4.1.3",
|
|
76
76
|
"reflect-metadata": "^0.2.2"
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"@alcalzone/esm2cjs": "^1.4.0",
|
|
80
80
|
"@microsoft/api-extractor": "^7.47.9",
|
|
81
81
|
"@types/node": "^18.19.63",
|
|
82
|
-
"@zwave-js/maintenance": "14.3.
|
|
82
|
+
"@zwave-js/maintenance": "14.3.2",
|
|
83
83
|
"@zwave-js/transformers": "14.0.0",
|
|
84
84
|
"del-cli": "^6.0.0",
|
|
85
85
|
"es-main": "^1.3.0",
|