iobroker.ai-usage 0.15.0 → 0.16.0
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/README.md +43 -25
- package/admin/custom/assets/Components-CUzkV92A.js +1 -0
- package/admin/custom/assets/ConfigPanel-Ba8Ifmtr.js +1 -0
- package/admin/custom/assets/{_virtual_mf-localSharedImportMap___mfe_internal__AiUsageComponentSet__mf_owner__1-DKcsNxEw.js → _virtual_mf-localSharedImportMap___mfe_internal__AiUsageComponentSet__mf_owner__1-DNl3eli9.js} +1 -1
- package/admin/custom/assets/{_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DzPBJWNQ.js → _virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-D9ahEuiO.js} +1 -1
- package/admin/custom/assets/{_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-DEdJInQG.js → _virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-efMptIcS.js} +20 -20
- package/admin/custom/assets/{_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-CFn_lBXc.js → _virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-C-VthpMf.js} +1 -1
- package/admin/custom/assets/{_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__prebuild___mf_0_iobroker_mf_1_gui_mf_2_components__prebuild__-DeLUTSLT.js → _virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__prebuild___mf_0_iobroker_mf_1_gui_mf_2_components__prebuild__-CGDiwFLL.js} +1 -1
- package/admin/custom/assets/{hostInit-DoGxgbHj.js → hostInit-Cw5ENlLV.js} +1 -1
- package/admin/custom/assets/index-Dpb3gNiC.js +1 -0
- package/admin/custom/assets/{lib-MY71LxhX.js → lib-B7wxSBAr.js} +2 -2
- package/admin/custom/assets/{mf-entry-bootstrap-0-5b409a88.js → mf-entry-bootstrap-0-fdbcf56c.js} +2 -2
- package/admin/custom/assets/virtualExposes-DE_MSsgT.js +1 -0
- package/admin/custom/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__AiUsageComponentSet__customComponents_js-x_0QZXBR.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__AiUsageComponentSet__customComponents_js-D-xtRWld.js} +1 -1
- package/admin/custom/assets/virtual_mf-exposes-ssr___mfe_internal__AiUsageComponentSet__customComponents_js-BwmGOqIW.js +2 -0
- package/admin/custom/assets/{virtual_mf-exposes___mfe_internal__AiUsageComponentSet__customComponents_js-qa4g3G_V.js → virtual_mf-exposes___mfe_internal__AiUsageComponentSet__customComponents_js-DfdGdCaK.js} +2 -2
- package/admin/custom/customComponents.js +1 -1
- package/admin/custom/i18n/de.json +4 -0
- package/admin/custom/i18n/en.json +4 -0
- package/admin/custom/i18n/es.json +4 -0
- package/admin/custom/i18n/fr.json +4 -0
- package/admin/custom/i18n/it.json +4 -0
- package/admin/custom/i18n/nl.json +4 -0
- package/admin/custom/i18n/pl.json +4 -0
- package/admin/custom/i18n/pt.json +4 -0
- package/admin/custom/i18n/ru.json +4 -0
- package/admin/custom/i18n/uk.json +4 -0
- package/admin/custom/i18n/zh-cn.json +4 -0
- package/admin/custom/mf-manifest.json +1 -1
- package/admin/i18n/de.json +2 -0
- package/admin/i18n/en.json +2 -0
- package/admin/i18n/es.json +2 -0
- package/admin/i18n/fr.json +2 -0
- package/admin/i18n/it.json +2 -0
- package/admin/i18n/nl.json +2 -0
- package/admin/i18n/pl.json +2 -0
- package/admin/i18n/pt.json +2 -0
- package/admin/i18n/ru.json +2 -0
- package/admin/i18n/uk.json +2 -0
- package/admin/i18n/zh-cn.json +2 -0
- package/build/lib/error-text.js +27 -3
- package/build/lib/error-text.js.map +2 -2
- package/build/lib/http.js +27 -7
- package/build/lib/http.js.map +2 -2
- package/build/lib/poll-engine.js +255 -55
- package/build/lib/poll-engine.js.map +2 -2
- package/build/lib/provider.js +8 -1
- package/build/lib/provider.js.map +2 -2
- package/build/lib/providers/anthropic-api.js +8 -3
- package/build/lib/providers/anthropic-api.js.map +2 -2
- package/build/lib/providers/chatgpt-auth.js +1 -1
- package/build/lib/providers/chatgpt-auth.js.map +2 -2
- package/build/lib/providers/chatgpt-sub.js +52 -13
- package/build/lib/providers/chatgpt-sub.js.map +2 -2
- package/build/lib/providers/claude-auth.js +8 -1
- package/build/lib/providers/claude-auth.js.map +2 -2
- package/build/lib/providers/claude-sub.js +12 -5
- package/build/lib/providers/claude-sub.js.map +2 -2
- package/build/lib/providers/deepseek.js +11 -3
- package/build/lib/providers/deepseek.js.map +3 -3
- package/build/lib/providers/gemini-sub.js +129 -15
- package/build/lib/providers/gemini-sub.js.map +2 -2
- package/build/lib/providers/openai.js +2 -2
- package/build/lib/providers/openai.js.map +2 -2
- package/build/lib/providers/openrouter.js +30 -8
- package/build/lib/providers/openrouter.js.map +2 -2
- package/build/lib/providers/report-utils.js +6 -0
- package/build/lib/providers/report-utils.js.map +2 -2
- package/build/lib/pure-helpers.js +17 -3
- package/build/lib/pure-helpers.js.map +2 -2
- package/build/lib/sign-in-manager.js +22 -8
- package/build/lib/sign-in-manager.js.map +2 -2
- package/build/lib/snapshot-tree.js +3 -4
- package/build/lib/snapshot-tree.js.map +2 -2
- package/build/lib/totals.js +18 -5
- package/build/lib/totals.js.map +2 -2
- package/build/main.js +335 -118
- package/build/main.js.map +2 -2
- package/io-package.json +15 -15
- package/package.json +8 -8
- package/admin/custom/assets/Components-DrPN-Mtb.js +0 -1
- package/admin/custom/assets/ConfigPanel-uVXFjx9g.js +0 -1
- package/admin/custom/assets/index-Ex4rgN0E.js +0 -1
- package/admin/custom/assets/virtualExposes-DP5VuPcn.js +0 -1
- package/admin/custom/assets/virtual_mf-exposes-ssr___mfe_internal__AiUsageComponentSet__customComponents_js-CeNvuNfG.js +0 -2
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ subscriptions plus OpenRouter, DeepSeek, OpenAI and Anthropic API accounts. Need
|
|
|
27
27
|
|
|
28
28
|
## Sentry / Error reporting
|
|
29
29
|
|
|
30
|
-
**This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** Reporting
|
|
30
|
+
**This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** Reporting is active by default. It stays off when the ioBroker diagnostics setting is `none` (`diag` in the system configuration), when data reporting is disabled for this instance or its host (`disableDataReporting`), and on CI systems. A report contains the error with its stack trace and technical context such as versions and platform, plus an anonymous installation ID.
|
|
31
31
|
|
|
32
32
|
For details and how to disable it, see the [Sentry plugin documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry). Error reporting requires js-controller 3.0 or newer.
|
|
33
33
|
|
|
@@ -56,8 +56,10 @@ The instance settings show one list of AI accounts. Switch on what you want to m
|
|
|
56
56
|
| **[OpenAI](https://openai.com), [Anthropic](https://www.anthropic.com)** | Needs an **admin key** of your organisation, not the key the admin assistant uses. A personal account without an organisation cannot deliver these reports at all — use the Claude subscription instead |
|
|
57
57
|
|
|
58
58
|
The three subscription endpoints are **not officially documented**; they are the ones those
|
|
59
|
-
providers' own tools use and can change without notice. Claude was tested
|
|
60
|
-
|
|
59
|
+
providers' own tools use and can change without notice. Only the Claude subscription was tested
|
|
60
|
+
against a real account; ChatGPT, Google, OpenRouter, DeepSeek and the OpenAI and Anthropic
|
|
61
|
+
organisation reports are built from the providers' references and never ran against a real
|
|
62
|
+
account — please open an issue if something looks wrong.
|
|
61
63
|
|
|
62
64
|
| Option | Description | Default |
|
|
63
65
|
| ----------------- | ---------------------------------------------------------------------------------------------------- | ------- |
|
|
@@ -116,8 +118,9 @@ can be the one in force while your session and week are nearly empty. It never r
|
|
|
116
118
|
**Only plan-wide windows raise the warning** — your session and your week — and the message names
|
|
117
119
|
the window it came from. A window belonging to a single model keeps its own datapoints but stays
|
|
118
120
|
out of it: a model you never use can sit at 100 % forever, and an alarm that never clears is worse
|
|
119
|
-
than none. Google
|
|
120
|
-
|
|
121
|
+
than none. Google is special: its quota pools are the plan-wide windows where it reports them;
|
|
122
|
+
otherwise its per-model buckets are the plan, the fullest speaks for the account and the warning
|
|
123
|
+
names that model. To watch one model anyway, build the automation on
|
|
121
124
|
its own `limits.<window>.percent`.
|
|
122
125
|
|
|
123
126
|
**A nearly spent budget counts the same way.** Where a provider reports a granted budget, it
|
|
@@ -142,6 +145,11 @@ started and has not asked yet.
|
|
|
142
145
|
Save the settings first, then sign in — the row needs a saved account to attach the sign-in to.
|
|
143
146
|
After a successful sign-in the account is queried immediately, so values appear within seconds.
|
|
144
147
|
|
|
148
|
+
### A key row in the settings says its stored key is missing
|
|
149
|
+
|
|
150
|
+
The key was deleted from the admin's credential storage. Switch the account off, or add the key
|
|
151
|
+
again under Settings → Credentials — the adapter picks up a changed or new key while it runs.
|
|
152
|
+
|
|
145
153
|
### A subscription asks you to sign in again although it worked yesterday
|
|
146
154
|
|
|
147
155
|
The provider rejected the stored sign-in — a refresh token that was revoked or expired. The row says
|
|
@@ -155,7 +163,36 @@ so instead of pretending to be connected; signing in again is all it takes.
|
|
|
155
163
|
Placeholder for the next version (at the beginning of the line):
|
|
156
164
|
-->
|
|
157
165
|
|
|
158
|
-
### 0.
|
|
166
|
+
### 0.16.0 (2026-09-25)
|
|
167
|
+
|
|
168
|
+
- Fixed: ChatGPT limits of a single model (such as GPT-5.3-Codex-Spark) were never shown — each now gets its own 5-hour and weekly window
|
|
169
|
+
- Fixed: An OpenRouter key with a monthly limit counted its whole lifetime spend against that limit and could stay at "limit reached" for good
|
|
170
|
+
- Changed: OpenRouter `credits.used` now shows the use in the running limit period; the lifetime spend stays in `costs.total`, so the history jumps once
|
|
171
|
+
- New: OpenRouter spend today and this month, with a month-end projection, now also counted in the cost totals
|
|
172
|
+
- Fixed: Claude extra usage billed in euros was counted as dollars in the cost totals — it now keeps the account's own currency
|
|
173
|
+
- Fixed: Alarms of an account stayed on for good when its API key was removed, or when the last account was switched off
|
|
174
|
+
- Fixed: After a restart the totals no longer drop to 0 for a moment, and `total.limitReached` no longer flips while the first query fails
|
|
175
|
+
- Fixed: Last month's costs of an account that stopped delivering no longer stay in this month's totals
|
|
176
|
+
- Fixed: A model limit alone no longer raises the account's warning when the plan-wide windows are still unused
|
|
177
|
+
- Fixed: Signing out now clears the account's alarms at once instead of with the next query
|
|
178
|
+
- Fixed: The ChatGPT sign-in no longer breaks off while you are still typing the code
|
|
179
|
+
- New: The adapter picks up a key that was changed or deleted in the credential storage while it runs
|
|
180
|
+
- New: A workspace stopped by its used-up credits or its spend control counts as "limit reached" for ChatGPT
|
|
181
|
+
- New: Google's plan-wide quota pools (5-hour and weekly) are shown where Google reports them, and they decide the account's warning
|
|
182
|
+
- Improved: `info.error` says why a key account has no key — none selected, deleted from the storage, or holding no key
|
|
183
|
+
- Improved: Google accounts without a Code Assist project show Google's own reason, and a refused quota query no longer reports a rejected sign-in
|
|
184
|
+
- Fixed: An Anthropic organisation account no longer fails for the whole 1st of every month
|
|
185
|
+
- Fixed: The settings page no longer spins forever when the instance does not answer, and shows a key row whose stored key is gone
|
|
186
|
+
- Fixed: Copying the sign-in code or link now works on plain http:// as well
|
|
187
|
+
- Improved: Several notifications of different accounts are kept instead of the newest replacing the previous one
|
|
188
|
+
- Improved: After a throttle the next query waits as long as the provider asks, instead of retrying too early
|
|
189
|
+
- Fixed: An instance stopped during its start no longer overwrites the stopped state of its accounts afterwards
|
|
190
|
+
|
|
191
|
+
Only the Claude subscription runs against a real account here. The ChatGPT, OpenRouter, Google,
|
|
192
|
+
DeepSeek and organisation changes follow the providers' references and their own tools' sources
|
|
193
|
+
and are covered by tests, but were not seen on a real account.
|
|
194
|
+
|
|
195
|
+
### 0.15.0 (2026-09-16) — stable
|
|
159
196
|
|
|
160
197
|
- Fixed: Model channels of an organisation account no longer vanish at the turn of a month — a model with no usage yet was deleted with its history and re-created on its next use
|
|
161
198
|
- Fixed: Stopping the instance right after it started no longer leaves the accounts showing as connected while the instance is switched off
|
|
@@ -205,25 +242,6 @@ OpenRouter, DeepSeek, OpenAI or Anthropic account.
|
|
|
205
242
|
- Fixed: The last-update stamp of an account no longer moves forward while the provider is only throttling — it dates the values standing next to it, so you can see how old they really are
|
|
206
243
|
- Improved: Twenty-five more datapoints explain themselves in the object tree — what "today" means (the provider counts it in UTC), and why the cost totals can be lower than the accounts show
|
|
207
244
|
|
|
208
|
-
### 0.12.0 (2026-09-06)
|
|
209
|
-
|
|
210
|
-
- Fixed: An account that has not been signed in yet no longer reports a rejected sign-in — no warning, no notification, and the settings page keeps offering the sign-in button
|
|
211
|
-
- Fixed: An account whose API key is missing or unreadable is now shown as not delivering, instead of leaving its old values standing as though they were current
|
|
212
|
-
- Fixed: An answer arriving while the adapter shuts down can no longer mark an account as online again after the shutdown wrote it offline
|
|
213
|
-
- Fixed: A throttled account counts as delivering everywhere now — the connection icon and the "reachable accounts" total no longer contradict each other
|
|
214
|
-
- Fixed: A limit the provider reports as empty is no longer shown as 0 % used, and a Google quota without a value no longer reads as completely used up
|
|
215
|
-
- Fixed: A rejected ChatGPT sign-in now says so at once instead of leaving you waiting for a quarter of an hour, and a Google account keeps delivering when one route is unavailable
|
|
216
|
-
- Fixed: A Google account without an AI subscription says so, instead of asking for a sign-in that cannot change the answer
|
|
217
|
-
- New: Every limit window shows whether it is the limit currently in force — with Claude the provider states it, elsewhere it is the window that speaks for the account
|
|
218
|
-
- Improved: An account is reported as at its limit when the provider says the window is closed, not only when the percentage happens to reach 100
|
|
219
|
-
- Improved: A window's reset time is written to the minute, so a recording of it no longer gains an entry on every single query, only on real changes
|
|
220
|
-
- Improved: An account that is delivering again says so in the log, instead of leaving the warning about its outage standing as the last word on it
|
|
221
|
-
- Improved: The settings page no longer asks the adapter for every status every four seconds — the values now arrive on their own as they change
|
|
222
|
-
- Changed: "Balance sufficient for calls" now sits under credits, where it belongs; the datapoint at the old place is removed automatically
|
|
223
|
-
- Changed: Each account node shows the readable provider name instead of the internal one — "Claude Max (Claude)" instead of "Claude Max (claude-sub)"
|
|
224
|
-
- Fixed: A per-model folder is now named in your ioBroker language as well, instead of carrying the provider's bare model identifier as its only name
|
|
225
|
-
- New: The datapoints whose meaning is not obvious from their name now carry a short explanation in eleven languages, shown in the object tree
|
|
226
|
-
|
|
227
245
|
[Older changelogs can be found there](CHANGELOG_OLD.md)
|
|
228
246
|
|
|
229
247
|
## Support
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./ConfigPanel-Ba8Ifmtr.js";var t={ConfigPanel:e};export{t as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-efMptIcS.js";import{Br as t,Dr as n,Er as r,Fi as i,Ha as a,Hi as o,Or as s,Ti as c,Tr as l,Ua as u,Va as d,Xr as f,ai as p,ci as m,ei as h,ga as g,ii as _,in as v,kr as y,li as b,ni as x,oi as S,vo as C}from"./_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-D9ahEuiO.js";C();var w=[{kind:`claude-sub`,label:`Claude`,flow:`paste-code`,accountId:`claude`},{kind:`chatgpt-sub`,label:`ChatGPT`,flow:`device-code`,accountId:`chatgpt`},{kind:`gemini-sub`,label:`Gemini`,flow:`paste-url`,accountId:`gemini`},{kind:`openrouter`,label:`OpenRouter`},{kind:`deepseek`,label:`DeepSeek`},{kind:`openai`,label:`OpenAI`,needsAdminKey:!0},{kind:`anthropic-api`,label:`Anthropic`,needsAdminKey:!0}];function T(e){return e.trim().replace(/[^a-zA-Z0-9_-]/g,`_`).replace(/_{2,}/g,`_`).replace(/^_+|_+$/g,``)}w.map(e=>e.kind);var E=Object.fromEntries(w.filter(e=>e.accountId!==void 0).map(e=>[e.kind,e.accountId]));function D(e,t){let n=E[e];if(n)return n;let r=T(t.replace(/^system\.credentials\./,``));return r?`${r}-api`:``}function O(e){let t=typeof e==`number`?e:typeof e==`string`&&e.trim()!==``?Number(e):NaN;return Number.isFinite(t)?Math.min(100,Math.max(10,Math.round(t))):80}var k=[`en`,`de`,`ru`,`pt`,`nl`,`fr`,`it`,`es`,`pl`,`uk`,`zh-cn`];function A(e){let t=(e||`en`).toLowerCase(),n=t.startsWith(`zh`)?`zh-cn`:t.substring(0,2);return k.includes(n)?n:`en`}function j(e,t){if(e==null)return null;let n=typeof t==`string`?t:``;return e===!0?{key:`aiu_stOffline`,color:`error`,title:n}:n?{key:`aiu_stLimited`,color:`warning`,title:n}:{key:`aiu_stOnline`,color:`success`,title:``}}var M=[{provider:`claude-sub`,label:`Claude`,captionKey:`aiu_capClaude`},{provider:`chatgpt-sub`,label:`ChatGPT`,captionKey:`aiu_capChatgpt`},{provider:`gemini-sub`,label:`Gemini`,captionKey:`aiu_capGemini`}];function N(e,t){let n=`${e} ${t}`.toLowerCase();return n.includes(`gemini`)?null:n.includes(`anthropic`)||n.includes(`claude`)?{provider:`anthropic-api`,label:`Anthropic`,needsAdminKey:!0}:n.includes(`chatgpt`)||n.includes(`openai`)?{provider:`openai`,label:`OpenAI`,needsAdminKey:!0}:n.includes(`deepseek`)?{provider:`deepseek`,label:`DeepSeek`,needsAdminKey:!1}:n.includes(`openrouter`)||n.includes(`router`)?{provider:`openrouter`,label:`OpenRouter`,needsAdminKey:!1}:null}var P=w.filter(e=>e.flow===void 0).map(e=>({provider:e.kind,label:e.label,needsAdminKey:e.needsAdminKey===!0}));function F(e,t){return e.find(e=>e.provider===t)}function I(e,t,n,r){let i=e.filter(e=>e.provider!==t);return n?[...i,{name:r,provider:t,credentialId:``,warnThreshold:80}]:i}function L(e,t,n,r){let i=e.filter(e=>e.credentialId!==t.id);return!r||!n?i:[...i,{name:t.name,provider:n,credentialId:t.id,warnThreshold:80}]}function R(e,t,n){let r=O(n);return e.map(e=>(t.credentialId?e.credentialId===t.credentialId:e.provider===t.provider)?{...e,warnThreshold:r}:e)}function z(e,t){let n=new Set(t.map(e=>e.id));return e.filter(e=>!M.some(t=>t.provider===e.provider)&&!n.has(e.credentialId))}function B(e,t,n){return e?t?`unreadable`:n===0?`empty`:`list`:`loading`}function V(e){return e===`signInStatus`?1e4:3e4}function H(e,t){let n,r=new Promise(e=>{n=setTimeout(()=>e(null),t)});return Promise.race([e,r]).finally(()=>clearTimeout(n))}function U(e,t){return!e.alive&&t.alive||e.changed&&!t.changed||e.subscriptions.join(`|`)!==t.subscriptions.join(`|`)}function W(e,t,n){let r={...e};for(let{provider:e,answer:i,sequence:a}of t)i&&a===(n[e]??0)&&(r[e]=i);return r}var G=``,K=4e3,q=3e4,J=class extends e{constructor(e){super(e),g(this,`timer`,null),g(this,`subscribed`,[]),g(this,`unmounted`,!1),g(this,`sequence`,{}),g(this,`onStateChange`,(e,t)=>{if(this.unmounted||!t||t.val===null||t.val===void 0)return;let n=e.split(`.`),r=`${n[2]}.${n[n.length-1]}`;this.setState(e=>({serviceState:{...e.serviceState,[r]:t.val}}))}),this.state={...this.state,credentials:[],credentialsLoaded:!1,credentialsFailed:!1,thresholdDrafts:{},copied:{},signIn:{},drafts:{},providerChoice:{},serviceState:{},busy:``}}async componentDidMount(){var e;(e=super.componentDidMount)==null||e.call(this),await Promise.all([this.loadCredentials(),this.refreshSignIn(),this.syncSubscriptions()]),this.scheduleSignInPoll()}componentDidUpdate(e){this.syncSubscriptions(),U(this.factsOf(e),this.factsOf(this.props))&&this.refreshSignIn().finally(()=>this.scheduleSignInPoll())}factsOf(t){let n=e.getValue(t.data,`accounts`),r=Array.isArray(n)?n:[];return{alive:!!t.alive,changed:!!t.changed,subscriptions:M.filter(e=>F(r,e.provider)).map(e=>e.provider)}}componentWillUnmount(){var e;this.unmounted=!0,this.timer&&=(clearTimeout(this.timer),null),this.unsubscribeAll(),(e=super.componentWillUnmount)==null||e.call(this)}scheduleSignInPoll(){if(this.unmounted)return;this.timer&&clearTimeout(this.timer);let e=Object.values(this.state.signIn).some(e=>(e==null?void 0:e.status)===`awaiting-device`);this.timer=setTimeout(()=>{this.refreshSignIn().finally(()=>this.scheduleSignInPoll())},e?K:q)}async syncSubscriptions(){let e=this.props.oContext,t=[];for(let n of this.accounts()){let r=D(n.provider,n.credentialId);r&&(t.push(`${e.adapterName}.${e.instance}.${r}.info.unreach`),t.push(`${e.adapterName}.${e.instance}.${r}.info.error`))}if(!(t.length===this.subscribed.length&&t.every(e=>this.subscribed.includes(e)))&&(this.unsubscribeAll(),this.subscribed=t,t.length!==0))try{await e.socket.subscribeState(t,this.onStateChange)}catch{}}unsubscribeAll(){this.subscribed.length>0&&(this.props.oContext.socket.unsubscribeState(this.subscribed,this.onStateChange),this.subscribed=[])}async loadCredentials(){try{let e=await this.props.oContext.socket.getObjectViewSystem(`config`,`system.credentials.`,`system.credentials.${G}`),t=Object.values(e||{}).filter(e=>{var t;return!!e&&((t=e.native)==null?void 0:t.type)===`ai`}).map(e=>{var t,n;let r=e._id.substring(19),i=(t=e.common)==null?void 0:t.name,a=typeof i==`string`?i:(i==null?void 0:i.en)||Object.values(i||{})[0]||r;return{id:e._id,suffix:r,name:a,icon:typeof((n=e.common)==null?void 0:n.icon)==`string`?e.common.icon:void 0}}).sort((e,t)=>e.name.localeCompare(t.name));this.setState({credentials:t,credentialsLoaded:!0,credentialsFailed:!1})}catch{this.setState({credentialsLoaded:!0,credentialsFailed:!0})}}renderServiceBadge(e,t){let n=D(e,t),r=j(this.state.serviceState[`${n}.unreach`],this.state.serviceState[`${n}.error`]);return r?a(m,{size:`small`,color:r.color,variant:`outlined`,label:v.t(r.key),title:r.title}):null}renderReason(e,t){let n=D(e,t),r=j(this.state.serviceState[`${n}.unreach`],this.state.serviceState[`${n}.error`]);return r!=null&&r.title?a(h,{variant:`caption`,sx:{display:`block`,pl:6,pb:1,opacity:.8},children:r.title}):null}renderOrphanRow(e){return u(x,{sx:{display:`flex`,alignItems:`center`,gap:1.5,py:1,borderBottom:1,borderColor:`divider`},children:[a(o,{sx:{width:28,height:28,bgcolor:`transparent`},children:a(l,{fontSize:`small`})}),u(x,{sx:{minWidth:180},children:[a(h,{children:e.name}),a(h,{variant:`caption`,sx:{color:`warning.main`},children:v.t(`aiu_keyMissing`)})]}),a(t,{checked:!0,onChange:()=>this.commit(this.accounts().filter(t=>t!==e)),slotProps:{input:{"aria-label":e.name}},sx:{ml:`auto`}})]},`orphan-${e.credentialId||e.name}`)}async refreshSignIn(){if(!this.props.alive)return;let e=await Promise.all(M.filter(e=>F(this.accounts(),e.provider)).map(async e=>{let t=this.sequence[e.provider]??0;return{provider:e.provider,answer:await this.ask(`signInStatus`,e.provider),sequence:t}}));this.unmounted||this.setState(t=>({signIn:W(t.signIn,e,this.sequence)}))}async ask(e,t,n){let r=this.props.oContext;try{let i=await H(r.socket.sendTo(`${r.adapterName}.${r.instance}`,e,{provider:t,value:n}),V(e));return i?i.error?{status:`failed`,reason:i.error}:i:null}catch{return null}}async run(e,t,n){this.sequence[t]=(this.sequence[t]??0)+1,this.setState({busy:t});let r=await this.ask(e,t,n);if(this.unmounted)return;let i=r??{status:`failed`,reason:v.t(`aiu_noAnswer`)};this.setState(e=>({busy:``,signIn:{...e.signIn,[t]:i},drafts:{...e.drafts,[t]:``}}),()=>this.scheduleSignInPoll())}accounts(){let t=e.getValue(this.props.data,`accounts`);return Array.isArray(t)?t:[]}commit(e){this.onChange(`accounts`,e)}renderThreshold(e,t,n){let r=this.state.thresholdDrafts[e];return a(f,{size:`small`,type:`number`,label:v.t(`aiu_warnAt`),value:r??String(t.warnThreshold||80),onChange:t=>{let n=t.target.value;this.setState(t=>({thresholdDrafts:{...t.thresholdDrafts,[e]:n}}))},onBlur:t=>{let r=t.target.value;this.commit(R(this.accounts(),n,r)),this.setState(t=>{let n={...t.thresholdDrafts};return delete n[e],{thresholdDrafts:n}})},slotProps:{htmlInput:{min:10,max:100,style:{width:60}},inputLabel:{shrink:!0}},sx:{ml:`auto`}},e)}async copy(e,t){let n=!1;try{if(navigator.clipboard&&window.isSecureContext)await navigator.clipboard.writeText(t),n=!0;else{let e=document.createElement(`textarea`);e.value=t,e.setAttribute(`readonly`,``),e.style.position=`fixed`,e.style.opacity=`0`,document.body.appendChild(e),e.select(),n=document.execCommand(`copy`),document.body.removeChild(e)}}catch{n=!1}this.unmounted||this.setState(t=>({copied:{...t.copied,[e]:n?`ok`:`manual`}}))}renderCopied(e){let t=this.state.copied[e];return t?a(h,{variant:`caption`,role:`status`,sx:{color:t===`ok`?`success.main`:`warning.main`},children:v.t(t===`ok`?`aiu_copied`:`aiu_copyManual`)}):null}renderSignIn(e){let t=this.state.signIn[e],i=this.state.busy===e;if(!this.props.alive)return a(c,{severity:`warning`,children:v.t(`aiu_instanceNotRunning`)});if(this.props.changed)return a(c,{severity:`info`,children:v.t(`aiu_saveFirst`)});if(!t)return a(b,{size:20});if(t.status===`signed-in`)return u(x,{sx:{display:`flex`,alignItems:`center`,gap:1,flexWrap:`wrap`},children:[a(y,{color:`success`}),a(h,{sx:{color:`success.main`},children:v.t(`aiu_signedIn`)}),a(_,{size:`small`,startIcon:a(r,{}),disabled:i,onClick:()=>void this.run(`signOut`,e),children:v.t(`aiu_signOut`)})]});if(t.status===`awaiting-device`)return u(x,{sx:{display:`flex`,flexDirection:`column`,gap:1.5},children:[a(h,{variant:`body2`,children:v.t(`aiu_deviceStep1`)}),u(x,{sx:{display:`flex`,gap:1,alignItems:`center`,flexWrap:`wrap`},children:[a(m,{label:t.userCode,sx:{fontSize:20,fontFamily:`monospace`,py:2.5,px:1}}),a(_,{size:`small`,startIcon:a(s,{}),onClick:()=>void this.copy(`${e}-code`,t.userCode),children:v.t(`aiu_copyCode`)}),this.renderCopied(`${e}-code`),a(_,{variant:`contained`,startIcon:a(n,{}),href:t.verificationUrl,target:`_blank`,rel:`noopener noreferrer`,children:v.t(`aiu_openPage`)})]}),a(c,{severity:`info`,children:v.t(`aiu_deviceWaiting`)})]});if(t.status===`awaiting-paste`){let r=t.flow===`paste-url`;return u(x,{sx:{display:`flex`,flexDirection:`column`,gap:1.5},children:[a(h,{variant:`body2`,children:v.t(r?`aiu_googleStep1`:`aiu_claudeStep1`)}),u(x,{sx:{display:`flex`,gap:1,flexWrap:`wrap`},children:[a(_,{variant:`contained`,startIcon:a(n,{}),href:t.url,target:`_blank`,rel:`noopener noreferrer`,children:v.t(`aiu_openSignIn`)}),a(_,{variant:`outlined`,startIcon:a(s,{}),onClick:()=>void this.copy(`${e}-link`,t.url),children:v.t(`aiu_copyLink`)}),this.renderCopied(`${e}-link`)]}),r?a(c,{severity:`warning`,children:v.t(`aiu_googleErrorPageHint`)}):null,a(h,{variant:`body2`,children:v.t(r?`aiu_googleStep2`:`aiu_claudeStep2`)}),u(x,{sx:{display:`flex`,gap:1,alignItems:`center`,flexWrap:`wrap`},children:[a(f,{size:`small`,label:v.t(r?`aiu_addressLabel`:`aiu_codeLabel`),value:this.state.drafts[e]??``,onChange:t=>this.setState(n=>({drafts:{...n.drafts,[e]:t.target.value}})),sx:{minWidth:340,flexGrow:1}}),a(_,{variant:`contained`,disabled:i||!(this.state.drafts[e]??``).trim(),onClick:()=>void this.run(`signInSubmit`,e,this.state.drafts[e]),children:i?a(b,{size:20}):v.t(`aiu_redeem`)})]})]})}return u(x,{sx:{display:`flex`,flexDirection:`column`,gap:1},children:[t.status===`failed`?a(c,{severity:`error`,children:t.reason}):null,a(x,{children:a(_,{variant:`contained`,startIcon:a(n,{}),disabled:i,onClick:()=>void this.run(`signInStart`,e),children:i?a(b,{size:20}):v.t(`aiu_startSignIn`)})})]})}renderSubscriptionRow(e){let n=F(this.accounts(),e.provider);return u(x,{children:[u(x,{sx:{display:`flex`,alignItems:`center`,gap:1.5,py:1,borderBottom:1,borderColor:`divider`},children:[a(o,{sx:{width:28,height:28,bgcolor:`transparent`},children:a(l,{fontSize:`small`,color:`primary`})}),u(x,{sx:{minWidth:180},children:[a(h,{children:e.label}),a(h,{variant:`caption`,sx:{opacity:.7},children:v.t(e.captionKey)})]}),n?this.renderServiceBadge(e.provider,``):null,n?this.renderThreshold(`${e.provider}-t`,n,{provider:e.provider}):null,a(t,{checked:!!n,onChange:t=>this.commit(I(this.accounts(),e.provider,t.target.checked,e.label)),slotProps:{input:{"aria-label":e.label}},sx:{ml:n?0:`auto`}})]}),n?this.renderReason(e.provider,``):null,n?a(x,{sx:{pl:6,py:1.5,borderBottom:1,borderColor:`divider`},children:this.renderSignIn(e.provider)}):null]},e.provider)}renderCredentialRow(e){var n;let r=this.accounts(),s=r.find(t=>t.credentialId===e.id),d=N(e.suffix,e.name),p=(s==null?void 0:s.provider)||(d==null?void 0:d.provider)||this.state.providerChoice[e.id]||``,m=((n=P.find(e=>e.provider===p))==null?void 0:n.needsAdminKey)??(d==null?void 0:d.needsAdminKey)??!1,g=!d&&!this.state.providerChoice[e.id]&&!s;return u(x,{sx:{borderBottom:1,borderColor:`divider`},children:[u(x,{sx:{display:`flex`,alignItems:`center`,gap:1.5,py:1},children:[a(o,{src:e.icon,sx:{width:28,height:28,bgcolor:`transparent`},children:a(l,{fontSize:`small`})}),u(x,{sx:{minWidth:180},children:[a(h,{children:e.name}),a(h,{variant:`caption`,sx:{opacity:.7},children:v.t(`aiu_storedKey`)})]}),g?a(f,{select:!0,size:`small`,label:v.t(`aiu_provider`),value:this.state.providerChoice[e.id]||``,onChange:t=>this.setState(n=>({providerChoice:{...n.providerChoice,[e.id]:t.target.value}})),sx:{minWidth:170},children:P.map(e=>a(i,{value:e.provider,children:e.label},e.provider))}):null,s?this.renderServiceBadge(s.provider,e.id):null,s?this.renderThreshold(`${e.id}-t`,s,{credentialId:e.id}):null,a(t,{checked:!!s,disabled:!p,onChange:t=>this.commit(L(r,e,p,t.target.checked)),slotProps:{input:{"aria-label":e.name}},sx:{ml:s?0:`auto`}})]}),s?this.renderReason(s.provider,e.id):null,s&&m?a(c,{severity:`info`,sx:{mb:1},children:v.t(`aiu_adminKeyHint`)}):null]},e.id)}renderCredentials(){let e=B(this.state.credentialsLoaded,this.state.credentialsFailed,this.state.credentials.length);if(e===`loading`)return a(b,{size:24,sx:{mt:1}});let t=e===`unreadable`?[]:z(this.accounts(),this.state.credentials);return u(d,{children:[this.state.credentials.map(e=>this.renderCredentialRow(e)),t.map(e=>this.renderOrphanRow(e)),e===`unreadable`?a(c,{severity:`warning`,sx:{mt:1},children:v.t(`aiu_credentialsUnreadable`)}):null,e===`empty`?a(c,{severity:`info`,sx:{mt:1},children:v.t(`aiu_noCredentials`)}):null]})}renderItem(){return a(x,{"data-testid":`aiu-config`,sx:{maxWidth:760},children:a(p,{variant:`outlined`,children:u(S,{children:[a(h,{variant:`h6`,sx:{mb:.5},children:v.t(`aiu_storedTitle`)}),a(h,{variant:`body2`,sx:{opacity:.8,mb:1},children:v.t(`aiu_storedHint`)}),M.map(e=>this.renderSubscriptionRow(e)),this.renderCredentials()]})})})}};export{A as n,J as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./vite-preload-helper-B7qeedMF.js";var t={react:async()=>await e(()=>import(`./_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-
|
|
1
|
+
import{t as e}from"./vite-preload-helper-B7qeedMF.js";var t={react:async()=>await e(()=>import(`./_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-D9ahEuiO.js`).then(e=>(e.bo(),e.yo)),[],import.meta.url),"react/jsx-runtime":async()=>await e(()=>import(`./_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-D9ahEuiO.js`).then(e=>e.Wa),[],import.meta.url),"react-dom":async()=>await e(()=>import(`./_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-D9ahEuiO.js`).then(e=>(e.Za(),e.Xa)),[],import.meta.url),"react-dom/client":async()=>await e(()=>import(`./_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-C-VthpMf.js`).then(e=>e.n),[],import.meta.url),"@mui/material":async()=>await e(()=>import(`./_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-D9ahEuiO.js`).then(e=>e.Wi),[],import.meta.url),"@mui/icons-material":async()=>await e(()=>import(`./_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-D9ahEuiO.js`).then(e=>e.wr),[],import.meta.url),"@iobroker/gui-components":async()=>await e(()=>import(`./_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__prebuild___mf_0_iobroker_mf_1_gui_mf_2_components__prebuild__-CGDiwFLL.js`),[],import.meta.url),"@iobroker/json-config":async()=>await e(()=>import(`./_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-efMptIcS.js`).then(e=>e.n),[],import.meta.url)},n={react:{name:`react`,version:`19.2.8`,scope:[`default`],loaded:!1,eager:!1,from:`AiUsageComponentSet`,canLiveRebind:!0,async get(){n.react.loaded=!0;let{react:e}=t,r={...await e()};return r.__esModule!==!0&&Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}},"react/jsx-runtime":{name:`react/jsx-runtime`,version:`19.2.8`,scope:[`default`],loaded:!1,eager:!1,from:`AiUsageComponentSet`,canLiveRebind:!0,async get(){n[`react/jsx-runtime`].loaded=!0;let{"react/jsx-runtime":e}=t,r={...await e()};return r.__esModule!==!0&&Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}},"react-dom":{name:`react-dom`,version:`19.2.8`,scope:[`default`],loaded:!1,eager:!1,from:`AiUsageComponentSet`,canLiveRebind:!0,async get(){n[`react-dom`].loaded=!0;let{"react-dom":e}=t,r={...await e()};return r.__esModule!==!0&&Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}},"react-dom/client":{name:`react-dom/client`,version:`19.2.8`,scope:[`default`],loaded:!1,eager:!1,from:`AiUsageComponentSet`,canLiveRebind:!0,async get(){n[`react-dom/client`].loaded=!0;let{"react-dom/client":e}=t,r={...await e()};return r.__esModule!==!0&&Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}},"@mui/material":{name:`@mui/material`,version:`9.3.1`,scope:[`default`],loaded:!1,eager:!1,from:`AiUsageComponentSet`,canLiveRebind:!0,async get(){n[`@mui/material`].loaded=!0;let{"@mui/material":e}=t,r={...await e()};return r.__esModule!==!0&&Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}},"@mui/icons-material":{name:`@mui/icons-material`,version:`9.3.1`,scope:[`default`],loaded:!1,eager:!1,from:`AiUsageComponentSet`,canLiveRebind:!0,async get(){n[`@mui/icons-material`].loaded=!0;let{"@mui/icons-material":e}=t,r={...await e()};return r.__esModule!==!0&&Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}},"@iobroker/gui-components":{name:`@iobroker/gui-components`,version:`10.1.0`,scope:[`default`],loaded:!1,eager:!1,from:`AiUsageComponentSet`,canLiveRebind:!1,async get(){n[`@iobroker/gui-components`].loaded=!0;let{"@iobroker/gui-components":e}=t,r={...await e()};return r.__esModule!==!0&&Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}},"@iobroker/json-config":{name:`@iobroker/json-config`,version:`9.0.22`,scope:[`default`],loaded:!1,eager:!1,from:`AiUsageComponentSet`,canLiveRebind:!0,async get(){n[`@iobroker/json-config`].loaded=!0;let{"@iobroker/json-config":e}=t,r={...await e()};return r.__esModule!==!0&&Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}}},r=[];export{r as usedRemotes,n as usedShared};
|
|
@@ -1240,4 +1240,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
1240
1240
|
C5.88,6.549,3.939,8.789,2.531,11.456c-0.299,0.576-0.363,1.195-0.597,1.792c-0.683,1.621-1.429,3.2-1.685,4.992
|
|
1241
1241
|
c-0.107,0.64,0.085,1.237,0.064,1.856c-0.021,0.427-0.299,0.811-0.299,1.237V448c0,10.176,7.189,18.923,17.152,20.907
|
|
1242
1242
|
l213.333,42.667c1.387,0.299,2.795,0.427,4.181,0.427c4.885,0,9.685-1.685,13.525-4.843c4.928-4.053,7.808-10.091,7.808-16.491
|
|
1243
|
-
v-21.333H362.68c11.797,0,21.333-9.557,21.333-21.333V320C384.013,308.224,374.477,298.667,362.68,298.667z`}))}z();function F9(e){return F.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,onClick:t=>e.onClick&&e.onClick(t),viewBox:`0 0 339 339`,width:e.width||(e.fontSize===`small`?16:20),height:e.height||e.width||(e.fontSize===`small`?16:20),className:e.className,style:e.style},F.createElement(`path`,{fill:`currentColor`,d:`M 318.371 88.485 C 332.371 114.538 339.207 142.418 338.881 172.125 C 338.874 172.605 338.631 172.845 338.151 172.845 L 335.411 172.845 C 335.077 172.845 334.911 173.012 334.911 173.345 L 334.911 181.215 C 334.911 181.635 335.121 181.845 335.541 181.845 L 337.711 181.845 C 338.157 181.845 338.364 182.068 338.331 182.515 C 331.921 264.525 267.321 330.135 185.931 337.995 C 89.911 347.265 6.491 275.385 0.301 179.465 C 0.274 179.052 0.467 178.845 0.881 178.845 L 2.381 178.845 C 2.741 178.845 2.921 178.665 2.921 178.305 L 2.911 171.465 C 2.904 171.052 2.694 170.845 2.281 170.845 L 0.441 170.845 C 0.147 170.845 0.001 170.698 0.001 170.405 C -0.289 83.535 64.591 10.095 151.421 0.955 C 211.511 -5.375 269.171 20.055 305.341 68.135 C 305.538 68.391 305.938 68.338 306.062 68.039 C 306.065 68.031 306.068 68.023 306.071 68.015 L 311.541 51.395 C 311.63 51.125 311.924 50.977 312.201 51.065 L 316.881 52.625 C 317.274 52.758 317.407 53.022 317.281 53.415 L 310.271 74.305 C 310.157 74.645 310.197 74.968 310.391 75.275 L 314.011 80.905 C 314.204 81.205 314.481 81.378 314.841 81.425 L 336.771 84.365 C 337.124 84.412 337.277 84.612 337.231 84.965 L 336.601 89.775 C 336.547 90.182 336.321 90.358 335.921 90.305 L 318.721 87.975 C 318.267 87.915 318.151 88.085 318.371 88.485 Z M 200.701 172.615 C 170.541 200.245 121.671 181.975 117.251 140.865 C 117.211 140.518 117.017 140.345 116.671 140.345 L 8.941 140.345 C 8.68 140.346 8.46 140.532 8.421 140.785 C -10.469 249.095 80.901 345.385 189.421 331.625 C 265.701 321.955 325.741 260.435 332.311 183.415 C 343.611 50.895 200.811 -38.365 85.961 28.845 C 47.041 51.625 20.601 89.335 9.791 133.265 C 9.611 133.985 9.891 134.345 10.631 134.345 L 116.371 134.345 C 116.664 134.345 116.824 134.202 116.851 133.915 C 118.397 116.288 126.001 103.005 139.661 94.065 C 172.821 72.345 214.571 95.715 216.891 133.845 C 216.911 134.178 217.087 134.345 217.421 134.345 L 330.342 134.345 C 330.842 134.345 331.092 134.595 331.092 135.095 L 331.092 139.595 C 331.092 140.095 330.842 140.345 330.342 140.345 L 217.161 140.345 C 216.827 140.345 216.641 140.512 216.601 140.845 C 215.141 153.652 209.841 164.242 200.701 172.615 Z M 210.861 135.845 C 210.861 111.572 191.183 91.895 166.911 91.895 C 142.638 91.895 122.961 111.572 122.961 135.845 C 122.961 160.118 142.638 179.795 166.911 179.795 C 191.183 179.795 210.861 160.118 210.861 135.845 Z`,transform:`matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)`}),F.createElement(`path`,{fill:`currentColor`,d:`M 222.771 42.215 C 224.237 43.708 223.741 45.092 221.281 46.365 C 220.5 46.768 219.574 46.779 218.781 46.395 C 183.761 29.182 149.014 29.638 114.541 47.765 C 113.252 48.444 111.662 47.8 111.211 46.415 C 110.891 45.435 110.867 44.465 111.141 43.505 C 111.234 43.158 111.437 42.898 111.751 42.725 C 145.631 23.545 186.631 23.045 221.051 41.045 C 221.831 41.452 222.404 41.842 222.771 42.215 Z`,transform:`matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)`}),F.createElement(`text`,{style:{whiteSpace:`pre`,fontFamily:`Arial, sans-serif`,fontSize:16},x:`139.395`,y:`288.084`,transform:`matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)`},`vacuum`))}z();var nAo={headerID:{fontWeight:`bold`,fontStyle:`italic`},radio:{display:`inline-block`},dialogPaper:{height:`calc(100% - 96px)`}},I9=class extends F.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron==`string`&&this.props.cron.replace(/^["']/,``)[0]!==`{`?t=this.props.cron.replace(/['"]/g,``).trim():(t=this.props.cron||`{}`,typeof t==`string`&&(t=t.replace(/^["']/,``).replace(/["']\n?$/,``))),this.state={showWarning:``,cron:t}}handleCancel(){this.props.onClose()}handleOk(e){if(!e){let e=U3.cron2state(this.state.cron);if(e.seconds===`*`||e.seconds===`*/1`){this.setState({showWarning:`everySecond`});return}if(e.minutes===`*`||e.minutes===`*/1`){this.setState({showWarning:`everyMinute`});return}}this.props.onOk(this.state.cron),this.props.onClose()}renderWarningDialog(){return this.state.showWarning?F.createElement(o1,{title:Q.t(`ra_Please confirm`),text:Q.t(this.state.showWarning===`everySecond`?`ra_The schedule will be executed every second. Are you sure?`:`ra_The schedule will be executed every minute. Are you sure?`),onClose:e=>this.setState({showWarning:``},()=>{e&&this.handleOk(!0)})}):null}handleClear(){this.props.onOk(!1),this.props.onClose()}render(){return F.createElement(Ej,{onClose:()=>{},maxWidth:`md`,fullWidth:!0,sx:{"& .MuiDialog-paper":nAo.dialogPaper},open:!0,"aria-labelledby":`cron-dialog-title`},this.renderWarningDialog(),F.createElement(Aj,{id:`cron-dialog-title`},this.props.title||Q.t(`ra_Define schedule...`)),F.createElement(Oj,{style:{height:`100%`,overflow:`hidden`}},F.createElement(U3,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:Q.getLanguage()})),F.createElement(Dj,null,!!this.props.clearButton&&F.createElement(yj,{color:`grey`,variant:`contained`,onClick:()=>this.handleClear(),startIcon:F.createElement(pQ,null)},this.props.clear||Q.t(`ra_Clear`)),F.createElement(yj,{variant:`contained`,onClick:()=>this.handleOk(),color:`primary`,startIcon:F.createElement(tQ,null)},this.props.ok||Q.t(`ra_Ok`)),F.createElement(yj,{color:`grey`,variant:`contained`,onClick:()=>this.handleCancel(),startIcon:F.createElement(eQ,null)},this.props.cancel||Q.t(`ra_Cancel`))))}};z();var rAo={dialogPaper:{height:`calc(100% - 96px)`}},L9=class extends F.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron==`string`&&this.props.cron.replace(/^["']/,``)[0]!==`{`?t=this.props.cron.replace(/['"]/g,``).trim():(t=this.props.cron||`{}`,typeof t==`string`&&(t=t.replace(/^["']/,``).replace(/["']\n?$/,``))),this.state={cron:t,mode:this.props.simple?`simple`:this.props.complex?`complex`:(typeof t==`object`||t[0]===`{`)&&!this.props.noWizard?`wizard`:A9(this.props.cron||`* * * * *`)?`simple`:`complex`}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}setMode(e){this.setState({mode:e})}render(){return F.createElement(Ej,{onClose:()=>{},maxWidth:`md`,fullWidth:!0,sx:{"& .MuiDialog-paper":rAo.dialogPaper},open:!0,"aria-labelledby":`cron-dialog-title`},F.createElement(Aj,{id:`cron-dialog-title`},this.props.title||Q.t(`ra_Define schedule...`)),F.createElement(Oj,{style:{height:`100%`,overflow:`hidden`}},this.props.simple&&this.props.complex||!this.props.simple&&!this.props.complex?F.createElement(`div`,null,!this.props.simple&&!this.props.complex&&!this.props.noWizard&&F.createElement(F.Fragment,null,F.createElement(tM,{key:`wizard`,checked:this.state.mode===`wizard`,onChange:()=>this.setMode(`wizard`)}),F.createElement(`label`,{onClick:()=>this.setMode(`wizard`),style:this.state.mode===`wizard`?{}:{color:`lightgrey`}},Q.t(`sc_wizard`))),(!this.props.simple&&!this.props.complex||this.props.simple)&&F.createElement(F.Fragment,null,F.createElement(tM,{key:`simple`,checked:this.state.mode===`simple`,onChange:()=>this.setMode(`simple`)}),F.createElement(`label`,{onClick:()=>this.setMode(`simple`),style:this.state.mode===`simple`?{}:{color:`lightgrey`}},Q.t(`sc_simple`))),(!this.props.simple&&!this.props.complex||this.props.complex)&&F.createElement(F.Fragment,null,F.createElement(tM,{key:`complex`,checked:this.state.mode===`complex`,onChange:()=>this.setMode(`complex`)}),F.createElement(`label`,{onClick:()=>this.setMode(`complex`),style:this.state.mode===`complex`?{}:{color:`lightgrey`}},Q.t(`sc_cron`)))):null,this.state.mode===`simple`&&F.createElement(j9,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:Q.getLanguage()}),this.state.mode===`wizard`&&F.createElement(V7,{theme:this.props.theme,schedule:this.state.cron,onChange:e=>this.setState({cron:e})}),this.state.mode===`complex`&&F.createElement(U3,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:Q.getLanguage()})),F.createElement(Dj,null,F.createElement(yj,{variant:`contained`,onClick:()=>this.handleOk(),color:`primary`,startIcon:F.createElement(tQ,null)},this.props.ok||Q.t(`ra_Ok`)),F.createElement(yj,{variant:`contained`,onClick:()=>this.handleCancel(),color:`grey`,startIcon:F.createElement(eQ,null)},this.props.cancel||Q.t(`ra_Cancel`))))}};z();var R9=class extends Ne{handleOk(){this.props.onClose&&this.props.onClose()}render(){return F.createElement(Ej,{open:!0,maxWidth:`sm`,fullWidth:this.props.fullWidth===void 0||this.props.fullWidth,onClose:()=>this.handleOk(),"aria-labelledby":`ar_dialog_message_title`,"aria-describedby":`ar_dialog_message_description`},F.createElement(Aj,{id:`ar_dialog_message_title`},this.props.title||Q.t(`ra_Message`)),F.createElement(Oj,null,F.createElement(kj,{id:`ar_dialog_message_description`},F.createElement(`span`,{style:{marginRight:this.props.icon?8:0}},this.props.icon||null),this.props.text)),F.createElement(Dj,null,F.createElement(yj,{id:`ar_dialog_message_ok`,variant:`contained`,onClick:()=>this.handleOk(),color:`primary`,autoFocus:!0,startIcon:F.createElement(rQ,null)},this.props.ok||Q.t(`ra_Close`))))}};z();var z9={headerID:{fontWeight:`bold`,fontStyle:`italic`},dialog:{height:`95%`},dialogMobile:{padding:`4px`,width:`100%`,maxWidth:`100%`,maxHeight:`calc(100% - 16px)`,height:`100%`},content:{height:`100%`,overflow:`hidden`},contentMobile:{padding:`8px 4px`},titleRoot:{whiteSpace:`nowrap`,width:`calc(100% - 72px)`,overflow:`hidden`,display:`inline-block`,textOverflow:`ellipsis`}},B9=class extends F.Component{constructor(e){super(e),Y(this,`dialogName`,void 0),Y(this,`filters`,void 0),this.dialogName=this.props.dialogName||`default`,this.dialogName=`SelectFile.${this.dialogName}`;let t=(window._localStorage||window.localStorage).getItem(this.dialogName)||`{}`;try{this.filters=JSON.parse(t)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters});let n=this.props.selected||[];n=typeof n==`object`?[...n]:[n],n=n.filter(e=>e),this.state={selected:n}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.props.multiSelect||!Array.isArray(this.state.selected)?this.state.selected:this.state.selected[0]||``),this.props.onClose()}render(){let e;return e=this.state.selected.length?!Array.isArray(this.state.selected)||this.state.selected.length===1?[F.createElement(`span`,{key:`selected`},Q.t(`ra_Selected`),`\xA0`),F.createElement(`span`,{key:`id`,style:z9.headerID},this.state.selected)]:[F.createElement(`span`,{key:`selected`},Q.t(`ra_Selected`),`\xA0`),F.createElement(`span`,{key:`id`,style:z9.headerID},Q.t(`%s items`,this.state.selected.length))]:this.props.title||Q.t(`ra_Please select file...`),F.createElement(Ej,{onClose:()=>{},maxWidth:!1,style:{zIndex:this.props.zIndex||void 0},sx:{"& .MuiDialog-paper":{...z9.dialog,...z9.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":`ar_dialog_selectfile_title`},F.createElement(Aj,{id:`ar_dialog_selectfile_title`,sx:{"&.MuiDialogTitle-root":z9.titleRoot}},e),F.createElement(Oj,{style:{...z9.content,...z9.contentMobile}},F.createElement(d8,{ready:!0,imagePrefix:this.props.imagePrefix||this.props.prefix||`../`,allowUpload:!!this.props.allowUpload,allowDownload:this.props.allowDownload!==!1,allowCreateFolder:!!this.props.allowCreateFolder,allowDelete:!!this.props.allowDelete,allowView:this.props.allowView!==!1,showViewTypeButton:this.props.showViewTypeButton!==!1,showToolbar:this.props.showToolbar!==!1,limitPath:this.props.limitPath,filterFiles:this.props.filterFiles,filterByType:this.props.filterByType,selected:this.props.selected,restrictToFolder:this.props.restrictToFolder,allowNonRestricted:this.props.allowNonRestricted,onSelect:(e,t,n)=>{this.setState({selected:Array.isArray(e)?e:[e]},()=>t&&(!this.props.selectOnlyFolders||n)&&this.handleOk())},t:this.props.t||Q.t,lang:this.props.lang||Q.getLanguage(),socket:this.props.socket,themeType:this.props.themeType,themeName:this.props.themeName,theme:this.props.theme,showExpertButton:this.props.showExpertButton,expertMode:this.props.expertMode,showTypeSelector:this.props.showTypeSelector})),F.createElement(Dj,null,F.createElement(yj,{variant:`contained`,onClick:()=>this.handleOk(),startIcon:F.createElement(tQ,null),disabled:!this.state.selected.length,color:`primary`},this.props.ok||Q.t(`ra_Ok`)),F.createElement(yj,{color:`grey`,variant:`contained`,onClick:()=>this.handleCancel(),startIcon:F.createElement(eQ,null)},this.props.cancel||Q.t(`ra_Cancel`))))}};z();var iAo={dialogPaper:{height:`calc(100% - 96px)`}},V9=class extends F.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron==`string`&&this.props.cron.replace(/^["']/,``)[0]!==`{`?t=this.props.cron.replace(/['"]/g,``).trim():(t=this.props.cron||`{}`,typeof t==`string`&&(t=t.replace(/^["']/,``).replace(/["']\n?$/,``))),this.state={cron:t}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}render(){return F.createElement(Ej,{onClose:()=>{},maxWidth:`md`,fullWidth:!0,sx:{"& .MuiDialog-paper":iAo.dialogPaper},open:!0,"aria-labelledby":`cron-dialog-title`},F.createElement(Aj,{id:`cron-dialog-title`},this.props.title||Q.t(`ra_Define CRON...`)),F.createElement(Oj,{style:{height:`100%`,overflow:`hidden`}},F.createElement(j9,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:Q.getLanguage()})),F.createElement(Dj,null,F.createElement(yj,{variant:`contained`,disabled:!this.state.cron||this.state.cron.includes(`_`),onClick:()=>this.handleOk(),color:`primary`,startIcon:F.createElement(tQ,null)},this.props.ok||Q.t(`ra_Ok`)),F.createElement(yj,{variant:`contained`,onClick:()=>this.handleCancel(),color:`grey`,startIcon:F.createElement(eQ,null)},this.props.cancel||Q.t(`ra_Cancel`))))}};function H9(e){var t;return e.type===`object`?`iobobject://${e.address}/${e.path||``}`:e.type===`state`?`iobstate://${e.address}`:e.type===`file`?`iobfile://${e.address}/${e.path||``}`:e.type===`http`?e.address:(t=e.path)!=null&&t.includes(`/`)?`iobfile://${e.address}/${e.path}`:e.path?`iobobject://${e.address}/${e.path}`:`iobstate://${e.address}`}function U9(e){let t={type:`object`,address:``};if(e.startsWith(`iobobject://`)){t.type=`object`,e=e.replace(`iobobject://`,``);let n=e.split(`/`);t.address=n[0],t.path=n[1]}else if(e.startsWith(`iobstate://`)){t.type=`state`,e=e.replace(`iobstate://`,``);let n=e.split(`/`);t.address=n[0],t.path=n[1]}else if(e.startsWith(`iobfile://`)){t.type=`file`,e=e.replace(`iobfile://`,``);let n=e.split(`/`);t.address=n.shift()||``,t.path=n.join(`/`)}else if(e.startsWith(`http://`)||e.startsWith(`https://`))t.type=`http`,t.address=e;else if(e.startsWith(`data:`))t.type=`base64`,t.address=e;else{let n=e.split(`/`);if(n.length===2){if(t.address=n[0],t.path=n[1],t.path.includes(`.`))t.type=`object`;else if(t.path){if(t.path===`val`||t.path===`q`||t.path===`ack`||t.path===`ts`||t.path===`lc`||t.path===`from`||t.path===`user`||t.path===`expire`||t.path===`c`)t.type=`state`;else if(t.path===`common`||t.path===`native`||t.path===`from`||t.path===`acl`||t.path===`type`)t.type=`object`;else throw Error(`Unknown path: ${t.path}`)}else t.type=`state`}else n.length===1?(t.address=n[0],t.type=`state`):(t.address=n.shift()||``,t.type=`file`,t.path=n.join(`/`))}return t}function W9(e,t,n){if(n||=0,e==null||!t)return e;if(t.length-1===n)return e[t[n]];if(typeof e==`object`)return W9(e[t[n]],t,n+1)}function G9(e,t,n,r){if(r||=0,e==null||!t)return n;if(t.length-1===r)return e[t[r]]=n,e;if(typeof e==`object`)return G9(e[t[r]],t,n,r+1)}async function K9(e,t){if(typeof e==`string`&&(e=U9(e)),e.type===`object`){var n;return W9(await t.getObject(e.address),(n=e.path)==null?void 0:n.split(`.`))}if(e.type===`state`){let n=await t.getState(e.address);return e.path?n==null?void 0:n[e.path]:n}if(e.type===`file`)return await t.readFile(e.address,e.path||``,!0);if(e.type===`http`)return fetch(e.address).then(e=>e.text()).then(e=>{if(e.startsWith(`{`)&&e.endsWith(`}`)||e.startsWith(`[`)&&e.endsWith(`]`))try{return JSON.parse(e)}catch{}return e});throw Error(`Unknown type: ${e.type}`)}var q9=e=>{let t={};return e.forEach(e=>{t[e]={requiredVersion:`*`,singleton:!0}}),t};function J9(e){let t=[`@emotion/react`,`@emotion/styled`,`@iobroker/gui-components`,`@iobroker/json-config`,`@iobroker/dm-gui-components`,`@mui/icons-material`,`@mui/material`,`@mui/x-date-pickers`,`date-fns`,`date-fns/locale`,`leaflet`,`leaflet-geosearch`,`react`,`react-ace`,`react-dom`,`react-dropzone`,`semver`];return Array.isArray(e)?q9(t.filter(t=>e.includes(t))):e&&(e.dependencies||e.devDependencies)?q9(t.filter(t=>{var n,r;return((n=e.dependencies)==null?void 0:n[t])||((r=e.devDependencies)==null?void 0:r[t])})):q9(t)}var Y9=r({AdminConnection:()=>eN,CardTitle:()=>K7,Cleaner:()=>F8,ColorPicker:()=>L3,ComplexCron:()=>U3,ComplexCronDialog:()=>I9,Confirm:()=>o1,Connection:()=>ZM,Cron:()=>L9,CustomModal:()=>G3,DeviceTypeIcon:()=>f5,DeviceTypeSelector:()=>m5,DialogComplexCron:()=>I9,DialogConfirm:()=>o1,DialogCron:()=>L9,DialogError:()=>s1,DialogMessage:()=>R9,DialogSelectFile:()=>B9,DialogSelectID:()=>h9,DialogSimpleCron:()=>V9,DialogTextInput:()=>D6,DoorClosed:()=>I8,DoorOpened:()=>L8,ERRORS:()=>JM,EXTENSIONS:()=>Y6,Error:()=>s1,FileBrowser:()=>d8,FileBrowserClass:()=>u8,FileViewer:()=>Q6,FileViewerClass:()=>Z6,FireOff:()=>R8,FireOn:()=>z8,FloodOff:()=>B8,FloodOn:()=>V8,Gate:()=>H8,GenericApp:()=>l1,HeatValve:()=>U8,Home:()=>W8,Humidity:()=>G8,I18n:()=>Q,ITEM_IMAGES:()=>p7,Icon:()=>q6,IconAdapter:()=>n7,IconAlias:()=>U6,IconButtonImage:()=>M9,IconChannel:()=>r7,IconClearFilter:()=>g7,IconClosed:()=>k6,IconCopy:()=>b7,IconDevice:()=>i7,IconDocument:()=>x7,IconDocumentReadOnly:()=>S7,IconExpert:()=>O6,IconFx:()=>N9,IconHome:()=>K8,IconInstance:()=>a7,IconLogout:()=>P9,IconNoIcon:()=>j6,IconOpen:()=>A6,IconPicker:()=>m8,IconSelector:()=>f8,IconState:()=>o7,IconVacuum:()=>F9,Image:()=>h8,InfoBox:()=>M7,InfoRow:()=>q7,Jalousie:()=>q8,Loader:()=>J$,LoaderHA:()=>q$,LoaderMV:()=>H$,LoaderNW:()=>U$,LoaderPT:()=>G$,LoaderVendor:()=>W$,Logo:()=>_5,MDUtils:()=>v5,MODERN_DARK:()=>DM,MODERN_LIGHT:()=>OM,Material:()=>J8,Message:()=>R9,MotionOff:()=>Y8,MotionOn:()=>X8,ObjectBrowser:()=>j7,ObjectBrowserClass:()=>A7,PERMISSION_ERROR:()=>YM,PROGRESS:()=>qM,PushButton:()=>Z8,RGB:()=>$8,RepairExpert:()=>Q8,Router:()=>Y$,STATES_NAME_ICONS:()=>g5,SaveCloseButtons:()=>i1,Schedule:()=>V7,ScrollbarStyles:()=>H7,SelectFile:()=>B9,SelectID:()=>h9,SelectWithIcon:()=>W7,SimpleCron:()=>j9,SimpleCronDialog:()=>V9,Socket:()=>e5,StatCard:()=>G7,TabContainer:()=>b5,TabContent:()=>S5,TabHeader:()=>C5,TableResize:()=>J7,TextInput:()=>D6,TextWithIcon:()=>X7,Theme:()=>BM,Thermometer:()=>t5,ThermometerSimple:()=>n5,Thermostat:()=>r5,ToggleThemeMenu:()=>Z7,TreeTable:()=>b9,UploadImage:()=>w9,Utils:()=>n1,Valve:()=>i5,WindowClosed:()=>a5,WindowOpened:()=>o5,WindowTilted:()=>s5,convertCronToText:()=>z3,copy:()=>Z$,cron2state:()=>A9,dictionary:()=>c1,extendDeviceTypeTranslation:()=>l5,getAttrInObject:()=>W9,getModernTheme:()=>MM,getSelectIdIcon:()=>G6,getSelectIdIconFromObjects:()=>R5,getSystemIcon:()=>W6,iobUriParse:()=>U9,iobUriRead:()=>K9,iobUriToString:()=>H9,moduleFederationShared:()=>J9,pattern2RegEx:()=>N5,printPrompt:()=>V$,setAttrInObject:()=>G9,withWidth:()=>E6}),X9=`__mf_module_cache__`;globalThis[X9]||={share:{},remote:{}},globalThis[X9].share||={},globalThis[X9].remote||={};var Z9=globalThis[X9];for(let e of Object.keys(Z9.share))if(e.startsWith(`default:`)){let t=e.slice(8);Z9.share[t]===void 0&&(Z9.share[t]=Z9.share[e])}else if(!e.includes(`:`)){let t=`default:`+e;Z9.share[t]===void 0&&(Z9.share[t]=Z9.share[e])}var aAo=(e,t)=>{let n=e[t.canonical];if(n!==void 0)return n;let r=t.aliases||[];for(let n of r){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=e[n];if(r!==void 0)return e[t.canonical]=r,r}},oAo=Symbol.for(`module-federation.shared-cache-listeners`),Q9=Symbol.for(`module-federation.shared-cache-owners`),sAo=e=>{let t=e[Q9];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,Q9,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},cAo=(e,t,n,r)=>{var i;e[t.canonical]=n;let a=t.aliases||[];for(let t of a)Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0});let o=e[Q9];r===void 0?o&&delete o[t.canonical]:sAo(e)[t.canonical]=r;let s=(i=e[oAo])==null?void 0:i[t.canonical];if(s)for(let e of s)e(n);return n},lAo=e=>{let t=(()=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t})();return t&&Object.getPrototypeOf(t)===null?Object.assign({},t):t},$9=aAo(Z9.share,{canonical:`default:@iobroker/gui-components`,aliases:[`@iobroker/gui-components`]});$9===void 0&&($9=lAo(Y9),cAo(Z9.share,{canonical:`default:@iobroker/gui-components`,aliases:[`@iobroker/gui-components`]},$9,`AiUsageComponentSet`)),(()=>{let e=Y9;for(let t=0;t<5;t++){let t=e==null?void 0:e.default;if(!t||typeof t!=`object`)return t??e;e=t}return e})();export{f5 as $,He as $a,Av as $i,JQ as $n,bM as $r,c1 as $t,V7 as A,$s as Aa,Uj as Ai,hQ as An,eN as Ar,f8 as At,a7 as B,Oi as Ba,nM as Bi,DQ as Bn,sM as Br,j6 as Bt,X7 as C,Eu as Ca,Lj as Ci,ZZ as Cn,C$ as Cr,z8 as Ct,G7 as D,Zc as Da,Bj as Di,aQ as Dn,wZ as Dr,F8 as Dt,q7 as E,al as Ea,zj as Ei,iQ as En,TZ as Er,I8 as Et,x7 as F,To as Fa,Qj as Fi,xQ as Fn,BM as Fr,Z6 as Ft,N5 as G,vn as Ga,kS as Gi,IQ as Gn,fM as Gr,E6 as Gt,r7 as H,V as Ha,hj as Hi,NQ as Hn,lM as Hr,k6 as Ht,b7 as I,So as Ia,$j as Ii,SQ as In,DM as Ir,q6 as It,b5 as J,hn as Ja,Ry as Ji,HQ as Jn,hM as Jr,U3 as Jt,C5 as K,Zt as Ka,hb as Ki,RQ as Kn,pM as Kr,S6 as Kt,g7 as L,xo as La,mj as Li,CQ as Ln,OM as Lr,G6 as Lt,j7 as M,ws as Ma,Yj as Mi,vQ as Mn,JM as Mr,u8 as Mt,A7 as N,gs as Na,Xj as Ni,yQ as Nn,YM as Nr,Y6 as Nt,W7 as O,Xc as Oa,Vj as Oi,cQ as On,CZ as Or,h8 as Ot,S7 as P,Ro as Pa,Zj as Pi,bQ as Pn,qM as Pr,Q6 as Pt,m5 as Q,Me as Qa,Uv as Qi,RZ as Qn,yM as Qr,l1 as Qt,p7 as R,H as Ra,eM as Ri,wQ as Rn,MM as Rr,W6 as Rt,Z7 as S,Au as Sa,Ij as Si,IZ as Sn,S$ as Sr,B8 as St,K7 as T,cl as Ta,fj as Ti,rQ as Tn,EZ as Tr,L8 as Tt,n7 as U,pi as Ua,aM as Ui,PQ as Un,uM as Ur,O6 as Ut,i7 as V,B as Va,rM as Vi,OQ as Vn,cM as Vr,A6 as Vt,R5 as W,fi as Wa,jS as Wi,FQ as Wn,dM as Wr,D6 as Wt,_5 as X,Rt as Xa,ry as Xi,WQ as Xn,_M as Xr,L3 as Xt,v5 as Y,bt as Ya,sy as Yi,UQ as Yn,gM as Yr,z3 as Yt,g5 as Z,F as Za,Wv as Zi,GQ as Zn,vM as Zr,x3 as Zt,j9 as _,cd as _a,dj as _i,F$ as _n,z as _o,g$ as _r,G8 as _t,K9 as a,Y_ as aa,bj as ai,Z$ as an,Je as ao,e$ as ar,r5 as at,b9 as b,Bu as ba,Nj as bi,R$ as bn,FZ as br,H8 as bt,V9 as c,eh as ca,Cj as ci,q$ as cn,et as co,r$ as cr,e5 as ct,L9 as d,Kp as da,Tj as di,U$ as dn,ot as do,c$ as dr,Z8 as dt,Tv as ea,xM as ei,s1 as en,Ue as eo,XQ as er,l5 as et,I9 as f,Wd as fa,Ej as fi,H$ as fn,lt as fo,l$ as fr,X8 as ft,M9 as g,Y as ga,Aj as gi,P$ as gn,ye as go,m$ as gr,K8 as gt,N9 as h,vd as ha,kj as hi,A$ as hn,ft as ho,f$ as hr,q8 as ht,U9 as i,Z_ as ia,yj as ii,Q as in,Ke as io,QQ as ir,i5 as it,M7 as j,Vs as ja,Jj as ji,_Q as jn,ZM as jr,d8 as jt,H7 as k,Yc as ka,Hj as ki,pQ as kn,SZ as kr,m8 as kt,B9 as l,ym as la,wj as li,G$ as ln,rt as lo,o$ as lr,$8 as lt,P9 as m,Ed as ma,Oj as mi,E$ as mn,R as mo,d$ as mr,J8 as mt,J9 as n,rv as na,_j as ni,i1 as nn,Ge as no,BZ as nr,o5 as nt,H9 as o,I_ as oa,xj as oi,Y$ as on,Ne as oo,t$ as or,n5 as ot,F9 as p,Rd as pa,Dj as pi,V$ as pn,dt as po,u$ as pr,Y8 as pt,S5 as q,zt as qa,Yy as qi,BQ as qn,mM as qr,G3 as qt,W9 as r,$_ as ra,TM as ri,n1 as rn,L as ro,VZ as rr,a5 as rt,G9 as s,Qh as sa,Sj as si,J$ as sn,$e as so,n$ as sr,t5 as st,Y9 as t,Sv as ta,SM as ti,o1 as tn,We as to,ZQ as tr,s5 as tt,R9 as u,om as ua,uj as ui,W$ as un,I as uo,s$ as ur,Q8 as ut,A9 as v,ed as va,jj as vi,I$ as vn,s as vo,_$ as vr,W8 as vt,J7 as w,W as wa,Rj as wi,tQ as wn,OZ as wr,R8 as wt,h9 as x,q as xa,Pj as xi,z$ as xn,x$ as xr,V8 as xt,w9 as y,qu as ya,Mj as yi,L$ as yn,ve as yo,v$ as yr,U8 as yt,o7 as z,ya as za,tM as zi,TQ as zn,lj as zr,U6 as zt};
|
|
1243
|
+
v-21.333H362.68c11.797,0,21.333-9.557,21.333-21.333V320C384.013,308.224,374.477,298.667,362.68,298.667z`}))}z();function F9(e){return F.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,onClick:t=>e.onClick&&e.onClick(t),viewBox:`0 0 339 339`,width:e.width||(e.fontSize===`small`?16:20),height:e.height||e.width||(e.fontSize===`small`?16:20),className:e.className,style:e.style},F.createElement(`path`,{fill:`currentColor`,d:`M 318.371 88.485 C 332.371 114.538 339.207 142.418 338.881 172.125 C 338.874 172.605 338.631 172.845 338.151 172.845 L 335.411 172.845 C 335.077 172.845 334.911 173.012 334.911 173.345 L 334.911 181.215 C 334.911 181.635 335.121 181.845 335.541 181.845 L 337.711 181.845 C 338.157 181.845 338.364 182.068 338.331 182.515 C 331.921 264.525 267.321 330.135 185.931 337.995 C 89.911 347.265 6.491 275.385 0.301 179.465 C 0.274 179.052 0.467 178.845 0.881 178.845 L 2.381 178.845 C 2.741 178.845 2.921 178.665 2.921 178.305 L 2.911 171.465 C 2.904 171.052 2.694 170.845 2.281 170.845 L 0.441 170.845 C 0.147 170.845 0.001 170.698 0.001 170.405 C -0.289 83.535 64.591 10.095 151.421 0.955 C 211.511 -5.375 269.171 20.055 305.341 68.135 C 305.538 68.391 305.938 68.338 306.062 68.039 C 306.065 68.031 306.068 68.023 306.071 68.015 L 311.541 51.395 C 311.63 51.125 311.924 50.977 312.201 51.065 L 316.881 52.625 C 317.274 52.758 317.407 53.022 317.281 53.415 L 310.271 74.305 C 310.157 74.645 310.197 74.968 310.391 75.275 L 314.011 80.905 C 314.204 81.205 314.481 81.378 314.841 81.425 L 336.771 84.365 C 337.124 84.412 337.277 84.612 337.231 84.965 L 336.601 89.775 C 336.547 90.182 336.321 90.358 335.921 90.305 L 318.721 87.975 C 318.267 87.915 318.151 88.085 318.371 88.485 Z M 200.701 172.615 C 170.541 200.245 121.671 181.975 117.251 140.865 C 117.211 140.518 117.017 140.345 116.671 140.345 L 8.941 140.345 C 8.68 140.346 8.46 140.532 8.421 140.785 C -10.469 249.095 80.901 345.385 189.421 331.625 C 265.701 321.955 325.741 260.435 332.311 183.415 C 343.611 50.895 200.811 -38.365 85.961 28.845 C 47.041 51.625 20.601 89.335 9.791 133.265 C 9.611 133.985 9.891 134.345 10.631 134.345 L 116.371 134.345 C 116.664 134.345 116.824 134.202 116.851 133.915 C 118.397 116.288 126.001 103.005 139.661 94.065 C 172.821 72.345 214.571 95.715 216.891 133.845 C 216.911 134.178 217.087 134.345 217.421 134.345 L 330.342 134.345 C 330.842 134.345 331.092 134.595 331.092 135.095 L 331.092 139.595 C 331.092 140.095 330.842 140.345 330.342 140.345 L 217.161 140.345 C 216.827 140.345 216.641 140.512 216.601 140.845 C 215.141 153.652 209.841 164.242 200.701 172.615 Z M 210.861 135.845 C 210.861 111.572 191.183 91.895 166.911 91.895 C 142.638 91.895 122.961 111.572 122.961 135.845 C 122.961 160.118 142.638 179.795 166.911 179.795 C 191.183 179.795 210.861 160.118 210.861 135.845 Z`,transform:`matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)`}),F.createElement(`path`,{fill:`currentColor`,d:`M 222.771 42.215 C 224.237 43.708 223.741 45.092 221.281 46.365 C 220.5 46.768 219.574 46.779 218.781 46.395 C 183.761 29.182 149.014 29.638 114.541 47.765 C 113.252 48.444 111.662 47.8 111.211 46.415 C 110.891 45.435 110.867 44.465 111.141 43.505 C 111.234 43.158 111.437 42.898 111.751 42.725 C 145.631 23.545 186.631 23.045 221.051 41.045 C 221.831 41.452 222.404 41.842 222.771 42.215 Z`,transform:`matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)`}),F.createElement(`text`,{style:{whiteSpace:`pre`,fontFamily:`Arial, sans-serif`,fontSize:16},x:`139.395`,y:`288.084`,transform:`matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)`},`vacuum`))}z();var nAo={headerID:{fontWeight:`bold`,fontStyle:`italic`},radio:{display:`inline-block`},dialogPaper:{height:`calc(100% - 96px)`}},I9=class extends F.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron==`string`&&this.props.cron.replace(/^["']/,``)[0]!==`{`?t=this.props.cron.replace(/['"]/g,``).trim():(t=this.props.cron||`{}`,typeof t==`string`&&(t=t.replace(/^["']/,``).replace(/["']\n?$/,``))),this.state={showWarning:``,cron:t}}handleCancel(){this.props.onClose()}handleOk(e){if(!e){let e=U3.cron2state(this.state.cron);if(e.seconds===`*`||e.seconds===`*/1`){this.setState({showWarning:`everySecond`});return}if(e.minutes===`*`||e.minutes===`*/1`){this.setState({showWarning:`everyMinute`});return}}this.props.onOk(this.state.cron),this.props.onClose()}renderWarningDialog(){return this.state.showWarning?F.createElement(o1,{title:Q.t(`ra_Please confirm`),text:Q.t(this.state.showWarning===`everySecond`?`ra_The schedule will be executed every second. Are you sure?`:`ra_The schedule will be executed every minute. Are you sure?`),onClose:e=>this.setState({showWarning:``},()=>{e&&this.handleOk(!0)})}):null}handleClear(){this.props.onOk(!1),this.props.onClose()}render(){return F.createElement(Ej,{onClose:()=>{},maxWidth:`md`,fullWidth:!0,sx:{"& .MuiDialog-paper":nAo.dialogPaper},open:!0,"aria-labelledby":`cron-dialog-title`},this.renderWarningDialog(),F.createElement(Aj,{id:`cron-dialog-title`},this.props.title||Q.t(`ra_Define schedule...`)),F.createElement(Oj,{style:{height:`100%`,overflow:`hidden`}},F.createElement(U3,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:Q.getLanguage()})),F.createElement(Dj,null,!!this.props.clearButton&&F.createElement(yj,{color:`grey`,variant:`contained`,onClick:()=>this.handleClear(),startIcon:F.createElement(pQ,null)},this.props.clear||Q.t(`ra_Clear`)),F.createElement(yj,{variant:`contained`,onClick:()=>this.handleOk(),color:`primary`,startIcon:F.createElement(tQ,null)},this.props.ok||Q.t(`ra_Ok`)),F.createElement(yj,{color:`grey`,variant:`contained`,onClick:()=>this.handleCancel(),startIcon:F.createElement(eQ,null)},this.props.cancel||Q.t(`ra_Cancel`))))}};z();var rAo={dialogPaper:{height:`calc(100% - 96px)`}},L9=class extends F.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron==`string`&&this.props.cron.replace(/^["']/,``)[0]!==`{`?t=this.props.cron.replace(/['"]/g,``).trim():(t=this.props.cron||`{}`,typeof t==`string`&&(t=t.replace(/^["']/,``).replace(/["']\n?$/,``))),this.state={cron:t,mode:this.props.simple?`simple`:this.props.complex?`complex`:(typeof t==`object`||t[0]===`{`)&&!this.props.noWizard?`wizard`:A9(this.props.cron||`* * * * *`)?`simple`:`complex`}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}setMode(e){this.setState({mode:e})}render(){return F.createElement(Ej,{onClose:()=>{},maxWidth:`md`,fullWidth:!0,sx:{"& .MuiDialog-paper":rAo.dialogPaper},open:!0,"aria-labelledby":`cron-dialog-title`},F.createElement(Aj,{id:`cron-dialog-title`},this.props.title||Q.t(`ra_Define schedule...`)),F.createElement(Oj,{style:{height:`100%`,overflow:`hidden`}},this.props.simple&&this.props.complex||!this.props.simple&&!this.props.complex?F.createElement(`div`,null,!this.props.simple&&!this.props.complex&&!this.props.noWizard&&F.createElement(F.Fragment,null,F.createElement(tM,{key:`wizard`,checked:this.state.mode===`wizard`,onChange:()=>this.setMode(`wizard`)}),F.createElement(`label`,{onClick:()=>this.setMode(`wizard`),style:this.state.mode===`wizard`?{}:{color:`lightgrey`}},Q.t(`sc_wizard`))),(!this.props.simple&&!this.props.complex||this.props.simple)&&F.createElement(F.Fragment,null,F.createElement(tM,{key:`simple`,checked:this.state.mode===`simple`,onChange:()=>this.setMode(`simple`)}),F.createElement(`label`,{onClick:()=>this.setMode(`simple`),style:this.state.mode===`simple`?{}:{color:`lightgrey`}},Q.t(`sc_simple`))),(!this.props.simple&&!this.props.complex||this.props.complex)&&F.createElement(F.Fragment,null,F.createElement(tM,{key:`complex`,checked:this.state.mode===`complex`,onChange:()=>this.setMode(`complex`)}),F.createElement(`label`,{onClick:()=>this.setMode(`complex`),style:this.state.mode===`complex`?{}:{color:`lightgrey`}},Q.t(`sc_cron`)))):null,this.state.mode===`simple`&&F.createElement(j9,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:Q.getLanguage()}),this.state.mode===`wizard`&&F.createElement(V7,{theme:this.props.theme,schedule:this.state.cron,onChange:e=>this.setState({cron:e})}),this.state.mode===`complex`&&F.createElement(U3,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:Q.getLanguage()})),F.createElement(Dj,null,F.createElement(yj,{variant:`contained`,onClick:()=>this.handleOk(),color:`primary`,startIcon:F.createElement(tQ,null)},this.props.ok||Q.t(`ra_Ok`)),F.createElement(yj,{variant:`contained`,onClick:()=>this.handleCancel(),color:`grey`,startIcon:F.createElement(eQ,null)},this.props.cancel||Q.t(`ra_Cancel`))))}};z();var R9=class extends Ne{handleOk(){this.props.onClose&&this.props.onClose()}render(){return F.createElement(Ej,{open:!0,maxWidth:`sm`,fullWidth:this.props.fullWidth===void 0||this.props.fullWidth,onClose:()=>this.handleOk(),"aria-labelledby":`ar_dialog_message_title`,"aria-describedby":`ar_dialog_message_description`},F.createElement(Aj,{id:`ar_dialog_message_title`},this.props.title||Q.t(`ra_Message`)),F.createElement(Oj,null,F.createElement(kj,{id:`ar_dialog_message_description`},F.createElement(`span`,{style:{marginRight:this.props.icon?8:0}},this.props.icon||null),this.props.text)),F.createElement(Dj,null,F.createElement(yj,{id:`ar_dialog_message_ok`,variant:`contained`,onClick:()=>this.handleOk(),color:`primary`,autoFocus:!0,startIcon:F.createElement(rQ,null)},this.props.ok||Q.t(`ra_Close`))))}};z();var z9={headerID:{fontWeight:`bold`,fontStyle:`italic`},dialog:{height:`95%`},dialogMobile:{padding:`4px`,width:`100%`,maxWidth:`100%`,maxHeight:`calc(100% - 16px)`,height:`100%`},content:{height:`100%`,overflow:`hidden`},contentMobile:{padding:`8px 4px`},titleRoot:{whiteSpace:`nowrap`,width:`calc(100% - 72px)`,overflow:`hidden`,display:`inline-block`,textOverflow:`ellipsis`}},B9=class extends F.Component{constructor(e){super(e),Y(this,`dialogName`,void 0),Y(this,`filters`,void 0),this.dialogName=this.props.dialogName||`default`,this.dialogName=`SelectFile.${this.dialogName}`;let t=(window._localStorage||window.localStorage).getItem(this.dialogName)||`{}`;try{this.filters=JSON.parse(t)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters});let n=this.props.selected||[];n=typeof n==`object`?[...n]:[n],n=n.filter(e=>e),this.state={selected:n}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.props.multiSelect||!Array.isArray(this.state.selected)?this.state.selected:this.state.selected[0]||``),this.props.onClose()}render(){let e;return e=this.state.selected.length?!Array.isArray(this.state.selected)||this.state.selected.length===1?[F.createElement(`span`,{key:`selected`},Q.t(`ra_Selected`),`\xA0`),F.createElement(`span`,{key:`id`,style:z9.headerID},this.state.selected)]:[F.createElement(`span`,{key:`selected`},Q.t(`ra_Selected`),`\xA0`),F.createElement(`span`,{key:`id`,style:z9.headerID},Q.t(`%s items`,this.state.selected.length))]:this.props.title||Q.t(`ra_Please select file...`),F.createElement(Ej,{onClose:()=>{},maxWidth:!1,style:{zIndex:this.props.zIndex||void 0},sx:{"& .MuiDialog-paper":{...z9.dialog,...z9.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":`ar_dialog_selectfile_title`},F.createElement(Aj,{id:`ar_dialog_selectfile_title`,sx:{"&.MuiDialogTitle-root":z9.titleRoot}},e),F.createElement(Oj,{style:{...z9.content,...z9.contentMobile}},F.createElement(d8,{ready:!0,imagePrefix:this.props.imagePrefix||this.props.prefix||`../`,allowUpload:!!this.props.allowUpload,allowDownload:this.props.allowDownload!==!1,allowCreateFolder:!!this.props.allowCreateFolder,allowDelete:!!this.props.allowDelete,allowView:this.props.allowView!==!1,showViewTypeButton:this.props.showViewTypeButton!==!1,showToolbar:this.props.showToolbar!==!1,limitPath:this.props.limitPath,filterFiles:this.props.filterFiles,filterByType:this.props.filterByType,selected:this.props.selected,restrictToFolder:this.props.restrictToFolder,allowNonRestricted:this.props.allowNonRestricted,onSelect:(e,t,n)=>{this.setState({selected:Array.isArray(e)?e:[e]},()=>t&&(!this.props.selectOnlyFolders||n)&&this.handleOk())},t:this.props.t||Q.t,lang:this.props.lang||Q.getLanguage(),socket:this.props.socket,themeType:this.props.themeType,themeName:this.props.themeName,theme:this.props.theme,showExpertButton:this.props.showExpertButton,expertMode:this.props.expertMode,showTypeSelector:this.props.showTypeSelector})),F.createElement(Dj,null,F.createElement(yj,{variant:`contained`,onClick:()=>this.handleOk(),startIcon:F.createElement(tQ,null),disabled:!this.state.selected.length,color:`primary`},this.props.ok||Q.t(`ra_Ok`)),F.createElement(yj,{color:`grey`,variant:`contained`,onClick:()=>this.handleCancel(),startIcon:F.createElement(eQ,null)},this.props.cancel||Q.t(`ra_Cancel`))))}};z();var iAo={dialogPaper:{height:`calc(100% - 96px)`}},V9=class extends F.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron==`string`&&this.props.cron.replace(/^["']/,``)[0]!==`{`?t=this.props.cron.replace(/['"]/g,``).trim():(t=this.props.cron||`{}`,typeof t==`string`&&(t=t.replace(/^["']/,``).replace(/["']\n?$/,``))),this.state={cron:t}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}render(){return F.createElement(Ej,{onClose:()=>{},maxWidth:`md`,fullWidth:!0,sx:{"& .MuiDialog-paper":iAo.dialogPaper},open:!0,"aria-labelledby":`cron-dialog-title`},F.createElement(Aj,{id:`cron-dialog-title`},this.props.title||Q.t(`ra_Define CRON...`)),F.createElement(Oj,{style:{height:`100%`,overflow:`hidden`}},F.createElement(j9,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:Q.getLanguage()})),F.createElement(Dj,null,F.createElement(yj,{variant:`contained`,disabled:!this.state.cron||this.state.cron.includes(`_`),onClick:()=>this.handleOk(),color:`primary`,startIcon:F.createElement(tQ,null)},this.props.ok||Q.t(`ra_Ok`)),F.createElement(yj,{variant:`contained`,onClick:()=>this.handleCancel(),color:`grey`,startIcon:F.createElement(eQ,null)},this.props.cancel||Q.t(`ra_Cancel`))))}};function H9(e){var t;return e.type===`object`?`iobobject://${e.address}/${e.path||``}`:e.type===`state`?`iobstate://${e.address}`:e.type===`file`?`iobfile://${e.address}/${e.path||``}`:e.type===`http`?e.address:(t=e.path)!=null&&t.includes(`/`)?`iobfile://${e.address}/${e.path}`:e.path?`iobobject://${e.address}/${e.path}`:`iobstate://${e.address}`}function U9(e){let t={type:`object`,address:``};if(e.startsWith(`iobobject://`)){t.type=`object`,e=e.replace(`iobobject://`,``);let n=e.split(`/`);t.address=n[0],t.path=n[1]}else if(e.startsWith(`iobstate://`)){t.type=`state`,e=e.replace(`iobstate://`,``);let n=e.split(`/`);t.address=n[0],t.path=n[1]}else if(e.startsWith(`iobfile://`)){t.type=`file`,e=e.replace(`iobfile://`,``);let n=e.split(`/`);t.address=n.shift()||``,t.path=n.join(`/`)}else if(e.startsWith(`http://`)||e.startsWith(`https://`))t.type=`http`,t.address=e;else if(e.startsWith(`data:`))t.type=`base64`,t.address=e;else{let n=e.split(`/`);if(n.length===2){if(t.address=n[0],t.path=n[1],t.path.includes(`.`))t.type=`object`;else if(t.path){if(t.path===`val`||t.path===`q`||t.path===`ack`||t.path===`ts`||t.path===`lc`||t.path===`from`||t.path===`user`||t.path===`expire`||t.path===`c`)t.type=`state`;else if(t.path===`common`||t.path===`native`||t.path===`from`||t.path===`acl`||t.path===`type`)t.type=`object`;else throw Error(`Unknown path: ${t.path}`)}else t.type=`state`}else n.length===1?(t.address=n[0],t.type=`state`):(t.address=n.shift()||``,t.type=`file`,t.path=n.join(`/`))}return t}function W9(e,t,n){if(n||=0,e==null||!t)return e;if(t.length-1===n)return e[t[n]];if(typeof e==`object`)return W9(e[t[n]],t,n+1)}function G9(e,t,n,r){if(r||=0,e==null||!t)return n;if(t.length-1===r)return e[t[r]]=n,e;if(typeof e==`object`)return G9(e[t[r]],t,n,r+1)}async function K9(e,t){if(typeof e==`string`&&(e=U9(e)),e.type===`object`){var n;return W9(await t.getObject(e.address),(n=e.path)==null?void 0:n.split(`.`))}if(e.type===`state`){let n=await t.getState(e.address);return e.path?n==null?void 0:n[e.path]:n}if(e.type===`file`)return await t.readFile(e.address,e.path||``,!0);if(e.type===`http`)return fetch(e.address).then(e=>e.text()).then(e=>{if(e.startsWith(`{`)&&e.endsWith(`}`)||e.startsWith(`[`)&&e.endsWith(`]`))try{return JSON.parse(e)}catch{}return e});throw Error(`Unknown type: ${e.type}`)}var q9=e=>{let t={};return e.forEach(e=>{t[e]={requiredVersion:`*`,singleton:!0}}),t};function J9(e){let t=[`@emotion/react`,`@emotion/styled`,`@iobroker/gui-components`,`@iobroker/json-config`,`@iobroker/dm-gui-components`,`@mui/icons-material`,`@mui/material`,`@mui/x-date-pickers`,`date-fns`,`date-fns/locale`,`leaflet`,`leaflet-geosearch`,`react`,`react-ace`,`react-dom`,`react-dropzone`,`semver`];return Array.isArray(e)?q9(t.filter(t=>e.includes(t))):e&&(e.dependencies||e.devDependencies)?q9(t.filter(t=>{var n,r;return((n=e.dependencies)==null?void 0:n[t])||((r=e.devDependencies)==null?void 0:r[t])})):q9(t)}var Y9=r({AdminConnection:()=>eN,CardTitle:()=>K7,Cleaner:()=>F8,ColorPicker:()=>L3,ComplexCron:()=>U3,ComplexCronDialog:()=>I9,Confirm:()=>o1,Connection:()=>ZM,Cron:()=>L9,CustomModal:()=>G3,DeviceTypeIcon:()=>f5,DeviceTypeSelector:()=>m5,DialogComplexCron:()=>I9,DialogConfirm:()=>o1,DialogCron:()=>L9,DialogError:()=>s1,DialogMessage:()=>R9,DialogSelectFile:()=>B9,DialogSelectID:()=>h9,DialogSimpleCron:()=>V9,DialogTextInput:()=>D6,DoorClosed:()=>I8,DoorOpened:()=>L8,ERRORS:()=>JM,EXTENSIONS:()=>Y6,Error:()=>s1,FileBrowser:()=>d8,FileBrowserClass:()=>u8,FileViewer:()=>Q6,FileViewerClass:()=>Z6,FireOff:()=>R8,FireOn:()=>z8,FloodOff:()=>B8,FloodOn:()=>V8,Gate:()=>H8,GenericApp:()=>l1,HeatValve:()=>U8,Home:()=>W8,Humidity:()=>G8,I18n:()=>Q,ITEM_IMAGES:()=>p7,Icon:()=>q6,IconAdapter:()=>n7,IconAlias:()=>U6,IconButtonImage:()=>M9,IconChannel:()=>r7,IconClearFilter:()=>g7,IconClosed:()=>k6,IconCopy:()=>b7,IconDevice:()=>i7,IconDocument:()=>x7,IconDocumentReadOnly:()=>S7,IconExpert:()=>O6,IconFx:()=>N9,IconHome:()=>K8,IconInstance:()=>a7,IconLogout:()=>P9,IconNoIcon:()=>j6,IconOpen:()=>A6,IconPicker:()=>m8,IconSelector:()=>f8,IconState:()=>o7,IconVacuum:()=>F9,Image:()=>h8,InfoBox:()=>M7,InfoRow:()=>q7,Jalousie:()=>q8,Loader:()=>J$,LoaderHA:()=>q$,LoaderMV:()=>H$,LoaderNW:()=>U$,LoaderPT:()=>G$,LoaderVendor:()=>W$,Logo:()=>_5,MDUtils:()=>v5,MODERN_DARK:()=>DM,MODERN_LIGHT:()=>OM,Material:()=>J8,Message:()=>R9,MotionOff:()=>Y8,MotionOn:()=>X8,ObjectBrowser:()=>j7,ObjectBrowserClass:()=>A7,PERMISSION_ERROR:()=>YM,PROGRESS:()=>qM,PushButton:()=>Z8,RGB:()=>$8,RepairExpert:()=>Q8,Router:()=>Y$,STATES_NAME_ICONS:()=>g5,SaveCloseButtons:()=>i1,Schedule:()=>V7,ScrollbarStyles:()=>H7,SelectFile:()=>B9,SelectID:()=>h9,SelectWithIcon:()=>W7,SimpleCron:()=>j9,SimpleCronDialog:()=>V9,Socket:()=>e5,StatCard:()=>G7,TabContainer:()=>b5,TabContent:()=>S5,TabHeader:()=>C5,TableResize:()=>J7,TextInput:()=>D6,TextWithIcon:()=>X7,Theme:()=>BM,Thermometer:()=>t5,ThermometerSimple:()=>n5,Thermostat:()=>r5,ToggleThemeMenu:()=>Z7,TreeTable:()=>b9,UploadImage:()=>w9,Utils:()=>n1,Valve:()=>i5,WindowClosed:()=>a5,WindowOpened:()=>o5,WindowTilted:()=>s5,convertCronToText:()=>z3,copy:()=>Z$,cron2state:()=>A9,dictionary:()=>c1,extendDeviceTypeTranslation:()=>l5,getAttrInObject:()=>W9,getModernTheme:()=>MM,getSelectIdIcon:()=>G6,getSelectIdIconFromObjects:()=>R5,getSystemIcon:()=>W6,iobUriParse:()=>U9,iobUriRead:()=>K9,iobUriToString:()=>H9,moduleFederationShared:()=>J9,pattern2RegEx:()=>N5,printPrompt:()=>V$,setAttrInObject:()=>G9,withWidth:()=>E6}),X9=`__mf_module_cache__`;globalThis[X9]||={share:{},remote:{}},globalThis[X9].share||={},globalThis[X9].remote||={};var Z9=globalThis[X9];for(let e of Object.keys(Z9.share))if(e.startsWith(`default:`)){let t=e.slice(8);Z9.share[t]===void 0&&(Z9.share[t]=Z9.share[e])}else if(!e.includes(`:`)){let t=`default:`+e;Z9.share[t]===void 0&&(Z9.share[t]=Z9.share[e])}var aAo=(e,t)=>{let n=e[t.canonical];if(n!==void 0)return n;let r=t.aliases||[];for(let n of r){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=e[n];if(r!==void 0)return e[t.canonical]=r,r}},oAo=Symbol.for(`module-federation.shared-cache-listeners`),Q9=Symbol.for(`module-federation.shared-cache-owners`),sAo=e=>{let t=e[Q9];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,Q9,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},cAo=(e,t,n,r)=>{var i;e[t.canonical]=n;let a=t.aliases||[];for(let t of a)Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0});let o=e[Q9];r===void 0?o&&delete o[t.canonical]:sAo(e)[t.canonical]=r;let s=(i=e[oAo])==null?void 0:i[t.canonical];if(s)for(let e of s)e(n);return n},lAo=e=>{let t=(()=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t})();return t&&Object.getPrototypeOf(t)===null?Object.assign({},t):t},$9=aAo(Z9.share,{canonical:`default:@iobroker/gui-components`,aliases:[`@iobroker/gui-components`]});$9===void 0&&($9=lAo(Y9),cAo(Z9.share,{canonical:`default:@iobroker/gui-components`,aliases:[`@iobroker/gui-components`]},$9,`AiUsageComponentSet`)),(()=>{let e=Y9;for(let t=0;t<5;t++){let t=e==null?void 0:e.default;if(!t||typeof t!=`object`)return t??e;e=t}return e})();export{f5 as $,Me as $a,Av as $i,JQ as $n,bM as $r,c1 as $t,V7 as A,$s as Aa,Uj as Ai,hQ as An,eN as Ar,f8 as At,a7 as B,Oi as Ba,nM as Bi,DQ as Bn,sM as Br,j6 as Bt,X7 as C,Eu as Ca,Lj as Ci,ZZ as Cn,C$ as Cr,z8 as Ct,G7 as D,Zc as Da,Bj as Di,aQ as Dn,wZ as Dr,F8 as Dt,q7 as E,al as Ea,zj as Ei,iQ as En,TZ as Er,I8 as Et,x7 as F,To as Fa,Qj as Fi,xQ as Fn,BM as Fr,Z6 as Ft,N5 as G,fi as Ga,kS as Gi,IQ as Gn,fM as Gr,E6 as Gt,r7 as H,B as Ha,hj as Hi,NQ as Hn,lM as Hr,k6 as Ht,b7 as I,So as Ia,$j as Ii,SQ as In,DM as Ir,q6 as It,b5 as J,zt as Ja,Ry as Ji,HQ as Jn,hM as Jr,U3 as Jt,C5 as K,vn as Ka,hb as Ki,RQ as Kn,pM as Kr,S6 as Kt,g7 as L,xo as La,mj as Li,CQ as Ln,OM as Lr,G6 as Lt,j7 as M,ws as Ma,Yj as Mi,vQ as Mn,JM as Mr,u8 as Mt,A7 as N,gs as Na,Xj as Ni,yQ as Nn,YM as Nr,Y6 as Nt,W7 as O,Xc as Oa,Vj as Oi,cQ as On,CZ as Or,h8 as Ot,S7 as P,Ro as Pa,Zj as Pi,bQ as Pn,qM as Pr,Q6 as Pt,m5 as Q,F as Qa,Uv as Qi,RZ as Qn,yM as Qr,l1 as Qt,p7 as R,H as Ra,eM as Ri,wQ as Rn,MM as Rr,W6 as Rt,Z7 as S,Au as Sa,Ij as Si,IZ as Sn,S$ as Sr,B8 as St,K7 as T,cl as Ta,fj as Ti,rQ as Tn,EZ as Tr,L8 as Tt,n7 as U,V as Ua,aM as Ui,PQ as Un,uM as Ur,O6 as Ut,i7 as V,xi as Va,rM as Vi,OQ as Vn,cM as Vr,A6 as Vt,R5 as W,pi as Wa,jS as Wi,FQ as Wn,dM as Wr,D6 as Wt,_5 as X,bt as Xa,ry as Xi,WQ as Xn,_M as Xr,L3 as Xt,v5 as Y,hn as Ya,sy as Yi,UQ as Yn,gM as Yr,z3 as Yt,g5 as Z,Rt as Za,Wv as Zi,GQ as Zn,vM as Zr,x3 as Zt,j9 as _,cd as _a,dj as _i,F$ as _n,ye as _o,g$ as _r,G8 as _t,K9 as a,Y_ as aa,bj as ai,Z$ as an,Ke as ao,e$ as ar,r5 as at,b9 as b,Bu as ba,Nj as bi,R$ as bn,ve as bo,FZ as br,H8 as bt,V9 as c,eh as ca,Cj as ci,q$ as cn,$e as co,r$ as cr,e5 as ct,L9 as d,Kp as da,Tj as di,U$ as dn,I as do,c$ as dr,Z8 as dt,Tv as ea,xM as ei,s1 as en,He as eo,XQ as er,l5 as et,I9 as f,Wd as fa,Ej as fi,H$ as fn,ot as fo,l$ as fr,X8 as ft,M9 as g,Y as ga,Aj as gi,P$ as gn,ft as go,m$ as gr,K8 as gt,N9 as h,vd as ha,kj as hi,A$ as hn,R as ho,f$ as hr,q8 as ht,U9 as i,Z_ as ia,yj as ii,Q as in,L as io,QQ as ir,i5 as it,M7 as j,Vs as ja,Jj as ji,_Q as jn,ZM as jr,d8 as jt,H7 as k,Yc as ka,Hj as ki,pQ as kn,SZ as kr,m8 as kt,B9 as l,ym as la,wj as li,G$ as ln,et as lo,o$ as lr,$8 as lt,P9 as m,Ed as ma,Oj as mi,E$ as mn,dt as mo,d$ as mr,J8 as mt,J9 as n,rv as na,_j as ni,i1 as nn,We as no,BZ as nr,o5 as nt,H9 as o,I_ as oa,xj as oi,Y$ as on,Je as oo,t$ as or,n5 as ot,F9 as p,Rd as pa,Dj as pi,V$ as pn,lt as po,u$ as pr,Y8 as pt,S5 as q,Zt as qa,Yy as qi,BQ as qn,mM as qr,G3 as qt,W9 as r,$_ as ra,TM as ri,n1 as rn,Ge as ro,VZ as rr,a5 as rt,G9 as s,Qh as sa,Sj as si,J$ as sn,Ne as so,n$ as sr,t5 as st,Y9 as t,Sv as ta,SM as ti,o1 as tn,Ue as to,ZQ as tr,s5 as tt,R9 as u,om as ua,uj as ui,W$ as un,rt as uo,s$ as ur,Q8 as ut,A9 as v,ed as va,jj as vi,I$ as vn,z as vo,_$ as vr,W8 as vt,J7 as w,W as wa,Rj as wi,tQ as wn,OZ as wr,R8 as wt,h9 as x,q as xa,Pj as xi,z$ as xn,x$ as xr,V8 as xt,w9 as y,qu as ya,Mj as yi,L$ as yn,s as yo,v$ as yr,U8 as yt,o7 as z,ya as za,tM as zi,TQ as zn,lj as zr,U6 as zt};
|