@nocobase/plugin-workflow-javascript 2.1.0-beta.11 → 2.1.0-beta.12

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 (107) hide show
  1. package/dist/externalVersion.js +4 -4
  2. package/dist/node_modules/isolated-vm/.clang-tidy +13 -0
  3. package/dist/node_modules/isolated-vm/.dockerignore +9 -0
  4. package/dist/node_modules/isolated-vm/Dockerfile.alpine +9 -0
  5. package/dist/node_modules/isolated-vm/Dockerfile.debian +12 -0
  6. package/dist/node_modules/isolated-vm/LICENSE +13 -0
  7. package/dist/node_modules/isolated-vm/binding.gyp +120 -0
  8. package/dist/node_modules/isolated-vm/include.js +3 -0
  9. package/dist/node_modules/isolated-vm/inspector-example.js +59 -0
  10. package/dist/node_modules/isolated-vm/isolated-vm.d.ts +820 -0
  11. package/dist/node_modules/isolated-vm/isolated-vm.js +1 -0
  12. package/dist/node_modules/isolated-vm/native-example/binding.gyp +23 -0
  13. package/dist/node_modules/isolated-vm/native-example/example.cc +61 -0
  14. package/dist/node_modules/isolated-vm/native-example/package.json +13 -0
  15. package/dist/node_modules/isolated-vm/native-example/usage.js +35 -0
  16. package/dist/node_modules/isolated-vm/out/isolated_vm.node +0 -0
  17. package/dist/node_modules/isolated-vm/package.json +1 -0
  18. package/dist/node_modules/isolated-vm/src/external_copy/error.h +33 -0
  19. package/dist/node_modules/isolated-vm/src/external_copy/external_copy.cc +509 -0
  20. package/dist/node_modules/isolated-vm/src/external_copy/external_copy.h +117 -0
  21. package/dist/node_modules/isolated-vm/src/external_copy/serializer.cc +85 -0
  22. package/dist/node_modules/isolated-vm/src/external_copy/serializer.h +136 -0
  23. package/dist/node_modules/isolated-vm/src/external_copy/serializer_nortti.cc +73 -0
  24. package/dist/node_modules/isolated-vm/src/external_copy/string.cc +124 -0
  25. package/dist/node_modules/isolated-vm/src/external_copy/string.h +28 -0
  26. package/dist/node_modules/isolated-vm/src/isolate/allocator.h +32 -0
  27. package/dist/node_modules/isolated-vm/src/isolate/allocator_nortti.cc +142 -0
  28. package/dist/node_modules/isolated-vm/src/isolate/class_handle.h +334 -0
  29. package/dist/node_modules/isolated-vm/src/isolate/cpu_profile_manager.cc +220 -0
  30. package/dist/node_modules/isolated-vm/src/isolate/cpu_profile_manager.h +100 -0
  31. package/dist/node_modules/isolated-vm/src/isolate/environment.cc +626 -0
  32. package/dist/node_modules/isolated-vm/src/isolate/environment.h +381 -0
  33. package/dist/node_modules/isolated-vm/src/isolate/executor.cc +198 -0
  34. package/dist/node_modules/isolated-vm/src/isolate/executor.h +183 -0
  35. package/dist/node_modules/isolated-vm/src/isolate/external.h +64 -0
  36. package/dist/node_modules/isolated-vm/src/isolate/functor_runners.h +97 -0
  37. package/dist/node_modules/isolated-vm/src/isolate/generic/array.h +145 -0
  38. package/dist/node_modules/isolated-vm/src/isolate/generic/callbacks.h +272 -0
  39. package/dist/node_modules/isolated-vm/src/isolate/generic/error.h +140 -0
  40. package/dist/node_modules/isolated-vm/src/isolate/generic/extract_params.h +145 -0
  41. package/dist/node_modules/isolated-vm/src/isolate/generic/handle_cast.h +257 -0
  42. package/dist/node_modules/isolated-vm/src/isolate/generic/read_option.h +47 -0
  43. package/dist/node_modules/isolated-vm/src/isolate/holder.cc +88 -0
  44. package/dist/node_modules/isolated-vm/src/isolate/holder.h +63 -0
  45. package/dist/node_modules/isolated-vm/src/isolate/inspector.cc +200 -0
  46. package/dist/node_modules/isolated-vm/src/isolate/inspector.h +70 -0
  47. package/dist/node_modules/isolated-vm/src/isolate/node_wrapper.h +15 -0
  48. package/dist/node_modules/isolated-vm/src/isolate/platform_delegate.cc +22 -0
  49. package/dist/node_modules/isolated-vm/src/isolate/platform_delegate.h +46 -0
  50. package/dist/node_modules/isolated-vm/src/isolate/remote_handle.h +164 -0
  51. package/dist/node_modules/isolated-vm/src/isolate/run_with_timeout.h +171 -0
  52. package/dist/node_modules/isolated-vm/src/isolate/runnable.h +29 -0
  53. package/dist/node_modules/isolated-vm/src/isolate/scheduler.cc +191 -0
  54. package/dist/node_modules/isolated-vm/src/isolate/scheduler.h +165 -0
  55. package/dist/node_modules/isolated-vm/src/isolate/specific.h +35 -0
  56. package/dist/node_modules/isolated-vm/src/isolate/stack_trace.cc +219 -0
  57. package/dist/node_modules/isolated-vm/src/isolate/stack_trace.h +24 -0
  58. package/dist/node_modules/isolated-vm/src/isolate/strings.h +127 -0
  59. package/dist/node_modules/isolated-vm/src/isolate/three_phase_task.cc +385 -0
  60. package/dist/node_modules/isolated-vm/src/isolate/three_phase_task.h +136 -0
  61. package/dist/node_modules/isolated-vm/src/isolate/transferable.h +15 -0
  62. package/dist/node_modules/isolated-vm/src/isolate/util.h +45 -0
  63. package/dist/node_modules/isolated-vm/src/isolate/v8_inspector_wrapper.h +12 -0
  64. package/dist/node_modules/isolated-vm/src/isolate/v8_version.h +12 -0
  65. package/dist/node_modules/isolated-vm/src/isolated_vm.h +71 -0
  66. package/dist/node_modules/isolated-vm/src/lib/covariant.h +50 -0
  67. package/dist/node_modules/isolated-vm/src/lib/lockable.h +178 -0
  68. package/dist/node_modules/isolated-vm/src/lib/suspend.h +106 -0
  69. package/dist/node_modules/isolated-vm/src/lib/thread_pool.cc +98 -0
  70. package/dist/node_modules/isolated-vm/src/lib/thread_pool.h +45 -0
  71. package/dist/node_modules/isolated-vm/src/lib/timer.cc +233 -0
  72. package/dist/node_modules/isolated-vm/src/lib/timer.h +36 -0
  73. package/dist/node_modules/isolated-vm/src/module/callback.cc +151 -0
  74. package/dist/node_modules/isolated-vm/src/module/callback.h +64 -0
  75. package/dist/node_modules/isolated-vm/src/module/context_handle.cc +241 -0
  76. package/dist/node_modules/isolated-vm/src/module/context_handle.h +35 -0
  77. package/dist/node_modules/isolated-vm/src/module/evaluation.cc +109 -0
  78. package/dist/node_modules/isolated-vm/src/module/evaluation.h +99 -0
  79. package/dist/node_modules/isolated-vm/src/module/external_copy_handle.cc +119 -0
  80. package/dist/node_modules/isolated-vm/src/module/external_copy_handle.h +64 -0
  81. package/dist/node_modules/isolated-vm/src/module/isolate.cc +136 -0
  82. package/dist/node_modules/isolated-vm/src/module/isolate_handle.cc +611 -0
  83. package/dist/node_modules/isolated-vm/src/module/isolate_handle.h +47 -0
  84. package/dist/node_modules/isolated-vm/src/module/lib_handle.cc +77 -0
  85. package/dist/node_modules/isolated-vm/src/module/lib_handle.h +28 -0
  86. package/dist/node_modules/isolated-vm/src/module/module_handle.cc +475 -0
  87. package/dist/node_modules/isolated-vm/src/module/module_handle.h +68 -0
  88. package/dist/node_modules/isolated-vm/src/module/native_module_handle.cc +104 -0
  89. package/dist/node_modules/isolated-vm/src/module/native_module_handle.h +49 -0
  90. package/dist/node_modules/isolated-vm/src/module/reference_handle.cc +636 -0
  91. package/dist/node_modules/isolated-vm/src/module/reference_handle.h +106 -0
  92. package/dist/node_modules/isolated-vm/src/module/script_handle.cc +107 -0
  93. package/dist/node_modules/isolated-vm/src/module/script_handle.h +37 -0
  94. package/dist/node_modules/isolated-vm/src/module/session_handle.cc +173 -0
  95. package/dist/node_modules/isolated-vm/src/module/session_handle.h +31 -0
  96. package/dist/node_modules/isolated-vm/src/module/transferable.cc +268 -0
  97. package/dist/node_modules/isolated-vm/src/module/transferable.h +42 -0
  98. package/dist/node_modules/isolated-vm/vendor/v8_inspector/nodejs_v18.0.0.h +360 -0
  99. package/dist/node_modules/isolated-vm/vendor/v8_inspector/nodejs_v18.3.0.h +376 -0
  100. package/dist/node_modules/isolated-vm/vendor/v8_inspector/nodejs_v20.0.0.h +397 -0
  101. package/dist/node_modules/isolated-vm/vendor/v8_inspector/nodejs_v22.0.0.h +419 -0
  102. package/dist/node_modules/winston-transport/package.json +1 -1
  103. package/dist/server/IsolatedVm.js +75 -0
  104. package/dist/server/ScriptInstruction.d.ts +6 -0
  105. package/dist/server/ScriptInstruction.js +11 -1
  106. package/dist/server/Vm.js +42 -27
  107. package/package.json +3 -2
@@ -0,0 +1,136 @@
1
+ #include "isolate/environment.h"
2
+ #include "isolate/node_wrapper.h"
3
+ #include "isolate/platform_delegate.h"
4
+ #include "isolate/scheduler.h"
5
+ #include "isolate/util.h"
6
+ #include "lib/lockable.h"
7
+ #include "callback.h"
8
+ #include "context_handle.h"
9
+ #include "external_copy_handle.h"
10
+ #include "isolate_handle.h"
11
+ #include "lib_handle.h"
12
+ #include "native_module_handle.h"
13
+ #include "reference_handle.h"
14
+ #include "script_handle.h"
15
+
16
+ #include <memory>
17
+ #include <mutex>
18
+
19
+ using namespace v8;
20
+
21
+ namespace ivm {
22
+
23
+ /**
24
+ * The whole library is transferable so you can Inception the library into your isolates.
25
+ */
26
+ class LibraryHandle : public TransferableHandle {
27
+ private:
28
+ class LibraryHandleTransferable : public Transferable {
29
+ public:
30
+ auto TransferIn() -> Local<Value> final {
31
+ return LibraryHandle::Get();
32
+ }
33
+ };
34
+
35
+ public:
36
+ using DontFreezeInstance = void;
37
+
38
+ static auto Definition() -> Local<FunctionTemplate> {
39
+ return Inherit<TransferableHandle>(MakeClass(
40
+ "isolated_vm", nullptr,
41
+ "Callback", ClassHandle::GetFunctionTemplate<CallbackHandle>(),
42
+ "Context", ClassHandle::GetFunctionTemplate<ContextHandle>(),
43
+ "ExternalCopy", ClassHandle::GetFunctionTemplate<ExternalCopyHandle>(),
44
+ "Isolate", ClassHandle::GetFunctionTemplate<IsolateHandle>(),
45
+ "NativeModule", ClassHandle::GetFunctionTemplate<NativeModuleHandle>(),
46
+ "Reference", ClassHandle::GetFunctionTemplate<ReferenceHandle>(),
47
+ "Script", ClassHandle::GetFunctionTemplate<ScriptHandle>()
48
+ ));
49
+ }
50
+
51
+ auto TransferOut() -> std::unique_ptr<Transferable> final {
52
+ return std::make_unique<LibraryHandleTransferable>();
53
+ }
54
+
55
+ static auto Get() -> Local<Object> {
56
+ Local<Object> library = ClassHandle::NewInstance<LibraryHandle>().As<Object>();
57
+ auto context = Isolate::GetCurrent()->GetCurrentContext();
58
+ Unmaybe(library->Set(context, v8_symbol("lib"), ClassHandle::NewInstance<LibHandle>()));
59
+
60
+ // Freeze prototypes of all classes
61
+ auto prototype = HandleCast<Local<String>>("prototype");
62
+ auto freeze = [&](const char* name) {
63
+ auto fn = Unmaybe(library->Get(context, HandleCast<Local<String>>(name))).As<Function>();
64
+ auto proto = Unmaybe(fn->Get(context, prototype)).As<Object>();
65
+ proto->SetIntegrityLevel(context, IntegrityLevel::kFrozen);
66
+ };
67
+ freeze("Callback");
68
+ freeze("Context");
69
+ freeze("ExternalCopy");
70
+ freeze("Isolate");
71
+ freeze("NativeModule");
72
+ freeze("Reference");
73
+ freeze("Script");
74
+
75
+ // Also freeze this prototype
76
+ library->SetIntegrityLevel(context, IntegrityLevel::kFrozen);
77
+ library->GetPrototype().As<Object>()->SetIntegrityLevel(context, IntegrityLevel::kFrozen);
78
+ return library;
79
+ }
80
+ };
81
+
82
+ // Module entry point
83
+ std::atomic<bool> did_global_init{false};
84
+ // TODO(?): This is pointer / new is here so that these dtors don't get called when the module is
85
+ // being torn down. They end up invoking a bunch of v8 functions which fail because nodejs already
86
+ // shut down the platform.
87
+ struct IsolateHolderAndJoin {
88
+ std::shared_ptr<IsolateHolder> holder;
89
+ std::shared_ptr<IsolateDisposeWait> dispose_wait;
90
+ };
91
+ auto* default_isolates = new lockable_t<std::unordered_map<v8::Isolate*, IsolateHolderAndJoin>>;
92
+ extern "C"
93
+ void init(Local<Object> target) {
94
+ // Create default isolate env
95
+ Isolate* isolate = Isolate::GetCurrent();
96
+ Local<Context> context = isolate->GetCurrentContext();
97
+ // Maybe this would happen if you include the module from `vm`?
98
+ {
99
+ auto isolates = default_isolates->write();
100
+ assert(isolates->find(isolate) == isolates->end());
101
+ auto holder = IsolateEnvironment::New(isolate, context);
102
+ isolates->insert(std::make_pair(
103
+ isolate,
104
+ IsolateHolderAndJoin{holder, holder->GetIsolate()->GetDisposeWaitHandle()}
105
+ ));
106
+ }
107
+ Unmaybe(target->Set(context, v8_symbol("ivm"), LibraryHandle::Get()));
108
+
109
+ node::AddEnvironmentCleanupHook(isolate, [](void* param) {
110
+ auto* isolate = static_cast<v8::Isolate*>(param);
111
+ auto it = default_isolates->read()->find(isolate);
112
+ it->second.holder->Release();
113
+ it->second.dispose_wait->Join();
114
+ default_isolates->write()->erase(isolate); // `it` might have changed, don't use it
115
+ }, isolate);
116
+
117
+
118
+ if (!did_global_init.exchange(true)) {
119
+ // These flags will override limits set through code. Since the main node isolate is already
120
+ // created we can reset these so they won't affect the isolates we make.
121
+ int argc = 4;
122
+ const char* flags[] = {
123
+ "--max-semi-space-size", "0",
124
+ "--max-old-space-size", "0"
125
+ };
126
+ V8::SetFlagsFromCommandLine(&argc, const_cast<char**>(flags), false);
127
+
128
+ PlatformDelegate::InitializeDelegate();
129
+ }
130
+ }
131
+
132
+ } // namespace ivm
133
+
134
+ NODE_MODULE_INIT(/* exports, module, context */) {
135
+ ivm::init(exports);
136
+ }