Six descriptors written from their pages replace the last stubs of tiers 1 and 2. A scene answers Activate and Deactivate through ctx.respond() with ActivationStarted and DeactivationStarted, the time and the cause filled in. device.raise(descriptor, name, payload) publishes DoorbellPress and the Event of a button on <root>/event with the endpoint and a new messageId; it throws a MessageError for an interface or instance the device did not declare, an event that answers a directive, a payload that does not fit and a message over 16000 bytes. TurnOn of a device with WakeOnLANController is deferred without the warning. On the wire: a doorbell has no properties object and proactivelyReported on the capability; SimpleEventSource is version 1.0, InventoryLevelSensor and WakeOnLANController version 3 (1.5.2: 1). A scene declared without options is announced as before. Alex2MQTT has no topic yet for the WakeUp event. 24 examples of the six pages are saved as fixtures. 267 tests pass, 241 before. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
159 lines
13 KiB
JavaScript
159 lines
13 KiB
JavaScript
"use strict";
|
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
}
|
|
Object.defineProperty(o, k2, desc);
|
|
}) : (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
o[k2] = m[k];
|
|
}));
|
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.SchemaError = exports.s = exports.defineInterface = exports.DeclarationError = exports.SemanticsBuilder = exports.semantics = exports.text = exports.asset = exports.THERMOSTAT_MODES = exports.INPUTS = exports.WakeOnLANController = exports.ToggleController = exports.TimeHoldController = exports.ThermostatControllerSchedule = exports.ThermostatController = exports.TemperatureSensor = exports.StepSpeaker = exports.Speaker = exports.SimpleEventSource = exports.SecurityPanelController = exports.SceneController = exports.RangeController = exports.PowerLevelController = exports.PowerController = exports.PlaybackStateReporter = exports.PlaybackController = exports.PercentageController = exports.MotionSensor = exports.ModeController = exports.LockController = exports.InventoryLevelSensor = exports.InputController = exports.HumiditySensor = exports.EqualizerController = exports.EndpointHealth = exports.DoorbellEventSource = exports.ContactSensor = exports.ColorTemperatureController = exports.ColorController = exports.ChannelController = exports.BrightnessController = exports.Alexa = exports.registry = void 0;
|
|
// The interfaces the library knows, by namespace.
|
|
const Alexa_js_1 = require("./interfaces/Alexa.js");
|
|
Object.defineProperty(exports, "Alexa", { enumerable: true, get: function () { return Alexa_js_1.Alexa; } });
|
|
const BrightnessController_js_1 = require("./interfaces/BrightnessController.js");
|
|
Object.defineProperty(exports, "BrightnessController", { enumerable: true, get: function () { return BrightnessController_js_1.BrightnessController; } });
|
|
const ChannelController_js_1 = require("./interfaces/ChannelController.js");
|
|
Object.defineProperty(exports, "ChannelController", { enumerable: true, get: function () { return ChannelController_js_1.ChannelController; } });
|
|
const ColorController_js_1 = require("./interfaces/ColorController.js");
|
|
Object.defineProperty(exports, "ColorController", { enumerable: true, get: function () { return ColorController_js_1.ColorController; } });
|
|
const ColorTemperatureController_js_1 = require("./interfaces/ColorTemperatureController.js");
|
|
Object.defineProperty(exports, "ColorTemperatureController", { enumerable: true, get: function () { return ColorTemperatureController_js_1.ColorTemperatureController; } });
|
|
const ContactSensor_js_1 = require("./interfaces/ContactSensor.js");
|
|
Object.defineProperty(exports, "ContactSensor", { enumerable: true, get: function () { return ContactSensor_js_1.ContactSensor; } });
|
|
const DoorbellEventSource_js_1 = require("./interfaces/DoorbellEventSource.js");
|
|
Object.defineProperty(exports, "DoorbellEventSource", { enumerable: true, get: function () { return DoorbellEventSource_js_1.DoorbellEventSource; } });
|
|
const EndpointHealth_js_1 = require("./interfaces/EndpointHealth.js");
|
|
Object.defineProperty(exports, "EndpointHealth", { enumerable: true, get: function () { return EndpointHealth_js_1.EndpointHealth; } });
|
|
const EqualizerController_js_1 = require("./interfaces/EqualizerController.js");
|
|
Object.defineProperty(exports, "EqualizerController", { enumerable: true, get: function () { return EqualizerController_js_1.EqualizerController; } });
|
|
const HumiditySensor_js_1 = require("./interfaces/HumiditySensor.js");
|
|
Object.defineProperty(exports, "HumiditySensor", { enumerable: true, get: function () { return HumiditySensor_js_1.HumiditySensor; } });
|
|
const InputController_js_1 = require("./interfaces/InputController.js");
|
|
Object.defineProperty(exports, "InputController", { enumerable: true, get: function () { return InputController_js_1.InputController; } });
|
|
const InventoryLevelSensor_js_1 = require("./interfaces/InventoryLevelSensor.js");
|
|
Object.defineProperty(exports, "InventoryLevelSensor", { enumerable: true, get: function () { return InventoryLevelSensor_js_1.InventoryLevelSensor; } });
|
|
const LockController_js_1 = require("./interfaces/LockController.js");
|
|
Object.defineProperty(exports, "LockController", { enumerable: true, get: function () { return LockController_js_1.LockController; } });
|
|
const ModeController_js_1 = require("./interfaces/ModeController.js");
|
|
Object.defineProperty(exports, "ModeController", { enumerable: true, get: function () { return ModeController_js_1.ModeController; } });
|
|
const MotionSensor_js_1 = require("./interfaces/MotionSensor.js");
|
|
Object.defineProperty(exports, "MotionSensor", { enumerable: true, get: function () { return MotionSensor_js_1.MotionSensor; } });
|
|
const PercentageController_js_1 = require("./interfaces/PercentageController.js");
|
|
Object.defineProperty(exports, "PercentageController", { enumerable: true, get: function () { return PercentageController_js_1.PercentageController; } });
|
|
const PlaybackController_js_1 = require("./interfaces/PlaybackController.js");
|
|
Object.defineProperty(exports, "PlaybackController", { enumerable: true, get: function () { return PlaybackController_js_1.PlaybackController; } });
|
|
const PlaybackStateReporter_js_1 = require("./interfaces/PlaybackStateReporter.js");
|
|
Object.defineProperty(exports, "PlaybackStateReporter", { enumerable: true, get: function () { return PlaybackStateReporter_js_1.PlaybackStateReporter; } });
|
|
const PowerController_js_1 = require("./interfaces/PowerController.js");
|
|
Object.defineProperty(exports, "PowerController", { enumerable: true, get: function () { return PowerController_js_1.PowerController; } });
|
|
const PowerLevelController_js_1 = require("./interfaces/PowerLevelController.js");
|
|
Object.defineProperty(exports, "PowerLevelController", { enumerable: true, get: function () { return PowerLevelController_js_1.PowerLevelController; } });
|
|
const RangeController_js_1 = require("./interfaces/RangeController.js");
|
|
Object.defineProperty(exports, "RangeController", { enumerable: true, get: function () { return RangeController_js_1.RangeController; } });
|
|
const SceneController_js_1 = require("./interfaces/SceneController.js");
|
|
Object.defineProperty(exports, "SceneController", { enumerable: true, get: function () { return SceneController_js_1.SceneController; } });
|
|
const SecurityPanelController_js_1 = require("./interfaces/SecurityPanelController.js");
|
|
Object.defineProperty(exports, "SecurityPanelController", { enumerable: true, get: function () { return SecurityPanelController_js_1.SecurityPanelController; } });
|
|
const SimpleEventSource_js_1 = require("./interfaces/SimpleEventSource.js");
|
|
Object.defineProperty(exports, "SimpleEventSource", { enumerable: true, get: function () { return SimpleEventSource_js_1.SimpleEventSource; } });
|
|
const Speaker_js_1 = require("./interfaces/Speaker.js");
|
|
Object.defineProperty(exports, "Speaker", { enumerable: true, get: function () { return Speaker_js_1.Speaker; } });
|
|
const StepSpeaker_js_1 = require("./interfaces/StepSpeaker.js");
|
|
Object.defineProperty(exports, "StepSpeaker", { enumerable: true, get: function () { return StepSpeaker_js_1.StepSpeaker; } });
|
|
const TemperatureSensor_js_1 = require("./interfaces/TemperatureSensor.js");
|
|
Object.defineProperty(exports, "TemperatureSensor", { enumerable: true, get: function () { return TemperatureSensor_js_1.TemperatureSensor; } });
|
|
const ThermostatController_js_1 = require("./interfaces/ThermostatController.js");
|
|
Object.defineProperty(exports, "ThermostatController", { enumerable: true, get: function () { return ThermostatController_js_1.ThermostatController; } });
|
|
const ThermostatControllerSchedule_js_1 = require("./interfaces/ThermostatControllerSchedule.js");
|
|
Object.defineProperty(exports, "ThermostatControllerSchedule", { enumerable: true, get: function () { return ThermostatControllerSchedule_js_1.ThermostatControllerSchedule; } });
|
|
const TimeHoldController_js_1 = require("./interfaces/TimeHoldController.js");
|
|
Object.defineProperty(exports, "TimeHoldController", { enumerable: true, get: function () { return TimeHoldController_js_1.TimeHoldController; } });
|
|
const ToggleController_js_1 = require("./interfaces/ToggleController.js");
|
|
Object.defineProperty(exports, "ToggleController", { enumerable: true, get: function () { return ToggleController_js_1.ToggleController; } });
|
|
const WakeOnLANController_js_1 = require("./interfaces/WakeOnLANController.js");
|
|
Object.defineProperty(exports, "WakeOnLANController", { enumerable: true, get: function () { return WakeOnLANController_js_1.WakeOnLANController; } });
|
|
const stubs_js_1 = require("./interfaces/stubs.js");
|
|
const types_js_1 = require("./types.js");
|
|
const described = [
|
|
Alexa_js_1.Alexa,
|
|
BrightnessController_js_1.BrightnessController,
|
|
ChannelController_js_1.ChannelController,
|
|
ColorController_js_1.ColorController,
|
|
ColorTemperatureController_js_1.ColorTemperatureController,
|
|
ContactSensor_js_1.ContactSensor,
|
|
DoorbellEventSource_js_1.DoorbellEventSource,
|
|
EndpointHealth_js_1.EndpointHealth,
|
|
EqualizerController_js_1.EqualizerController,
|
|
HumiditySensor_js_1.HumiditySensor,
|
|
InputController_js_1.InputController,
|
|
InventoryLevelSensor_js_1.InventoryLevelSensor,
|
|
LockController_js_1.LockController,
|
|
ModeController_js_1.ModeController,
|
|
MotionSensor_js_1.MotionSensor,
|
|
PercentageController_js_1.PercentageController,
|
|
PlaybackController_js_1.PlaybackController,
|
|
PlaybackStateReporter_js_1.PlaybackStateReporter,
|
|
PowerController_js_1.PowerController,
|
|
PowerLevelController_js_1.PowerLevelController,
|
|
RangeController_js_1.RangeController,
|
|
SceneController_js_1.SceneController,
|
|
SecurityPanelController_js_1.SecurityPanelController,
|
|
SimpleEventSource_js_1.SimpleEventSource,
|
|
Speaker_js_1.Speaker,
|
|
StepSpeaker_js_1.StepSpeaker,
|
|
TemperatureSensor_js_1.TemperatureSensor,
|
|
ThermostatController_js_1.ThermostatController,
|
|
ThermostatControllerSchedule_js_1.ThermostatControllerSchedule,
|
|
TimeHoldController_js_1.TimeHoldController,
|
|
ToggleController_js_1.ToggleController,
|
|
WakeOnLANController_js_1.WakeOnLANController,
|
|
];
|
|
const descriptors = new Map();
|
|
for (const descriptor of [...described, ...stubs_js_1.STUBS]) {
|
|
// A stub left in the table next to the descriptor that replaces it would win or lose by the order of this list
|
|
if (descriptors.has(descriptor.namespace))
|
|
throw new Error(`${descriptor.namespace} is described twice`);
|
|
descriptors.set(descriptor.namespace, descriptor);
|
|
}
|
|
exports.registry = {
|
|
/** Whether an interface of this name is known. */
|
|
has(namespace) {
|
|
return descriptors.has(namespace);
|
|
},
|
|
/** The descriptor of "Alexa.RangeController" or of AlexaInterfaceType.RANGE_CONTROLLER, which is that string. */
|
|
get(namespace) {
|
|
const descriptor = descriptors.get(namespace);
|
|
if (!descriptor)
|
|
throw new types_js_1.DeclarationError({}, `${JSON.stringify(namespace)} is not an interface alex2node knows`);
|
|
return descriptor;
|
|
},
|
|
/** Every descriptor, ordered by namespace. */
|
|
list() {
|
|
return [...descriptors.values()].sort((a, b) => (a.namespace < b.namespace ? -1 : 1));
|
|
},
|
|
};
|
|
var InputController_js_2 = require("./interfaces/InputController.js");
|
|
Object.defineProperty(exports, "INPUTS", { enumerable: true, get: function () { return InputController_js_2.INPUTS; } });
|
|
var ThermostatController_js_2 = require("./interfaces/ThermostatController.js");
|
|
Object.defineProperty(exports, "THERMOSTAT_MODES", { enumerable: true, get: function () { return ThermostatController_js_2.THERMOSTAT_MODES; } });
|
|
var resources_js_1 = require("./resources.js");
|
|
Object.defineProperty(exports, "asset", { enumerable: true, get: function () { return resources_js_1.asset; } });
|
|
Object.defineProperty(exports, "text", { enumerable: true, get: function () { return resources_js_1.text; } });
|
|
var semantics_js_1 = require("./semantics.js");
|
|
Object.defineProperty(exports, "semantics", { enumerable: true, get: function () { return semantics_js_1.semantics; } });
|
|
Object.defineProperty(exports, "SemanticsBuilder", { enumerable: true, get: function () { return semantics_js_1.SemanticsBuilder; } });
|
|
var types_js_2 = require("./types.js");
|
|
Object.defineProperty(exports, "DeclarationError", { enumerable: true, get: function () { return types_js_2.DeclarationError; } });
|
|
Object.defineProperty(exports, "defineInterface", { enumerable: true, get: function () { return types_js_2.defineInterface; } });
|
|
var schema_js_1 = require("./schema.js");
|
|
Object.defineProperty(exports, "s", { enumerable: true, get: function () { return schema_js_1.s; } });
|
|
Object.defineProperty(exports, "SchemaError", { enumerable: true, get: function () { return schema_js_1.SchemaError; } });
|
|
__exportStar(require("./catalog.js"), exports);
|