iobroker.eos-admin 7.9.92 → 7.9.93
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.93.md +12 -0
- package/NEXOWATT_EOS_BUILD_INFO.json +18 -19
- package/{PUBLISH_STABLE_V7.9.92.md → PUBLISH_STABLE_V7.9.93.md} +4 -4
- package/README_STABILITY_V7.9.93.md +15 -0
- package/RELEASE_ACCEPTANCE_V7.9.93.md +15 -0
- package/RELEASE_NOTES_V7.9.93.md +10 -0
- package/adminWww/assets/Adapters-B5_jQ7DE-v84.js +1 -1
- package/adminWww/css/nexowatt-native-shell.css +154 -2
- package/adminWww/index.html +11 -11
- package/adminWww/js/eos-account-management.js +1 -1
- package/adminWww/js/eos-assistant.js +487 -55
- package/adminWww/js/eos-basic-settings.js +1 -1
- package/adminWww/js/eos-branding-sanitizer.js +3 -1
- 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/build/lib/chat/assistantKnowledge.js +21 -6
- package/build/lib/chat/chatOrchestrator.js +33 -38
- package/build/lib/chat/mcpClientManager.js +1 -1
- package/build/main.js +307 -1
- package/io-package.json +13 -8
- package/package.json +9 -9
- package/tools/nexowatt-account-management-selftest.cjs +1 -1
- package/tools/nexowatt-internal-reserve-selftest.cjs +3 -1
- package/tools/nexowatt-login-layout-selftest.cjs +19 -38
- package/tools/nexowatt-modern-ui-selftest.cjs +1 -1
- package/tools/nexowatt-validate-package.cjs +5 -5
- package/INSTALL_TEST_V7.9.92.md +0 -18
- package/README_STABILITY_V7.9.92.md +0 -14
- package/RELEASE_ACCEPTANCE_V7.9.92.md +0 -12
- package/RELEASE_NOTES_V7.9.92.md +0 -17
|
@@ -96,13 +96,22 @@ 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:
|
|
99
|
+
overflow: hidden !important;
|
|
100
|
+
scrollbar-width: none !important;
|
|
100
101
|
border-radius: 24px !important;
|
|
101
102
|
color: var(--nx-text) !important;
|
|
102
103
|
background: linear-gradient(180deg, rgba(14, 36, 56, .97), rgba(4, 15, 27, .96)) !important;
|
|
103
104
|
border: 1px solid var(--nx-border-accent) !important;
|
|
104
105
|
box-shadow: 0 18px 44px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .035) !important;
|
|
105
106
|
}
|
|
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
|
+
}
|
|
106
115
|
html.eos-login img[src*="admin"],
|
|
107
116
|
html.eos-login .MuiAvatar-img { object-fit: contain !important; filter: drop-shadow(0 0 18px rgba(0,255,136,.35)); }
|
|
108
117
|
|
|
@@ -891,7 +900,8 @@ html.eos-login .eos-login-card-modern {
|
|
|
891
900
|
min-height: 0 !important;
|
|
892
901
|
max-width: none !important;
|
|
893
902
|
max-height: none !important;
|
|
894
|
-
overflow:
|
|
903
|
+
overflow: hidden !important;
|
|
904
|
+
scrollbar-width: none !important;
|
|
895
905
|
}
|
|
896
906
|
.eos-login-role-selector {
|
|
897
907
|
display: none !important;
|
|
@@ -1291,3 +1301,145 @@ html.eos-route-intro #app-paper [class*="card"] {
|
|
|
1291
1301
|
.eos-account-management-entry { margin: 9px; padding: 19px; border-radius: 18px; }
|
|
1292
1302
|
.eos-assist-header-root .eos-assist-panel { right: 8px !important; width: calc(100vw - 16px); }
|
|
1293
1303
|
}
|
|
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=93"></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=93" />
|
|
40
40
|
<link
|
|
41
41
|
rel="manifest"
|
|
42
42
|
href="manifest.json"
|
|
@@ -158,15 +158,15 @@
|
|
|
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=93" data-eos-entry="./assets/index-CQZugZ1z-v84.js?v=84"></script>
|
|
162
|
+
<script defer src="./js/eos-policy-client.js?v=93"></script>
|
|
163
|
+
<script defer src="./js/eos-branding-sanitizer.js?v=93"></script>
|
|
164
|
+
<script defer src="./js/nexowatt-native-shell.js?v=93"></script>
|
|
165
|
+
<script defer src="./js/eos-native-security.js?v=93"></script>
|
|
166
|
+
<script defer src="./js/eos-basic-settings.js?v=93"></script>
|
|
167
|
+
<script defer src="./js/eos-role-ui.js?v=93"></script>
|
|
168
|
+
<script defer src="./js/eos-account-management.js?v=93"></script>
|
|
169
|
+
<script defer src="./js/eos-assistant.js?v=93"></script>
|
|
170
170
|
</head>
|
|
171
171
|
<body>
|
|
172
172
|
<noscript>Für NexoWatt EOS muss JavaScript aktiviert sein.</noscript>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
(() => {
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
const VERSION = '
|
|
4
|
+
const VERSION = 'v93-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();
|