"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.STUBS = void 0; // Interfaces without a descriptor of their own. A stub names the interface with the version and the properties // alex2node 1.5.2 put in discovery, so an endpoint that declares one is announced as before. Nothing about it is // checked, and the version is the one 1.5.2 sent, which is not always the one on the page of the interface // (Alexa.Speaker is "3" there). A row leaves this table when a descriptor is written from that page. const schema_js_1 = require("../schema.js"); const DEVICE_APIS = "https://developer.amazon.com/docs/alexaplus/device-apis"; const LIST_OF_INTERFACES = `${DEVICE_APIS}/list-of-interfaces.html`; // "As of August 7, 2026, Automotive skills and the associated Alexa.AuthorizationController and // Alexa.Automotive.VehicleData APIs are no longer available." const DEPRECATED_FEATURES = "https://developer.amazon.com/en-US/docs/alexa/ask-overviews/deprecated-features.html"; const TABLE = [ ["Alexa.ApplicationStateReporter", "1", [], "https://developer.amazon.com/docs/alexaplus/alexa-voice-service/alexa-applicationstatereporter.html"], ["Alexa.Audio.PlayQueue", "1", [], "alexa-audio-playqueue.html"], ["Alexa.AuthorizationController", "1", [], DEPRECATED_FEATURES], ["Alexa.AutomationManagement", "1", ["automationStatuses"], "alexa-automationmanagement.html"], ["Alexa.Automotive.VehicleData", "1", [], DEPRECATED_FEATURES], // 1.5.2 announced the version "UNKNOWN"; 1.7 is what the list of interfaces gives ["Alexa.Camera.LiveViewController", "1.7", [], LIST_OF_INTERFACES], ["Alexa.CameraStreamController", "3", [], "alexa-camerastreamcontroller.html"], ["Alexa.ChannelController", "3", ["channel"], "alexa-channelcontroller.html"], ["Alexa.Commissionable", "1", [], "alexa-commissionable.html"], ["Alexa.ConsentManagement.ConsentRequiredReporter", "1", [], "alexa-consentrequiredreporter.html"], ["Alexa.Cooking", "1", [], "alexa-cooking.html"], ["Alexa.Cooking.FoodTemperatureController", "1", [], "alexa-cooking-foodtemperaturecontroller.html"], ["Alexa.Cooking.FoodTemperatureSensor", "1", [], "alexa-cooking-foodtemperaturesensor.html"], ["Alexa.Cooking.PresetController", "1", [], "alexa-cooking-presetcontroller.html"], ["Alexa.Cooking.TemperatureController", "1", [], "alexa-cooking-temperaturecontroller.html"], ["Alexa.Cooking.TemperatureSensor", "1", [], "alexa-cooking-temperaturesensor.html"], ["Alexa.Cooking.TimeController", "1", [], "alexa-cooking-timecontroller.html"], ["Alexa.DataController", "1", [], "alexa-datacontroller.html"], ["Alexa.DeviceUsage.Estimation", "1", [], "alexa-deviceusage-estimation.html"], ["Alexa.DeviceUsage.Meter", "1", [], "alexa-deviceusage-meter.html"], ["Alexa.DoorbellEventSource", "3", [], "alexa-doorbelleventsource.html"], ["Alexa.EqualizerController", "1", [], "alexa-equalizercontroller.html"], ["Alexa.InputController", "3", [], "alexa-inputcontroller.html"], ["Alexa.InventoryLevelSensor", "1", [], "alexa-inventorylevelsensor.html"], ["Alexa.InventoryLevelUsageSensor", "1", [], "alexa-inventorylevelusagesensor.html"], ["Alexa.InventoryUsageSensor", "1", [], "alexa-inventoryusagesensor.html"], ["Alexa.KeypadController", "1", [], "alexa-keypadcontroller.html"], ["Alexa.Launcher", "1.1", [], "alexa-launcher.html"], ["Alexa.Media.PlayQueue", "1", [], "alexa-media-playqueue.html"], ["Alexa.Media.Playback", "1", [], "alexa-media-playback.html"], ["Alexa.Media.Search", "1", [], "alexa-media-search.html"], ["Alexa.PlaybackController", "3", [], "alexa-playbackcontroller.html"], ["Alexa.PlaybackStateReporter", "1", [], "alexa-playbackcontroller.html"], ["Alexa.ProactiveNotificationSource", "1", [], "alexa-proactivenotificationsource.html"], ["Alexa.RTCSessionController", "1", [], "alexa-rtcsessioncontroller.html"], ["Alexa.RecordController", "3", [], "alexa-recordcontroller.html"], ["Alexa.RemoteVideoPlayer", "1", [], "alexa-remotevideoplayer.html"], ["Alexa.SceneController", "3", [], "alexa-scenecontroller.html"], ["Alexa.SecurityPanelController.Alert", "1", [], "alexa-securitypanelcontroller-alert.html"], ["Alexa.SeekController", "3", [], "alexa-seekcontroller.html"], ["Alexa.SimpleEventSource", "1", [], "alexa-simpleeventsource.html"], ["Alexa.SmartVision.ObjectDetectionSensor", "1", [], "alexa-smartvision-objectdetectionsensor.html"], ["Alexa.SmartVision.SnapshotProvider", "1", [], "alexa-smartvision-snapshotprovider.html"], ["Alexa.Speaker", "1", [], "alexa-speaker.html"], ["Alexa.StepSpeaker", "1", [], "alexa-stepspeaker.html"], ["Alexa.ThermostatController.Configuration", "1", [], "alexa-thermostatcontroller-configuration.html"], ["Alexa.ThermostatController.HVAC.Components", "1", [], "alexa-thermostatcontroller-hvac-components.html"], // "UNKNOWN" in 1.5.2 as well; the page is titled "Interface 3" ["Alexa.TimeHoldController", "3", [], "alexa-timeholdcontroller.html"], ["Alexa.UIController", "1", [], "alexa-uicontroller.html"], ["Alexa.UserPreference", "1", [], "alexa-userpreference.html"], ["Alexa.VideoRecorder", "1", [], "alexa-videorecorder.html"], ["Alexa.WakeOnLANController", "1", [], "alexa-wakeonlancontroller.html"], ]; // What 1.5.2 added to the capability object of one of them const EXTRAS = { // No properties object; supportsDeactivation and proactivelyReported on the capability itself "Alexa.SceneController": ({ proactivelyReported }) => ({ properties: false, topLevel: { supportsDeactivation: true, proactivelyReported }, }), }; function kindOf(namespace) { if (namespace.endsWith("Sensor")) return "sensor"; if (namespace.endsWith("EventSource")) return "eventSource"; return "controller"; } function stub([namespace, version, properties, page]) { return { namespace, version, doc: page.startsWith("https://") ? page : `${DEVICE_APIS}/${page}`, kind: kindOf(namespace), tier: 3, instanced: false, properties: Object.fromEntries(properties.map((name) => [name, { name, value: schema_js_1.s.unknown() }])), directives: {}, discovery: EXTRAS[namespace], }; } exports.STUBS = TABLE.map(stub);