AlexaErrors has a helper for each of the 73 types of the table on alexa-errorresponse.html, named after the type in camel case: 63 take the message only, 10 take the payload fields their page documents. A field the page requires (reason, currentDeviceMode, currentChargeState, resourceType) is a required argument, so leaving it out does not compile; from JavaScript the helper throws a TypeError that lists the values. validRange is optional, as the page says, and has both ends when given. temperatureOutOfRange and setpointsTooClose stay as shorter names. The helpers are compared with the 15 examples of the four error pages. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
59 lines
3.6 KiB
TypeScript
59 lines
3.6 KiB
TypeScript
// Relative specifiers carry ".js": Node's ES module loader resolves no extension, and TypeScript maps it back to the .ts.
|
|
export { default as Alex2MQTT, DEFAULT_HOST } from "./Alex2Node.js";
|
|
export type { Alex2MQTTOptions } from "./Alex2Node.js";
|
|
export { default as Device } from "./device/Device.js";
|
|
export type { EndpointDefinition, EndpointJson } from "./device/Device.js";
|
|
export { Capability } from "./device/Capability.js";
|
|
export type { CapabilityJson, CommonOptions, Declaration } from "./device/Capability.js";
|
|
|
|
// The interfaces, for device.add(), and the registry that holds them by name
|
|
export { registry, DeclarationError, SchemaError } from "./registry/index.js";
|
|
export {
|
|
Alexa, BrightnessController, ChannelController, ColorController, ColorTemperatureController, ContactSensor,
|
|
DoorbellEventSource, EqualizerController, HumiditySensor, InputController, InventoryLevelSensor, LockController,
|
|
ModeController, MotionSensor, PercentageController, PlaybackController, PlaybackStateReporter, PowerLevelController,
|
|
RangeController, SceneController, SecurityPanelController, SimpleEventSource, Speaker, StepSpeaker,
|
|
TemperatureSensor, ThermostatController, ThermostatControllerSchedule, TimeHoldController, ToggleController,
|
|
WakeOnLANController,
|
|
} from "./registry/index.js";
|
|
export { PowerController, EndpointHealth } from "./compat/enums.js";
|
|
export { asset, text, semantics, SemanticsBuilder } from "./registry/index.js";
|
|
|
|
// The vocabularies of the Smart Home API
|
|
export {
|
|
ASSETS as Assets, UNITS_OF_MEASURE as Units, ACTIONS as Actions, STATES as States, CAUSES as Causes,
|
|
DISPLAY_CATEGORIES as DisplayCategories, INPUTS as Inputs, THERMOSTAT_MODES as ThermostatModes,
|
|
} from "./registry/index.js";
|
|
export type {
|
|
ActionId, AssetId, DisplayCategoryName, StateId, UnitOfMeasure,
|
|
ActionsToDirective, AnyDescriptor, CapabilityExtras, Declared, DirectiveDescriptor, EndpointView, EventDescriptor,
|
|
InterfaceDescriptor, Label, PropertyDescriptor, Semantics, StatesToRange, StatesToValue,
|
|
ActionName, StateName, Cause, ErrorType, InputName, InventoryLevel, Mode, ThermostatModeName, Infer, Schema, Temperature, TimeInterval,
|
|
} from "./registry/index.js";
|
|
|
|
// The messages: what the bridge publishes, built from plain values
|
|
export * as messages from "./messages/index.js";
|
|
export { AlexaError, AlexaErrors, MessageError, StateBuilder, property } from "./messages/index.js";
|
|
export type {
|
|
ChangeCause, ChangeReportMessage, ChargeState, ControlUnavailableReason, CurrentDeviceMode, DeferredResponseMessage,
|
|
EndpointNeedingBypass, ErrorResponseMessage, Header, MaintenanceAction, ProactiveEventFields, ProactiveEventMessage,
|
|
Property, PropertyOptions, ResourceType, ResponseMessage, SceneEventMessage, ValidRange,
|
|
} from "./messages/index.js";
|
|
|
|
// Publishing: the topics of the Alex2MQTT contract, and a publisher that needs no broker for tests
|
|
export * as topics from "./topics.js";
|
|
export { MemoryPublisher } from "./transport.js";
|
|
export type { Publisher, PublishResult } from "./transport.js";
|
|
|
|
// Directives: what a handler is given
|
|
export type { DirectiveContext, DirectiveHandler, Fill, RawDirective, Timers } from "./dispatcher.js";
|
|
|
|
// 1.x
|
|
export { AlexaInterface } from "./compat/AlexaInterface.js";
|
|
export type { SupportedMode } from "./compat/AlexaInterface.js";
|
|
export { ActionMapping } from "./compat/ActionMapping.js";
|
|
export {
|
|
AlexaActions, AlexaErrorType, AlexaInterfaceType, DisplayCategory, PowerState, TemperatureSensorScale, ThermostatMode,
|
|
} from "./compat/enums.js";
|
|
export { AlexaStatusMessage } from "./compat/AlexaStatusMessage.js";
|
|
export { AlexaErrorResponse } from "./compat/AlexaErrorResponse.js";
|