iobroker.javascript 10.2.5 → 10.3.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 +6 -14
- package/admin/assets/AiChatPanel-CpY4Bun-.js +27 -0
- package/admin/assets/{AiChatService-BOL3J2Jd.js → AiChatService-QKcpW4jQ.js} +1 -1
- package/admin/assets/AiDiffView-DscPfZ38.js +1 -0
- package/admin/assets/{AiInlineProvider-BIlcrTkS.js → AiInlineProvider-DTSPKoXG.js} +1 -1
- package/admin/assets/BlocklyEditor-BZyoN1JE.js +301 -0
- package/admin/assets/Compile-B0uHjrBE.css +1 -0
- package/admin/assets/Compile-Oss28m_f.js +165 -0
- package/admin/assets/{Debugger-DwHHsh9O.js → Debugger-teJTIU-2.js} +4 -4
- package/admin/assets/{Documentation-Bc0RmoEF.js → Documentation-uz4Ut9pT.js} +4 -4
- package/admin/assets/ExpandMore-V5Ix1QB1.js +1 -0
- package/admin/assets/FbEditor-B8S-mCvc.css +1 -0
- package/admin/assets/FbEditor-aOZ-RpPV.js +15 -0
- package/admin/assets/Import-BIC5Ee9z.js +1 -0
- package/admin/assets/NotificationsActive-BdzH44gp.js +1 -0
- package/admin/assets/RulesEditor-CcDVthPa.js +1 -0
- package/admin/assets/{ScriptEditor-CEHpEFp7.js → ScriptEditor-CviB6Hif.js} +2 -2
- package/admin/assets/ScriptEditorVanillaMonaco-ByuXwybM.js +3 -0
- package/admin/assets/Send-Mdo32jMb.js +1 -0
- package/admin/assets/{_virtual_mf-localSharedImportMap___mfe_internal__iobroker_javascript__mf_owner__1-CM95r358.js → _virtual_mf-localSharedImportMap___mfe_internal__iobroker_javascript__mf_owner__1-BnL93BgK.js} +1 -1
- package/admin/assets/{_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__180366418666083__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BEpNZh4U.js → _virtual_mf___mfe_internal__iobroker_javascript__mf_owner__180366418666083__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-NI-3Uv4e.js} +75 -75
- package/admin/assets/{_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__180366418666083__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-FeM77flT.js → _virtual_mf___mfe_internal__iobroker_javascript__mf_owner__180366418666083__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-DVaMIZyC.js} +1 -1
- package/admin/assets/aiPromptBuilder-yTB6N2VT.js +1 -0
- package/admin/assets/blocklyTheme-CGhU3cEO.js +1 -0
- package/admin/assets/blocks_action-BQ4O7NRE.js +1 -0
- package/admin/assets/{blocks_convert-BP2RjhQH.js → blocks_convert-0VBjfhqQ.js} +1 -1
- package/admin/assets/blocks_logic-DAo99xDr.js +1 -0
- package/admin/assets/blocks_number-C--e19NU.js +1 -0
- package/admin/assets/blocks_object-D0TPhdzg.js +1 -0
- package/admin/assets/blocks_procedures-DgTxgXdB.js +3 -0
- package/admin/assets/{blocks_sendto-qIKzOAcV.js → blocks_sendto-CRIrtOUc.js} +1 -1
- package/admin/assets/blocks_switch-b_GYfF0n.js +2 -0
- package/admin/assets/blocks_system-BdkUdSsc.js +1 -0
- package/admin/assets/blocks_text-DSFhEVOf.js +1 -0
- package/admin/assets/blocks_time-CqALAiJp.js +1 -0
- package/admin/assets/blocks_timeout-yrOD2pZp.js +1 -0
- package/admin/assets/{blocks_trigger-CnmXLCUE.js → blocks_trigger-DeAYXpSS.js} +1 -1
- package/admin/assets/{cronHoverProvider-CcIFAhVy.js → cronHoverProvider-DoO2_tpG.js} +1 -1
- package/admin/assets/{field_cron-Ba46q8Qc.js → field_cron-D3Ts_s9M.js} +1 -1
- package/admin/assets/{field_oid-lWCjOzuq.js → field_oid-BRNXredg.js} +1 -1
- package/admin/assets/{field_script-BCWZHhnW.js → field_script-3X6ousg7.js} +1 -1
- package/admin/assets/helpers-BTGaTdnT.js +1 -0
- package/admin/assets/{hostInit-CVybS7BB.js → hostInit-2h2Cbsaw.js} +1 -1
- package/admin/assets/index-BHhhebRG.css +1 -0
- package/admin/assets/index-CbQlIKB_.js +156 -0
- package/admin/assets/{inlineChatWidget-N8xIkvxX.js → inlineChatWidget-BwQVCPkx.js} +2 -2
- package/admin/assets/{inlineDiffController-BuqYsKKq.js → inlineDiffController-BsDDsDHn.js} +2 -2
- package/admin/assets/loadBlocks-RpqM7PwO.js +117 -0
- package/admin/assets/loadMonaco-BVOEahNw.js +1 -0
- package/admin/assets/{mf-entry-bootstrap-0-a5a39621.js → mf-entry-bootstrap-0-0deef484.js} +3 -3
- package/admin/assets/{pendingShares-DOAkyFMS.js → pendingShares-BaAadIDv.js} +1 -1
- package/admin/assets/reactour.esm-DX9ZgYlx.js +137 -0
- package/admin/assets/{stateHoverProvider-BYAbe1Ay.js → stateHoverProvider-BEadnSXp.js} +1 -1
- package/admin/assets/tileFbd-CWAy7R7m.svg +85 -0
- package/admin/mf-manifest.json +1 -1
- package/admin/mf-stats.json +1 -1
- package/admin/remoteEntry.js +2 -2
- package/admin/tab.html +3 -7
- package/build/lib/fb/analyze.js +288 -0
- package/build/lib/fb/analyze.js.map +1 -0
- package/build/lib/fb/blocks.js +605 -0
- package/build/lib/fb/blocks.js.map +1 -0
- package/build/lib/fb/generate.js +326 -0
- package/build/lib/fb/generate.js.map +1 -0
- package/build/lib/fb/graph.js +240 -0
- package/build/lib/fb/graph.js.map +1 -0
- package/build/lib/fb/index.js +57 -0
- package/build/lib/fb/index.js.map +1 -0
- package/build/lib/fb/js.js +33 -0
- package/build/lib/fb/js.js.map +1 -0
- package/build/lib/fb/layout.js +205 -0
- package/build/lib/fb/layout.js.map +1 -0
- package/build/lib/fb/library.js +657 -0
- package/build/lib/fb/library.js.map +1 -0
- package/build/lib/fb/runtime.js +793 -0
- package/build/lib/fb/runtime.js.map +1 -0
- package/build/lib/fb/time.js +76 -0
- package/build/lib/fb/time.js.map +1 -0
- package/build/lib/fb/types.js +19 -0
- package/build/lib/fb/types.js.map +1 -0
- package/build/lib/fb/user.js +78 -0
- package/build/lib/fb/user.js.map +1 -0
- package/build/lib/javascript.d.ts +1 -1
- package/build/lib/mirror.js +4 -0
- package/build/lib/mirror.js.map +1 -1
- package/build/lib/sandbox.js +44 -0
- package/build/lib/sandbox.js.map +1 -1
- package/build/main.js +66 -1
- package/build/main.js.map +1 -1
- package/build/types.d.ts +9 -1
- package/docs/de/fbd.md +274 -0
- package/docs/en/fbd.md +260 -0
- package/io-package.json +39 -15
- package/package.json +1 -1
- package/admin/assets/AiChatPanel-oBeXbUFv.js +0 -27
- package/admin/assets/AiDiffView-C-KKjnJD.js +0 -1
- package/admin/assets/Error-DZ4vCykD.js +0 -1
- package/admin/assets/Import-Cu02ceLW.js +0 -1
- package/admin/assets/RulesEditor-QCbi1lV_.js +0 -1
- package/admin/assets/ScriptEditorVanillaMonaco-ChQmnk0p.js +0 -3
- package/admin/assets/aiPromptBuilder-DKler0UK.js +0 -1
- package/admin/assets/blocks_action-DywZVfRY.js +0 -1
- package/admin/assets/blocks_logic-CdTl5YZw.js +0 -1
- package/admin/assets/blocks_number-DXFd9Rva.js +0 -1
- package/admin/assets/blocks_object-by1uBDHi.js +0 -1
- package/admin/assets/blocks_procedures-BcJ7N70D.js +0 -3
- package/admin/assets/blocks_switch-dLF6hSJl.js +0 -2
- package/admin/assets/blocks_system-DmX-SBy8.js +0 -1
- package/admin/assets/blocks_text-BI4zNU3o.js +0 -1
- package/admin/assets/blocks_time-BgYA4Y_4.js +0 -1
- package/admin/assets/blocks_timeout-DUzgMyAu.js +0 -1
- package/admin/assets/helpers-CnEjYAup.js +0 -1
- package/admin/assets/index-B3s0zmWC.js +0 -871
- package/admin/assets/index-CXaeqPRy.css +0 -1
package/build/main.js
CHANGED
|
@@ -241,6 +241,8 @@ const TS_MEMORY_RELEASE_DELAY_MS = 60_000;
|
|
|
241
241
|
* gone and the type definitions and compilers are given back.
|
|
242
242
|
*/
|
|
243
243
|
const EDITOR_ONLINE_TIMEOUT_MS = 30_000;
|
|
244
|
+
/** An editor showing a function block diagram online asks every 10 s; after this, it is gone */
|
|
245
|
+
const FBD_WATCH_TIMEOUT_MS = 30_000;
|
|
244
246
|
/** How often it is checked whether the editor has gone away */
|
|
245
247
|
const EDITOR_CHECK_INTERVAL_MS = 10_000;
|
|
246
248
|
// compiler instance for global JS declarations. Built on the first compilation only - see LazyTsServer
|
|
@@ -368,6 +370,8 @@ class JavaScript extends adapter_core_1.Adapter {
|
|
|
368
370
|
typingPackageFiles = [];
|
|
369
371
|
/** Until when a script editor counts as open. Refreshed by every `editorPing` */
|
|
370
372
|
editorOnlineUntil = 0;
|
|
373
|
+
/** Counts the editors that started to show a function block diagram online - see `fbdWatch` */
|
|
374
|
+
fbdViewers = 0;
|
|
371
375
|
/** Checks regularly whether the editor is gone and the type definitions can be unloaded */
|
|
372
376
|
editorCheckInterval = null;
|
|
373
377
|
/** Set once the user has been told that TypeScript is compiled without type definitions */
|
|
@@ -502,6 +506,9 @@ class JavaScript extends adapter_core_1.Adapter {
|
|
|
502
506
|
scheduler: null,
|
|
503
507
|
timerId: 0,
|
|
504
508
|
rulesOpened: null, // opened rules
|
|
509
|
+
fbdWatch: new Map(),
|
|
510
|
+
fbdDebug: new Map(),
|
|
511
|
+
fbdDebugSettings: new Map(),
|
|
505
512
|
language: this.language || 'en',
|
|
506
513
|
updateLogSubscriptions: this.updateLogSubscriptions.bind(this),
|
|
507
514
|
convertBackStringifiedValues: this.convertBackStringifiedValues.bind(this),
|
|
@@ -1199,6 +1206,62 @@ class JavaScript extends adapter_core_1.Adapter {
|
|
|
1199
1206
|
console.log(`Enable messaging for ${this.context.rulesOpened}`);
|
|
1200
1207
|
break;
|
|
1201
1208
|
}
|
|
1209
|
+
case 'fbdWatch': {
|
|
1210
|
+
// An editor shows a function block diagram online. While it keeps asking, the runtime
|
|
1211
|
+
// of the script sends snapshots to `debug.fbd`; a window that just goes away is
|
|
1212
|
+
// forgotten after FBD_WATCH_TIMEOUT_MS. `full`: a new viewer, who needs everything once.
|
|
1213
|
+
// `path`: the instance of a user block whose inside the editor shows, like `b3/b7`.
|
|
1214
|
+
const { script, watch, full, path } = (obj.message || {});
|
|
1215
|
+
if (typeof script === 'string') {
|
|
1216
|
+
if (watch) {
|
|
1217
|
+
const current = this.context.fbdWatch.get(script);
|
|
1218
|
+
const until = Date.now() + FBD_WATCH_TIMEOUT_MS;
|
|
1219
|
+
// several editors may look into several instances
|
|
1220
|
+
const paths = current?.paths || new Map();
|
|
1221
|
+
if (typeof path === 'string' && path) {
|
|
1222
|
+
paths.set(path, until);
|
|
1223
|
+
}
|
|
1224
|
+
this.context.fbdWatch.set(script, {
|
|
1225
|
+
until,
|
|
1226
|
+
viewer: !current || full ? ++this.fbdViewers : current.viewer,
|
|
1227
|
+
paths,
|
|
1228
|
+
});
|
|
1229
|
+
}
|
|
1230
|
+
else {
|
|
1231
|
+
this.context.fbdWatch.delete(script);
|
|
1232
|
+
}
|
|
1233
|
+
}
|
|
1234
|
+
if (obj.callback) {
|
|
1235
|
+
this.sendTo(obj.from, obj.command, { ok: true }, obj.callback);
|
|
1236
|
+
}
|
|
1237
|
+
break;
|
|
1238
|
+
}
|
|
1239
|
+
case 'fbdDebug': {
|
|
1240
|
+
// The online view forces values, sets breakpoints or steps through a diagram. The
|
|
1241
|
+
// runtime of the script does it and answers with how it stands now.
|
|
1242
|
+
const { script, ...command } = (obj.message || {});
|
|
1243
|
+
const handler = typeof script === 'string' ? this.context.fbdDebug.get(script) : undefined;
|
|
1244
|
+
let result;
|
|
1245
|
+
if (!handler) {
|
|
1246
|
+
result = { error: 'The diagram does not run' };
|
|
1247
|
+
}
|
|
1248
|
+
else if (!this.context.fbdWatch.has(script)) {
|
|
1249
|
+
// everything the online view sets ends with it
|
|
1250
|
+
result = { error: 'The diagram is not shown online' };
|
|
1251
|
+
}
|
|
1252
|
+
else {
|
|
1253
|
+
try {
|
|
1254
|
+
result = { status: handler(command) };
|
|
1255
|
+
}
|
|
1256
|
+
catch (error) {
|
|
1257
|
+
result = { error: error.message };
|
|
1258
|
+
}
|
|
1259
|
+
}
|
|
1260
|
+
if (obj.callback) {
|
|
1261
|
+
this.sendTo(obj.from, obj.command, result, obj.callback);
|
|
1262
|
+
}
|
|
1263
|
+
break;
|
|
1264
|
+
}
|
|
1202
1265
|
case 'rulesOff': {
|
|
1203
1266
|
// maybe if (context.rulesOpened === obj.message)
|
|
1204
1267
|
console.log(`Disable messaging for ${this.context.rulesOpened}`);
|
|
@@ -3057,7 +3120,9 @@ class JavaScript extends adapter_core_1.Adapter {
|
|
|
3057
3120
|
obj.common.engineType ||= '';
|
|
3058
3121
|
if (obj.common.engineType.toLowerCase().startsWith('javascript') ||
|
|
3059
3122
|
obj.common.engineType === 'Blockly' ||
|
|
3060
|
-
obj.common.engineType === 'Rules'
|
|
3123
|
+
obj.common.engineType === 'Rules' ||
|
|
3124
|
+
// function block diagram: generated JavaScript, like Blockly and Rules (not known to @iobroker/types yet)
|
|
3125
|
+
obj.common.engineType === 'FBD') {
|
|
3061
3126
|
// Javascript
|
|
3062
3127
|
this.log.info(`${name}: start JavaScript (${obj.common.engineType})`);
|
|
3063
3128
|
let sourceFn = name;
|