@nocobase/plugin-workflow-javascript 2.2.0-beta.9 → 2.2.1

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 (39) hide show
  1. package/client-v2.d.ts +2 -0
  2. package/client-v2.js +1 -0
  3. package/dist/client/276.bfc00dac27f59a2d.js +10 -0
  4. package/dist/client/ScriptInstruction.d.ts +15 -127
  5. package/dist/client/index.d.ts +8 -0
  6. package/dist/client/index.js +1 -1
  7. package/dist/client-v2/276.244a1cb810576973.js +10 -0
  8. package/dist/client-v2/615.f243412a3cffbce9.js +10 -0
  9. package/dist/client-v2/components/CodeEditor.d.ts +16 -0
  10. package/dist/client-v2/index.d.ts +11 -0
  11. package/dist/client-v2/index.js +10 -0
  12. package/dist/client-v2/locale.d.ts +12 -0
  13. package/dist/{client/CodeEditor.d.ts → client-v2/nodes/components/script.d.ts} +2 -7
  14. package/dist/client-v2/nodes/script.d.ts +50 -0
  15. package/dist/client-v2/nodes/shared.d.ts +30 -0
  16. package/dist/client-v2/plugin.d.ts +13 -0
  17. package/dist/common/constants.d.ts +9 -0
  18. package/dist/common/constants.js +36 -0
  19. package/dist/externalVersion.js +10 -10
  20. package/dist/node_modules/joi/package.json +1 -1
  21. package/dist/node_modules/winston-transport/package.json +1 -1
  22. package/dist/server/QuickJs.js +9 -2
  23. package/dist/server/RunningJobs.d.ts +34 -0
  24. package/dist/server/RunningJobs.js +105 -0
  25. package/dist/server/ScriptInstruction.d.ts +9 -21
  26. package/dist/server/ScriptInstruction.js +45 -102
  27. package/dist/server/ScriptWorkerRunner.d.ts +27 -0
  28. package/dist/server/ScriptWorkerRunner.js +140 -0
  29. package/dist/server/TaskConsumer.d.ts +29 -0
  30. package/dist/server/TaskConsumer.js +317 -0
  31. package/dist/server/TaskRecovery.d.ts +22 -0
  32. package/dist/server/TaskRecovery.js +155 -0
  33. package/dist/server/Vm.js +8 -1
  34. package/dist/server/constants.d.ts +9 -0
  35. package/dist/server/constants.js +36 -0
  36. package/dist/server/plugin.d.ts +14 -0
  37. package/dist/server/plugin.js +92 -2
  38. package/package.json +4 -2
  39. package/dist/client/944.18159d8a1521708e.js +0 -10
@@ -0,0 +1,16 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import React from 'react';
10
+ type CodeEditorProps = {
11
+ value?: string;
12
+ onChange?: (value: string) => void;
13
+ disabled?: boolean;
14
+ };
15
+ export default function CodeEditor({ value, onChange, disabled }: CodeEditorProps): React.JSX.Element;
16
+ export {};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ export { default } from './plugin';
10
+ export * from './plugin';
11
+ export * from './locale';
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ !function(u,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("react-i18next"),require("@emotion/css"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@nocobase/plugin-workflow/client-v2"),require("@ant-design/icons"),require("@nocobase/flow-engine")):"function"==typeof define&&define.amd?define("@nocobase/plugin-workflow-javascript/client-v2",["react-i18next","@emotion/css","@nocobase/client-v2","react","antd","@nocobase/plugin-workflow/client-v2","@ant-design/icons","@nocobase/flow-engine"],e):"object"==typeof exports?exports["@nocobase/plugin-workflow-javascript/client-v2"]=e(require("react-i18next"),require("@emotion/css"),require("@nocobase/client-v2"),require("react"),require("antd"),require("@nocobase/plugin-workflow/client-v2"),require("@ant-design/icons"),require("@nocobase/flow-engine")):u["@nocobase/plugin-workflow-javascript/client-v2"]=e(u["react-i18next"],u["@emotion/css"],u["@nocobase/client-v2"],u.react,u.antd,u["@nocobase/plugin-workflow/client-v2"],u["@ant-design/icons"],u["@nocobase/flow-engine"])}(self,function(u,e,t,A,n,F,E,r){return function(){"use strict";var D,o,B,C={488:function(u,e,t){t.d(e,{CU:function(){return E},MZ:function(){return r},kj:function(){return o},pc:function(){return D}});var A=t(694),n=t(953);function F(u){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},A=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(A=A.concat(Object.getOwnPropertySymbols(t).filter(function(u){return Object.getOwnPropertyDescriptor(t,u).enumerable}))),A.forEach(function(e){var A;A=t[e],e in u?Object.defineProperty(u,e,{value:A,enumerable:!0,configurable:!0,writable:!0}):u[e]=A})}return u}var E="workflow-javascript";function r(u,e){return(0,A.tExpr)(u,F({ns:E},e))}function D(){return(0,n.useTranslation)([E,"client"],{nsMode:"fallback"})}function o(){var u=(0,A.useFlowEngine)();return function(e,t){return u.context.t(e,F({ns:[E,"client"],nsMode:"fallback"},t))}}},329:function(u,e,t){t.d(e,{Yn:function(){return F},lF:function(){return n},vs:function(){return r},y9:function(){return A}});var A=RegExp("^[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376-\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E-\\u066F\\u0671-\\u06D3\\u06D5\\u06E5-\\u06E6\\u06EE-\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4-\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088F\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F-\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC-\\u09DD\\u09DF-\\u09E1\\u09F0-\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F-\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32-\\u0A33\\u0A35-\\u0A36\\u0A38-\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2-\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0-\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F-\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32-\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C-\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99-\\u0B9A\\u0B9C\\u0B9E-\\u0B9F\\u0BA3-\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5C-\\u0C5D\\u0C60-\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDC-\\u0CDE\\u0CE0-\\u0CE1\\u0CF1-\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E46\\u0E81-\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065-\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE-\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5-\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183-\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3006\\u3031-\\u3035\\u303B-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7DC\\uA7F1-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD-\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}-\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{10300}-\\u{1031F}\\u{1032D}-\\u{10340}\\u{10342}-\\u{10349}\\u{10350}-\\u{10375}\\u{10380}-\\u{1039D}\\u{103A0}-\\u{103C3}\\u{103C8}-\\u{103CF}\\u{10400}-\\u{1049D}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{10570}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}-\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}-\\u{105BC}\\u{105C0}-\\u{105F3}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}-\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10860}-\\u{10876}\\u{10880}-\\u{1089E}\\u{108E0}-\\u{108F2}\\u{108F4}-\\u{108F5}\\u{10900}-\\u{10915}\\u{10920}-\\u{10939}\\u{10940}-\\u{10959}\\u{10980}-\\u{109B7}\\u{109BE}-\\u{109BF}\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A60}-\\u{10A7C}\\u{10A80}-\\u{10A9C}\\u{10AC0}-\\u{10AC7}\\u{10AC9}-\\u{10AE4}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B60}-\\u{10B72}\\u{10B80}-\\u{10B91}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10D00}-\\u{10D23}\\u{10D4A}-\\u{10D65}\\u{10D6F}-\\u{10D85}\\u{10E80}-\\u{10EA9}\\u{10EB0}-\\u{10EB1}\\u{10EC2}-\\u{10EC7}\\u{10F00}-\\u{10F1C}\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F70}-\\u{10F81}\\u{10FB0}-\\u{10FC4}\\u{10FE0}-\\u{10FF6}\\u{11003}-\\u{11037}\\u{11071}-\\u{11072}\\u{11075}\\u{11083}-\\u{110AF}\\u{110D0}-\\u{110E8}\\u{11103}-\\u{11126}\\u{11144}\\u{11147}\\u{11150}-\\u{11172}\\u{11176}\\u{11183}-\\u{111B2}\\u{111C1}-\\u{111C4}\\u{111DA}\\u{111DC}\\u{11200}-\\u{11211}\\u{11213}-\\u{1122B}\\u{1123F}-\\u{11240}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A8}\\u{112B0}-\\u{112DE}\\u{11305}-\\u{1130C}\\u{1130F}-\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}-\\u{11333}\\u{11335}-\\u{11339}\\u{1133D}\\u{11350}\\u{1135D}-\\u{11361}\\u{11380}-\\u{11389}\\u{1138B}\\u{1138E}\\u{11390}-\\u{113B5}\\u{113B7}\\u{113D1}\\u{113D3}\\u{11400}-\\u{11434}\\u{11447}-\\u{1144A}\\u{1145F}-\\u{11461}\\u{11480}-\\u{114AF}\\u{114C4}-\\u{114C5}\\u{114C7}\\u{11580}-\\u{115AE}\\u{115D8}-\\u{115DB}\\u{11600}-\\u{1162F}\\u{11644}\\u{11680}-\\u{116AA}\\u{116B8}\\u{11700}-\\u{1171A}\\u{11740}-\\u{11746}\\u{11800}-\\u{1182B}\\u{118A0}-\\u{118DF}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}-\\u{11916}\\u{11918}-\\u{1192F}\\u{1193F}\\u{11941}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D0}\\u{119E1}\\u{119E3}\\u{11A00}\\u{11A0B}-\\u{11A32}\\u{11A3A}\\u{11A50}\\u{11A5C}-\\u{11A89}\\u{11A9D}\\u{11AB0}-\\u{11AF8}\\u{11BC0}-\\u{11BE0}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C2E}\\u{11C40}\\u{11C72}-\\u{11C8F}\\u{11D00}-\\u{11D06}\\u{11D08}-\\u{11D09}\\u{11D0B}-\\u{11D30}\\u{11D46}\\u{11D60}-\\u{11D65}\\u{11D67}-\\u{11D68}\\u{11D6A}-\\u{11D89}\\u{11D98}\\u{11DB0}-\\u{11DDB}\\u{11EE0}-\\u{11EF2}\\u{11F02}\\u{11F04}-\\u{11F10}\\u{11F12}-\\u{11F33}\\u{11FB0}\\u{12000}-\\u{12399}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF0}\\u{13000}-\\u{1342F}\\u{13441}-\\u{13446}\\u{13460}-\\u{143FA}\\u{14400}-\\u{14646}\\u{16100}-\\u{1611D}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A70}-\\u{16ABE}\\u{16AD0}-\\u{16AED}\\u{16B00}-\\u{16B2F}\\u{16B40}-\\u{16B43}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16D40}-\\u{16D6C}\\u{16E40}-\\u{16E7F}\\u{16EA0}-\\u{16EB8}\\u{16EBB}-\\u{16ED3}\\u{16F00}-\\u{16F4A}\\u{16F50}\\u{16F93}-\\u{16F9F}\\u{16FE0}-\\u{16FE1}\\u{16FE3}\\u{16FF2}-\\u{16FF3}\\u{17000}-\\u{18CD5}\\u{18CFF}-\\u{18D1E}\\u{18D80}-\\u{18DF2}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}-\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1B155}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}-\\u{1D49F}\\u{1D4A2}\\u{1D4A5}-\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D6C0}\\u{1D6C2}-\\u{1D6DA}\\u{1D6DC}-\\u{1D6FA}\\u{1D6FC}-\\u{1D714}\\u{1D716}-\\u{1D734}\\u{1D736}-\\u{1D74E}\\u{1D750}-\\u{1D76E}\\u{1D770}-\\u{1D788}\\u{1D78A}-\\u{1D7A8}\\u{1D7AA}-\\u{1D7C2}\\u{1D7C4}-\\u{1D7CB}\\u{1DF00}-\\u{1DF1E}\\u{1DF25}-\\u{1DF2A}\\u{1E030}-\\u{1E06D}\\u{1E100}-\\u{1E12C}\\u{1E137}-\\u{1E13D}\\u{1E14E}\\u{1E290}-\\u{1E2AD}\\u{1E2C0}-\\u{1E2EB}\\u{1E4D0}-\\u{1E4EB}\\u{1E5D0}-\\u{1E5ED}\\u{1E5F0}\\u{1E6C0}-\\u{1E6DE}\\u{1E6E0}-\\u{1E6E2}\\u{1E6E4}-\\u{1E6E5}\\u{1E6E7}-\\u{1E6ED}\\u{1E6F0}-\\u{1E6F4}\\u{1E6FE}-\\u{1E6FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}-\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1E800}-\\u{1E8C4}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}-\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}-\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}-\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B81D}\\u{2B820}-\\u{2CEAD}\\u{2CEB0}-\\u{2EBE0}\\u{2EBF0}-\\u{2EE5D}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{31350}-\\u{33479}$_][\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376-\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E-\\u066F\\u0671-\\u06D3\\u06D5\\u06E5-\\u06E6\\u06EE-\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4-\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088F\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F-\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC-\\u09DD\\u09DF-\\u09E1\\u09F0-\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F-\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32-\\u0A33\\u0A35-\\u0A36\\u0A38-\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2-\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0-\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F-\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32-\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C-\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99-\\u0B9A\\u0B9C\\u0B9E-\\u0B9F\\u0BA3-\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5C-\\u0C5D\\u0C60-\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDC-\\u0CDE\\u0CE0-\\u0CE1\\u0CF1-\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E46\\u0E81-\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065-\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE-\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5-\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183-\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3006\\u3031-\\u3035\\u303B-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7DC\\uA7F1-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD-\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}-\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{10300}-\\u{1031F}\\u{1032D}-\\u{10340}\\u{10342}-\\u{10349}\\u{10350}-\\u{10375}\\u{10380}-\\u{1039D}\\u{103A0}-\\u{103C3}\\u{103C8}-\\u{103CF}\\u{10400}-\\u{1049D}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{10570}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}-\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}-\\u{105BC}\\u{105C0}-\\u{105F3}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}-\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10860}-\\u{10876}\\u{10880}-\\u{1089E}\\u{108E0}-\\u{108F2}\\u{108F4}-\\u{108F5}\\u{10900}-\\u{10915}\\u{10920}-\\u{10939}\\u{10940}-\\u{10959}\\u{10980}-\\u{109B7}\\u{109BE}-\\u{109BF}\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A60}-\\u{10A7C}\\u{10A80}-\\u{10A9C}\\u{10AC0}-\\u{10AC7}\\u{10AC9}-\\u{10AE4}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B60}-\\u{10B72}\\u{10B80}-\\u{10B91}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10D00}-\\u{10D23}\\u{10D4A}-\\u{10D65}\\u{10D6F}-\\u{10D85}\\u{10E80}-\\u{10EA9}\\u{10EB0}-\\u{10EB1}\\u{10EC2}-\\u{10EC7}\\u{10F00}-\\u{10F1C}\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F70}-\\u{10F81}\\u{10FB0}-\\u{10FC4}\\u{10FE0}-\\u{10FF6}\\u{11003}-\\u{11037}\\u{11071}-\\u{11072}\\u{11075}\\u{11083}-\\u{110AF}\\u{110D0}-\\u{110E8}\\u{11103}-\\u{11126}\\u{11144}\\u{11147}\\u{11150}-\\u{11172}\\u{11176}\\u{11183}-\\u{111B2}\\u{111C1}-\\u{111C4}\\u{111DA}\\u{111DC}\\u{11200}-\\u{11211}\\u{11213}-\\u{1122B}\\u{1123F}-\\u{11240}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A8}\\u{112B0}-\\u{112DE}\\u{11305}-\\u{1130C}\\u{1130F}-\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}-\\u{11333}\\u{11335}-\\u{11339}\\u{1133D}\\u{11350}\\u{1135D}-\\u{11361}\\u{11380}-\\u{11389}\\u{1138B}\\u{1138E}\\u{11390}-\\u{113B5}\\u{113B7}\\u{113D1}\\u{113D3}\\u{11400}-\\u{11434}\\u{11447}-\\u{1144A}\\u{1145F}-\\u{11461}\\u{11480}-\\u{114AF}\\u{114C4}-\\u{114C5}\\u{114C7}\\u{11580}-\\u{115AE}\\u{115D8}-\\u{115DB}\\u{11600}-\\u{1162F}\\u{11644}\\u{11680}-\\u{116AA}\\u{116B8}\\u{11700}-\\u{1171A}\\u{11740}-\\u{11746}\\u{11800}-\\u{1182B}\\u{118A0}-\\u{118DF}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}-\\u{11916}\\u{11918}-\\u{1192F}\\u{1193F}\\u{11941}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D0}\\u{119E1}\\u{119E3}\\u{11A00}\\u{11A0B}-\\u{11A32}\\u{11A3A}\\u{11A50}\\u{11A5C}-\\u{11A89}\\u{11A9D}\\u{11AB0}-\\u{11AF8}\\u{11BC0}-\\u{11BE0}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C2E}\\u{11C40}\\u{11C72}-\\u{11C8F}\\u{11D00}-\\u{11D06}\\u{11D08}-\\u{11D09}\\u{11D0B}-\\u{11D30}\\u{11D46}\\u{11D60}-\\u{11D65}\\u{11D67}-\\u{11D68}\\u{11D6A}-\\u{11D89}\\u{11D98}\\u{11DB0}-\\u{11DDB}\\u{11EE0}-\\u{11EF2}\\u{11F02}\\u{11F04}-\\u{11F10}\\u{11F12}-\\u{11F33}\\u{11FB0}\\u{12000}-\\u{12399}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF0}\\u{13000}-\\u{1342F}\\u{13441}-\\u{13446}\\u{13460}-\\u{143FA}\\u{14400}-\\u{14646}\\u{16100}-\\u{1611D}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A70}-\\u{16ABE}\\u{16AD0}-\\u{16AED}\\u{16B00}-\\u{16B2F}\\u{16B40}-\\u{16B43}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16D40}-\\u{16D6C}\\u{16E40}-\\u{16E7F}\\u{16EA0}-\\u{16EB8}\\u{16EBB}-\\u{16ED3}\\u{16F00}-\\u{16F4A}\\u{16F50}\\u{16F93}-\\u{16F9F}\\u{16FE0}-\\u{16FE1}\\u{16FE3}\\u{16FF2}-\\u{16FF3}\\u{17000}-\\u{18CD5}\\u{18CFF}-\\u{18D1E}\\u{18D80}-\\u{18DF2}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}-\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1B155}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}-\\u{1D49F}\\u{1D4A2}\\u{1D4A5}-\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D6C0}\\u{1D6C2}-\\u{1D6DA}\\u{1D6DC}-\\u{1D6FA}\\u{1D6FC}-\\u{1D714}\\u{1D716}-\\u{1D734}\\u{1D736}-\\u{1D74E}\\u{1D750}-\\u{1D76E}\\u{1D770}-\\u{1D788}\\u{1D78A}-\\u{1D7A8}\\u{1D7AA}-\\u{1D7C2}\\u{1D7C4}-\\u{1D7CB}\\u{1DF00}-\\u{1DF1E}\\u{1DF25}-\\u{1DF2A}\\u{1E030}-\\u{1E06D}\\u{1E100}-\\u{1E12C}\\u{1E137}-\\u{1E13D}\\u{1E14E}\\u{1E290}-\\u{1E2AD}\\u{1E2C0}-\\u{1E2EB}\\u{1E4D0}-\\u{1E4EB}\\u{1E5D0}-\\u{1E5ED}\\u{1E5F0}\\u{1E6C0}-\\u{1E6DE}\\u{1E6E0}-\\u{1E6E2}\\u{1E6E4}-\\u{1E6E5}\\u{1E6E7}-\\u{1E6ED}\\u{1E6F0}-\\u{1E6F4}\\u{1E6FE}-\\u{1E6FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}-\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1E800}-\\u{1E8C4}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}-\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}-\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}-\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B81D}\\u{2B820}-\\u{2CEAD}\\u{2CEB0}-\\u{2EBE0}\\u{2EBF0}-\\u{2EE5D}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{31350}-\\u{33479}\\u0030-\\u0039\\u00B2-\\u00B3\\u00B9\\u00BC-\\u00BE\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u09F4-\\u09F9\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0B72-\\u0B77\\u0BE6-\\u0BF2\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0CE6-\\u0CEF\\u0D58-\\u0D5E\\u0D66-\\u0D78\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F33\\u1040-\\u1049\\u1090-\\u1099\\u1369-\\u137C\\u16EE-\\u16F0\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19DA\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2150-\\u2182\\u2185-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2CFD\\u3007\\u3021-\\u3029\\u3038-\\u303A\\u3192-\\u3195\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\uA620-\\uA629\\uA6E6-\\uA6EF\\uA830-\\uA835\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19\\u{10107}-\\u{10133}\\u{10140}-\\u{10178}\\u{1018A}-\\u{1018B}\\u{102E1}-\\u{102FB}\\u{10320}-\\u{10323}\\u{10341}\\u{1034A}\\u{103D1}-\\u{103D5}\\u{104A0}-\\u{104A9}\\u{10858}-\\u{1085F}\\u{10879}-\\u{1087F}\\u{108A7}-\\u{108AF}\\u{108FB}-\\u{108FF}\\u{10916}-\\u{1091B}\\u{109BC}-\\u{109BD}\\u{109C0}-\\u{109CF}\\u{109D2}-\\u{109FF}\\u{10A40}-\\u{10A48}\\u{10A7D}-\\u{10A7E}\\u{10A9D}-\\u{10A9F}\\u{10AEB}-\\u{10AEF}\\u{10B58}-\\u{10B5F}\\u{10B78}-\\u{10B7F}\\u{10BA9}-\\u{10BAF}\\u{10CFA}-\\u{10CFF}\\u{10D30}-\\u{10D39}\\u{10D40}-\\u{10D49}\\u{10E60}-\\u{10E7E}\\u{10F1D}-\\u{10F26}\\u{10F51}-\\u{10F54}\\u{10FC5}-\\u{10FCB}\\u{11052}-\\u{1106F}\\u{110F0}-\\u{110F9}\\u{11136}-\\u{1113F}\\u{111D0}-\\u{111D9}\\u{111E1}-\\u{111F4}\\u{112F0}-\\u{112F9}\\u{11450}-\\u{11459}\\u{114D0}-\\u{114D9}\\u{11650}-\\u{11659}\\u{116C0}-\\u{116C9}\\u{116D0}-\\u{116E3}\\u{11730}-\\u{1173B}\\u{118E0}-\\u{118F2}\\u{11950}-\\u{11959}\\u{11BF0}-\\u{11BF9}\\u{11C50}-\\u{11C6C}\\u{11D50}-\\u{11D59}\\u{11DA0}-\\u{11DA9}\\u{11DE0}-\\u{11DE9}\\u{11F50}-\\u{11F59}\\u{11FC0}-\\u{11FD4}\\u{12400}-\\u{1246E}\\u{16130}-\\u{16139}\\u{16A60}-\\u{16A69}\\u{16AC0}-\\u{16AC9}\\u{16B50}-\\u{16B59}\\u{16B5B}-\\u{16B61}\\u{16D70}-\\u{16D79}\\u{16E80}-\\u{16E96}\\u{16FF4}-\\u{16FF6}\\u{1CCF0}-\\u{1CCF9}\\u{1D2C0}-\\u{1D2D3}\\u{1D2E0}-\\u{1D2F3}\\u{1D360}-\\u{1D378}\\u{1D7CE}-\\u{1D7FF}\\u{1E140}-\\u{1E149}\\u{1E2F0}-\\u{1E2F9}\\u{1E4F0}-\\u{1E4F9}\\u{1E5F1}-\\u{1E5FA}\\u{1E8C7}-\\u{1E8CF}\\u{1E950}-\\u{1E959}\\u{1EC71}-\\u{1ECAB}\\u{1ECAD}-\\u{1ECAF}\\u{1ECB1}-\\u{1ECB4}\\u{1ED01}-\\u{1ED2D}\\u{1ED2F}-\\u{1ED3D}\\u{1F100}-\\u{1F10C}\\u{1FBF0}-\\u{1FBF9}$_]*$","u"),n={arguments:[],content:'return "Hello world!";',timeout:0,continue:!1},F=["string","number","boolean","date","object"],E={boolean:new Set(["checkbox"]),number:new Set(["integer","number","percent"]),string:new Set(["input","password","email","phone","select","radioGroup","text","markdown","richText"]),date:new Set(["datetime","datetimeNoTz","dateOnly","createdAt","updatedAt"])};function r(u){return null==u||!u.length||u.some(function(u){return"string"==typeof u&&(u in E||Object.values(E).some(function(e){return e.has(u)}))})}},375:function(u){u.exports=E},477:function(u){u.exports=e},485:function(u){u.exports=t},694:function(u){u.exports=r},197:function(u){u.exports=F},59:function(u){u.exports=n},155:function(u){u.exports=A},953:function(e){e.exports=u}},i={};function c(u){var e=i[u];if(void 0!==e)return e.exports;var t=i[u]={exports:{}};return C[u](t,t.exports,c),t.exports}c.m=C,c.n=function(u){var e=u&&u.__esModule?function(){return u.default}:function(){return u};return c.d(e,{a:e}),e},c.d=function(u,e){for(var t in e)c.o(e,t)&&!c.o(u,t)&&Object.defineProperty(u,t,{enumerable:!0,get:e[t]})},c.f={},c.e=function(u){return Promise.all(Object.keys(c.f).reduce(function(e,t){return c.f[t](u,e),e},[]))},c.u=function(u){return""+u+"."+({276:"244a1cb810576973",615:"f243412a3cffbce9"})[u]+".js"},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(u){if("object"==typeof window)return window}}(),c.o=function(u,e){return Object.prototype.hasOwnProperty.call(u,e)},a={},c.l=function(u,e,t,A){if(a[u])return void a[u].push(e);if(void 0!==t)for(var n,F,E=document.getElementsByTagName("script"),r=0;r<E.length;r++){var D=E[r];if(D.getAttribute("src")==u||D.getAttribute("data-rspack")=="@nocobase/plugin-workflow-javascript/client-v2:"+t){n=D;break}}n||(F=!0,(n=document.createElement("script")).timeout=120,c.nc&&n.setAttribute("nonce",c.nc),n.setAttribute("data-rspack","@nocobase/plugin-workflow-javascript/client-v2:"+t),n.src=u),a[u]=[e];var o=function(e,t){n.onerror=n.onload=null,clearTimeout(B);var A=a[u];if(delete a[u],n.parentNode&&n.parentNode.removeChild(n),A&&A.forEach(function(u){return u(t)}),e)return e(t)},B=setTimeout(o.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=o.bind(null,n.onerror),n.onload=o.bind(null,n.onload),F&&document.head.appendChild(n)},c.r=function(u){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})},c.g.importScripts&&(l=c.g.location+"");var a,l,f=c.g.document;if(!l&&f&&(f.currentScript&&"SCRIPT"===f.currentScript.tagName.toUpperCase()&&(l=f.currentScript.src),!l)){var s=f.getElementsByTagName("script");if(s.length)for(var p=s.length-1;p>-1&&(!l||!/^http(s?):/.test(l));)l=s[p--].src}if(!l)throw Error("Automatic publicPath is not supported in this browser");c.p=l.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),D={889:0},c.f.j=function(u,e){var t=c.o(D,u)?D[u]:void 0;if(0!==t)if(t)e.push(t[2]);else{var A=new Promise(function(e,A){t=D[u]=[e,A]});e.push(t[2]=A);var n=c.p+c.u(u),F=Error();c.l(n,function(e){if(c.o(D,u)&&(0!==(t=D[u])&&(D[u]=void 0),t)){var A=e&&("load"===e.type?"missing":e.type),n=e&&e.target&&e.target.src;F.message="Loading chunk "+u+" failed.\n("+A+": "+n+")",F.name="ChunkLoadError",F.type=A,F.request=n,t[1](F)}},"chunk-"+u,u)}},o=function(u,e){var t,A,n=e[0],F=e[1],E=e[2],r=0;if(n.some(function(u){return 0!==D[u]})){for(t in F)c.o(F,t)&&(c.m[t]=F[t]);E&&E(c)}for(u&&u(e);r<n.length;r++)A=n[r],c.o(D,A)&&D[A]&&D[A][0](),D[A]=0},(B=self.webpackChunk_nocobase_plugin_workflow_javascript_client_v2=self.webpackChunk_nocobase_plugin_workflow_javascript_client_v2||[]).forEach(o.bind(null,0)),B.push=o.bind(null,B.push.bind(B));var b={};return!function(){var u="",e="u">typeof document?document.currentScript:null;if(e&&e.src){var t=e.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"");t.indexOf("/static/plugins/@nocobase/plugin-workflow-javascript/dist/client-v2/")>=0&&(u=t.replace(/\/[^\/]+$/,"/"))}if(!u){var A=window.__webpack_public_path__||"";A&&("/"!==A.charAt(A.length-1)&&(A+="/"),u=A+"static/plugins/@nocobase/plugin-workflow-javascript/dist/client-v2/")}if(!u){var n=window.__nocobase_modern_client_prefix__||"v",F="/"+(n=String(n).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(u=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var E=window.location.pathname||"/",r=E.indexOf(F);u=r>=0?E.slice(0,r+1):"/"}u&&(u=u.replace(RegExp("/"+n+"/?$"),"/")),u||(u="/"),"/"!==u.charAt(u.length-1)&&(u+="/"),u+="static/plugins/@nocobase/plugin-workflow-javascript/dist/client-v2/"}c.p=u}(),!function(){c.r(b),c.d(b,{useWorkflowJavaScriptTranslation:function(){return E.pc},NAMESPACE:function(){return E.CU},PluginWorkflowJavaScriptClientV2:function(){return v},default:function(){return y},useT:function(){return E.kj},tExpr:function(){return E.MZ}});var u=c(485),e="script",t=c(375),A=c(197),n=c(155),F=c.n(n),E=c(488),r=c(329);function D(u,e,t){return e in u?Object.defineProperty(u,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):u[e]=t,u}function o(u){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(u){return u.__proto__||Object.getPrototypeOf(u)})(u)}function B(u,e){return(B=Object.setPrototypeOf||function(u,e){return u.__proto__=e,u})(u,e)}function C(){try{var u=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(u){}return(C=function(){return!!u})()}var i=function(u){var A;if("function"!=typeof u&&null!==u)throw TypeError("Super expression must either be null or a function");function n(){var u,A,r;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return A=n,r=arguments,A=o(A),D(u=function(u,e){var t;if(e&&("object"==((t=e)&&"u">typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)||"function"==typeof e))return e;if(void 0===u)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return u}(this,C()?Reflect.construct(A,r||[],o(this).constructor):A.apply(this,r)),"type",e),D(u,"title",(0,E.MZ)("JavaScript")),D(u,"group","extended"),D(u,"description",(0,E.MZ)("Execute a piece of JavaScript in an isolated Node.js environment.")),D(u,"icon",F().createElement(t.CodeOutlined,null)),D(u,"testable",!0),D(u,"FieldsetLoader",function(){return Promise.all([c.e("615"),c.e("276")]).then(c.bind(c,423)).then(function(u){return{default:u.ScriptFieldset}})}),D(u,"translate",function(u){return u}),u}return n.prototype=Object.create(u&&u.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),u&&B(n,u),A=[{key:"bindTranslate",value:function(u){return this.translate=u,this}},{key:"createDefaultConfig",value:function(){return function(u){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},A=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(A=A.concat(Object.getOwnPropertySymbols(t).filter(function(u){return Object.getOwnPropertyDescriptor(t,u).enumerable}))),A.forEach(function(e){D(u,e,t[e])})}return u}({},r.lF)}},{key:"useVariables",value:function(u){var e=u.key,t=u.title,A=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).types;return(0,r.vs)(A)?{value:e,label:t}:null}},{key:"getCreateModelMenuItem",value:function(u){var e,t,A=u.node;return{key:null!=(e=A.title)?e:"#".concat(A.id),label:null!=(t=A.title)?t:"#".concat(A.id),useModel:"NodeValueModel",createModelOptions:{use:"NodeValueModel",stepParams:{valueSettings:{init:{dataSource:"{{$jobsMapByNodeKey.".concat(A.key,"}}"),defaultValue:this.translate("Script result")}},cardSettings:{titleDescription:{title:(0,E.MZ)("JavaScript")}}}}}}}],function(u,e){for(var t=0;t<e.length;t++){var A=e[t];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(u,A.key,A)}}(n.prototype,A),n}(A.Instruction);function a(u,e,t,A,n,F,E){try{var r=u[F](E),D=r.value}catch(u){t(u);return}r.done?e(D):Promise.resolve(D).then(A,n)}function l(u,e,t){return(l=d()?Reflect.construct:function(u,e,t){var A=[null];A.push.apply(A,e);var n=new(Function.bind.apply(u,A));return t&&s(n,t.prototype),n}).apply(null,arguments)}function f(u){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(u){return u.__proto__||Object.getPrototypeOf(u)})(u)}function s(u,e){return(s=Object.setPrototypeOf||function(u,e){return u.__proto__=e,u})(u,e)}function p(u){var e="function"==typeof Map?new Map:void 0;return(p=function(u){if(null===u||-1===Function.toString.call(u).indexOf("[native code]"))return u;if("function"!=typeof u)throw TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(u))return e.get(u);e.set(u,t)}function t(){return l(u,arguments,f(this).constructor)}return t.prototype=Object.create(u.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),s(t,u)})(u)}function d(){try{var u=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(u){}return(d=function(){return!!u})()}var v=function(u){var t;if("function"!=typeof u&&null!==u)throw TypeError("Super expression must either be null or a function");function A(){var u,e;if(!(this instanceof A))throw TypeError("Cannot call a class as a function");return u=A,e=arguments,u=f(u),function(u,e){var t;if(e&&("object"==((t=e)&&"u">typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)||"function"==typeof e))return e;if(void 0===u)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return u}(this,d()?Reflect.construct(u,e||[],f(this).constructor):u.apply(this,e))}return A.prototype=Object.create(u&&u.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),u&&s(A,u),t=[{key:"load",value:function(){var u;return(u=function(){var u,t,A;return function(u,e){var t,A,n,F={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},E=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),r=Object.defineProperty;return r(E,"next",{value:D(0)}),r(E,"throw",{value:D(1)}),r(E,"return",{value:D(2)}),"function"==typeof Symbol&&r(E,Symbol.iterator,{value:function(){return this}}),E;function D(r){return function(D){var o=[r,D];if(t)throw TypeError("Generator is already executing.");for(;E&&(E=0,o[0]&&(F=0)),F;)try{if(t=1,A&&(n=2&o[0]?A.return:o[0]?A.throw||((n=A.return)&&n.call(A),0):A.next)&&!(n=n.call(A,o[1])).done)return n;switch(A=0,n&&(o=[2&o[0],n.value]),o[0]){case 0:case 1:n=o;break;case 4:return F.label++,{value:o[1],done:!1};case 5:F.label++,A=o[1],o=[0];continue;case 7:o=F.ops.pop(),F.trys.pop();continue;default:if(!(n=(n=F.trys).length>0&&n[n.length-1])&&(6===o[0]||2===o[0])){F=0;continue}if(3===o[0]&&(!n||o[1]>n[0]&&o[1]<n[3])){F.label=o[1];break}if(6===o[0]&&F.label<n[1]){F.label=n[1],n=o;break}if(n&&F.label<n[2]){F.label=n[2],F.ops.push(o);break}n[2]&&F.ops.pop(),F.trys.pop();continue}o=e.call(u,F)}catch(u){o=[6,u],A=0}finally{t=n=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}}}(this,function(n){return u=this,null==(A=this.app.pm.get("workflow"))||null==(t=A.registerInstruction)||t.call(A,e,new i().bindTranslate(function(e){return String(u.t(e))})),[2]})},function(){var e=this,t=arguments;return new Promise(function(A,n){var F=u.apply(e,t);function E(u){a(F,A,n,E,r,"next",u)}function r(u){a(F,A,n,E,r,"throw",u)}E(void 0)})}).call(this)}}],function(u,e){for(var t=0;t<e.length;t++){var A=e[t];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(u,A.key,A)}}(A.prototype,t),A}(p(u.Plugin)),y=v}(),b}()});
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ export declare const NAMESPACE = "workflow-javascript";
10
+ export declare function tExpr(key: string, options?: Record<string, unknown>): string;
11
+ export declare function useWorkflowJavaScriptTranslation(): import("react-i18next").UseTranslationResponse<("workflow-javascript" | "client")[], undefined>;
12
+ export declare function useT(): (key: string, options?: Record<string, unknown>) => string;
@@ -7,10 +7,5 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import React from 'react';
10
- type Props = {
11
- onChange: Function;
12
- value: string;
13
- disabled: boolean;
14
- };
15
- declare const CodeEditor: React.FC<Props>;
16
- export default CodeEditor;
10
+ export declare function ScriptFieldset(): React.JSX.Element;
11
+ export default ScriptFieldset;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import { Instruction } from '@nocobase/plugin-workflow/client-v2';
10
+ import React from 'react';
11
+ import type { SubModelItem } from '@nocobase/flow-engine';
12
+ type ScriptVariableNode = {
13
+ key?: string;
14
+ title?: string;
15
+ };
16
+ type ScriptUseVariableOptions = {
17
+ types?: unknown[];
18
+ };
19
+ type WorkflowNodeLike = {
20
+ id: string | number;
21
+ key: string;
22
+ title?: string;
23
+ };
24
+ export default class ScriptInstruction extends Instruction {
25
+ type: string;
26
+ title: string;
27
+ group: string;
28
+ description: string;
29
+ icon: React.JSX.Element;
30
+ testable: boolean;
31
+ FieldsetLoader: () => Promise<{
32
+ default: typeof import("./components/script").ScriptFieldset;
33
+ }>;
34
+ private translate;
35
+ bindTranslate(translate: (key: string) => string): this;
36
+ createDefaultConfig(): {
37
+ arguments: import("./shared").ScriptArgumentConfig[];
38
+ content: string;
39
+ timeout: number;
40
+ continue: boolean;
41
+ };
42
+ useVariables({ key, title }: ScriptVariableNode, { types }?: ScriptUseVariableOptions): {
43
+ value: string;
44
+ label: string;
45
+ };
46
+ getCreateModelMenuItem({ node }: {
47
+ node: WorkflowNodeLike;
48
+ }): SubModelItem;
49
+ }
50
+ export {};
@@ -0,0 +1,30 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import type { TypedConstantSpec } from '@nocobase/client-v2';
10
+ export type ScriptArgumentConfig = {
11
+ name: string;
12
+ value?: unknown;
13
+ };
14
+ export type ScriptNodeConfig = {
15
+ arguments?: ScriptArgumentConfig[];
16
+ content?: string;
17
+ timeout?: number;
18
+ continue?: boolean;
19
+ };
20
+ export declare const SCRIPT_ARGUMENT_NAME_REGEXP: RegExp;
21
+ export declare const SCRIPT_DEFAULT_CONTENT = "return \"Hello world!\";";
22
+ export declare const SCRIPT_DEFAULT_CONFIG: Required<ScriptNodeConfig>;
23
+ export declare const SCRIPT_ARGUMENT_VALUE_TYPES: TypedConstantSpec[];
24
+ export declare const SCRIPT_VARIABLE_TYPE_SETS: {
25
+ readonly boolean: Set<string>;
26
+ readonly number: Set<string>;
27
+ readonly string: Set<string>;
28
+ readonly date: Set<string>;
29
+ };
30
+ export declare function supportsScriptVariableTypes(types?: unknown[]): boolean;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import { Application, Plugin } from '@nocobase/client-v2';
10
+ export declare class PluginWorkflowJavaScriptClientV2 extends Plugin<Record<string, never>, Application> {
11
+ load(): Promise<void>;
12
+ }
13
+ export default PluginWorkflowJavaScriptClientV2;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ export declare const SCRIPT_INSTRUCTION_TYPE = "script";
@@ -0,0 +1,36 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __export = (target, all) => {
15
+ for (var name in all)
16
+ __defProp(target, name, { get: all[name], enumerable: true });
17
+ };
18
+ var __copyProps = (to, from, except, desc) => {
19
+ if (from && typeof from === "object" || typeof from === "function") {
20
+ for (let key of __getOwnPropNames(from))
21
+ if (!__hasOwnProp.call(to, key) && key !== except)
22
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ }
24
+ return to;
25
+ };
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
+ var constants_exports = {};
28
+ __export(constants_exports, {
29
+ SCRIPT_INSTRUCTION_TYPE: () => SCRIPT_INSTRUCTION_TYPE
30
+ });
31
+ module.exports = __toCommonJS(constants_exports);
32
+ const SCRIPT_INSTRUCTION_TYPE = "script";
33
+ // Annotate the CommonJS export names for ESM import in node:
34
+ 0 && (module.exports = {
35
+ SCRIPT_INSTRUCTION_TYPE
36
+ });
@@ -8,16 +8,16 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "react": "18.2.0",
12
- "ahooks": "3.7.8",
13
- "antd-style": "3.7.1",
14
- "@formily/antd-v5": "1.2.3",
15
- "@ant-design/icons": "5.6.1",
16
- "@nocobase/client": "2.2.0-beta.9",
17
- "@nocobase/plugin-workflow": "2.2.0-beta.9",
18
- "antd": "5.24.2",
19
- "@nocobase/flow-engine": "2.2.0-beta.9",
11
+ "@nocobase/client": "2.2.1",
12
+ "@nocobase/plugin-workflow": "2.2.1",
13
+ "@nocobase/flow-engine": "2.2.1",
20
14
  "react-i18next": "11.18.6",
15
+ "@nocobase/client-v2": "2.2.1",
21
16
  "winston": "3.13.0",
22
- "@nocobase/server": "2.2.0-beta.9"
17
+ "@nocobase/server": "2.2.1",
18
+ "sequelize": "6.35.2",
19
+ "antd": "5.24.2",
20
+ "@emotion/css": "11.13.0",
21
+ "react": "18.2.0",
22
+ "@ant-design/icons": "5.6.1"
23
23
  };
@@ -1 +1 @@
1
- {"name":"joi","description":"Object schema validation","version":"17.13.3","repository":"git://github.com/hapijs/joi","main":"lib/index.js","types":"lib/index.d.ts","browser":"dist/joi-browser.min.js","files":["lib/**/*","dist/*"],"keywords":["schema","validation"],"dependencies":{"@hapi/hoek":"^9.3.0","@hapi/topo":"^5.1.0","@sideway/address":"^4.1.5","@sideway/formula":"^3.0.1","@sideway/pinpoint":"^2.0.0"},"devDependencies":{"@hapi/bourne":"2.x.x","@hapi/code":"8.x.x","@hapi/joi-legacy-test":"npm:@hapi/joi@15.x.x","@hapi/lab":"^25.1.3","@types/node":"^14.18.63","typescript":"4.3.x"},"scripts":{"prepublishOnly":"cd browser && npm install && npm run build","test":"lab -t 100 -a @hapi/code -L -Y","test-cov-html":"lab -r html -o coverage.html -a @hapi/code"},"license":"BSD-3-Clause","_lastModified":"2026-07-06T02:56:55.983Z"}
1
+ {"name":"joi","description":"Object schema validation","version":"17.13.3","repository":"git://github.com/hapijs/joi","main":"lib/index.js","types":"lib/index.d.ts","browser":"dist/joi-browser.min.js","files":["lib/**/*","dist/*"],"keywords":["schema","validation"],"dependencies":{"@hapi/hoek":"^9.3.0","@hapi/topo":"^5.1.0","@sideway/address":"^4.1.5","@sideway/formula":"^3.0.1","@sideway/pinpoint":"^2.0.0"},"devDependencies":{"@hapi/bourne":"2.x.x","@hapi/code":"8.x.x","@hapi/joi-legacy-test":"npm:@hapi/joi@15.x.x","@hapi/lab":"^25.1.3","@types/node":"^14.18.63","typescript":"4.3.x"},"scripts":{"prepublishOnly":"cd browser && npm install && npm run build","test":"lab -t 100 -a @hapi/code -L -Y","test-cov-html":"lab -r html -o coverage.html -a @hapi/code"},"license":"BSD-3-Clause","_lastModified":"2026-08-23T17:47:49.536Z"}
@@ -1 +1 @@
1
- {"name":"winston-transport","description":"Base stream implementations for winston@3 and up.","version":"4.7.0","main":"index.js","browser":"dist/index.js","scripts":{"lint":"eslint test/*.js index.js --resolve-plugins-relative-to ./node_modules/@dabh/eslint-config-populist","pretest":"npm run lint && npm run build","test":"nyc mocha test/*.test.js","report":"nyc report --reporter=lcov","build":"rimraf dist && babel *.js -d ./dist","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git@github.com:winstonjs/winston-transport.git"},"keywords":["winston","transport","winston3"],"author":"Charlie Robbins <charlie.robbins@gmail.com>","license":"MIT","bugs":{"url":"https://github.com/winstonjs/winston-transport/issues"},"homepage":"https://github.com/winstonjs/winston-transport#readme","dependencies":{"logform":"^2.3.2","readable-stream":"^3.6.0","triple-beam":"^1.3.0"},"devDependencies":{"@types/node":"^20.8.6","abstract-winston-transport":">=0.5.1","assume":"^2.3.0","babel-cli":"^6.26.0","babel-preset-env":"^1.7.0","deep-equal":"^2.0.5","eslint":"^8.8.0","@dabh/eslint-config-populist":"^5.0.0","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^5.0.5","winston-compat":"^0.1.5"},"engines":{"node":">= 12.0.0"},"_lastModified":"2026-07-06T02:56:56.670Z"}
1
+ {"name":"winston-transport","description":"Base stream implementations for winston@3 and up.","version":"4.7.0","main":"index.js","browser":"dist/index.js","scripts":{"lint":"eslint test/*.js index.js --resolve-plugins-relative-to ./node_modules/@dabh/eslint-config-populist","pretest":"npm run lint && npm run build","test":"nyc mocha test/*.test.js","report":"nyc report --reporter=lcov","build":"rimraf dist && babel *.js -d ./dist","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git@github.com:winstonjs/winston-transport.git"},"keywords":["winston","transport","winston3"],"author":"Charlie Robbins <charlie.robbins@gmail.com>","license":"MIT","bugs":{"url":"https://github.com/winstonjs/winston-transport/issues"},"homepage":"https://github.com/winstonjs/winston-transport#readme","dependencies":{"logform":"^2.3.2","readable-stream":"^3.6.0","triple-beam":"^1.3.0"},"devDependencies":{"@types/node":"^20.8.6","abstract-winston-transport":">=0.5.1","assume":"^2.3.0","babel-cli":"^6.26.0","babel-preset-env":"^1.7.0","deep-equal":"^2.0.5","eslint":"^8.8.0","@dabh/eslint-config-populist":"^5.0.0","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^5.0.5","winston-compat":"^0.1.5"},"engines":{"node":">= 12.0.0"},"_lastModified":"2026-08-23T17:47:50.273Z"}
@@ -108,7 +108,7 @@ ${source ?? ""}
108
108
  const runResult = context.evalCode(wrappedSource, "script.js");
109
109
  const promiseHandle = context.unwrapResult(runResult);
110
110
  try {
111
- while (true) {
111
+ for (; ; ) {
112
112
  const state = context.getPromiseState(promiseHandle);
113
113
  if (state.type === "fulfilled") {
114
114
  const valueHandle = state.value;
@@ -138,7 +138,14 @@ ${source ?? ""}
138
138
  runtime.dispose();
139
139
  }
140
140
  }
141
- main().then((result) => {
141
+ function flushOutput() {
142
+ const flush = (stream) => new Promise((resolve, reject) => {
143
+ stream.write("", (error) => error ? reject(error) : resolve());
144
+ });
145
+ return Promise.all([flush(process.stdout), flush(process.stderr)]);
146
+ }
147
+ main().then(async (result) => {
148
+ await flushOutput();
142
149
  parentPort.postMessage({ type: "result", result });
143
150
  }).catch((error) => {
144
151
  throw error;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import type WorkflowPlugin from '@nocobase/plugin-workflow';
10
+ type ID = number | string;
11
+ type RunningJavaScriptJob = {
12
+ jobId: ID;
13
+ executionId: ID;
14
+ abort(reason?: unknown): void;
15
+ };
16
+ export declare const JAVASCRIPT_SYNC_MESSAGE_CHANNEL = "@nocobase/plugin-workflow-javascript";
17
+ export declare const ABORT_JAVASCRIPT_JOB_SYNC_MESSAGE_TYPE = "abortJavaScriptJob";
18
+ export type AbortJavaScriptJobSyncMessage = {
19
+ type: typeof ABORT_JAVASCRIPT_JOB_SYNC_MESSAGE_TYPE;
20
+ jobId: ID;
21
+ executionId: ID;
22
+ reason?: string;
23
+ };
24
+ export declare function getAbortReason(reason: unknown): string | undefined;
25
+ export declare class RunningJobs {
26
+ private readonly jobs;
27
+ private readonly executionJobs;
28
+ register(job: RunningJavaScriptJob): () => void;
29
+ unregister(jobId: ID): void;
30
+ abortJob(jobId: ID, reason?: unknown): boolean;
31
+ abortExecution(executionId: ID, reason?: unknown): boolean;
32
+ abortAcrossInstances(workflowPlugin: WorkflowPlugin, message: AbortJavaScriptJobSyncMessage): Promise<boolean>;
33
+ }
34
+ export {};
@@ -0,0 +1,105 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __export = (target, all) => {
15
+ for (var name in all)
16
+ __defProp(target, name, { get: all[name], enumerable: true });
17
+ };
18
+ var __copyProps = (to, from, except, desc) => {
19
+ if (from && typeof from === "object" || typeof from === "function") {
20
+ for (let key of __getOwnPropNames(from))
21
+ if (!__hasOwnProp.call(to, key) && key !== except)
22
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ }
24
+ return to;
25
+ };
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
+ var RunningJobs_exports = {};
28
+ __export(RunningJobs_exports, {
29
+ ABORT_JAVASCRIPT_JOB_SYNC_MESSAGE_TYPE: () => ABORT_JAVASCRIPT_JOB_SYNC_MESSAGE_TYPE,
30
+ JAVASCRIPT_SYNC_MESSAGE_CHANNEL: () => JAVASCRIPT_SYNC_MESSAGE_CHANNEL,
31
+ RunningJobs: () => RunningJobs,
32
+ getAbortReason: () => getAbortReason
33
+ });
34
+ module.exports = __toCommonJS(RunningJobs_exports);
35
+ const JAVASCRIPT_SYNC_MESSAGE_CHANNEL = "@nocobase/plugin-workflow-javascript";
36
+ const ABORT_JAVASCRIPT_JOB_SYNC_MESSAGE_TYPE = "abortJavaScriptJob";
37
+ function getAbortReason(reason) {
38
+ if (reason instanceof Error) {
39
+ return reason.message;
40
+ }
41
+ if (typeof reason === "string") {
42
+ return reason;
43
+ }
44
+ return void 0;
45
+ }
46
+ class RunningJobs {
47
+ jobs = /* @__PURE__ */ new Map();
48
+ executionJobs = /* @__PURE__ */ new Map();
49
+ register(job) {
50
+ const jobId = String(job.jobId);
51
+ const executionId = String(job.executionId);
52
+ const executionJobs = this.executionJobs.get(executionId) ?? /* @__PURE__ */ new Set();
53
+ this.jobs.set(jobId, job);
54
+ executionJobs.add(jobId);
55
+ this.executionJobs.set(executionId, executionJobs);
56
+ return () => this.unregister(job.jobId);
57
+ }
58
+ unregister(jobId) {
59
+ const key = String(jobId);
60
+ const job = this.jobs.get(key);
61
+ if (!job) {
62
+ return;
63
+ }
64
+ this.jobs.delete(key);
65
+ const executionId = String(job.executionId);
66
+ const executionJobs = this.executionJobs.get(executionId);
67
+ executionJobs == null ? void 0 : executionJobs.delete(key);
68
+ if (!(executionJobs == null ? void 0 : executionJobs.size)) {
69
+ this.executionJobs.delete(executionId);
70
+ }
71
+ }
72
+ abortJob(jobId, reason) {
73
+ const job = this.jobs.get(String(jobId));
74
+ if (!job) {
75
+ return false;
76
+ }
77
+ job.abort(reason);
78
+ return true;
79
+ }
80
+ abortExecution(executionId, reason) {
81
+ var _a;
82
+ const jobIds = this.executionJobs.get(String(executionId));
83
+ if (!(jobIds == null ? void 0 : jobIds.size)) {
84
+ return false;
85
+ }
86
+ for (const jobId of jobIds) {
87
+ (_a = this.jobs.get(jobId)) == null ? void 0 : _a.abort(reason);
88
+ }
89
+ return true;
90
+ }
91
+ async abortAcrossInstances(workflowPlugin, message) {
92
+ if (this.abortJob(message.jobId, message.reason)) {
93
+ return true;
94
+ }
95
+ await workflowPlugin.app.syncMessageManager.publish(JAVASCRIPT_SYNC_MESSAGE_CHANNEL, message);
96
+ return false;
97
+ }
98
+ }
99
+ // Annotate the CommonJS export names for ESM import in node:
100
+ 0 && (module.exports = {
101
+ ABORT_JAVASCRIPT_JOB_SYNC_MESSAGE_TYPE,
102
+ JAVASCRIPT_SYNC_MESSAGE_CHANNEL,
103
+ RunningJobs,
104
+ getAbortReason
105
+ });
@@ -8,7 +8,9 @@
8
8
  */
9
9
  import { Logger } from 'winston';
10
10
  import Joi from 'joi';
11
- import { Processor, Instruction, FlowNodeModel } from '@nocobase/plugin-workflow';
11
+ import WorkflowPlugin, { Processor, Instruction, FlowNodeModel } from '@nocobase/plugin-workflow';
12
+ import { RunningJobs } from './RunningJobs';
13
+ import { ScriptArguments, ScriptRunResult } from './ScriptWorkerRunner';
12
14
  type ScriptArgument = {
13
15
  name: string;
14
16
  value?: unknown;
@@ -19,41 +21,27 @@ type ScriptConfig = {
19
21
  continue?: boolean;
20
22
  arguments?: ScriptArgument[];
21
23
  };
22
- type ScriptArguments = Record<string, unknown> | unknown[];
23
24
  export default class ScriptInstruction extends Instruction {
24
- /**
25
- * Returns the worker script path based on whether WORKFLOW_SCRIPT_MODULES is configured.
26
- * - WORKFLOW_SCRIPT_MODULES set: uses Node.js vm with require support (unsafe; not a security boundary)
27
- * - WORKFLOW_SCRIPT_MODULES unset: uses QuickJS (WASM) for maximum security (no require, no Node.js APIs)
28
- */
25
+ private readonly runningJobs;
29
26
  static get workerScript(): string;
30
27
  static run(source: string, args: ScriptArguments, options: {
31
28
  logger: Logger;
32
29
  timeout?: number;
33
30
  signal?: AbortSignal;
34
- }): Promise<{
35
- status: -2;
36
- result: string;
37
- } | {
38
- status: 1;
39
- result: unknown;
40
- }>;
31
+ }): Promise<ScriptRunResult>;
32
+ constructor(workflow: WorkflowPlugin, runningJobs: RunningJobs);
41
33
  configSchema: Joi.ObjectSchema<any>;
42
34
  run(node: FlowNodeModel, prevJob: any, processor: Processor, options?: {
43
35
  signal?: AbortSignal;
44
36
  }): Promise<{
45
37
  result: unknown;
46
- status: -2 | 1;
38
+ status: 1 | -2;
47
39
  }>;
48
40
  resume(node: FlowNodeModel, job: any, processor: Processor): Promise<any>;
49
41
  test(config?: ScriptConfig): Promise<{
50
42
  log: string;
51
- status: -2;
52
- result: string;
53
- } | {
54
- log: string;
55
- status: 1;
56
- result: unknown;
43
+ status: number;
44
+ result?: unknown;
57
45
  }>;
58
46
  }
59
47
  export {};