iobroker.javascript 10.4.2 → 10.4.4

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.
Files changed (112) hide show
  1. package/README.md +4 -2
  2. package/admin/assets/{AiChatPanel-Bh1UgzLN.js → AiChatPanel-DDMXsfSt.js} +2 -2
  3. package/admin/assets/{AiChatService-h1EHSXaR.js → AiChatService-DwMHP0xt.js} +1 -1
  4. package/admin/assets/AiDiffView-Bk-37CNd.js +1 -0
  5. package/admin/assets/{AiInlineProvider-CslJGmO0.js → AiInlineProvider-CXlH1WK8.js} +1 -1
  6. package/admin/assets/{BlocklyEditor-DD7PWWnm.js → BlocklyEditor-DY4OoiFv.js} +10 -10
  7. package/admin/assets/Compile-DUNqNndk.js +165 -0
  8. package/admin/assets/{Debugger-DcFTsY_u.js → Debugger-B5PuUkp6.js} +1 -1
  9. package/admin/assets/Diff-CumYKon3.js +1 -0
  10. package/admin/assets/{Documentation-DmTfviYr.js → Documentation-DDu-zfNv.js} +1 -1
  11. package/admin/assets/ExpandMore-CivgfFOr.js +1 -0
  12. package/admin/assets/{FbEditor-BCD6eDj-.js → FbEditor-D1m29HMt.js} +1 -1
  13. package/admin/assets/History-jUbe5GP0.js +1 -0
  14. package/admin/assets/Import-iMDY2N5I.js +1 -0
  15. package/admin/assets/MonacoDiff-D24nsTu6.js +1 -0
  16. package/admin/assets/NotificationsActive-DaZ6l1oz.js +1 -0
  17. package/admin/assets/RulesEditor-qd1dXeG0.js +1 -0
  18. package/admin/assets/{ScriptEditor-sb_g6vXT.js → ScriptEditor-DfX-VuXG.js} +1 -1
  19. package/admin/assets/ScriptEditorVanillaMonaco-DDf9Xgnp.js +3 -0
  20. package/admin/assets/Send-BggvRgCd.js +1 -0
  21. package/admin/assets/_virtual_mf-localSharedImportMap___mfe_internal__iobroker_javascript__mf_owner__1-DCbVrrFZ.js +1 -0
  22. package/admin/assets/{_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__57338878793567__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-8WiAnp-r.js → _virtual_mf___mfe_internal__iobroker_javascript__mf_owner__244278364413149__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-Lnn-CkVR.js} +53 -53
  23. package/admin/assets/{_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__57338878793567__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BCLgOrQh.js → _virtual_mf___mfe_internal__iobroker_javascript__mf_owner__244278364413149__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-z1D20r27.js} +1 -1
  24. package/admin/assets/aiPromptBuilder-BlIDJp0X.js +1 -0
  25. package/admin/assets/{blockly-B0t_IRJQ.js → blockly-C3YM75rJ.js} +48 -44
  26. package/admin/assets/blocklyTheme-DT7bwtSS.js +1 -0
  27. package/admin/assets/{blocks_action-CM4AAMF1.js → blocks_action-DpPxKVI7.js} +1 -1
  28. package/admin/assets/{blocks_convert-DIBthcQF.js → blocks_convert-BZem2yRU.js} +1 -1
  29. package/admin/assets/{blocks_logic-CJBNXoP3.js → blocks_logic-vMLrt5md.js} +1 -1
  30. package/admin/assets/{blocks_number-GuNZ4kQO.js → blocks_number-ImO9YZku.js} +1 -1
  31. package/admin/assets/{blocks_object-BFR1ocL_.js → blocks_object-Cfw-t61W.js} +1 -1
  32. package/admin/assets/{blocks_procedures-CQxCN9F8.js → blocks_procedures-Df_jKvkW.js} +1 -1
  33. package/admin/assets/{blocks_sendto-DSfpmOb2.js → blocks_sendto-BePXoq3l.js} +1 -1
  34. package/admin/assets/{blocks_switch-CzWnVKX-.js → blocks_switch-Cf1Ly48W.js} +1 -1
  35. package/admin/assets/{blocks_system-DVfA31Hy.js → blocks_system-D_7Ev6nN.js} +1 -1
  36. package/admin/assets/{blocks_text-CgO-seeL.js → blocks_text-CM4ZTMkn.js} +1 -1
  37. package/admin/assets/{blocks_time-DNQPTg92.js → blocks_time-CovNiZ5E.js} +1 -1
  38. package/admin/assets/{blocks_timeout-BXypxY7F.js → blocks_timeout-WxihPUYn.js} +1 -1
  39. package/admin/assets/{blocks_trigger-elp6XrND.js → blocks_trigger-cu2p03ud.js} +1 -1
  40. package/admin/assets/cronHoverProvider-CeC4ghkd.js +2 -0
  41. package/admin/assets/field_cron-CTSbO0Sj.js +1 -0
  42. package/admin/assets/field_oid-yf2RKHSk.js +1 -0
  43. package/admin/assets/field_script-WzNnU0JL.js +1 -0
  44. package/admin/assets/{helpers-Ch3tewpw.js → helpers-DLkZXmzA.js} +1 -1
  45. package/admin/assets/{hostInit-CflF0J5w.js → hostInit-DHGIvBts.js} +1 -1
  46. package/admin/assets/{index-_7Mh4AxK.js → index-BAjPlTzo.js} +6 -6
  47. package/admin/assets/inlineChatWidget-DvAKhg6g.js +2 -0
  48. package/admin/assets/{inlineDiffController-VazWO1wi.js → inlineDiffController-DOhV-sbU.js} +1 -1
  49. package/admin/assets/{loadBlocks-CGEGNJcd.js → loadBlocks-zPpF1gDy.js} +1 -1
  50. package/admin/assets/{mf-entry-bootstrap-0-536f3328.js → mf-entry-bootstrap-0-757148b7.js} +3 -3
  51. package/admin/assets/{pendingShares-WHCuAHKo.js → pendingShares-TGMPCf23.js} +1 -1
  52. package/admin/assets/reactour.esm-Q4nnZoim.js +137 -0
  53. package/admin/assets/{stateHoverProvider-BfhQov29.js → stateHoverProvider-GWaLOu7S.js} +1 -1
  54. package/admin/custom/assets/Components-2p8wiA9W.js +1 -0
  55. package/admin/custom/assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1-LoDUiIZH.js +1 -0
  56. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__211401881746328__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-D2tgwrcS.js +1 -0
  57. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__18840520564161__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-nQIzP_1l.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__211401881746328__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-D27wqFWN.js} +89 -89
  58. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__211401881746328__loadShare___mf_0_mui_mf_1_x_mf_2_date_mf_2_pickers__loadShare__.js-CAjPWACG.js +1 -0
  59. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__211401881746328__loadShare__date_mf_2_fns__loadShare__.js-B2r0vvPY.js +1 -0
  60. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__211401881746328__loadShare__shared-CdAm7fPH.js +2 -0
  61. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__211401881746328__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__-DAE9qWf5.js +122 -0
  62. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__211401881746328__prebuild__leaflet__prebuild__--WMuxzd-.js +1 -0
  63. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__18840520564161__prebuild__react_mf_2_dom_mf_1_client__prebuild__--phH3reL.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__211401881746328__prebuild__react_mf_2_dom_mf_1_client__prebuild__-DEIPBEui.js} +1 -1
  64. package/admin/custom/assets/{hostInit-CuGqkIzY.js → hostInit-CgdfLZgR.js} +1 -1
  65. package/admin/custom/assets/index-BqWkNbeU.js +1 -0
  66. package/admin/custom/assets/{lib-WawTWipl.js → lib-5TzGpBXO.js} +1 -1
  67. package/admin/custom/assets/{mf-entry-bootstrap-0-81b08d9c.js → mf-entry-bootstrap-0-3bac0bf3.js} +3 -3
  68. package/admin/custom/assets/pendingShares-fPzqQeON.js +2 -0
  69. package/admin/custom/customComponents.js +2 -2
  70. package/admin/mf-manifest.json +1 -1
  71. package/admin/mf-stats.json +1 -1
  72. package/admin/remoteEntry.js +2 -2
  73. package/admin/tab.html +2 -2
  74. package/build/lib/sandbox.js +50 -4
  75. package/build/lib/sandbox.js.map +1 -1
  76. package/build/main.js +26 -5
  77. package/build/main.js.map +1 -1
  78. package/io-package.json +13 -13
  79. package/package.json +3 -3
  80. package/admin/assets/AiDiffView-pmbNE43A.js +0 -1
  81. package/admin/assets/Compile-CHnsUZ3H.js +0 -165
  82. package/admin/assets/Diff-BMtToKAY.js +0 -1
  83. package/admin/assets/ExpandMore-BjBfK8y_.js +0 -1
  84. package/admin/assets/History-DM03Cwv-.js +0 -1
  85. package/admin/assets/Import-Bh_K9cpx.js +0 -1
  86. package/admin/assets/MonacoDiff-yYWwyqpx.js +0 -1
  87. package/admin/assets/NotificationsActive-B7pgt1LW.js +0 -1
  88. package/admin/assets/RulesEditor-CV-5poRY.js +0 -1
  89. package/admin/assets/ScriptEditorVanillaMonaco-DbOlv3vi.js +0 -3
  90. package/admin/assets/Send-Bo4QPFhQ.js +0 -1
  91. package/admin/assets/_virtual_mf-localSharedImportMap___mfe_internal__iobroker_javascript__mf_owner__1-B7myBQHF.js +0 -1
  92. package/admin/assets/aiPromptBuilder-jeMwCFvL.js +0 -1
  93. package/admin/assets/blocklyTheme-B0abPSuE.js +0 -1
  94. package/admin/assets/cronHoverProvider-CZrYrB2m.js +0 -2
  95. package/admin/assets/field_cron-m1xxzKf2.js +0 -1
  96. package/admin/assets/field_oid-BLNfi7lh.js +0 -1
  97. package/admin/assets/field_script-CGDpmlGL.js +0 -1
  98. package/admin/assets/inlineChatWidget-BfjarD99.js +0 -2
  99. package/admin/assets/reactour.esm-CETRUaME.js +0 -137
  100. package/admin/custom/assets/Components-C6UfjQAS.js +0 -1
  101. package/admin/custom/assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1-B1DaT32e.js +0 -1
  102. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__18840520564161__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-BRo2TJu1.js +0 -1
  103. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__18840520564161__loadShare___mf_0_mui_mf_1_x_mf_2_date_mf_2_pickers__loadShare__.js-DQfhTnYi.js +0 -1
  104. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__18840520564161__loadShare__date_mf_2_fns__loadShare__.js-BrsJpRn9.js +0 -1
  105. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__18840520564161__loadShare__shared-Bm5cq4Wz.js +0 -2
  106. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__18840520564161__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__-Bv9I6S4D.js +0 -122
  107. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__18840520564161__prebuild__leaflet__prebuild__-R1ziirob.js +0 -1
  108. package/admin/custom/assets/index-CgBEPuXx.js +0 -1
  109. package/admin/custom/assets/pendingShares-5RvH3v48.js +0 -2
  110. /package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__18840520564161__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-DbKT6Hsb.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__211401881746328__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-DbKT6Hsb.js} +0 -0
  111. /package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__18840520564161__loadShare__leaflet__loadShare__.js-D9EyCd42.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__211401881746328__loadShare__leaflet__loadShare__.js-D9EyCd42.js} +0 -0
  112. /package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__18840520564161__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__-CXpyx8Vy.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__211401881746328__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__-CXpyx8Vy.js} +0 -0
package/admin/tab.html CHANGED
@@ -27,9 +27,9 @@
27
27
 
28
28
  <script type="text/javascript" onerror="setTimeout(function(){window.location.reload()}, 5000)" src="./../../lib/js/socket.io.js"></script>
29
29
  <title>Scripts</title>
30
- <script type="module" crossorigin src="./assets/mf-entry-bootstrap-0-536f3328.js"></script>
30
+ <script type="module" crossorigin src="./assets/mf-entry-bootstrap-0-757148b7.js"></script>
31
31
  <link rel="stylesheet" crossorigin href="./assets/index-BHhhebRG.css">
32
- <link rel="modulepreload" crossorigin href="./assets/hostInit-CflF0J5w.js"><link rel="modulepreload" crossorigin href="./assets/index-_7Mh4AxK.js"><link rel="modulepreload" crossorigin href="./remoteEntry.js"><link rel="modulepreload" crossorigin href="./assets/_virtual_mf-localSharedImportMap___mfe_internal__iobroker_javascript__mf_owner__1-B7myBQHF.js"><link rel="modulepreload" crossorigin href="./assets/vite-preload-helper-BbbETgeG.js"><link rel="modulepreload" crossorigin href="./assets/helpers-DT5-3o-l.js"><link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-C0FnF6B9.js"><link rel="modulepreload" crossorigin href="./assets/_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__57338878793567__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-8WiAnp-r.js"><link rel="modulepreload" crossorigin href="./assets/_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__57338878793567__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BCLgOrQh.js"><link rel="modulepreload" crossorigin href="./assets/dist-CSJEdwl2.js"><link rel="modulepreload" crossorigin href="./assets/utils-BFhwh2EC.js"></head>
32
+ <link rel="modulepreload" crossorigin href="./assets/hostInit-DHGIvBts.js"><link rel="modulepreload" crossorigin href="./assets/index-BAjPlTzo.js"><link rel="modulepreload" crossorigin href="./remoteEntry.js"><link rel="modulepreload" crossorigin href="./assets/_virtual_mf-localSharedImportMap___mfe_internal__iobroker_javascript__mf_owner__1-DCbVrrFZ.js"><link rel="modulepreload" crossorigin href="./assets/vite-preload-helper-BbbETgeG.js"><link rel="modulepreload" crossorigin href="./assets/helpers-DT5-3o-l.js"><link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-C0FnF6B9.js"><link rel="modulepreload" crossorigin href="./assets/_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__244278364413149__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-Lnn-CkVR.js"><link rel="modulepreload" crossorigin href="./assets/_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__244278364413149__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-z1D20r27.js"><link rel="modulepreload" crossorigin href="./assets/dist-CSJEdwl2.js"><link rel="modulepreload" crossorigin href="./assets/utils-BFhwh2EC.js"></head>
33
33
  <body>
34
34
  <noscript> You need to enable JavaScript to run this app. </noscript>
35
35
  <script>
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.FORBIDDEN_CHARS = void 0;
37
+ exports.withCallerStack = withCallerStack;
37
38
  exports.normalizeStateDefault = normalizeStateDefault;
38
39
  exports.isValidPattern = isValidPattern;
39
40
  exports.pattern2RegEx = pattern2RegEx;
@@ -49,6 +50,40 @@ const fbRuntime = __importStar(require("./fb/runtime"));
49
50
  const types_1 = require("./fb/types");
50
51
  const patternCompareFunctions_1 = require("./patternCompareFunctions");
51
52
  const SCRIPT_CODE_MARKER = 'script.js.';
53
+ /**
54
+ * Lets the rejection of an asynchronous API function point to the script that called it.
55
+ *
56
+ * The errors are mostly created later, in a callback of the database or in a `setImmediate`, so their stack
57
+ * has no frame of the script. Unhandled by the script, such a rejection could not be told apart from one of
58
+ * the adapter itself (see the `error` handler in main.ts), and the controller terminated the adapter.
59
+ * The frames of the call are appended to the stack of the error, as long as they contain the script.
60
+ *
61
+ * @param fn The function returning a promise
62
+ */
63
+ function withCallerStack(fn) {
64
+ const wrapped = function (...args) {
65
+ // Only the frames are captured here; they become a text when `stack` is read, i.e. only on a rejection
66
+ const caller = {};
67
+ Error.captureStackTrace(caller, wrapped);
68
+ return fn.apply(this, args).catch((err) => {
69
+ const stack = err?.stack;
70
+ const callerStack = caller.stack;
71
+ if (typeof stack === 'string' &&
72
+ !stack.includes(SCRIPT_CODE_MARKER) &&
73
+ callerStack?.includes(SCRIPT_CODE_MARKER)) {
74
+ try {
75
+ // without the first line, it is the message of the captured object
76
+ err.stack = stack + callerStack.substring(callerStack.indexOf('\n'));
77
+ }
78
+ catch {
79
+ // the stack is read-only (e.g. of a frozen error, depending on the Node.js version): it stays as it is
80
+ }
81
+ }
82
+ throw err;
83
+ });
84
+ };
85
+ return wrapped;
86
+ }
52
87
  /**
53
88
  * State types whose value - and therefore whose default - is stored as JSON, not as itself.
54
89
  *
@@ -1167,9 +1202,8 @@ function sandBox(script, name, verbose, debug, context, logCollector) {
1167
1202
  callback = isAck;
1168
1203
  isAck = undefined;
1169
1204
  }
1170
- void result
1171
- .setStateAsync(state, isAck)
1172
- .then(() => typeof callback === 'function' && callback());
1205
+ // setStateHelper has already logged the error; without a catch, it would terminate the adapter
1206
+ void result.setStateAsync(state, isAck).then(() => typeof callback === 'function' && callback(), (err) => typeof callback === 'function' && callback(err));
1173
1207
  return this;
1174
1208
  };
1175
1209
  result.setStateAsync = async function (state, isAck) {
@@ -1182,7 +1216,8 @@ function sandBox(script, name, verbose, debug, context, logCollector) {
1182
1216
  callback = isAck;
1183
1217
  isAck = undefined;
1184
1218
  }
1185
- void result.setStateChangedAsync(state, isAck).then(() => typeof callback === 'function' && callback());
1219
+ // setStateHelper has already logged the error; without a catch, it would terminate the adapter
1220
+ void result.setStateChangedAsync(state, isAck).then(() => typeof callback === 'function' && callback(), () => { });
1186
1221
  return this;
1187
1222
  };
1188
1223
  result.setStateChangedAsync = async function (state, isAck) {
@@ -1190,6 +1225,10 @@ function sandBox(script, name, verbose, debug, context, logCollector) {
1190
1225
  await sandbox.setStateChangedAsync(this[i], state, isAck);
1191
1226
  }
1192
1227
  };
1228
+ // A rejection the script does not handle must be recognized as one of the script (see withCallerStack)
1229
+ result.getStateAsync = withCallerStack(result.getStateAsync);
1230
+ result.setStateAsync = withCallerStack(result.setStateAsync);
1231
+ result.setStateChangedAsync = withCallerStack(result.setStateChangedAsync);
1193
1232
  result.setStateDelayed = function (state, isAck, delay, clearRunning, callback) {
1194
1233
  if (typeof isAck !== 'boolean') {
1195
1234
  callback = clearRunning;
@@ -4987,6 +5026,13 @@ function sandBox(script, name, verbose, debug, context, logCollector) {
4987
5026
  sandbox.getHistoryAsync = (0, tools_1.promisify)(sandbox.getHistory);
4988
5027
  sandbox.httpGetAsync = (0, tools_1.promisify)(sandbox.httpGet);
4989
5028
  sandbox.httpPostAsync = (0, tools_1.promisify)(sandbox.httpPost);
5029
+ // A rejection the script does not handle must be recognized as one of the script (see withCallerStack)
5030
+ for (const prop of Object.keys(sandbox)) {
5031
+ const fn = sandbox[prop];
5032
+ if ((prop.endsWith('Async') || prop === 'jsonataExpression') && typeof fn === 'function') {
5033
+ sandbox[prop] = withCallerStack(fn);
5034
+ }
5035
+ }
4990
5036
  // Make all predefined properties and methods readonly so scripts cannot overwrite them
4991
5037
  for (const prop of Object.keys(sandbox)) {
4992
5038
  Object.defineProperty(sandbox, prop, {