iobroker.eos-admin 7.9.93 → 7.9.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/INSTALL_TEST_V7.9.95.md +15 -0
- package/NEXOWATT_EOS_BUILD_INFO.json +23 -18
- package/NEXOWATT_EOS_STABLE_7.9.94.md +16 -0
- package/{PUBLISH_STABLE_V7.9.93.md → PUBLISH_STABLE_V7.9.95.md} +2 -5
- package/README_STABILITY_V7.9.95.md +12 -0
- package/RELEASE_ACCEPTANCE_V7.9.95.md +11 -0
- package/RELEASE_NOTES_V7.9.95.md +12 -0
- package/adminWww/assets/Adapters-B5_jQ7DE-v84.js +1 -1
- package/adminWww/css/nexowatt-native-shell.css +4 -156
- package/adminWww/index.html +13 -11
- package/adminWww/js/eos-account-management.js +1 -1
- package/adminWww/js/eos-assistant.js +5 -556
- package/adminWww/js/eos-basic-settings.js +1 -1
- package/adminWww/js/eos-branding-sanitizer.js +1 -3
- package/adminWww/js/eos-native-security.js +1 -1
- package/adminWww/js/eos-policy-client.js +1 -1
- package/adminWww/js/eos-role-bootstrap.js +2 -2
- package/adminWww/js/eos-role-ui.js +1 -1
- package/adminWww/js/nexowatt-native-shell.js +1 -1
- package/adminWww/static/js/nexowatt-stable-login.js +79 -0
- package/build/lib/chat/assistantKnowledge.js +6 -21
- package/build/lib/chat/chatOrchestrator.js +38 -33
- package/build/lib/chat/mcpClientManager.js +1 -1
- package/build/lib/nexowattStableAuth.js +74 -0
- package/build/lib/web.js +24 -7
- package/build/main.js +123 -308
- package/io-package.json +20 -16
- package/package.json +23 -32
- package/INSTALL_TEST_V7.9.93.md +0 -12
- package/README_STABILITY_V7.9.93.md +0 -15
- package/RELEASE_ACCEPTANCE_V7.9.93.md +0 -15
- package/RELEASE_NOTES_V7.9.93.md +0 -10
- package/tools/nexowatt-account-management-selftest.cjs +0 -61
- package/tools/nexowatt-clean-legacy-runtime.cjs +0 -147
- package/tools/nexowatt-ensure-release-defaults.cjs +0 -72
- package/tools/nexowatt-generate-eos-admin-repo-entry.cjs +0 -37
- package/tools/nexowatt-generate-repo-entry.cjs +0 -3
- package/tools/nexowatt-internal-reserve-selftest.cjs +0 -57
- package/tools/nexowatt-login-layout-selftest.cjs +0 -62
- package/tools/nexowatt-modern-ui-selftest.cjs +0 -50
- package/tools/nexowatt-patch-repo.cjs +0 -54
- package/tools/nexowatt-publish-channel-guard.cjs +0 -58
- package/tools/nexowatt-release-defaults-selftest.cjs +0 -29
- package/tools/nexowatt-runtime-cleanup-selftest.cjs +0 -47
- package/tools/nexowatt-validate-package.cjs +0 -246
|
@@ -96,22 +96,13 @@ html.eos-login main.MuiPaper-root > .MuiPaper-root:has(#password) {
|
|
|
96
96
|
max-width: none !important;
|
|
97
97
|
max-height: none !important;
|
|
98
98
|
padding: 28px !important;
|
|
99
|
-
overflow:
|
|
100
|
-
scrollbar-width: none !important;
|
|
99
|
+
overflow: auto !important;
|
|
101
100
|
border-radius: 24px !important;
|
|
102
101
|
color: var(--nx-text) !important;
|
|
103
102
|
background: linear-gradient(180deg, rgba(14, 36, 56, .97), rgba(4, 15, 27, .96)) !important;
|
|
104
103
|
border: 1px solid var(--nx-border-accent) !important;
|
|
105
104
|
box-shadow: 0 18px 44px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .035) !important;
|
|
106
105
|
}
|
|
107
|
-
|
|
108
|
-
html.eos-login .eos-login-card-modern::-webkit-scrollbar,
|
|
109
|
-
html.eos-login main.MuiPaper-root > .MuiPaper-root:has(#username)::-webkit-scrollbar,
|
|
110
|
-
html.eos-login main.MuiPaper-root > .MuiPaper-root:has(#password)::-webkit-scrollbar {
|
|
111
|
-
display: none !important;
|
|
112
|
-
width: 0 !important;
|
|
113
|
-
height: 0 !important;
|
|
114
|
-
}
|
|
115
106
|
html.eos-login img[src*="admin"],
|
|
116
107
|
html.eos-login .MuiAvatar-img { object-fit: contain !important; filter: drop-shadow(0 0 18px rgba(0,255,136,.35)); }
|
|
117
108
|
|
|
@@ -865,7 +856,7 @@ html.eos-modern-login body::before {
|
|
|
865
856
|
|
|
866
857
|
|
|
867
858
|
/* ==========================================================================
|
|
868
|
-
NexoWatt EOS 7.9.
|
|
859
|
+
NexoWatt EOS 7.9.94 – stable product layout
|
|
869
860
|
Integrated first login, header assistant, role-safe overview and account
|
|
870
861
|
management exclusively below "Zugänge & Rechte".
|
|
871
862
|
========================================================================== */
|
|
@@ -900,8 +891,7 @@ html.eos-login .eos-login-card-modern {
|
|
|
900
891
|
min-height: 0 !important;
|
|
901
892
|
max-width: none !important;
|
|
902
893
|
max-height: none !important;
|
|
903
|
-
overflow:
|
|
904
|
-
scrollbar-width: none !important;
|
|
894
|
+
overflow: auto !important;
|
|
905
895
|
}
|
|
906
896
|
.eos-login-role-selector {
|
|
907
897
|
display: none !important;
|
|
@@ -1203,7 +1193,7 @@ html.eos-role-enduser [data-instance-id^="backitup."] { display: none !important
|
|
|
1203
1193
|
|
|
1204
1194
|
|
|
1205
1195
|
|
|
1206
|
-
/* Final 7.9.
|
|
1196
|
+
/* Final 7.9.94 interaction guards. */
|
|
1207
1197
|
html.eos-safe-overview-active #app-paper { position: relative !important; }
|
|
1208
1198
|
html.eos-safe-overview-active #app-paper > :not(#eos-role-safe-overview):not(.MuiSnackbar-root):not([role="presentation"]) {
|
|
1209
1199
|
pointer-events: none !important;
|
|
@@ -1301,145 +1291,3 @@ html.eos-route-intro #app-paper [class*="card"] {
|
|
|
1301
1291
|
.eos-account-management-entry { margin: 9px; padding: 19px; border-radius: 18px; }
|
|
1302
1292
|
.eos-assist-header-root .eos-assist-panel { right: 8px !important; width: calc(100vw - 16px); }
|
|
1303
1293
|
}
|
|
1304
|
-
|
|
1305
|
-
/* v93 EOS Assist – live, role-aware system assistant in the fixed header. */
|
|
1306
|
-
.eos-assist-header-root .eos-assist-panel {
|
|
1307
|
-
display: flex;
|
|
1308
|
-
flex-direction: column;
|
|
1309
|
-
width: min(520px, calc(100vw - 32px));
|
|
1310
|
-
max-height: min(720px, calc(100vh - var(--nx-content-top) - 12px));
|
|
1311
|
-
overflow: hidden !important;
|
|
1312
|
-
}
|
|
1313
|
-
.eos-assist-toolbar {
|
|
1314
|
-
display: flex;
|
|
1315
|
-
justify-content: space-between;
|
|
1316
|
-
gap: 8px;
|
|
1317
|
-
margin-top: 12px;
|
|
1318
|
-
}
|
|
1319
|
-
.eos-assist-toolbar button,
|
|
1320
|
-
.eos-assist-settings-actions button {
|
|
1321
|
-
min-height: 34px;
|
|
1322
|
-
padding: 7px 11px;
|
|
1323
|
-
color: #dcf8ff;
|
|
1324
|
-
font-size: 11px;
|
|
1325
|
-
font-weight: 800;
|
|
1326
|
-
border: 1px solid rgba(69, 213, 255, .2);
|
|
1327
|
-
border-radius: 10px;
|
|
1328
|
-
background: rgba(7, 27, 41, .78);
|
|
1329
|
-
cursor: pointer;
|
|
1330
|
-
}
|
|
1331
|
-
.eos-assist-toolbar button:hover,
|
|
1332
|
-
.eos-assist-settings-actions button:hover { border-color: rgba(0, 229, 138, .48); }
|
|
1333
|
-
.eos-assist-conversation {
|
|
1334
|
-
display: flex;
|
|
1335
|
-
flex: 1 1 auto;
|
|
1336
|
-
min-height: 0;
|
|
1337
|
-
flex-direction: column;
|
|
1338
|
-
}
|
|
1339
|
-
.eos-assist-transcript {
|
|
1340
|
-
flex: 1 1 auto;
|
|
1341
|
-
min-height: 150px;
|
|
1342
|
-
max-height: 390px;
|
|
1343
|
-
margin-top: 12px;
|
|
1344
|
-
padding: 10px;
|
|
1345
|
-
overflow-y: auto;
|
|
1346
|
-
overscroll-behavior: contain;
|
|
1347
|
-
border: 1px solid rgba(0, 212, 255, .16);
|
|
1348
|
-
border-radius: 15px;
|
|
1349
|
-
background: rgba(0, 6, 12, .32);
|
|
1350
|
-
scrollbar-width: thin;
|
|
1351
|
-
scrollbar-color: rgba(0, 229, 138, .5) rgba(3, 16, 27, .7);
|
|
1352
|
-
}
|
|
1353
|
-
.eos-assist-welcome {
|
|
1354
|
-
padding: 17px 12px;
|
|
1355
|
-
color: #99b9c7;
|
|
1356
|
-
font-size: 12px;
|
|
1357
|
-
line-height: 1.55;
|
|
1358
|
-
text-align: center;
|
|
1359
|
-
}
|
|
1360
|
-
.eos-assist-message {
|
|
1361
|
-
max-width: 92%;
|
|
1362
|
-
margin: 0 0 9px;
|
|
1363
|
-
padding: 10px 12px;
|
|
1364
|
-
color: #edfaff;
|
|
1365
|
-
font-size: 12px;
|
|
1366
|
-
line-height: 1.52;
|
|
1367
|
-
white-space: pre-wrap;
|
|
1368
|
-
overflow-wrap: anywhere;
|
|
1369
|
-
border: 1px solid rgba(69, 213, 255, .14);
|
|
1370
|
-
border-radius: 14px;
|
|
1371
|
-
background: rgba(9, 31, 45, .72);
|
|
1372
|
-
}
|
|
1373
|
-
.eos-assist-message strong { display: block; margin-bottom: 4px; color: #00e58a; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
|
|
1374
|
-
.eos-assist-message-user { margin-left: auto; border-color: rgba(0, 229, 138, .2); background: rgba(0, 98, 78, .24); }
|
|
1375
|
-
.eos-assist-message-error { border-color: rgba(255, 174, 66, .34); background: rgba(102, 58, 5, .25); }
|
|
1376
|
-
.eos-assist-message-error strong { color: #ffc56b; }
|
|
1377
|
-
.eos-assist-message a { color: #51dcff; font-weight: 800; text-decoration: underline; }
|
|
1378
|
-
.eos-assist-input-row { align-items: stretch; }
|
|
1379
|
-
.eos-assist-input {
|
|
1380
|
-
min-height: 48px;
|
|
1381
|
-
max-height: 110px;
|
|
1382
|
-
resize: vertical;
|
|
1383
|
-
font: inherit;
|
|
1384
|
-
line-height: 1.4;
|
|
1385
|
-
}
|
|
1386
|
-
.eos-assist-send { min-width: 82px; }
|
|
1387
|
-
.eos-assist-send:disabled { cursor: progress; opacity: .62; }
|
|
1388
|
-
.eos-assist-status {
|
|
1389
|
-
margin-top: 10px;
|
|
1390
|
-
padding-top: 9px;
|
|
1391
|
-
color: #8eaeba;
|
|
1392
|
-
font-size: 10px;
|
|
1393
|
-
line-height: 1.35;
|
|
1394
|
-
border-top: 1px solid rgba(69, 213, 255, .1);
|
|
1395
|
-
}
|
|
1396
|
-
.eos-assist-status[data-kind="ready"] { color: #71eeb9; }
|
|
1397
|
-
.eos-assist-status[data-kind="warning"] { color: #ffc56b; }
|
|
1398
|
-
.eos-assist-status[data-kind="error"] { color: #ff8b8b; }
|
|
1399
|
-
.eos-assist-settings {
|
|
1400
|
-
display: none;
|
|
1401
|
-
flex: 1 1 auto;
|
|
1402
|
-
min-height: 0;
|
|
1403
|
-
margin-top: 12px;
|
|
1404
|
-
padding: 12px;
|
|
1405
|
-
overflow-y: auto;
|
|
1406
|
-
border: 1px solid rgba(0, 229, 138, .18);
|
|
1407
|
-
border-radius: 15px;
|
|
1408
|
-
background: rgba(0, 8, 15, .36);
|
|
1409
|
-
}
|
|
1410
|
-
.eos-assist-settings-open .eos-assist-conversation { display: none; }
|
|
1411
|
-
.eos-assist-settings-open .eos-assist-settings { display: grid; gap: 10px; }
|
|
1412
|
-
.eos-assist-settings label { display: grid; gap: 5px; color: #9fc0cc; font-size: 11px; font-weight: 750; }
|
|
1413
|
-
.eos-assist-settings input,
|
|
1414
|
-
.eos-assist-settings select {
|
|
1415
|
-
width: 100%;
|
|
1416
|
-
min-height: 37px;
|
|
1417
|
-
box-sizing: border-box;
|
|
1418
|
-
padding: 7px 9px;
|
|
1419
|
-
color: #eafaff;
|
|
1420
|
-
border: 1px solid rgba(69, 213, 255, .2);
|
|
1421
|
-
border-radius: 9px;
|
|
1422
|
-
background: #061724;
|
|
1423
|
-
outline: none;
|
|
1424
|
-
}
|
|
1425
|
-
.eos-assist-settings input:focus,
|
|
1426
|
-
.eos-assist-settings select:focus { border-color: rgba(0, 229, 138, .58); box-shadow: 0 0 0 2px rgba(0, 229, 138, .08); }
|
|
1427
|
-
.eos-assist-settings .eos-assist-check { display: flex; align-items: center; gap: 8px; }
|
|
1428
|
-
.eos-assist-settings .eos-assist-check input { width: 18px; min-height: 18px; }
|
|
1429
|
-
.eos-assist-base-url-label { display: none !important; }
|
|
1430
|
-
.eos-assist-custom-provider .eos-assist-base-url-label { display: grid !important; }
|
|
1431
|
-
.eos-assist-settings-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
|
|
1432
|
-
.eos-assist-settings-actions .eos-assist-save { color: #00151c; border: 0; background: linear-gradient(135deg, #00e58a, #45d5ff); }
|
|
1433
|
-
.eos-assist-not-configured .eos-assist-dot { background: #ffc34d; box-shadow: 0 0 12px rgba(255, 195, 77, .9); }
|
|
1434
|
-
@media (max-width: 620px) {
|
|
1435
|
-
.eos-assist-header-root .eos-assist-panel {
|
|
1436
|
-
top: calc(var(--nx-shell-top) + var(--nx-header-h) + 5px) !important;
|
|
1437
|
-
right: 7px !important;
|
|
1438
|
-
width: calc(100vw - 14px);
|
|
1439
|
-
max-height: calc(100vh - var(--nx-header-h) - 20px);
|
|
1440
|
-
padding: 13px;
|
|
1441
|
-
}
|
|
1442
|
-
.eos-assist-transcript { max-height: 45vh; }
|
|
1443
|
-
.eos-assist-input-row { flex-direction: column; }
|
|
1444
|
-
.eos-assist-send { min-height: 40px; }
|
|
1445
|
-
}
|
package/adminWww/index.html
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate" />
|
|
9
9
|
<meta http-equiv="Pragma" content="no-cache" />
|
|
10
10
|
<meta http-equiv="Expires" content="0" />
|
|
11
|
-
<script src="./js/eos-manual-write-policy.js?v=
|
|
11
|
+
<script src="./js/eos-manual-write-policy.js?v=91"></script>
|
|
12
12
|
<script type="module" src="./assets/hostInit-v84.js?v=84"></script>
|
|
13
13
|
|
|
14
14
|
<meta charset="utf-8" />
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
rel="stylesheet"
|
|
37
37
|
href="css/leaflet.css"
|
|
38
38
|
/>
|
|
39
|
-
<link rel="stylesheet" href="./css/nexowatt-native-shell.css?v=
|
|
39
|
+
<link rel="stylesheet" href="./css/nexowatt-native-shell.css?v=91" />
|
|
40
40
|
<link
|
|
41
41
|
rel="manifest"
|
|
42
42
|
href="manifest.json"
|
|
@@ -158,18 +158,20 @@
|
|
|
158
158
|
</script>
|
|
159
159
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-BDBacUwf.js">
|
|
160
160
|
<link rel="modulepreload" crossorigin href="./assets/iobroker_admin__mf_v__runtimeInit__mf_v__-g2X2zhAf.js">
|
|
161
|
-
<script defer src="./js/eos-role-bootstrap.js?v=
|
|
162
|
-
<script defer src="./js/eos-policy-client.js?v=
|
|
163
|
-
<script defer src="./js/eos-branding-sanitizer.js?v=
|
|
164
|
-
<script defer src="./js/nexowatt-native-shell.js?v=
|
|
165
|
-
<script defer src="./js/eos-native-security.js?v=
|
|
166
|
-
<script defer src="./js/eos-basic-settings.js?v=
|
|
167
|
-
<script defer src="./js/eos-role-ui.js?v=
|
|
168
|
-
<script defer src="./js/eos-account-management.js?v=
|
|
169
|
-
<script defer src="./js/eos-assistant.js?v=
|
|
161
|
+
<script defer src="./js/eos-role-bootstrap.js?v=91" data-eos-entry="./assets/index-CQZugZ1z-v84.js?v=84"></script>
|
|
162
|
+
<script defer src="./js/eos-policy-client.js?v=91"></script>
|
|
163
|
+
<script defer src="./js/eos-branding-sanitizer.js?v=91"></script>
|
|
164
|
+
<script defer src="./js/nexowatt-native-shell.js?v=91"></script>
|
|
165
|
+
<script defer src="./js/eos-native-security.js?v=91"></script>
|
|
166
|
+
<script defer src="./js/eos-basic-settings.js?v=91"></script>
|
|
167
|
+
<script defer src="./js/eos-role-ui.js?v=91"></script>
|
|
168
|
+
<script defer src="./js/eos-account-management.js?v=91"></script>
|
|
169
|
+
<script defer src="./js/eos-assistant.js?v=91"></script>
|
|
170
170
|
</head>
|
|
171
171
|
<body>
|
|
172
172
|
<noscript>Für NexoWatt EOS muss JavaScript aktiviert sein.</noscript>
|
|
173
173
|
<div id="root"></div>
|
|
174
|
+
<script defer src="static/js/nexowatt-stable-login.js?v=95"></script>
|
|
175
|
+
<script defer src="static/js/nexowatt-stable-v95.js?v=95"></script>
|
|
174
176
|
</body>
|
|
175
177
|
</html>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
(() => {
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
const VERSION = '
|
|
4
|
+
const VERSION = 'v91-account-management-under-access-rights';
|
|
5
5
|
const script = document.currentScript || document.querySelector('script[src*="eos-account-management.js"]');
|
|
6
6
|
const base = new URL('../', script?.src || window.location.href);
|
|
7
7
|
const abort = new AbortController();
|