From 31d61464a081e9e265f6ae485f660d11c8e5c0ff Mon Sep 17 00:00:00 2001 From: Kees Schollaart Date: Sat, 2 Nov 2019 14:58:43 +0100 Subject: [PATCH] Changing packaging structure [wip] --- .gitignore | 3 +- azure-pipelines-language-service.yml | 1 + azure-pipelines-vscode.yml | 1 + package-lock.json | 1893 ++++++++++++++++- package.json | 22 +- src/language-service/package.json | 2 +- .../src/schemas/json/automations.json | 1 - .../schemas/json/homeassistant-customize.json | 1 - .../json/homeassistant-input-boolean.json | 1 - .../schemas/json/homeassistant-packages.json | 1 - .../src/schemas/json/homeassistant-scene.json | 1 - .../schemas/json/homeassistant-script.json | 1 - .../src/schemas/json/homeassistant.json | 1 - .../src/schemas/json/lovelace-cards.json | 1 - .../src/schemas/json/lovelace-views.json | 1 - .../src/schemas/json/ui-lovelace.json | 1 - src/server/server.ts | 27 +- 17 files changed, 1916 insertions(+), 43 deletions(-) delete mode 100644 src/language-service/src/schemas/json/automations.json delete mode 100644 src/language-service/src/schemas/json/homeassistant-customize.json delete mode 100644 src/language-service/src/schemas/json/homeassistant-input-boolean.json delete mode 100644 src/language-service/src/schemas/json/homeassistant-packages.json delete mode 100644 src/language-service/src/schemas/json/homeassistant-scene.json delete mode 100644 src/language-service/src/schemas/json/homeassistant-script.json delete mode 100644 src/language-service/src/schemas/json/homeassistant.json delete mode 100644 src/language-service/src/schemas/json/lovelace-cards.json delete mode 100644 src/language-service/src/schemas/json/lovelace-views.json delete mode 100644 src/language-service/src/schemas/json/ui-lovelace.json diff --git a/.gitignore b/.gitignore index 0dfeb63e19..356ccd9dbe 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ out node_modules .vscode-test/ *.vsix -src/language-service/dist \ No newline at end of file +src/language-service/dist +src/language-service/src/schemas/json/*.json \ No newline at end of file diff --git a/azure-pipelines-language-service.yml b/azure-pipelines-language-service.yml index 70c2b69821..28b5b12790 100644 --- a/azure-pipelines-language-service.yml +++ b/azure-pipelines-language-service.yml @@ -23,6 +23,7 @@ stages: rm package-lock.json # this is weird is should not be needd npm install npm run compile + npm run schema mkdir package cd package npm pack ../ diff --git a/azure-pipelines-vscode.yml b/azure-pipelines-vscode.yml index 3684bcd680..025cd80ce8 100644 --- a/azure-pipelines-vscode.yml +++ b/azure-pipelines-vscode.yml @@ -31,6 +31,7 @@ stages: - script: | npm install npm run compile + npm run schema displayName: 'npm install and compile' - script: | diff --git a/package-lock.json b/package-lock.json index b2f30e50f2..d1b89a849e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,12 +32,33 @@ "regenerator-runtime": "^0.13.2" } }, + "@types/mocha": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", + "dev": true + }, "@types/node": { "version": "12.11.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.11.2.tgz", "integrity": "sha512-dsfE4BHJkLQW+reOS6b17xhZ/6FB1rB8eRRvO08nn5o+voxf3i74tuyFWNH6djdfgX7Sm5s6LD8t6mJug4dpDw==", "dev": true }, + "@types/ws": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.2.tgz", + "integrity": "sha512-22XiR1ox9LftTaAtn/c5JCninwc7moaqbkJfaDUb7PkaUitcf5vbTZHdq9dxSMviCm9C3W85rzB8e6yNR70apQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/yaml": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz", + "integrity": "sha512-GW8b9qM+ebgW3/zjzPm0I1NxMvLaz/YKT9Ph6tTb+Fkeyzd9yLTvQ6ciQ2MorTRmb/qXmfjMerRpG4LviixaqQ==", + "dev": true + }, "agent-base": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", @@ -58,6 +79,12 @@ "uri-js": "^4.2.2" } }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -162,16 +189,31 @@ "tweetnacl": "^0.14.3" } }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", @@ -181,7 +223,7 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, "builtin-modules": { @@ -190,6 +232,12 @@ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -207,6 +255,17 @@ "supports-color": "^5.3.0" } }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, "cls-hooked": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/cls-hooked/-/cls-hooked-4.2.2.tgz", @@ -280,11 +339,17 @@ "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "requires": { "ms": "2.0.0" } }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -328,6 +393,38 @@ "shimmer": "^1.2.0" } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, "es6-promise": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", @@ -382,6 +479,24 @@ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -405,6 +520,12 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -428,6 +549,12 @@ "path-is-absolute": "^1.0.0" } }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + }, "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -468,9 +595,7 @@ "integrity": "sha512-eVIRdisSmcIzYKNSgB3gqUCrZpQkSUKlluYTsM0NqpUc4W0hHmF2vd8bShl3URWJXPOI5XPdeHuAPPqc0gUj+Q==" }, "home-assistant-language-service": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/home-assistant-language-service/-/home-assistant-language-service-1.2.1.tgz", - "integrity": "sha512-gni+iZmk47Z5JhRrBdKD+0bwbd7PpGQpFR0D8U0lobnAj0dE2qnM4MewbjQzsZJFLSxBTFHj/1ujfiRF/jXHBA==", + "version": "file:src/language-service", "requires": { "home-assistant-js-websocket": "4.3.1", "vscode-json-languageservice": "3.3.1", @@ -479,6 +604,1417 @@ "ws": "7.1.2", "yaml": "1.7.2", "yaml-language-server": "0.5.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/runtime": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.5.5.tgz", + "integrity": "sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "@types/mocha": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" + }, + "@types/node": { + "version": "12.7.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.2.tgz", + "integrity": "sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg==" + }, + "@types/ws": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.2.tgz", + "integrity": "sha512-22XiR1ox9LftTaAtn/c5JCninwc7moaqbkJfaDUb7PkaUitcf5vbTZHdq9dxSMviCm9C3W85rzB8e6yNR70apQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/yaml": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.0.2.tgz", + "integrity": "sha512-rS1VJFjyGKNHk8H97COnPIK+oeLnc0J9G0ES63o/Ky+WlJCeaFGiGCTGhV/GEVKua7ZWIV1JIDopYUwrfvTo7A==" + }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "arg": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.1.tgz", + "integrity": "sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw==" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "diff": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "requires": { + "prr": "~1.0.1" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + }, + "home-assistant-js-websocket": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/home-assistant-js-websocket/-/home-assistant-js-websocket-4.3.1.tgz", + "integrity": "sha512-eVIRdisSmcIzYKNSgB3gqUCrZpQkSUKlluYTsM0NqpUc4W0hHmF2vd8bShl3URWJXPOI5XPdeHuAPPqc0gUj+Q==" + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "requires": { + "agent-base": "4", + "debug": "3.1.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz", + "integrity": "sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==", + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsonc-parser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.1.0.tgz", + "integrity": "sha512-n9GrT8rrr2fhvBbANa1g+xFmgGK5X91KFeDwlKQ3+SJfmH5+tKv/M/kahx/TXOMflfWHKGKqKyfHQaLKTNzJ6w==" + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-error": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", + "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==" + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "mocha": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + }, + "dependencies": { + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "p-limit": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", + "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "picomatch": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", + "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==" + }, + "prettier": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz", + "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==", + "optional": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "psl": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz", + "integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==" + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "request-light": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.2.4.tgz", + "integrity": "sha512-pM9Fq5jRnSb+82V7M97rp8FE9/YNeP2L9eckB4Szd7lyeclSIx02aIpPO/6e4m6Dy31+FBN/zkFMTd2HkNO3ow==", + "requires": { + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "vscode-nls": "^4.0.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + }, + "dependencies": { + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + } + } + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "ts-loader": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-6.0.4.tgz", + "integrity": "sha512-p2zJYe7OtwR+49kv4gs7v4dMrfYD1IPpOtqiSPCbe8oR+4zEBtdHwzM7A7M91F+suReqgzZrlClk4LRSSp882g==", + "requires": { + "chalk": "^2.3.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^1.0.2", + "micromatch": "^4.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "ts-node": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz", + "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", + "requires": { + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.6", + "yn": "^3.0.0" + } + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + }, + "tslint": { + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.18.0.tgz", + "integrity": "sha512-Q3kXkuDEijQ37nXZZLKErssQVnwCV/+23gFEMROi8IlbaBG6tXqLPQJ5Wjcyt/yHPKBC+hD5SzuGaMora+ZS6w==", + "requires": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^3.2.0", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.29.0" + }, + "dependencies": { + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + } + } + }, + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "requires": { + "tslib": "^1.8.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "typescript": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==" + }, + "typescript-json-schema": { + "version": "0.39.0", + "resolved": "https://registry.npmjs.org/typescript-json-schema/-/typescript-json-schema-0.39.0.tgz", + "integrity": "sha512-ax2UxMMdEhWIwvTjxwJxLmbGIATkY4vxPHeS9wItTb1RfhiUU927YqVixopxURQejbW+ki2awg+eSwRnA5ZUgA==", + "requires": { + "glob": "~7.1.4", + "json-stable-stringify": "^1.0.1", + "typescript": "^3.5.1", + "yargs": "^13.2.4" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vscode": { + "version": "1.1.36", + "resolved": "https://registry.npmjs.org/vscode/-/vscode-1.1.36.tgz", + "integrity": "sha512-cGFh9jmGLcTapCpPCKvn8aG/j9zVQ+0x5hzYJq5h5YyUXVGa1iamOaB2M2PZXoumQPES4qeAP1FwkI0b6tL4bQ==", + "requires": { + "glob": "^7.1.2", + "mocha": "^5.2.0", + "request": "^2.88.0", + "semver": "^5.4.1", + "source-map-support": "^0.5.0", + "url-parse": "^1.4.4", + "vscode-test": "^0.4.1" + } + }, + "vscode-json-languageservice": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-3.3.1.tgz", + "integrity": "sha512-Qyvlrftexu1acvwbMt+CDehVrDZtFV1GAJrKdOCHQL9bWNhzI06KEiSd4iXR0NUOuAdroG/uU4wBkH6e5CcTXg==", + "requires": { + "jsonc-parser": "^2.1.0", + "vscode-languageserver-types": "^3.15.0-next.2", + "vscode-nls": "^4.1.1", + "vscode-uri": "^2.0.3" + }, + "dependencies": { + "vscode-languageserver-protocol": { + "version": "3.15.0-next.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.0-next.2.tgz", + "integrity": "sha512-2JkrMWWUi2rlVLSo9OFR2PIGUzdiowEM8NgNYiwLKnXTjpwpjjIrJbNNxDik7Rv4oo9KtikcFQZKXbrKilL/MQ==" + } + } + }, + "vscode-jsonrpc": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-4.0.0.tgz", + "integrity": "sha512-perEnXQdQOJMTDFNv+UF3h1Y0z4iSiaN9jIlb0OqIYgosPCZGYh/MCUlkFtV2668PL69lRDO32hmvL2yiidUYg==" + }, + "vscode-languageserver": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-5.2.1.tgz", + "integrity": "sha512-GuayqdKZqAwwaCUjDvMTAVRPJOp/SLON3mJ07eGsx/Iq9HjRymhKWztX41rISqDKhHVVyFM+IywICyZDla6U3A==", + "requires": { + "vscode-languageserver-protocol": "3.14.1", + "vscode-uri": "^1.0.6" + }, + "dependencies": { + "vscode-languageserver-protocol": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.14.1.tgz", + "integrity": "sha512-IL66BLb2g20uIKog5Y2dQ0IiigW0XKrvmWiOvc0yXw80z3tMEzEnHjaGAb3ENuU7MnQqgnYJ1Cl2l9RvNgDi4g==", + "requires": { + "vscode-jsonrpc": "^4.0.0", + "vscode-languageserver-types": "3.14.0" + } + }, + "vscode-languageserver-types": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz", + "integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==" + }, + "vscode-uri": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.8.tgz", + "integrity": "sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==" + } + } + }, + "vscode-languageserver-protocol": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.14.1.tgz", + "integrity": "sha512-IL66BLb2g20uIKog5Y2dQ0IiigW0XKrvmWiOvc0yXw80z3tMEzEnHjaGAb3ENuU7MnQqgnYJ1Cl2l9RvNgDi4g==", + "requires": { + "vscode-jsonrpc": "^4.0.0", + "vscode-languageserver-types": "3.14.0" + }, + "dependencies": { + "vscode-languageserver-types": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz", + "integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==" + } + } + }, + "vscode-languageserver-types": { + "version": "3.15.0-next.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.0-next.2.tgz", + "integrity": "sha512-2JkrMWWUi2rlVLSo9OFR2PIGUzdiowEM8NgNYiwLKnXTjpwpjjIrJbNNxDik7Rv4oo9KtikcFQZKXbrKilL/MQ==" + }, + "vscode-nls": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.1.tgz", + "integrity": "sha512-4R+2UoUUU/LdnMnFjePxfLqNhBS8lrAFyX7pjb2ud/lqDkrUavFUTcG7wR0HBZFakae0Q6KLBFjMS6W93F403A==" + }, + "vscode-test": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-0.4.3.tgz", + "integrity": "sha512-EkMGqBSefZH2MgW65nY05rdRSko15uvzq4VAPM5jVmwYuFQKE7eikKXNJDRxL+OITXHB6pI+a3XqqD32Y3KC5w==", + "requires": { + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1" + } + }, + "vscode-uri": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.0.3.tgz", + "integrity": "sha512-4D3DI3F4uRy09WNtDGD93H9q034OHImxiIcSq664Hq1Y1AScehlP3qqZyTkX/RWxeu0MRMHGkrxYqm2qlDF/aw==" + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.1.2.tgz", + "integrity": "sha512-gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg==", + "requires": { + "async-limiter": "^1.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yaml-ast-parser-custom-tags": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/yaml-ast-parser-custom-tags/-/yaml-ast-parser-custom-tags-0.0.43.tgz", + "integrity": "sha512-R5063FF/JSAN6qXCmylwjt9PcDH6M0ExEme/nJBzLspc6FJDmHHIqM7xh2WfEmsTJqClF79A9VkXjkAqmZw9SQ==" + }, + "yaml-language-server": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-0.5.3.tgz", + "integrity": "sha512-7/hGwbZOpXUa/alkBSTZYLyVcYGtkbCeCmQS6kS54KPv1G2LKlM5yCFAtMN57lEaZpJp/0qa+EqfLZiPYsL6hw==", + "requires": { + "js-yaml": "^3.13.1", + "prettier": "^1.17.1", + "request-light": "^0.2.4", + "vscode-json-languageservice": "3.2.0", + "vscode-languageserver": "^5.2.1", + "vscode-languageserver-types": "^3.14.0", + "vscode-uri": "^2.0.2", + "yaml-ast-parser-custom-tags": "0.0.43" + }, + "dependencies": { + "vscode-json-languageservice": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-3.2.0.tgz", + "integrity": "sha512-tLAv9/D01fLAvnYnZ1OLy03HSHhVFjaSkUidEjfrwytHrxVDgqXLkHAJg+F6Q3mPYfpnPQvN2jTjiJ1yInuNVg==", + "requires": { + "jsonc-parser": "^2.0.2", + "vscode-languageserver-types": "^3.13.0", + "vscode-nls": "^4.0.0", + "vscode-uri": "^1.0.6" + }, + "dependencies": { + "vscode-uri": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.8.tgz", + "integrity": "sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==" + } + } + }, + "vscode-languageserver-protocol": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.14.0.tgz", + "integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==" + }, + "vscode-languageserver-types": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz", + "integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==" + } + } + }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" + } } }, "http-proxy-agent": { @@ -526,12 +2062,30 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -571,17 +2125,49 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, "jsonc-parser": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.0.tgz", "integrity": "sha512-4fLQxW1j/5fWj6p78vAlAafoCKtuBm6ghv+Ij5W2DrDx0qE+ZdEl2c6Ko1mgJNF5ftX1iEWQQ4Ap7+3GlhjkOA==" }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -594,12 +2180,53 @@ "verror": "1.10.0" } }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, "make-error": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", "dev": true }, + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, "mime-db": { "version": "1.40.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", @@ -618,7 +2245,7 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -715,6 +2342,36 @@ "wrappy": "1" } }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -733,12 +2390,30 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, + "picomatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.1.0.tgz", + "integrity": "sha512-uhnEDzAbrcJ8R3g2fANnSuXZMBtkpSjxTTgn2LeSiQlfmq72enQJWdQllXW24MBLYnA1SBD2vfvx2o0Zw3Ielw==", + "dev": true + }, "prettier": { "version": "1.18.2", "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz", "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==", "optional": true }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, "psl": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/psl/-/psl-1.3.1.tgz", @@ -763,6 +2438,29 @@ "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", "dev": true }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, "regenerator-runtime": { "version": "0.13.3", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", @@ -797,15 +2495,27 @@ } }, "request-light": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.2.4.tgz", - "integrity": "sha512-pM9Fq5jRnSb+82V7M97rp8FE9/YNeP2L9eckB4Szd7lyeclSIx02aIpPO/6e4m6Dy31+FBN/zkFMTd2HkNO3ow==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.2.5.tgz", + "integrity": "sha512-eBEh+GzJAftUnex6tcL6eV2JCifY0+sZMIUpUPOVXbs2nV5hla4ZMmO3icYKGuGVuQ2zHE9evh4OrRcH4iyYYw==", "requires": { "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.1", - "vscode-nls": "^4.0.0" + "https-proxy-agent": "^2.2.3", + "vscode-nls": "^4.1.1" } }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -821,6 +2531,15 @@ "path-parse": "^1.0.6" } }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, "safe-buffer": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", @@ -838,6 +2557,12 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, "shimmer": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", @@ -846,7 +2571,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "source-map-support": { @@ -886,6 +2611,43 @@ "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", "integrity": "sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU=" }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -895,6 +2657,21 @@ "has-flag": "^3.0.0" } }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, "tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", @@ -913,6 +2690,27 @@ } } }, + "ts-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-6.2.1.tgz", + "integrity": "sha512-Dd9FekWuABGgjE1g0TlQJ+4dFUfYGbYcs52/HQObE0ZmUNjQlmLAS7xXsSzy23AMaMwipsx5sNHvoEpT2CZq1g==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^1.0.2", + "micromatch": "^4.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, "ts-node": { "version": "8.4.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.4.1.tgz", @@ -991,6 +2789,18 @@ "integrity": "sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==", "dev": true }, + "typescript-json-schema": { + "version": "0.39.0", + "resolved": "https://registry.npmjs.org/typescript-json-schema/-/typescript-json-schema-0.39.0.tgz", + "integrity": "sha512-ax2UxMMdEhWIwvTjxwJxLmbGIATkY4vxPHeS9wItTb1RfhiUU927YqVixopxURQejbW+ki2awg+eSwRnA5ZUgA==", + "dev": true, + "requires": { + "glob": "~7.1.4", + "json-stable-stringify": "^1.0.1", + "typescript": "^3.5.1", + "yargs": "^13.2.4" + } + }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -1010,6 +2820,12 @@ "requires-port": "^1.0.0" } }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, "uuid": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", @@ -1132,6 +2948,23 @@ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.0.3.tgz", "integrity": "sha512-4D3DI3F4uRy09WNtDGD93H9q034OHImxiIcSq664Hq1Y1AScehlP3qqZyTkX/RWxeu0MRMHGkrxYqm2qlDF/aw==" }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -1146,6 +2979,12 @@ "async-limiter": "^1.0.0" } }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, "yaml": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz", @@ -1199,6 +3038,34 @@ } } }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", diff --git a/package.json b/package.json index 961697afa4..9e21549207 100644 --- a/package.json +++ b/package.json @@ -125,19 +125,33 @@ "compile": "tsc -p ./", "watch": "tsc -watch -p ./", "postinstall": "node ./node_modules/vscode/bin/install", - "test": "npm run compile && node ./node_modules/vscode/bin/test" + "test": "npm run compile && node ./node_modules/vscode/bin/test", + "schema": "ts-node src/language-service/src/schemas/generateSchemas.ts" }, "devDependencies": { "@types/node": "12.11.2", "ts-node": "8.4.1", "tslint": "^5.19.0", "typescript": "3.6.4", - "vscode": "^1.1.36" + "vscode": "^1.1.36", + "@types/mocha": "5.2.7", + "@types/ws": "6.0.2", + "@types/yaml": "1.2.0", + "rimraf": "3.0.0", + "ts-loader": "^6.0.4", + "typescript-json-schema": "0.39.0" }, "dependencies": { - "home-assistant-language-service": "1.2.1", + "home-assistant-language-service": "file:src/language-service", "vscode-languageserver": "5.2.1", "vscode-languageclient": "5.2.1", - "vscode-extension-telemetry": "0.1.2" + "vscode-extension-telemetry": "0.1.2", + "home-assistant-js-websocket": "4.3.1", + "vscode-json-languageservice": "3.3.1", + "vscode-languageserver-protocol": "3.14.1", + "vscode-uri": "2.0.3", + "ws": "7.1.2", + "yaml": "1.7.2", + "yaml-language-server": "0.5.3" } } diff --git a/src/language-service/package.json b/src/language-service/package.json index f104bfd66c..cf22b57329 100644 --- a/src/language-service/package.json +++ b/src/language-service/package.json @@ -1,6 +1,6 @@ { "name": "home-assistant-language-service", - "version": "1.2.1", + "version": "1.2.2", "description": "Home Assistant Language Service", "source": "src/haLanguageService.ts", "main": "dist/haLanguageService.js", diff --git a/src/language-service/src/schemas/json/automations.json b/src/language-service/src/schemas/json/automations.json deleted file mode 100644 index 2c65b96d4e..0000000000 --- a/src/language-service/src/schemas/json/automations.json +++ /dev/null @@ -1 +0,0 @@ -{"anyOf":[{"$ref":"#/definitions/Automation"},{"type":"array","items":{"$ref":"#/definitions/Automation"}}],"definitions":{"Automation":{"type":"object","properties":{"id":{"type":"string"},"alias":{"type":"string"},"description":{"type":"string"},"initial_state":{"type":["string","boolean"]},"hide_entity":{"type":"boolean"},"trigger":{"anyOf":[{"$ref":"#/definitions/HaTrigger"},{"$ref":"#/definitions/SunTrigger"},{"$ref":"#/definitions/TimeTrigger"},{"$ref":"#/definitions/TemplateTrigger"},{"$ref":"#/definitions/WebhookTrigger"},{"$ref":"#/definitions/EventTrigger"},{"$ref":"#/definitions/TimePatternTrigger"},{"$ref":"#/definitions/MqttTrigger"},{"$ref":"#/definitions/GeoLocationTrigger"},{"$ref":"#/definitions/StateTrigger"},{"$ref":"#/definitions/ZoneTrigger"},{"$ref":"#/definitions/NumericStateTrigger"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/HaTrigger"},{"$ref":"#/definitions/SunTrigger"},{"$ref":"#/definitions/TimeTrigger"},{"$ref":"#/definitions/TemplateTrigger"},{"$ref":"#/definitions/WebhookTrigger"},{"$ref":"#/definitions/EventTrigger"},{"$ref":"#/definitions/TimePatternTrigger"},{"$ref":"#/definitions/MqttTrigger"},{"$ref":"#/definitions/GeoLocationTrigger"},{"$ref":"#/definitions/StateTrigger"},{"$ref":"#/definitions/ZoneTrigger"},{"$ref":"#/definitions/NumericStateTrigger"}]}}]},"condition":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}},{"type":"null"}]},"action":{"anyOf":[{"$ref":"#/definitions/EventActionSchema"},{"$ref":"#/definitions/ServiceActionSchema"},{"$ref":"#/definitions/DelayActionSchema"},{"$ref":"#/definitions/ServiceActionTemplateSchema"},{"$ref":"#/definitions/WaitTemplateSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EventActionSchema"},{"$ref":"#/definitions/ServiceActionSchema"},{"$ref":"#/definitions/DelayActionSchema"},{"$ref":"#/definitions/ServiceActionTemplateSchema"},{"$ref":"#/definitions/WaitTemplateSchema"},{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}}]}}]}},"additionalProperties":false,"required":["action","trigger"]},"HaTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["homeassistant"]},"event":{"enum":["shutdown","start"],"type":"string"}},"additionalProperties":false,"required":["event","platform"]},"SunTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["sun"]},"event":{"enum":["sunrise","sunset"],"type":"string"},"offset":{"type":"string"}},"additionalProperties":false,"required":["event","platform"]},"TimeTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["time"]},"at":{"type":"string"}},"additionalProperties":false,"required":["at","platform"]},"TemplateTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["template"]},"value_template":{"type":"string"},"for":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]}},"additionalProperties":false,"required":["platform","value_template"]},"TimePeriod":{"type":"object","properties":{"days":{"type":["string","number"]},"hours":{"type":["string","number"]},"minutes":{"type":["string","number"]},"seconds":{"type":["string","number"]},"milliseconds":{"type":["string","number"]}},"additionalProperties":false},"WebhookTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["webhook"]},"webhook_id":{"type":"string"}},"additionalProperties":false,"required":["platform","webhook_id"]},"EventTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["event"]},"event_type":{"type":"string"},"event_data":{}},"additionalProperties":false,"required":["event_type","platform"]},"TimePatternTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["time_pattern"]},"hours":{"type":"string"},"minutes":{"type":["string","number"]},"seconds":{"type":["string","number"]}},"additionalProperties":false,"required":["platform"]},"MqttTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["mqtt"]},"topic":{"type":"string"},"payload":{"type":"string"},"encoding":{"type":"string"}},"additionalProperties":false,"required":["platform","topic"]},"GeoLocationTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["geo_location"]},"source":{"type":"string"},"zone":{"type":"string"},"event":{"enum":["enter","leave"],"type":"string"}},"additionalProperties":false,"required":["event","platform","source","zone"]},"StateTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["state"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"from":{"type":["string","boolean"]},"to":{"type":["string","boolean"]},"for":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]}},"additionalProperties":false,"required":["entity_id","platform"]},"ZoneTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["zone"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"zone":{"type":"string"},"event":{"enum":["enter","leave"],"type":"string"}},"additionalProperties":false,"required":["entity_id","event","platform","zone"]},"NumericStateTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["numeric_state"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"below":{"type":["string","number"]},"above":{"type":["string","number"]},"value_template":{"type":"string"},"for":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]}},"additionalProperties":false,"required":["entity_id","platform"]},"NumericStateConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["numeric_state"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"below":{"type":["string","number"]},"above":{"type":["string","number"]},"value_template":{"type":"string"}},"additionalProperties":false,"required":["condition","entity_id"]},"StateConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["state"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"state":{"type":["string","boolean"]},"for":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]},"from":{"type":"string"}},"additionalProperties":false,"required":["condition","entity_id","state"]},"SunConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["sun"]},"before":{"type":"string"},"before_offset":{"type":"string"},"after":{"type":"string"},"after_offset":{"type":"string"}},"additionalProperties":false,"required":["condition"]},"TemplateConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["template"]},"value_template":{"type":"string"}},"additionalProperties":false,"required":["condition"]},"TimeConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["time"]},"before":{"type":"string"},"after":{"type":"string"},"weekday":{"anyOf":[{"type":"array","items":{"enum":["fri","mon","sat","sun","thu","tue","wed"],"type":"string"}},{"enum":["fri","mon","sat","sun","thu","tue","wed"],"type":"string"}]}},"additionalProperties":false,"required":["condition"]},"ZoneConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["zone"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"zone":{"type":"string"}},"additionalProperties":false,"required":["condition","entity_id"]},"AndConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["and"]},"conditions":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}}]}},"additionalProperties":false,"required":["condition","conditions"]},"OrConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["or"]},"conditions":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}}]}},"additionalProperties":false,"required":["condition","conditions"]},"EventActionSchema":{"type":"object","properties":{"alias":{"type":"string"},"event":{"type":"string"},"event_data":{},"event_data_template":{}},"additionalProperties":false,"required":["event"]},"ServiceActionSchema":{"type":"object","properties":{"service":{"type":"string"},"service_template":{"type":"string"},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"data":{},"data_template":{}},"additionalProperties":false,"required":["service"]},"DelayActionSchema":{"type":"object","properties":{"delay":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":["string","number"]}]}},"additionalProperties":false,"required":["delay"]},"ServiceActionTemplateSchema":{"type":"object","properties":{"service_template":{"type":"string"},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"data":{},"data_template":{}},"additionalProperties":false,"required":["service_template"]},"WaitTemplateSchema":{"type":"object","properties":{"wait_template":{"type":"string"},"timeout":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]},"continue_on_timeout":{"type":["string","boolean"]}},"additionalProperties":false,"required":["wait_template"]}},"$schema":"http://json-schema.org/draft-07/schema#"} \ No newline at end of file diff --git a/src/language-service/src/schemas/json/homeassistant-customize.json b/src/language-service/src/schemas/json/homeassistant-customize.json deleted file mode 100644 index 90b80e8c70..0000000000 --- a/src/language-service/src/schemas/json/homeassistant-customize.json +++ /dev/null @@ -1 +0,0 @@ -{"anyOf":[{"$ref":"#/definitions/CustomizeComponent"},{"type":"array","items":{"$ref":"#/definitions/CustomizeComponent"}}],"definitions":{"CustomizeComponent":{"type":"object","additionalProperties":{"$ref":"#/definitions/CustomizeComponentEntry"}},"CustomizeComponentEntry":{"additionalProperties":true,"type":"object","properties":{"friendly_name":{"type":"string"},"homebridge_name":{"type":"string"},"hidden":{"type":"boolean"},"homebridge_hidden":{"type":"boolean"},"emulated_hue_hidden":{"type":"boolean"},"entity_picture":{"type":"string"},"icon":{"type":"string"},"assumed_state":{"type":"boolean"},"device_class":{"type":"string"},"unit_of_measurement":{"type":"string"},"initial_state":{"type":"boolean"}}}},"$schema":"http://json-schema.org/draft-07/schema#"} \ No newline at end of file diff --git a/src/language-service/src/schemas/json/homeassistant-input-boolean.json b/src/language-service/src/schemas/json/homeassistant-input-boolean.json deleted file mode 100644 index 9f33dc11b4..0000000000 --- a/src/language-service/src/schemas/json/homeassistant-input-boolean.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"initial":{"type":"boolean"},"icon":{"type":"string"}},"additionalProperties":false},{"type":"null"}]},"$schema":"http://json-schema.org/draft-07/schema#"} \ No newline at end of file diff --git a/src/language-service/src/schemas/json/homeassistant-packages.json b/src/language-service/src/schemas/json/homeassistant-packages.json deleted file mode 100644 index e52b8b11eb..0000000000 --- a/src/language-service/src/schemas/json/homeassistant-packages.json +++ /dev/null @@ -1 +0,0 @@ -{"additionalProperties":true,"type":"object","properties":{"homeassistant":{"anyOf":[{"$ref":"#/definitions/HomeAssistantComponent"},{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"}]},"automation":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/Automation"}},{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"}]},"group":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/GroupComponent"}]},"panel_iframe":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/PanelIframeComponent"}]},"sensor":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/MqttSensor"},{"$ref":"#/definitions/TemplateSensor"},{"$ref":"#/definitions/OtherSensor"}]}},{"type":"null"}]},"scene":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"type":"array","items":{"$ref":"#/definitions/SceneComponentEntry"}}]},"input_boolean":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/InputBooleanEntry"}]},"script":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/Script"}]},"http":{},"default_config":{},"person":{},"system_health":{},"panel_custom":{},"updater":{},"discovery":{},"conversation":{},"history":{},"config":{},"logbook":{},"sun":{},"tts":{},"recorder":{},"ifttt":{},"ios":{},"mqtt":{},"remote":{}},"definitions":{"HomeAssistantComponent":{"type":"object","properties":{"name":{"type":"string"},"latitude":{"type":["string","number"]},"longitude":{"type":["string","number"]},"elevation":{"type":["string","number"]},"unit_system":{"enum":["imperial","metric"],"type":"string"},"time_zone":{"type":"string"},"whitelist_external_dirs":{"type":"array","items":{"type":"string"}},"customize":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/CustomizeComponent"}]},"customize_domain":{},"customize_glob":{},"packages":{"anyOf":[{"$ref":"#/definitions/NamedPackageInclude"},{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"type":"array","items":{"$ref":"#/definitions/HomeAssistantRoot"}}]},"auth_providers":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/HomeAssistantAuthProvider"},{"$ref":"#/definitions/TrustedNetworksAuthProvider"},{"$ref":"#/definitions/CommandLineAuthProvider"},{"$ref":"#/definitions/LegacyApiPasswordAuthProvider"}]}},"auth_mfa_modules":{"anyOf":[{"type":"array","items":{}},{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"}]}},"additionalProperties":false},"IncludeTag":{"type":"string","pattern":"[.]yaml|[.]yml$"},"IncludeFolderTag":{"type":"string"},"CustomizeComponent":{"type":"object","additionalProperties":{"$ref":"#/definitions/CustomizeComponentEntry"}},"CustomizeComponentEntry":{"additionalProperties":true,"type":"object","properties":{"friendly_name":{"type":"string"},"homebridge_name":{"type":"string"},"hidden":{"type":"boolean"},"homebridge_hidden":{"type":"boolean"},"emulated_hue_hidden":{"type":"boolean"},"entity_picture":{"type":"string"},"icon":{"type":"string"},"assumed_state":{"type":"boolean"},"device_class":{"type":"string"},"unit_of_measurement":{"type":"string"},"initial_state":{"type":"boolean"}}},"NamedPackageInclude":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/HomeAssistantRoot"},{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"}]}},"HomeAssistantRoot":{"additionalProperties":true,"type":"object","properties":{"homeassistant":{"anyOf":[{"$ref":"#/definitions/HomeAssistantComponent"},{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"}]},"automation":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/Automation"}},{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"}]},"group":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/GroupComponent"}]},"panel_iframe":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/PanelIframeComponent"}]},"sensor":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/MqttSensor"},{"$ref":"#/definitions/TemplateSensor"},{"$ref":"#/definitions/OtherSensor"}]}},{"type":"null"}]},"scene":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"type":"array","items":{"$ref":"#/definitions/SceneComponentEntry"}}]},"input_boolean":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/InputBooleanEntry"}]},"script":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/Script"}]},"http":{},"default_config":{},"person":{},"system_health":{},"panel_custom":{},"updater":{},"discovery":{},"conversation":{},"history":{},"config":{},"logbook":{},"sun":{},"tts":{},"recorder":{},"ifttt":{},"ios":{},"mqtt":{},"remote":{}}},"Automation":{"type":"object","properties":{"id":{"type":"string"},"alias":{"type":"string"},"description":{"type":"string"},"initial_state":{"type":["string","boolean"]},"hide_entity":{"type":"boolean"},"trigger":{"anyOf":[{"$ref":"#/definitions/HaTrigger"},{"$ref":"#/definitions/SunTrigger"},{"$ref":"#/definitions/TimeTrigger"},{"$ref":"#/definitions/TemplateTrigger"},{"$ref":"#/definitions/WebhookTrigger"},{"$ref":"#/definitions/EventTrigger"},{"$ref":"#/definitions/TimePatternTrigger"},{"$ref":"#/definitions/MqttTrigger"},{"$ref":"#/definitions/GeoLocationTrigger"},{"$ref":"#/definitions/StateTrigger"},{"$ref":"#/definitions/ZoneTrigger"},{"$ref":"#/definitions/NumericStateTrigger"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/HaTrigger"},{"$ref":"#/definitions/SunTrigger"},{"$ref":"#/definitions/TimeTrigger"},{"$ref":"#/definitions/TemplateTrigger"},{"$ref":"#/definitions/WebhookTrigger"},{"$ref":"#/definitions/EventTrigger"},{"$ref":"#/definitions/TimePatternTrigger"},{"$ref":"#/definitions/MqttTrigger"},{"$ref":"#/definitions/GeoLocationTrigger"},{"$ref":"#/definitions/StateTrigger"},{"$ref":"#/definitions/ZoneTrigger"},{"$ref":"#/definitions/NumericStateTrigger"}]}}]},"condition":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}},{"type":"null"}]},"action":{"anyOf":[{"$ref":"#/definitions/EventActionSchema"},{"$ref":"#/definitions/ServiceActionSchema"},{"$ref":"#/definitions/DelayActionSchema"},{"$ref":"#/definitions/ServiceActionTemplateSchema"},{"$ref":"#/definitions/WaitTemplateSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EventActionSchema"},{"$ref":"#/definitions/ServiceActionSchema"},{"$ref":"#/definitions/DelayActionSchema"},{"$ref":"#/definitions/ServiceActionTemplateSchema"},{"$ref":"#/definitions/WaitTemplateSchema"},{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}}]}}]}},"additionalProperties":false,"required":["action","trigger"]},"HaTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["homeassistant"]},"event":{"enum":["shutdown","start"],"type":"string"}},"additionalProperties":false,"required":["event","platform"]},"SunTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["sun"]},"event":{"enum":["sunrise","sunset"],"type":"string"},"offset":{"type":"string"}},"additionalProperties":false,"required":["event","platform"]},"TimeTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["time"]},"at":{"type":"string"}},"additionalProperties":false,"required":["at","platform"]},"TemplateTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["template"]},"value_template":{"type":"string"},"for":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]}},"additionalProperties":false,"required":["platform","value_template"]},"TimePeriod":{"type":"object","properties":{"days":{"type":["string","number"]},"hours":{"type":["string","number"]},"minutes":{"type":["string","number"]},"seconds":{"type":["string","number"]},"milliseconds":{"type":["string","number"]}},"additionalProperties":false},"WebhookTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["webhook"]},"webhook_id":{"type":"string"}},"additionalProperties":false,"required":["platform","webhook_id"]},"EventTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["event"]},"event_type":{"type":"string"},"event_data":{}},"additionalProperties":false,"required":["event_type","platform"]},"TimePatternTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["time_pattern"]},"hours":{"type":"string"},"minutes":{"type":["string","number"]},"seconds":{"type":["string","number"]}},"additionalProperties":false,"required":["platform"]},"MqttTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["mqtt"]},"topic":{"type":"string"},"payload":{"type":"string"},"encoding":{"type":"string"}},"additionalProperties":false,"required":["platform","topic"]},"GeoLocationTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["geo_location"]},"source":{"type":"string"},"zone":{"type":"string"},"event":{"enum":["enter","leave"],"type":"string"}},"additionalProperties":false,"required":["event","platform","source","zone"]},"StateTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["state"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"from":{"type":["string","boolean"]},"to":{"type":["string","boolean"]},"for":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]}},"additionalProperties":false,"required":["entity_id","platform"]},"ZoneTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["zone"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"zone":{"type":"string"},"event":{"enum":["enter","leave"],"type":"string"}},"additionalProperties":false,"required":["entity_id","event","platform","zone"]},"NumericStateTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["numeric_state"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"below":{"type":["string","number"]},"above":{"type":["string","number"]},"value_template":{"type":"string"},"for":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]}},"additionalProperties":false,"required":["entity_id","platform"]},"NumericStateConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["numeric_state"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"below":{"type":["string","number"]},"above":{"type":["string","number"]},"value_template":{"type":"string"}},"additionalProperties":false,"required":["condition","entity_id"]},"StateConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["state"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"state":{"type":["string","boolean"]},"for":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]},"from":{"type":"string"}},"additionalProperties":false,"required":["condition","entity_id","state"]},"SunConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["sun"]},"before":{"type":"string"},"before_offset":{"type":"string"},"after":{"type":"string"},"after_offset":{"type":"string"}},"additionalProperties":false,"required":["condition"]},"TemplateConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["template"]},"value_template":{"type":"string"}},"additionalProperties":false,"required":["condition"]},"TimeConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["time"]},"before":{"type":"string"},"after":{"type":"string"},"weekday":{"anyOf":[{"type":"array","items":{"enum":["fri","mon","sat","sun","thu","tue","wed"],"type":"string"}},{"enum":["fri","mon","sat","sun","thu","tue","wed"],"type":"string"}]}},"additionalProperties":false,"required":["condition"]},"ZoneConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["zone"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"zone":{"type":"string"}},"additionalProperties":false,"required":["condition","entity_id"]},"AndConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["and"]},"conditions":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}}]}},"additionalProperties":false,"required":["condition","conditions"]},"OrConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["or"]},"conditions":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}}]}},"additionalProperties":false,"required":["condition","conditions"]},"EventActionSchema":{"type":"object","properties":{"alias":{"type":"string"},"event":{"type":"string"},"event_data":{},"event_data_template":{}},"additionalProperties":false,"required":["event"]},"ServiceActionSchema":{"type":"object","properties":{"service":{"type":"string"},"service_template":{"type":"string"},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"data":{},"data_template":{}},"additionalProperties":false,"required":["service"]},"DelayActionSchema":{"type":"object","properties":{"delay":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":["string","number"]}]}},"additionalProperties":false,"required":["delay"]},"ServiceActionTemplateSchema":{"type":"object","properties":{"service_template":{"type":"string"},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"data":{},"data_template":{}},"additionalProperties":false,"required":["service_template"]},"WaitTemplateSchema":{"type":"object","properties":{"wait_template":{"type":"string"},"timeout":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]},"continue_on_timeout":{"type":["string","boolean"]}},"additionalProperties":false,"required":["wait_template"]},"GroupComponent":{"type":"object","additionalProperties":{"anyOf":[{"type":"array","items":{"type":"string"}},{"$ref":"#/definitions/GroupComponentEntry"}]}},"GroupComponentEntry":{"type":"object","properties":{"name":{"type":"string"},"view":{"type":"boolean"},"icon":{"type":"string"},"control":{"type":"string"},"entities":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"all":{"type":"boolean"}},"additionalProperties":false,"required":["entities"]},"PanelIframeComponent":{"type":"object","additionalProperties":{"$ref":"#/definitions/PanelIframeComponentEntry"}},"PanelIframeComponentEntry":{"type":"object","properties":{"title":{"type":"string"},"url":{"type":"string"},"icon":{"type":"string"},"require_admin":{"type":"boolean"}},"additionalProperties":false,"required":["title","url"]},"MqttSensor":{"type":"object","properties":{"platform":{"type":"string","enum":["mqtt"]},"state_topic":{"type":"string"},"name":{"type":"string"},"qos":{"type":"number"},"unit_of_measurement":{"type":"string"},"icon":{"type":"string"},"expire_after":{"type":"number"},"value_template":{"type":"string"},"force_update":{"type":"boolean"},"availability_topic":{"type":"string"},"payload_available":{"type":"string"},"payload_not_available":{"type":"string"},"json_attributes_topic":{"type":"string"},"json_attributes":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"unique_id":{"type":"string"},"device_class":{"type":"string"},"device":{}},"additionalProperties":false,"required":["platform","state_topic"]},"TemplateSensor":{"type":"object","properties":{"platform":{"type":"string","enum":["template"]},"sensors":{"type":"object","additionalProperties":{"$ref":"#/definitions/TemplateSensorEntry"}}},"additionalProperties":false,"required":["platform","sensors"]},"TemplateSensorEntry":{"type":"object","properties":{"friendly_name":{"type":"string"},"friendly_name_template":{"type":"string"},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"unit_of_measurement":{"type":"string"},"value_template":{"type":"string"},"icon_template":{"type":"string"},"entity_picture_template":{"type":"string"},"device_class":{"type":"string"}},"additionalProperties":false},"OtherSensor":{"additionalProperties":true,"type":"object","properties":{"platform":{"pattern":"(^(?!.*(mqtt|template)).*)$","type":"string"}},"required":["platform"]},"SceneComponentEntry":{"type":"object","properties":{"name":{"type":"string"},"entities":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/EntitySceneConfig"},{"type":["string","boolean"]}]}}},"additionalProperties":false,"required":["entities","name"]},"EntitySceneConfig":{"additionalProperties":true,"type":"object","properties":{"state":{"type":["string","boolean"]},"brightness":{"type":["string","number"]},"source":{"type":"string"},"color_temp":{"type":["string","number"]},"xy_color":{}}},"InputBooleanEntry":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"initial":{"type":"boolean"},"icon":{"type":"string"}},"additionalProperties":false},{"type":"null"}]}},"Script":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/SequencedAction"},{"$ref":"#/definitions/ServiceAction"},{"$ref":"#/definitions/DelayAction"},{"$ref":"#/definitions/WaitAction"},{"$ref":"#/definitions/EventAction"}]}},"SequencedAction":{"type":"object","properties":{"alias":{"type":"string"},"sequence":{"anyOf":[{"$ref":"#/definitions/ServiceAction"},{"$ref":"#/definitions/DelayAction"},{"$ref":"#/definitions/WaitAction"},{"$ref":"#/definitions/EventAction"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}},{"$ref":"#/definitions/ServiceAction"},{"$ref":"#/definitions/DelayAction"},{"$ref":"#/definitions/WaitAction"},{"$ref":"#/definitions/EventAction"}]}}]}},"additionalProperties":false,"required":["sequence"]},"ServiceAction":{"type":"object","properties":{"service":{"type":"string"},"service_template":{"type":"string"},"data":{},"data_template":{},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]}},"additionalProperties":false},"DelayAction":{"type":"object","properties":{"delay":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":["string","number"]}]}},"additionalProperties":false,"required":["delay"]},"WaitAction":{"type":"object","properties":{"wait_template":{"type":"string"},"timeout":{"type":"string"},"continue_on_timeout":{"type":["string","boolean"]}},"additionalProperties":false,"required":["wait_template"]},"EventAction":{"type":"object","properties":{"event":{"type":"string"},"event_data":{"$ref":"#/definitions/EventActionData"},"event_data_template":{}},"additionalProperties":false,"required":["event","event_data"]},"EventActionData":{"additionalProperties":true,"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"entity_id":{"type":"string"},"domain":{"type":"string"}}},"HomeAssistantAuthProvider":{"type":"object","properties":{"type":{"type":"string","enum":["homeassistant"]}},"additionalProperties":false,"required":["type"]},"TrustedNetworksAuthProvider":{"type":"object","properties":{"type":{"type":"string","enum":["trusted_networks"]},"trusted_networks":{"anyOf":[{"type":"array","items":{}},{"type":"array","items":{"type":"string"}},{"type":"string"}]},"trusted_users":{"type":"object","additionalProperties":{"anyOf":[{"type":"array","items":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"type":"string"}]}},{"type":"string"}]}},"allow_bypass_login":{"type":"boolean"}},"additionalProperties":false,"required":["trusted_networks","type"]},"CommandLineAuthProvider":{"type":"object","properties":{"type":{"type":"string","enum":["command_line"]},"command":{"type":"string"},"args":{},"meta":{"type":"boolean"}},"additionalProperties":false,"required":["command","type"]},"LegacyApiPasswordAuthProvider":{"type":"object","properties":{"type":{"type":"string","enum":["legacy_api_password"]},"api_password":{"anyOf":[{"$ref":"#/definitions/SecretTag"},{"type":"string"}]}},"additionalProperties":false,"required":["api_password","type"]},"SecretTag":{"type":"string","pattern":"[.]yaml|[.]yml$"}},"$schema":"http://json-schema.org/draft-07/schema#"} \ No newline at end of file diff --git a/src/language-service/src/schemas/json/homeassistant-scene.json b/src/language-service/src/schemas/json/homeassistant-scene.json deleted file mode 100644 index c3747bda85..0000000000 --- a/src/language-service/src/schemas/json/homeassistant-scene.json +++ /dev/null @@ -1 +0,0 @@ -{"anyOf":[{"$ref":"#/definitions/SceneComponentEntry"},{"type":"array","items":{"$ref":"#/definitions/SceneComponentEntry"}}],"definitions":{"SceneComponentEntry":{"type":"object","properties":{"name":{"type":"string"},"entities":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/EntitySceneConfig"},{"type":["string","boolean"]}]}}},"additionalProperties":false,"required":["entities","name"]},"EntitySceneConfig":{"additionalProperties":true,"type":"object","properties":{"state":{"type":["string","boolean"]},"brightness":{"type":["string","number"]},"source":{"type":"string"},"color_temp":{"type":["string","number"]},"xy_color":{}}}},"$schema":"http://json-schema.org/draft-07/schema#"} \ No newline at end of file diff --git a/src/language-service/src/schemas/json/homeassistant-script.json b/src/language-service/src/schemas/json/homeassistant-script.json deleted file mode 100644 index 9211358bf6..0000000000 --- a/src/language-service/src/schemas/json/homeassistant-script.json +++ /dev/null @@ -1 +0,0 @@ -{"anyOf":[{"$ref":"#/definitions/SequencedAction"},{"$ref":"#/definitions/ServiceAction"},{"$ref":"#/definitions/DelayAction"},{"$ref":"#/definitions/WaitAction"},{"$ref":"#/definitions/EventAction"},{"$ref":"#/definitions/Script"},{"type":"array","items":{"$ref":"#/definitions/Script"}}],"definitions":{"SequencedAction":{"type":"object","properties":{"alias":{"type":"string"},"sequence":{"anyOf":[{"$ref":"#/definitions/ServiceAction"},{"$ref":"#/definitions/DelayAction"},{"$ref":"#/definitions/WaitAction"},{"$ref":"#/definitions/EventAction"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}},{"$ref":"#/definitions/ServiceAction"},{"$ref":"#/definitions/DelayAction"},{"$ref":"#/definitions/WaitAction"},{"$ref":"#/definitions/EventAction"}]}}]}},"additionalProperties":false,"required":["sequence"]},"ServiceAction":{"type":"object","properties":{"service":{"type":"string"},"service_template":{"type":"string"},"data":{},"data_template":{},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]}},"additionalProperties":false},"DelayAction":{"type":"object","properties":{"delay":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":["string","number"]}]}},"additionalProperties":false,"required":["delay"]},"TimePeriod":{"type":"object","properties":{"days":{"type":["string","number"]},"hours":{"type":["string","number"]},"minutes":{"type":["string","number"]},"seconds":{"type":["string","number"]},"milliseconds":{"type":["string","number"]}},"additionalProperties":false},"WaitAction":{"type":"object","properties":{"wait_template":{"type":"string"},"timeout":{"type":"string"},"continue_on_timeout":{"type":["string","boolean"]}},"additionalProperties":false,"required":["wait_template"]},"EventAction":{"type":"object","properties":{"event":{"type":"string"},"event_data":{"$ref":"#/definitions/EventActionData"},"event_data_template":{}},"additionalProperties":false,"required":["event","event_data"]},"EventActionData":{"additionalProperties":true,"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"entity_id":{"type":"string"},"domain":{"type":"string"}}},"NumericStateConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["numeric_state"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"below":{"type":["string","number"]},"above":{"type":["string","number"]},"value_template":{"type":"string"}},"additionalProperties":false,"required":["condition","entity_id"]},"StateConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["state"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"state":{"type":["string","boolean"]},"for":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]},"from":{"type":"string"}},"additionalProperties":false,"required":["condition","entity_id","state"]},"SunConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["sun"]},"before":{"type":"string"},"before_offset":{"type":"string"},"after":{"type":"string"},"after_offset":{"type":"string"}},"additionalProperties":false,"required":["condition"]},"TemplateConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["template"]},"value_template":{"type":"string"}},"additionalProperties":false,"required":["condition"]},"TimeConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["time"]},"before":{"type":"string"},"after":{"type":"string"},"weekday":{"anyOf":[{"type":"array","items":{"enum":["fri","mon","sat","sun","thu","tue","wed"],"type":"string"}},{"enum":["fri","mon","sat","sun","thu","tue","wed"],"type":"string"}]}},"additionalProperties":false,"required":["condition"]},"ZoneConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["zone"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"zone":{"type":"string"}},"additionalProperties":false,"required":["condition","entity_id"]},"AndConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["and"]},"conditions":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}}]}},"additionalProperties":false,"required":["condition","conditions"]},"OrConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["or"]},"conditions":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}}]}},"additionalProperties":false,"required":["condition","conditions"]},"Script":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/SequencedAction"},{"$ref":"#/definitions/ServiceAction"},{"$ref":"#/definitions/DelayAction"},{"$ref":"#/definitions/WaitAction"},{"$ref":"#/definitions/EventAction"}]}}},"$schema":"http://json-schema.org/draft-07/schema#"} \ No newline at end of file diff --git a/src/language-service/src/schemas/json/homeassistant.json b/src/language-service/src/schemas/json/homeassistant.json deleted file mode 100644 index e52b8b11eb..0000000000 --- a/src/language-service/src/schemas/json/homeassistant.json +++ /dev/null @@ -1 +0,0 @@ -{"additionalProperties":true,"type":"object","properties":{"homeassistant":{"anyOf":[{"$ref":"#/definitions/HomeAssistantComponent"},{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"}]},"automation":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/Automation"}},{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"}]},"group":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/GroupComponent"}]},"panel_iframe":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/PanelIframeComponent"}]},"sensor":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/MqttSensor"},{"$ref":"#/definitions/TemplateSensor"},{"$ref":"#/definitions/OtherSensor"}]}},{"type":"null"}]},"scene":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"type":"array","items":{"$ref":"#/definitions/SceneComponentEntry"}}]},"input_boolean":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/InputBooleanEntry"}]},"script":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/Script"}]},"http":{},"default_config":{},"person":{},"system_health":{},"panel_custom":{},"updater":{},"discovery":{},"conversation":{},"history":{},"config":{},"logbook":{},"sun":{},"tts":{},"recorder":{},"ifttt":{},"ios":{},"mqtt":{},"remote":{}},"definitions":{"HomeAssistantComponent":{"type":"object","properties":{"name":{"type":"string"},"latitude":{"type":["string","number"]},"longitude":{"type":["string","number"]},"elevation":{"type":["string","number"]},"unit_system":{"enum":["imperial","metric"],"type":"string"},"time_zone":{"type":"string"},"whitelist_external_dirs":{"type":"array","items":{"type":"string"}},"customize":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/CustomizeComponent"}]},"customize_domain":{},"customize_glob":{},"packages":{"anyOf":[{"$ref":"#/definitions/NamedPackageInclude"},{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"type":"array","items":{"$ref":"#/definitions/HomeAssistantRoot"}}]},"auth_providers":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/HomeAssistantAuthProvider"},{"$ref":"#/definitions/TrustedNetworksAuthProvider"},{"$ref":"#/definitions/CommandLineAuthProvider"},{"$ref":"#/definitions/LegacyApiPasswordAuthProvider"}]}},"auth_mfa_modules":{"anyOf":[{"type":"array","items":{}},{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"}]}},"additionalProperties":false},"IncludeTag":{"type":"string","pattern":"[.]yaml|[.]yml$"},"IncludeFolderTag":{"type":"string"},"CustomizeComponent":{"type":"object","additionalProperties":{"$ref":"#/definitions/CustomizeComponentEntry"}},"CustomizeComponentEntry":{"additionalProperties":true,"type":"object","properties":{"friendly_name":{"type":"string"},"homebridge_name":{"type":"string"},"hidden":{"type":"boolean"},"homebridge_hidden":{"type":"boolean"},"emulated_hue_hidden":{"type":"boolean"},"entity_picture":{"type":"string"},"icon":{"type":"string"},"assumed_state":{"type":"boolean"},"device_class":{"type":"string"},"unit_of_measurement":{"type":"string"},"initial_state":{"type":"boolean"}}},"NamedPackageInclude":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/HomeAssistantRoot"},{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"}]}},"HomeAssistantRoot":{"additionalProperties":true,"type":"object","properties":{"homeassistant":{"anyOf":[{"$ref":"#/definitions/HomeAssistantComponent"},{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"}]},"automation":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/Automation"}},{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"}]},"group":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/GroupComponent"}]},"panel_iframe":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/PanelIframeComponent"}]},"sensor":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/MqttSensor"},{"$ref":"#/definitions/TemplateSensor"},{"$ref":"#/definitions/OtherSensor"}]}},{"type":"null"}]},"scene":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"type":"array","items":{"$ref":"#/definitions/SceneComponentEntry"}}]},"input_boolean":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/InputBooleanEntry"}]},"script":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/Script"}]},"http":{},"default_config":{},"person":{},"system_health":{},"panel_custom":{},"updater":{},"discovery":{},"conversation":{},"history":{},"config":{},"logbook":{},"sun":{},"tts":{},"recorder":{},"ifttt":{},"ios":{},"mqtt":{},"remote":{}}},"Automation":{"type":"object","properties":{"id":{"type":"string"},"alias":{"type":"string"},"description":{"type":"string"},"initial_state":{"type":["string","boolean"]},"hide_entity":{"type":"boolean"},"trigger":{"anyOf":[{"$ref":"#/definitions/HaTrigger"},{"$ref":"#/definitions/SunTrigger"},{"$ref":"#/definitions/TimeTrigger"},{"$ref":"#/definitions/TemplateTrigger"},{"$ref":"#/definitions/WebhookTrigger"},{"$ref":"#/definitions/EventTrigger"},{"$ref":"#/definitions/TimePatternTrigger"},{"$ref":"#/definitions/MqttTrigger"},{"$ref":"#/definitions/GeoLocationTrigger"},{"$ref":"#/definitions/StateTrigger"},{"$ref":"#/definitions/ZoneTrigger"},{"$ref":"#/definitions/NumericStateTrigger"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/HaTrigger"},{"$ref":"#/definitions/SunTrigger"},{"$ref":"#/definitions/TimeTrigger"},{"$ref":"#/definitions/TemplateTrigger"},{"$ref":"#/definitions/WebhookTrigger"},{"$ref":"#/definitions/EventTrigger"},{"$ref":"#/definitions/TimePatternTrigger"},{"$ref":"#/definitions/MqttTrigger"},{"$ref":"#/definitions/GeoLocationTrigger"},{"$ref":"#/definitions/StateTrigger"},{"$ref":"#/definitions/ZoneTrigger"},{"$ref":"#/definitions/NumericStateTrigger"}]}}]},"condition":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}},{"type":"null"}]},"action":{"anyOf":[{"$ref":"#/definitions/EventActionSchema"},{"$ref":"#/definitions/ServiceActionSchema"},{"$ref":"#/definitions/DelayActionSchema"},{"$ref":"#/definitions/ServiceActionTemplateSchema"},{"$ref":"#/definitions/WaitTemplateSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EventActionSchema"},{"$ref":"#/definitions/ServiceActionSchema"},{"$ref":"#/definitions/DelayActionSchema"},{"$ref":"#/definitions/ServiceActionTemplateSchema"},{"$ref":"#/definitions/WaitTemplateSchema"},{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}}]}}]}},"additionalProperties":false,"required":["action","trigger"]},"HaTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["homeassistant"]},"event":{"enum":["shutdown","start"],"type":"string"}},"additionalProperties":false,"required":["event","platform"]},"SunTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["sun"]},"event":{"enum":["sunrise","sunset"],"type":"string"},"offset":{"type":"string"}},"additionalProperties":false,"required":["event","platform"]},"TimeTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["time"]},"at":{"type":"string"}},"additionalProperties":false,"required":["at","platform"]},"TemplateTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["template"]},"value_template":{"type":"string"},"for":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]}},"additionalProperties":false,"required":["platform","value_template"]},"TimePeriod":{"type":"object","properties":{"days":{"type":["string","number"]},"hours":{"type":["string","number"]},"minutes":{"type":["string","number"]},"seconds":{"type":["string","number"]},"milliseconds":{"type":["string","number"]}},"additionalProperties":false},"WebhookTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["webhook"]},"webhook_id":{"type":"string"}},"additionalProperties":false,"required":["platform","webhook_id"]},"EventTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["event"]},"event_type":{"type":"string"},"event_data":{}},"additionalProperties":false,"required":["event_type","platform"]},"TimePatternTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["time_pattern"]},"hours":{"type":"string"},"minutes":{"type":["string","number"]},"seconds":{"type":["string","number"]}},"additionalProperties":false,"required":["platform"]},"MqttTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["mqtt"]},"topic":{"type":"string"},"payload":{"type":"string"},"encoding":{"type":"string"}},"additionalProperties":false,"required":["platform","topic"]},"GeoLocationTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["geo_location"]},"source":{"type":"string"},"zone":{"type":"string"},"event":{"enum":["enter","leave"],"type":"string"}},"additionalProperties":false,"required":["event","platform","source","zone"]},"StateTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["state"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"from":{"type":["string","boolean"]},"to":{"type":["string","boolean"]},"for":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]}},"additionalProperties":false,"required":["entity_id","platform"]},"ZoneTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["zone"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"zone":{"type":"string"},"event":{"enum":["enter","leave"],"type":"string"}},"additionalProperties":false,"required":["entity_id","event","platform","zone"]},"NumericStateTrigger":{"type":"object","properties":{"platform":{"type":"string","enum":["numeric_state"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"below":{"type":["string","number"]},"above":{"type":["string","number"]},"value_template":{"type":"string"},"for":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]}},"additionalProperties":false,"required":["entity_id","platform"]},"NumericStateConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["numeric_state"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"below":{"type":["string","number"]},"above":{"type":["string","number"]},"value_template":{"type":"string"}},"additionalProperties":false,"required":["condition","entity_id"]},"StateConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["state"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"state":{"type":["string","boolean"]},"for":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]},"from":{"type":"string"}},"additionalProperties":false,"required":["condition","entity_id","state"]},"SunConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["sun"]},"before":{"type":"string"},"before_offset":{"type":"string"},"after":{"type":"string"},"after_offset":{"type":"string"}},"additionalProperties":false,"required":["condition"]},"TemplateConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["template"]},"value_template":{"type":"string"}},"additionalProperties":false,"required":["condition"]},"TimeConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["time"]},"before":{"type":"string"},"after":{"type":"string"},"weekday":{"anyOf":[{"type":"array","items":{"enum":["fri","mon","sat","sun","thu","tue","wed"],"type":"string"}},{"enum":["fri","mon","sat","sun","thu","tue","wed"],"type":"string"}]}},"additionalProperties":false,"required":["condition"]},"ZoneConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["zone"]},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"zone":{"type":"string"}},"additionalProperties":false,"required":["condition","entity_id"]},"AndConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["and"]},"conditions":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}}]}},"additionalProperties":false,"required":["condition","conditions"]},"OrConditionSchema":{"type":"object","properties":{"condition":{"type":"string","enum":["or"]},"conditions":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}}]}},"additionalProperties":false,"required":["condition","conditions"]},"EventActionSchema":{"type":"object","properties":{"alias":{"type":"string"},"event":{"type":"string"},"event_data":{},"event_data_template":{}},"additionalProperties":false,"required":["event"]},"ServiceActionSchema":{"type":"object","properties":{"service":{"type":"string"},"service_template":{"type":"string"},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"data":{},"data_template":{}},"additionalProperties":false,"required":["service"]},"DelayActionSchema":{"type":"object","properties":{"delay":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":["string","number"]}]}},"additionalProperties":false,"required":["delay"]},"ServiceActionTemplateSchema":{"type":"object","properties":{"service_template":{"type":"string"},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"data":{},"data_template":{}},"additionalProperties":false,"required":["service_template"]},"WaitTemplateSchema":{"type":"object","properties":{"wait_template":{"type":"string"},"timeout":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":"string"}]},"continue_on_timeout":{"type":["string","boolean"]}},"additionalProperties":false,"required":["wait_template"]},"GroupComponent":{"type":"object","additionalProperties":{"anyOf":[{"type":"array","items":{"type":"string"}},{"$ref":"#/definitions/GroupComponentEntry"}]}},"GroupComponentEntry":{"type":"object","properties":{"name":{"type":"string"},"view":{"type":"boolean"},"icon":{"type":"string"},"control":{"type":"string"},"entities":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"all":{"type":"boolean"}},"additionalProperties":false,"required":["entities"]},"PanelIframeComponent":{"type":"object","additionalProperties":{"$ref":"#/definitions/PanelIframeComponentEntry"}},"PanelIframeComponentEntry":{"type":"object","properties":{"title":{"type":"string"},"url":{"type":"string"},"icon":{"type":"string"},"require_admin":{"type":"boolean"}},"additionalProperties":false,"required":["title","url"]},"MqttSensor":{"type":"object","properties":{"platform":{"type":"string","enum":["mqtt"]},"state_topic":{"type":"string"},"name":{"type":"string"},"qos":{"type":"number"},"unit_of_measurement":{"type":"string"},"icon":{"type":"string"},"expire_after":{"type":"number"},"value_template":{"type":"string"},"force_update":{"type":"boolean"},"availability_topic":{"type":"string"},"payload_available":{"type":"string"},"payload_not_available":{"type":"string"},"json_attributes_topic":{"type":"string"},"json_attributes":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"unique_id":{"type":"string"},"device_class":{"type":"string"},"device":{}},"additionalProperties":false,"required":["platform","state_topic"]},"TemplateSensor":{"type":"object","properties":{"platform":{"type":"string","enum":["template"]},"sensors":{"type":"object","additionalProperties":{"$ref":"#/definitions/TemplateSensorEntry"}}},"additionalProperties":false,"required":["platform","sensors"]},"TemplateSensorEntry":{"type":"object","properties":{"friendly_name":{"type":"string"},"friendly_name_template":{"type":"string"},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"unit_of_measurement":{"type":"string"},"value_template":{"type":"string"},"icon_template":{"type":"string"},"entity_picture_template":{"type":"string"},"device_class":{"type":"string"}},"additionalProperties":false},"OtherSensor":{"additionalProperties":true,"type":"object","properties":{"platform":{"pattern":"(^(?!.*(mqtt|template)).*)$","type":"string"}},"required":["platform"]},"SceneComponentEntry":{"type":"object","properties":{"name":{"type":"string"},"entities":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/EntitySceneConfig"},{"type":["string","boolean"]}]}}},"additionalProperties":false,"required":["entities","name"]},"EntitySceneConfig":{"additionalProperties":true,"type":"object","properties":{"state":{"type":["string","boolean"]},"brightness":{"type":["string","number"]},"source":{"type":"string"},"color_temp":{"type":["string","number"]},"xy_color":{}}},"InputBooleanEntry":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"initial":{"type":"boolean"},"icon":{"type":"string"}},"additionalProperties":false},{"type":"null"}]}},"Script":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/definitions/SequencedAction"},{"$ref":"#/definitions/ServiceAction"},{"$ref":"#/definitions/DelayAction"},{"$ref":"#/definitions/WaitAction"},{"$ref":"#/definitions/EventAction"}]}},"SequencedAction":{"type":"object","properties":{"alias":{"type":"string"},"sequence":{"anyOf":[{"$ref":"#/definitions/ServiceAction"},{"$ref":"#/definitions/DelayAction"},{"$ref":"#/definitions/WaitAction"},{"$ref":"#/definitions/EventAction"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/NumericStateConditionSchema"},{"$ref":"#/definitions/StateConditionSchema"},{"$ref":"#/definitions/SunConditionSchema"},{"$ref":"#/definitions/TemplateConditionSchema"},{"$ref":"#/definitions/TimeConditionSchema"},{"$ref":"#/definitions/ZoneConditionSchema"},{"$ref":"#/definitions/AndConditionSchema"},{"$ref":"#/definitions/OrConditionSchema"}]}},{"$ref":"#/definitions/ServiceAction"},{"$ref":"#/definitions/DelayAction"},{"$ref":"#/definitions/WaitAction"},{"$ref":"#/definitions/EventAction"}]}}]}},"additionalProperties":false,"required":["sequence"]},"ServiceAction":{"type":"object","properties":{"service":{"type":"string"},"service_template":{"type":"string"},"data":{},"data_template":{},"entity_id":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]}},"additionalProperties":false},"DelayAction":{"type":"object","properties":{"delay":{"anyOf":[{"$ref":"#/definitions/TimePeriod"},{"type":["string","number"]}]}},"additionalProperties":false,"required":["delay"]},"WaitAction":{"type":"object","properties":{"wait_template":{"type":"string"},"timeout":{"type":"string"},"continue_on_timeout":{"type":["string","boolean"]}},"additionalProperties":false,"required":["wait_template"]},"EventAction":{"type":"object","properties":{"event":{"type":"string"},"event_data":{"$ref":"#/definitions/EventActionData"},"event_data_template":{}},"additionalProperties":false,"required":["event","event_data"]},"EventActionData":{"additionalProperties":true,"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"entity_id":{"type":"string"},"domain":{"type":"string"}}},"HomeAssistantAuthProvider":{"type":"object","properties":{"type":{"type":"string","enum":["homeassistant"]}},"additionalProperties":false,"required":["type"]},"TrustedNetworksAuthProvider":{"type":"object","properties":{"type":{"type":"string","enum":["trusted_networks"]},"trusted_networks":{"anyOf":[{"type":"array","items":{}},{"type":"array","items":{"type":"string"}},{"type":"string"}]},"trusted_users":{"type":"object","additionalProperties":{"anyOf":[{"type":"array","items":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"type":"string"}]}},{"type":"string"}]}},"allow_bypass_login":{"type":"boolean"}},"additionalProperties":false,"required":["trusted_networks","type"]},"CommandLineAuthProvider":{"type":"object","properties":{"type":{"type":"string","enum":["command_line"]},"command":{"type":"string"},"args":{},"meta":{"type":"boolean"}},"additionalProperties":false,"required":["command","type"]},"LegacyApiPasswordAuthProvider":{"type":"object","properties":{"type":{"type":"string","enum":["legacy_api_password"]},"api_password":{"anyOf":[{"$ref":"#/definitions/SecretTag"},{"type":"string"}]}},"additionalProperties":false,"required":["api_password","type"]},"SecretTag":{"type":"string","pattern":"[.]yaml|[.]yml$"}},"$schema":"http://json-schema.org/draft-07/schema#"} \ No newline at end of file diff --git a/src/language-service/src/schemas/json/lovelace-cards.json b/src/language-service/src/schemas/json/lovelace-cards.json deleted file mode 100644 index 5a91ec73ac..0000000000 --- a/src/language-service/src/schemas/json/lovelace-cards.json +++ /dev/null @@ -1 +0,0 @@ -{"anyOf":[{"$ref":"#/definitions/AlarmPanelCardConfig"},{"$ref":"#/definitions/ConditionalCardConfig"},{"$ref":"#/definitions/EmptyStateCardConfig"},{"$ref":"#/definitions/EntitiesCardConfig"},{"$ref":"#/definitions/EntityButtonCardConfig"},{"$ref":"#/definitions/EntityFilterCardConfig"},{"$ref":"#/definitions/ErrorCardConfig"},{"$ref":"#/definitions/GaugeCardConfig"},{"$ref":"#/definitions/GlanceCardConfig"},{"$ref":"#/definitions/HistoryGraphConfig"},{"$ref":"#/definitions/IframeCardConfig"},{"$ref":"#/definitions/LightCardConfig"},{"$ref":"#/definitions/MapCardConfig"},{"$ref":"#/definitions/MarkdownCardConfig"},{"$ref":"#/definitions/MediaControlCardConfig"},{"$ref":"#/definitions/PictureCardConfig"},{"$ref":"#/definitions/PictureElementsCardConfig"},{"$ref":"#/definitions/PictureEntityCardConfig"},{"$ref":"#/definitions/PictureGlanceCardConfig"},{"$ref":"#/definitions/PlantStatusCardConfig"},{"$ref":"#/definitions/SensorCardConfig"},{"$ref":"#/definitions/ShoppingListCardConfig"},{"$ref":"#/definitions/StackCardConfig"},{"$ref":"#/definitions/ThermostatCardConfig"},{"$ref":"#/definitions/WeatherForecastCardConfig"},{"$ref":"#/definitions/CustomCardConfig"},{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/AlarmPanelCardConfig"},{"$ref":"#/definitions/ConditionalCardConfig"},{"$ref":"#/definitions/EmptyStateCardConfig"},{"$ref":"#/definitions/EntitiesCardConfig"},{"$ref":"#/definitions/EntityButtonCardConfig"},{"$ref":"#/definitions/EntityFilterCardConfig"},{"$ref":"#/definitions/ErrorCardConfig"},{"$ref":"#/definitions/GaugeCardConfig"},{"$ref":"#/definitions/GlanceCardConfig"},{"$ref":"#/definitions/HistoryGraphConfig"},{"$ref":"#/definitions/IframeCardConfig"},{"$ref":"#/definitions/LightCardConfig"},{"$ref":"#/definitions/MapCardConfig"},{"$ref":"#/definitions/MarkdownCardConfig"},{"$ref":"#/definitions/MediaControlCardConfig"},{"$ref":"#/definitions/PictureCardConfig"},{"$ref":"#/definitions/PictureElementsCardConfig"},{"$ref":"#/definitions/PictureEntityCardConfig"},{"$ref":"#/definitions/PictureGlanceCardConfig"},{"$ref":"#/definitions/PlantStatusCardConfig"},{"$ref":"#/definitions/SensorCardConfig"},{"$ref":"#/definitions/ShoppingListCardConfig"},{"$ref":"#/definitions/StackCardConfig"},{"$ref":"#/definitions/ThermostatCardConfig"},{"$ref":"#/definitions/WeatherForecastCardConfig"},{"$ref":"#/definitions/CustomCardConfig"}]}}],"definitions":{"AlarmPanelCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["alarm-panel"]},"entity":{"type":"string"},"name":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"ConditionalCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["conditional"]},"card":{"$ref":"#/definitions/LovelaceCardConfig"},"conditions":{"type":"array","items":{"$ref":"#/definitions/Condition"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["card","conditions","type"]},"LovelaceCardConfig":{"type":"object","additionalProperties":{},"properties":{"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"required":["type"]},"Condition":{"type":"object","properties":{"entity":{"type":"string"},"state":{"type":"string"},"state_not":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"EmptyStateCardConfig":{"type":"object","properties":{"content":{"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"additionalProperties":false,"required":["content","type"]},"EntitiesCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["entities"]},"show_header_toggle":{"type":"boolean"},"title":{"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntitiesCardEntityConfig"},{"$ref":"#/definitions/WebLinkEntityConfig"},{"$ref":"#/definitions/CallServiceEntityConfig"},{"$ref":"#/definitions/DividerEntityConfig"},{"$ref":"#/definitions/SectionEntityConfig"},{"$ref":"#/definitions/CustomEntityConfig"},{"type":"string"}]}},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entities","type"]},"EntitiesCardEntityConfig":{"type":"object","properties":{"type":{"type":"string"},"secondary_info":{"enum":["entity-id","last-changed"],"type":"string"},"format":{"enum":["date","datetime","relative","time","total"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"WebLinkEntityConfig":{"type":"object","properties":{"type":{"type":"string","enum":["weblink"]},"url":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"}},"additionalProperties":false,"required":["type","url"]},"CallServiceEntityConfig":{"type":"object","properties":{"type":{"type":"string","enum":["call-service"]},"name":{"type":"string"},"service":{"type":"string"},"icon":{"type":"string"},"action_name":{"type":"string"},"service_data":{"type":"object","additionalProperties":{},"properties":{"entity_id":{"anyOf":[{"type":"array","items":[{"type":"string"}],"minItems":1,"additionalItems":{"anyOf":[{"type":"string"}]}},{"type":"string"}]}}}},"additionalProperties":false,"required":["name","service","type"]},"DividerEntityConfig":{"type":"object","properties":{"type":{"type":"string","enum":["divider"]},"style":{}},"additionalProperties":false,"required":["type"]},"SectionEntityConfig":{"type":"object","properties":{"type":{"type":"string","enum":["section"]},"label":{"type":"string"}},"additionalProperties":false,"required":["type"]},"CustomEntityConfig":{"additionalProperties":true,"type":"object","properties":{"type":{"pattern":"custom:(.*)$","type":"string"},"label":{"type":"string"}},"required":["type"]},"EntityButtonCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["entity-button"]},"entity":{"type":"string"},"name":{"type":"string"},"show_name":{"type":"boolean"},"icon":{"type":"string"},"show_icon":{"type":"boolean"},"theme":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"icon_height":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"ToggleActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["toggle"]}},"additionalProperties":false,"required":["action"]},"CallServiceActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["call-service"]},"service":{"type":"string"},"service_data":{"type":"object","additionalProperties":{},"properties":{"entity_id":{"anyOf":[{"type":"array","items":[{"type":"string"}],"minItems":1,"additionalItems":{"anyOf":[{"type":"string"}]}},{"type":"string"}]}}}},"additionalProperties":false,"required":["action","service"]},"NavigateActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["navigate"]},"navigation_path":{"type":"string"}},"additionalProperties":false,"required":["action","navigation_path"]},"MoreInfoActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["more-info"]}},"additionalProperties":false,"required":["action"]},"NoActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["none"]}},"additionalProperties":false,"required":["action"]},"EntityFilterCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["entity-filter"]},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"state_filter":{"type":"array","items":{"type":"string"}},"card":{"description":"Make all properties in T optional","anyOf":[{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"}]},"show_empty":{"type":"boolean"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["card","entities","state_filter","type"]},"EntityConfig":{"type":"object","properties":{"entity":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"Partial":{"type":"object","properties":{"type":{"enum":["alarm-panel"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["conditional"],"type":"string"},"card":{"$ref":"#/definitions/LovelaceCardConfig"},"conditions":{"type":"array","items":{"$ref":"#/definitions/Condition"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"content":{"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["entities"],"type":"string"},"show_header_toggle":{"type":"boolean"},"title":{"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntitiesCardEntityConfig"},{"$ref":"#/definitions/WebLinkEntityConfig"},{"$ref":"#/definitions/CallServiceEntityConfig"},{"$ref":"#/definitions/DividerEntityConfig"},{"$ref":"#/definitions/SectionEntityConfig"},{"$ref":"#/definitions/CustomEntityConfig"},{"type":"string"}]}},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["entity-button"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"show_name":{"type":"boolean"},"icon":{"type":"string"},"show_icon":{"type":"boolean"},"theme":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"icon_height":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["entity-filter"],"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"state_filter":{"type":"array","items":{"type":"string"}},"card":{"description":"Make all properties in T optional","anyOf":[{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"}]},"show_empty":{"type":"boolean"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"error":{"type":"string"},"origConfig":{"$ref":"#/definitions/LovelaceCardConfig"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["gauge"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"unit":{"type":"string"},"min":{"type":"number"},"max":{"type":"number"},"severity":{"$ref":"#/definitions/SeverityConfig"},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"SeverityConfig":{"type":"object","properties":{"green":{"type":"number"},"yellow":{"type":"number"},"red":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["glance"],"type":"string"},"show_name":{"type":"boolean"},"show_state":{"type":"boolean"},"show_icon":{"type":"boolean"},"title":{"type":"string"},"theme":{"type":"string"},"entities":{"type":"array","items":{"$ref":"#/definitions/ConfigEntity"}},"columns":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"ConfigEntity":{"type":"object","properties":{"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"entity":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"Partial":{"type":"object","properties":{"type":{"enum":["history-graph"],"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"hours_to_show":{"type":"number"},"title":{"type":"string"},"refresh_interval":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["iframe"],"type":"string"},"aspect_ratio":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["light"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["map"],"type":"string"},"title":{"type":"string"},"aspect_ratio":{"type":"string"},"dark_mode":{"type":"boolean"},"default_zoom":{"type":"number"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"geo_location_sources":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["markdown"],"type":"string"},"content":{"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["media-control"],"type":"string"},"entity":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["picture"],"type":"string"},"image":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["picture-elements"],"type":"string"},"title":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"entity":{"type":"string"},"elements":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/StateBadgeElement"},{"$ref":"#/definitions/StateIconElement"},{"$ref":"#/definitions/StateLabelElement"},{"$ref":"#/definitions/IconElement"},{"$ref":"#/definitions/ImageElement"},{"$ref":"#/definitions/ConditionalElement"},{"$ref":"#/definitions/CustomElement"}]}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"StateBadgeElement":{"type":"object","properties":{"type":{"type":"string","enum":["state-badge"]},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"style":{}},"additionalProperties":false,"required":["entity","type"]},"StateIconElement":{"type":"object","properties":{"type":{"type":"string","enum":["state-icon"]},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"style":{}},"additionalProperties":false,"required":["entity","type"]},"StateLabelElement":{"type":"object","properties":{"type":{"type":"string","enum":["state-label"]},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"prefix":{"type":"string"},"suffix":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"style":{}},"additionalProperties":false,"required":["entity","type"]},"IconElement":{"type":"object","properties":{"type":{"type":"string","enum":["icon"]},"icon":{"type":"string"},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"title":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"style":{}},"additionalProperties":false,"required":["icon","type"]},"ImageElement":{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"type":"string"},"state_image":{},"filter":{"type":"string"},"state_filter":{"type":"object","properties":{},"additionalProperties":true},"aspect_ratio":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"style":{}},"additionalProperties":false,"required":["type"]},"ConditionalElement":{"type":"object","properties":{"type":{"type":"string","enum":["conditional"]},"conditions":{"type":"array","items":{"$ref":"#/definitions/ElementCondition"}},"elements":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/StateBadgeElement"},{"$ref":"#/definitions/StateIconElement"},{"$ref":"#/definitions/StateLabelElement"},{"$ref":"#/definitions/IconElement"},{"$ref":"#/definitions/ImageElement"},{"$ref":"#/definitions/ConditionalElement"},{"$ref":"#/definitions/CustomElement"}]}}},"additionalProperties":false,"required":["conditions","elements","type"]},"ElementCondition":{"type":"object","properties":{"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"state":{"type":"string"},"state_not":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"CustomElement":{"additionalProperties":true,"type":"object","properties":{"type":{"pattern":"custom:(.*)$","type":"string"},"style":{}},"required":["style","type"]},"Partial":{"type":"object","properties":{"type":{"enum":["picture-entity"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"show_name":{"type":"boolean"},"show_state":{"type":"boolean"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["picture-glance"],"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"title":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"enum":["auto","live"],"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"entity":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["plant-status"],"type":"string"},"name":{"type":"string"},"entity":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["sensor"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"},"graph":{"type":"string"},"unit":{"type":"string"},"detail":{"type":"number"},"theme":{"type":"string"},"hours_to_show":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["shopping-list"],"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["horizontal-stack","vertical-stack"],"type":"string"},"cards":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/LovelaceCardConfig"}]}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"IncludeTag":{"type":"string","pattern":"[.]yaml|[.]yml$"},"IncludeFolderTag":{"type":"string"},"Partial":{"type":"object","properties":{"type":{"enum":["thermostat"],"type":"string"},"entity":{"type":"string"},"theme":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["weather-forecast"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"pattern":"custom:(.*)$","type":"string"}},"additionalProperties":false},"ErrorCardConfig":{"type":"object","properties":{"error":{"type":"string"},"origConfig":{"$ref":"#/definitions/LovelaceCardConfig"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"additionalProperties":false,"required":["error","origConfig","type"]},"GaugeCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["gauge"]},"entity":{"type":"string"},"name":{"type":"string"},"unit":{"type":"string"},"min":{"type":"number"},"max":{"type":"number"},"severity":{"$ref":"#/definitions/SeverityConfig"},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"GlanceCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["glance"]},"show_name":{"type":"boolean"},"show_state":{"type":"boolean"},"show_icon":{"type":"boolean"},"title":{"type":"string"},"theme":{"type":"string"},"entities":{"type":"array","items":{"$ref":"#/definitions/ConfigEntity"}},"columns":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entities","type"]},"HistoryGraphConfig":{"type":"object","properties":{"type":{"type":"string","enum":["history-graph"]},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"hours_to_show":{"type":"number"},"title":{"type":"string"},"refresh_interval":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entities","type"]},"IframeCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["iframe"]},"aspect_ratio":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["type","url"]},"LightCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["light"]},"entity":{"type":"string"},"name":{"type":"string"},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"MapCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["map"]},"title":{"type":"string"},"aspect_ratio":{"type":"string"},"dark_mode":{"type":"boolean"},"default_zoom":{"type":"number"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"geo_location_sources":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["type"]},"MarkdownCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["markdown"]},"content":{"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["content","type"]},"MediaControlCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["media-control"]},"entity":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"PictureCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["picture"]},"image":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["type"]},"PictureElementsCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["picture-elements"]},"title":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"entity":{"type":"string"},"elements":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/StateBadgeElement"},{"$ref":"#/definitions/StateIconElement"},{"$ref":"#/definitions/StateLabelElement"},{"$ref":"#/definitions/IconElement"},{"$ref":"#/definitions/ImageElement"},{"$ref":"#/definitions/ConditionalElement"},{"$ref":"#/definitions/CustomElement"}]}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["elements","type"]},"PictureEntityCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["picture-entity"]},"entity":{"type":"string"},"name":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"show_name":{"type":"boolean"},"show_state":{"type":"boolean"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"PictureGlanceCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["picture-glance"]},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"title":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"enum":["auto","live"],"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"entity":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entities","type"]},"PlantStatusCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["plant-status"]},"name":{"type":"string"},"entity":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"SensorCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["sensor"]},"entity":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"},"graph":{"type":"string"},"unit":{"type":"string"},"detail":{"type":"number"},"theme":{"type":"string"},"hours_to_show":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"ShoppingListCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["shopping-list"]},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["type"]},"StackCardConfig":{"type":"object","properties":{"type":{"enum":["horizontal-stack","vertical-stack"],"type":"string"},"cards":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/LovelaceCardConfig"}]}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["cards","type"]},"ThermostatCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["thermostat"]},"entity":{"type":"string"},"theme":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"WeatherForecastCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["weather-forecast"]},"entity":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"CustomCardConfig":{"additionalProperties":true,"type":"object","properties":{"type":{"pattern":"custom:(.*)$","type":"string"}},"required":["type"]}},"$schema":"http://json-schema.org/draft-07/schema#"} \ No newline at end of file diff --git a/src/language-service/src/schemas/json/lovelace-views.json b/src/language-service/src/schemas/json/lovelace-views.json deleted file mode 100644 index 774655aed4..0000000000 --- a/src/language-service/src/schemas/json/lovelace-views.json +++ /dev/null @@ -1 +0,0 @@ -{"anyOf":[{"$ref":"#/definitions/LovelaceViewConfig"},{"type":"array","items":{"$ref":"#/definitions/LovelaceViewConfig"}}],"definitions":{"LovelaceViewConfig":{"additionalProperties":true,"type":"object","properties":{"id":{"type":["string","number"]},"index":{"type":"number"},"title":{"type":"string"},"badges":{"type":"array","items":{"type":"string"}},"cards":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/AlarmPanelCardConfig"},{"$ref":"#/definitions/ConditionalCardConfig"},{"$ref":"#/definitions/EmptyStateCardConfig"},{"$ref":"#/definitions/EntitiesCardConfig"},{"$ref":"#/definitions/EntityButtonCardConfig"},{"$ref":"#/definitions/EntityFilterCardConfig"},{"$ref":"#/definitions/ErrorCardConfig"},{"$ref":"#/definitions/GaugeCardConfig"},{"$ref":"#/definitions/GlanceCardConfig"},{"$ref":"#/definitions/HistoryGraphConfig"},{"$ref":"#/definitions/IframeCardConfig"},{"$ref":"#/definitions/LightCardConfig"},{"$ref":"#/definitions/MapCardConfig"},{"$ref":"#/definitions/MarkdownCardConfig"},{"$ref":"#/definitions/MediaControlCardConfig"},{"$ref":"#/definitions/PictureCardConfig"},{"$ref":"#/definitions/PictureElementsCardConfig"},{"$ref":"#/definitions/PictureEntityCardConfig"},{"$ref":"#/definitions/PictureGlanceCardConfig"},{"$ref":"#/definitions/PlantStatusCardConfig"},{"$ref":"#/definitions/SensorCardConfig"},{"$ref":"#/definitions/ShoppingListCardConfig"},{"$ref":"#/definitions/StackCardConfig"},{"$ref":"#/definitions/ThermostatCardConfig"},{"$ref":"#/definitions/WeatherForecastCardConfig"},{"$ref":"#/definitions/CustomCardConfig"}]}},"path":{"type":"string"},"icon":{"type":"string"},"theme":{"type":"string"},"panel":{"type":"boolean"},"background":{"type":"string"}}},"IncludeTag":{"type":"string","pattern":"[.]yaml|[.]yml$"},"IncludeFolderTag":{"type":"string"},"AlarmPanelCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["alarm-panel"]},"entity":{"type":"string"},"name":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"ConditionalCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["conditional"]},"card":{"$ref":"#/definitions/LovelaceCardConfig"},"conditions":{"type":"array","items":{"$ref":"#/definitions/Condition"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["card","conditions","type"]},"LovelaceCardConfig":{"type":"object","additionalProperties":{},"properties":{"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"required":["type"]},"Condition":{"type":"object","properties":{"entity":{"type":"string"},"state":{"type":"string"},"state_not":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"EmptyStateCardConfig":{"type":"object","properties":{"content":{"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"additionalProperties":false,"required":["content","type"]},"EntitiesCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["entities"]},"show_header_toggle":{"type":"boolean"},"title":{"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntitiesCardEntityConfig"},{"$ref":"#/definitions/WebLinkEntityConfig"},{"$ref":"#/definitions/CallServiceEntityConfig"},{"$ref":"#/definitions/DividerEntityConfig"},{"$ref":"#/definitions/SectionEntityConfig"},{"$ref":"#/definitions/CustomEntityConfig"},{"type":"string"}]}},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entities","type"]},"EntitiesCardEntityConfig":{"type":"object","properties":{"type":{"type":"string"},"secondary_info":{"enum":["entity-id","last-changed"],"type":"string"},"format":{"enum":["date","datetime","relative","time","total"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"WebLinkEntityConfig":{"type":"object","properties":{"type":{"type":"string","enum":["weblink"]},"url":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"}},"additionalProperties":false,"required":["type","url"]},"CallServiceEntityConfig":{"type":"object","properties":{"type":{"type":"string","enum":["call-service"]},"name":{"type":"string"},"service":{"type":"string"},"icon":{"type":"string"},"action_name":{"type":"string"},"service_data":{"type":"object","additionalProperties":{},"properties":{"entity_id":{"anyOf":[{"type":"array","items":[{"type":"string"}],"minItems":1,"additionalItems":{"anyOf":[{"type":"string"}]}},{"type":"string"}]}}}},"additionalProperties":false,"required":["name","service","type"]},"DividerEntityConfig":{"type":"object","properties":{"type":{"type":"string","enum":["divider"]},"style":{}},"additionalProperties":false,"required":["type"]},"SectionEntityConfig":{"type":"object","properties":{"type":{"type":"string","enum":["section"]},"label":{"type":"string"}},"additionalProperties":false,"required":["type"]},"CustomEntityConfig":{"additionalProperties":true,"type":"object","properties":{"type":{"pattern":"custom:(.*)$","type":"string"},"label":{"type":"string"}},"required":["type"]},"EntityButtonCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["entity-button"]},"entity":{"type":"string"},"name":{"type":"string"},"show_name":{"type":"boolean"},"icon":{"type":"string"},"show_icon":{"type":"boolean"},"theme":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"icon_height":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"ToggleActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["toggle"]}},"additionalProperties":false,"required":["action"]},"CallServiceActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["call-service"]},"service":{"type":"string"},"service_data":{"type":"object","additionalProperties":{},"properties":{"entity_id":{"anyOf":[{"type":"array","items":[{"type":"string"}],"minItems":1,"additionalItems":{"anyOf":[{"type":"string"}]}},{"type":"string"}]}}}},"additionalProperties":false,"required":["action","service"]},"NavigateActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["navigate"]},"navigation_path":{"type":"string"}},"additionalProperties":false,"required":["action","navigation_path"]},"MoreInfoActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["more-info"]}},"additionalProperties":false,"required":["action"]},"NoActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["none"]}},"additionalProperties":false,"required":["action"]},"EntityFilterCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["entity-filter"]},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"state_filter":{"type":"array","items":{"type":"string"}},"card":{"description":"Make all properties in T optional","anyOf":[{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"}]},"show_empty":{"type":"boolean"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["card","entities","state_filter","type"]},"EntityConfig":{"type":"object","properties":{"entity":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"Partial":{"type":"object","properties":{"type":{"enum":["alarm-panel"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["conditional"],"type":"string"},"card":{"$ref":"#/definitions/LovelaceCardConfig"},"conditions":{"type":"array","items":{"$ref":"#/definitions/Condition"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"content":{"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["entities"],"type":"string"},"show_header_toggle":{"type":"boolean"},"title":{"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntitiesCardEntityConfig"},{"$ref":"#/definitions/WebLinkEntityConfig"},{"$ref":"#/definitions/CallServiceEntityConfig"},{"$ref":"#/definitions/DividerEntityConfig"},{"$ref":"#/definitions/SectionEntityConfig"},{"$ref":"#/definitions/CustomEntityConfig"},{"type":"string"}]}},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["entity-button"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"show_name":{"type":"boolean"},"icon":{"type":"string"},"show_icon":{"type":"boolean"},"theme":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"icon_height":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["entity-filter"],"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"state_filter":{"type":"array","items":{"type":"string"}},"card":{"description":"Make all properties in T optional","anyOf":[{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"}]},"show_empty":{"type":"boolean"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"error":{"type":"string"},"origConfig":{"$ref":"#/definitions/LovelaceCardConfig"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["gauge"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"unit":{"type":"string"},"min":{"type":"number"},"max":{"type":"number"},"severity":{"$ref":"#/definitions/SeverityConfig"},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"SeverityConfig":{"type":"object","properties":{"green":{"type":"number"},"yellow":{"type":"number"},"red":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["glance"],"type":"string"},"show_name":{"type":"boolean"},"show_state":{"type":"boolean"},"show_icon":{"type":"boolean"},"title":{"type":"string"},"theme":{"type":"string"},"entities":{"type":"array","items":{"$ref":"#/definitions/ConfigEntity"}},"columns":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"ConfigEntity":{"type":"object","properties":{"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"entity":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"Partial":{"type":"object","properties":{"type":{"enum":["history-graph"],"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"hours_to_show":{"type":"number"},"title":{"type":"string"},"refresh_interval":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["iframe"],"type":"string"},"aspect_ratio":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["light"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["map"],"type":"string"},"title":{"type":"string"},"aspect_ratio":{"type":"string"},"dark_mode":{"type":"boolean"},"default_zoom":{"type":"number"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"geo_location_sources":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["markdown"],"type":"string"},"content":{"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["media-control"],"type":"string"},"entity":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["picture"],"type":"string"},"image":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["picture-elements"],"type":"string"},"title":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"entity":{"type":"string"},"elements":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/StateBadgeElement"},{"$ref":"#/definitions/StateIconElement"},{"$ref":"#/definitions/StateLabelElement"},{"$ref":"#/definitions/IconElement"},{"$ref":"#/definitions/ImageElement"},{"$ref":"#/definitions/ConditionalElement"},{"$ref":"#/definitions/CustomElement"}]}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"StateBadgeElement":{"type":"object","properties":{"type":{"type":"string","enum":["state-badge"]},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"style":{}},"additionalProperties":false,"required":["entity","type"]},"StateIconElement":{"type":"object","properties":{"type":{"type":"string","enum":["state-icon"]},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"style":{}},"additionalProperties":false,"required":["entity","type"]},"StateLabelElement":{"type":"object","properties":{"type":{"type":"string","enum":["state-label"]},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"prefix":{"type":"string"},"suffix":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"style":{}},"additionalProperties":false,"required":["entity","type"]},"IconElement":{"type":"object","properties":{"type":{"type":"string","enum":["icon"]},"icon":{"type":"string"},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"title":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"style":{}},"additionalProperties":false,"required":["icon","type"]},"ImageElement":{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"type":"string"},"state_image":{},"filter":{"type":"string"},"state_filter":{"type":"object","properties":{},"additionalProperties":true},"aspect_ratio":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"style":{}},"additionalProperties":false,"required":["type"]},"ConditionalElement":{"type":"object","properties":{"type":{"type":"string","enum":["conditional"]},"conditions":{"type":"array","items":{"$ref":"#/definitions/ElementCondition"}},"elements":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/StateBadgeElement"},{"$ref":"#/definitions/StateIconElement"},{"$ref":"#/definitions/StateLabelElement"},{"$ref":"#/definitions/IconElement"},{"$ref":"#/definitions/ImageElement"},{"$ref":"#/definitions/ConditionalElement"},{"$ref":"#/definitions/CustomElement"}]}}},"additionalProperties":false,"required":["conditions","elements","type"]},"ElementCondition":{"type":"object","properties":{"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"state":{"type":"string"},"state_not":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"CustomElement":{"additionalProperties":true,"type":"object","properties":{"type":{"pattern":"custom:(.*)$","type":"string"},"style":{}},"required":["style","type"]},"Partial":{"type":"object","properties":{"type":{"enum":["picture-entity"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"show_name":{"type":"boolean"},"show_state":{"type":"boolean"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["picture-glance"],"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"title":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"enum":["auto","live"],"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"entity":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["plant-status"],"type":"string"},"name":{"type":"string"},"entity":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["sensor"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"},"graph":{"type":"string"},"unit":{"type":"string"},"detail":{"type":"number"},"theme":{"type":"string"},"hours_to_show":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["shopping-list"],"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["horizontal-stack","vertical-stack"],"type":"string"},"cards":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/LovelaceCardConfig"}]}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["thermostat"],"type":"string"},"entity":{"type":"string"},"theme":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["weather-forecast"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"pattern":"custom:(.*)$","type":"string"}},"additionalProperties":false},"ErrorCardConfig":{"type":"object","properties":{"error":{"type":"string"},"origConfig":{"$ref":"#/definitions/LovelaceCardConfig"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"additionalProperties":false,"required":["error","origConfig","type"]},"GaugeCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["gauge"]},"entity":{"type":"string"},"name":{"type":"string"},"unit":{"type":"string"},"min":{"type":"number"},"max":{"type":"number"},"severity":{"$ref":"#/definitions/SeverityConfig"},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"GlanceCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["glance"]},"show_name":{"type":"boolean"},"show_state":{"type":"boolean"},"show_icon":{"type":"boolean"},"title":{"type":"string"},"theme":{"type":"string"},"entities":{"type":"array","items":{"$ref":"#/definitions/ConfigEntity"}},"columns":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entities","type"]},"HistoryGraphConfig":{"type":"object","properties":{"type":{"type":"string","enum":["history-graph"]},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"hours_to_show":{"type":"number"},"title":{"type":"string"},"refresh_interval":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entities","type"]},"IframeCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["iframe"]},"aspect_ratio":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["type","url"]},"LightCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["light"]},"entity":{"type":"string"},"name":{"type":"string"},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"MapCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["map"]},"title":{"type":"string"},"aspect_ratio":{"type":"string"},"dark_mode":{"type":"boolean"},"default_zoom":{"type":"number"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"geo_location_sources":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["type"]},"MarkdownCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["markdown"]},"content":{"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["content","type"]},"MediaControlCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["media-control"]},"entity":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"PictureCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["picture"]},"image":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["type"]},"PictureElementsCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["picture-elements"]},"title":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"entity":{"type":"string"},"elements":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/StateBadgeElement"},{"$ref":"#/definitions/StateIconElement"},{"$ref":"#/definitions/StateLabelElement"},{"$ref":"#/definitions/IconElement"},{"$ref":"#/definitions/ImageElement"},{"$ref":"#/definitions/ConditionalElement"},{"$ref":"#/definitions/CustomElement"}]}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["elements","type"]},"PictureEntityCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["picture-entity"]},"entity":{"type":"string"},"name":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"show_name":{"type":"boolean"},"show_state":{"type":"boolean"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"PictureGlanceCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["picture-glance"]},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"title":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"enum":["auto","live"],"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"entity":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entities","type"]},"PlantStatusCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["plant-status"]},"name":{"type":"string"},"entity":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"SensorCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["sensor"]},"entity":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"},"graph":{"type":"string"},"unit":{"type":"string"},"detail":{"type":"number"},"theme":{"type":"string"},"hours_to_show":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"ShoppingListCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["shopping-list"]},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["type"]},"StackCardConfig":{"type":"object","properties":{"type":{"enum":["horizontal-stack","vertical-stack"],"type":"string"},"cards":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/LovelaceCardConfig"}]}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["cards","type"]},"ThermostatCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["thermostat"]},"entity":{"type":"string"},"theme":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"WeatherForecastCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["weather-forecast"]},"entity":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"CustomCardConfig":{"additionalProperties":true,"type":"object","properties":{"type":{"pattern":"custom:(.*)$","type":"string"}},"required":["type"]}},"$schema":"http://json-schema.org/draft-07/schema#"} \ No newline at end of file diff --git a/src/language-service/src/schemas/json/ui-lovelace.json b/src/language-service/src/schemas/json/ui-lovelace.json deleted file mode 100644 index 46b99ec8e5..0000000000 --- a/src/language-service/src/schemas/json/ui-lovelace.json +++ /dev/null @@ -1 +0,0 @@ -{"additionalProperties":true,"type":"object","properties":{"title":{"type":"string"},"views":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/LovelaceViewConfig"}]}},"background":{"type":"string"},"resources":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"type":"array","items":{"type":"object","properties":{"type":{"enum":["css","html","js","module"],"type":"string"},"url":{"type":"string"}},"additionalProperties":false,"required":["type","url"]}}]}},"required":["views"],"definitions":{"IncludeTag":{"type":"string","pattern":"[.]yaml|[.]yml$"},"IncludeFolderTag":{"type":"string"},"LovelaceViewConfig":{"additionalProperties":true,"type":"object","properties":{"id":{"type":["string","number"]},"index":{"type":"number"},"title":{"type":"string"},"badges":{"type":"array","items":{"type":"string"}},"cards":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/AlarmPanelCardConfig"},{"$ref":"#/definitions/ConditionalCardConfig"},{"$ref":"#/definitions/EmptyStateCardConfig"},{"$ref":"#/definitions/EntitiesCardConfig"},{"$ref":"#/definitions/EntityButtonCardConfig"},{"$ref":"#/definitions/EntityFilterCardConfig"},{"$ref":"#/definitions/ErrorCardConfig"},{"$ref":"#/definitions/GaugeCardConfig"},{"$ref":"#/definitions/GlanceCardConfig"},{"$ref":"#/definitions/HistoryGraphConfig"},{"$ref":"#/definitions/IframeCardConfig"},{"$ref":"#/definitions/LightCardConfig"},{"$ref":"#/definitions/MapCardConfig"},{"$ref":"#/definitions/MarkdownCardConfig"},{"$ref":"#/definitions/MediaControlCardConfig"},{"$ref":"#/definitions/PictureCardConfig"},{"$ref":"#/definitions/PictureElementsCardConfig"},{"$ref":"#/definitions/PictureEntityCardConfig"},{"$ref":"#/definitions/PictureGlanceCardConfig"},{"$ref":"#/definitions/PlantStatusCardConfig"},{"$ref":"#/definitions/SensorCardConfig"},{"$ref":"#/definitions/ShoppingListCardConfig"},{"$ref":"#/definitions/StackCardConfig"},{"$ref":"#/definitions/ThermostatCardConfig"},{"$ref":"#/definitions/WeatherForecastCardConfig"},{"$ref":"#/definitions/CustomCardConfig"}]}},"path":{"type":"string"},"icon":{"type":"string"},"theme":{"type":"string"},"panel":{"type":"boolean"},"background":{"type":"string"}}},"AlarmPanelCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["alarm-panel"]},"entity":{"type":"string"},"name":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"ConditionalCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["conditional"]},"card":{"$ref":"#/definitions/LovelaceCardConfig"},"conditions":{"type":"array","items":{"$ref":"#/definitions/Condition"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["card","conditions","type"]},"LovelaceCardConfig":{"type":"object","additionalProperties":{},"properties":{"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"required":["type"]},"Condition":{"type":"object","properties":{"entity":{"type":"string"},"state":{"type":"string"},"state_not":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"EmptyStateCardConfig":{"type":"object","properties":{"content":{"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"additionalProperties":false,"required":["content","type"]},"EntitiesCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["entities"]},"show_header_toggle":{"type":"boolean"},"title":{"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntitiesCardEntityConfig"},{"$ref":"#/definitions/WebLinkEntityConfig"},{"$ref":"#/definitions/CallServiceEntityConfig"},{"$ref":"#/definitions/DividerEntityConfig"},{"$ref":"#/definitions/SectionEntityConfig"},{"$ref":"#/definitions/CustomEntityConfig"},{"type":"string"}]}},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entities","type"]},"EntitiesCardEntityConfig":{"type":"object","properties":{"type":{"type":"string"},"secondary_info":{"enum":["entity-id","last-changed"],"type":"string"},"format":{"enum":["date","datetime","relative","time","total"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"WebLinkEntityConfig":{"type":"object","properties":{"type":{"type":"string","enum":["weblink"]},"url":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"}},"additionalProperties":false,"required":["type","url"]},"CallServiceEntityConfig":{"type":"object","properties":{"type":{"type":"string","enum":["call-service"]},"name":{"type":"string"},"service":{"type":"string"},"icon":{"type":"string"},"action_name":{"type":"string"},"service_data":{"type":"object","additionalProperties":{},"properties":{"entity_id":{"anyOf":[{"type":"array","items":[{"type":"string"}],"minItems":1,"additionalItems":{"anyOf":[{"type":"string"}]}},{"type":"string"}]}}}},"additionalProperties":false,"required":["name","service","type"]},"DividerEntityConfig":{"type":"object","properties":{"type":{"type":"string","enum":["divider"]},"style":{}},"additionalProperties":false,"required":["type"]},"SectionEntityConfig":{"type":"object","properties":{"type":{"type":"string","enum":["section"]},"label":{"type":"string"}},"additionalProperties":false,"required":["type"]},"CustomEntityConfig":{"additionalProperties":true,"type":"object","properties":{"type":{"pattern":"custom:(.*)$","type":"string"},"label":{"type":"string"}},"required":["type"]},"EntityButtonCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["entity-button"]},"entity":{"type":"string"},"name":{"type":"string"},"show_name":{"type":"boolean"},"icon":{"type":"string"},"show_icon":{"type":"boolean"},"theme":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"icon_height":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"ToggleActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["toggle"]}},"additionalProperties":false,"required":["action"]},"CallServiceActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["call-service"]},"service":{"type":"string"},"service_data":{"type":"object","additionalProperties":{},"properties":{"entity_id":{"anyOf":[{"type":"array","items":[{"type":"string"}],"minItems":1,"additionalItems":{"anyOf":[{"type":"string"}]}},{"type":"string"}]}}}},"additionalProperties":false,"required":["action","service"]},"NavigateActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["navigate"]},"navigation_path":{"type":"string"}},"additionalProperties":false,"required":["action","navigation_path"]},"MoreInfoActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["more-info"]}},"additionalProperties":false,"required":["action"]},"NoActionConfig":{"type":"object","properties":{"action":{"type":"string","enum":["none"]}},"additionalProperties":false,"required":["action"]},"EntityFilterCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["entity-filter"]},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"state_filter":{"type":"array","items":{"type":"string"}},"card":{"description":"Make all properties in T optional","anyOf":[{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"}]},"show_empty":{"type":"boolean"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["card","entities","state_filter","type"]},"EntityConfig":{"type":"object","properties":{"entity":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"Partial":{"type":"object","properties":{"type":{"enum":["alarm-panel"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"states":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["conditional"],"type":"string"},"card":{"$ref":"#/definitions/LovelaceCardConfig"},"conditions":{"type":"array","items":{"$ref":"#/definitions/Condition"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"content":{"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["entities"],"type":"string"},"show_header_toggle":{"type":"boolean"},"title":{"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntitiesCardEntityConfig"},{"$ref":"#/definitions/WebLinkEntityConfig"},{"$ref":"#/definitions/CallServiceEntityConfig"},{"$ref":"#/definitions/DividerEntityConfig"},{"$ref":"#/definitions/SectionEntityConfig"},{"$ref":"#/definitions/CustomEntityConfig"},{"type":"string"}]}},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["entity-button"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"show_name":{"type":"boolean"},"icon":{"type":"string"},"show_icon":{"type":"boolean"},"theme":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"icon_height":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["entity-filter"],"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"state_filter":{"type":"array","items":{"type":"string"}},"card":{"description":"Make all properties in T optional","anyOf":[{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"},{"$ref":"#/definitions/Partial"}]},"show_empty":{"type":"boolean"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"error":{"type":"string"},"origConfig":{"$ref":"#/definitions/LovelaceCardConfig"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["gauge"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"unit":{"type":"string"},"min":{"type":"number"},"max":{"type":"number"},"severity":{"$ref":"#/definitions/SeverityConfig"},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"SeverityConfig":{"type":"object","properties":{"green":{"type":"number"},"yellow":{"type":"number"},"red":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["glance"],"type":"string"},"show_name":{"type":"boolean"},"show_state":{"type":"boolean"},"show_icon":{"type":"boolean"},"title":{"type":"string"},"theme":{"type":"string"},"entities":{"type":"array","items":{"$ref":"#/definitions/ConfigEntity"}},"columns":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"ConfigEntity":{"type":"object","properties":{"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"entity":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"Partial":{"type":"object","properties":{"type":{"enum":["history-graph"],"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"hours_to_show":{"type":"number"},"title":{"type":"string"},"refresh_interval":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["iframe"],"type":"string"},"aspect_ratio":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["light"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["map"],"type":"string"},"title":{"type":"string"},"aspect_ratio":{"type":"string"},"dark_mode":{"type":"boolean"},"default_zoom":{"type":"number"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"geo_location_sources":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["markdown"],"type":"string"},"content":{"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["media-control"],"type":"string"},"entity":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["picture"],"type":"string"},"image":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["picture-elements"],"type":"string"},"title":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"entity":{"type":"string"},"elements":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/StateBadgeElement"},{"$ref":"#/definitions/StateIconElement"},{"$ref":"#/definitions/StateLabelElement"},{"$ref":"#/definitions/IconElement"},{"$ref":"#/definitions/ImageElement"},{"$ref":"#/definitions/ConditionalElement"},{"$ref":"#/definitions/CustomElement"}]}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"StateBadgeElement":{"type":"object","properties":{"type":{"type":"string","enum":["state-badge"]},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"style":{}},"additionalProperties":false,"required":["entity","type"]},"StateIconElement":{"type":"object","properties":{"type":{"type":"string","enum":["state-icon"]},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"style":{}},"additionalProperties":false,"required":["entity","type"]},"StateLabelElement":{"type":"object","properties":{"type":{"type":"string","enum":["state-label"]},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"prefix":{"type":"string"},"suffix":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"style":{}},"additionalProperties":false,"required":["entity","type"]},"IconElement":{"type":"object","properties":{"type":{"type":"string","enum":["icon"]},"icon":{"type":"string"},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"title":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"style":{}},"additionalProperties":false,"required":["icon","type"]},"ImageElement":{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"type":"string"},"state_image":{},"filter":{"type":"string"},"state_filter":{"type":"object","properties":{},"additionalProperties":true},"aspect_ratio":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"style":{}},"additionalProperties":false,"required":["type"]},"ConditionalElement":{"type":"object","properties":{"type":{"type":"string","enum":["conditional"]},"conditions":{"type":"array","items":{"$ref":"#/definitions/ElementCondition"}},"elements":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/StateBadgeElement"},{"$ref":"#/definitions/StateIconElement"},{"$ref":"#/definitions/StateLabelElement"},{"$ref":"#/definitions/IconElement"},{"$ref":"#/definitions/ImageElement"},{"$ref":"#/definitions/ConditionalElement"},{"$ref":"#/definitions/CustomElement"}]}}},"additionalProperties":false,"required":["conditions","elements","type"]},"ElementCondition":{"type":"object","properties":{"entity":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]},"state":{"type":"string"},"state_not":{"type":"string"}},"additionalProperties":false,"required":["entity"]},"CustomElement":{"additionalProperties":true,"type":"object","properties":{"type":{"pattern":"custom:(.*)$","type":"string"},"style":{}},"required":["style","type"]},"Partial":{"type":"object","properties":{"type":{"enum":["picture-entity"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"show_name":{"type":"boolean"},"show_state":{"type":"boolean"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["picture-glance"],"type":"string"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"title":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"enum":["auto","live"],"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"entity":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["plant-status"],"type":"string"},"name":{"type":"string"},"entity":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["sensor"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"},"graph":{"type":"string"},"unit":{"type":"string"},"detail":{"type":"number"},"theme":{"type":"string"},"hours_to_show":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["shopping-list"],"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["horizontal-stack","vertical-stack"],"type":"string"},"cards":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/LovelaceCardConfig"}]}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["thermostat"],"type":"string"},"entity":{"type":"string"},"theme":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"enum":["weather-forecast"],"type":"string"},"entity":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false},"Partial":{"type":"object","properties":{"type":{"pattern":"custom:(.*)$","type":"string"}},"additionalProperties":false},"ErrorCardConfig":{"type":"object","properties":{"error":{"type":"string"},"origConfig":{"$ref":"#/definitions/LovelaceCardConfig"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"},"type":{"type":"string"}},"additionalProperties":false,"required":["error","origConfig","type"]},"GaugeCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["gauge"]},"entity":{"type":"string"},"name":{"type":"string"},"unit":{"type":"string"},"min":{"type":"number"},"max":{"type":"number"},"severity":{"$ref":"#/definitions/SeverityConfig"},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"GlanceCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["glance"]},"show_name":{"type":"boolean"},"show_state":{"type":"boolean"},"show_icon":{"type":"boolean"},"title":{"type":"string"},"theme":{"type":"string"},"entities":{"type":"array","items":{"$ref":"#/definitions/ConfigEntity"}},"columns":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entities","type"]},"HistoryGraphConfig":{"type":"object","properties":{"type":{"type":"string","enum":["history-graph"]},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"hours_to_show":{"type":"number"},"title":{"type":"string"},"refresh_interval":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entities","type"]},"IframeCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["iframe"]},"aspect_ratio":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["type","url"]},"LightCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["light"]},"entity":{"type":"string"},"name":{"type":"string"},"theme":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"MapCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["map"]},"title":{"type":"string"},"aspect_ratio":{"type":"string"},"dark_mode":{"type":"boolean"},"default_zoom":{"type":"number"},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"geo_location_sources":{"type":"array","items":{"type":"string"}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["type"]},"MarkdownCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["markdown"]},"content":{"type":"string"},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["content","type"]},"MediaControlCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["media-control"]},"entity":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"PictureCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["picture"]},"image":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["type"]},"PictureElementsCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["picture-elements"]},"title":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"entity":{"type":"string"},"elements":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/StateBadgeElement"},{"$ref":"#/definitions/StateIconElement"},{"$ref":"#/definitions/StateLabelElement"},{"$ref":"#/definitions/IconElement"},{"$ref":"#/definitions/ImageElement"},{"$ref":"#/definitions/ConditionalElement"},{"$ref":"#/definitions/CustomElement"}]}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["elements","type"]},"PictureEntityCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["picture-entity"]},"entity":{"type":"string"},"name":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"show_name":{"type":"boolean"},"show_state":{"type":"boolean"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"PictureGlanceCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["picture-glance"]},"entities":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/EntityConfig"},{"type":"string"}]}},"title":{"type":"string"},"image":{"type":"string"},"camera_image":{"type":"string"},"camera_view":{"enum":["auto","live"],"type":"string"},"state_image":{"type":"object","properties":{}},"aspect_ratio":{"type":"string"},"entity":{"type":"string"},"tap_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"hold_action":{"anyOf":[{"$ref":"#/definitions/ToggleActionConfig"},{"$ref":"#/definitions/CallServiceActionConfig"},{"$ref":"#/definitions/NavigateActionConfig"},{"$ref":"#/definitions/MoreInfoActionConfig"},{"$ref":"#/definitions/NoActionConfig"}]},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entities","type"]},"PlantStatusCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["plant-status"]},"name":{"type":"string"},"entity":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"SensorCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["sensor"]},"entity":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"},"graph":{"type":"string"},"unit":{"type":"string"},"detail":{"type":"number"},"theme":{"type":"string"},"hours_to_show":{"type":"number"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"ShoppingListCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["shopping-list"]},"title":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["type"]},"StackCardConfig":{"type":"object","properties":{"type":{"enum":["horizontal-stack","vertical-stack"],"type":"string"},"cards":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/IncludeTag"},{"$ref":"#/definitions/IncludeFolderTag"},{"$ref":"#/definitions/LovelaceCardConfig"}]}},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["cards","type"]},"ThermostatCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["thermostat"]},"entity":{"type":"string"},"theme":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"WeatherForecastCardConfig":{"type":"object","properties":{"type":{"type":"string","enum":["weather-forecast"]},"entity":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"index":{"type":"number"},"view_index":{"type":"number"}},"additionalProperties":false,"required":["entity","type"]},"CustomCardConfig":{"additionalProperties":true,"type":"object","properties":{"type":{"pattern":"custom:(.*)$","type":"string"}},"required":["type"]}},"$schema":"http://json-schema.org/draft-07/schema#"} \ No newline at end of file diff --git a/src/server/server.ts b/src/server/server.ts index 73ee2a9f25..c0cbeec729 100644 --- a/src/server/server.ts +++ b/src/server/server.ts @@ -1,23 +1,22 @@ import { createConnection, TextDocuments, ProposedFeatures, ServerCapabilities, Diagnostic } from "vscode-languageserver"; import { JSONSchemaService } from "yaml-language-server/out/server/src/languageservice/services/jsonSchemaService"; -import * as path from "path"; -import * as hals from "home-assistant-language-service"; -import { HaConnection } from "home-assistant-language-service/dist/home-assistant/haConnection"; -import { ConfigurationService } from "home-assistant-language-service/dist/configuration"; -import { HomeAssistantConfiguration } from "home-assistant-language-service/dist/haConfig/haConfig"; -import { JsonLanguageService } from "home-assistant-language-service/dist/jsonLanguageService"; -import { YamlLanguageService } from "home-assistant-language-service/dist/yamlLanguageService"; -import { SchemaServiceForIncludes } from "home-assistant-language-service/dist/schemas/schemaService"; -import { IncludeDefinitionProvider } from "home-assistant-language-service/dist/definition/includes"; -import { ScriptDefinitionProvider } from "home-assistant-language-service/dist/definition/scripts"; -import { EntityIdCompletionContribution } from "home-assistant-language-service/dist/completionHelpers/entityIds"; -import { ServicesCompletionContribution } from "home-assistant-language-service/dist/completionHelpers/services"; +import * as path from "path" +import { HaConnection } from "../language-service/src/home-assistant/haConnection"; +import { ConfigurationService } from "../language-service/src/configuration"; +import { HomeAssistantConfiguration } from "../language-service/src/haConfig/haConfig"; +import { HomeAssistantLanguageService } from "../language-service/src/haLanguageService"; +import { JsonLanguageService } from "../language-service/src/jsonLanguageService"; +import { YamlLanguageService } from "../language-service/src/yamlLanguageService"; +import { SchemaServiceForIncludes } from "../language-service/src/schemas/schemaService"; +import { IncludeDefinitionProvider } from "../language-service/src/definition/includes"; +import { ScriptDefinitionProvider } from "../language-service/src/definition/scripts"; +import { EntityIdCompletionContribution } from "../language-service/src/completionHelpers/entityIds"; +import { ServicesCompletionContribution } from "../language-service/src/completionHelpers/services"; import { VsCodeFileAccessor } from "./fileAccessor"; let connection = createConnection(ProposedFeatures.all); console.log = connection.console.log.bind(connection.console); -// console.error = connection.console.error.bind(connection.console); console.warn = connection.window.showWarningMessage.bind(connection.window); console.error = connection.window.showErrorMessage.bind(connection.window); @@ -75,7 +74,7 @@ connection.onInitialize(async params => { } }; - var homeAsisstantLanguageService = new hals.HomeAssistantLanguageService( + var homeAsisstantLanguageService = new HomeAssistantLanguageService( yamlLanguageServiceWrapper, haConfig, haConnection,