javonet-ruby-sdk 2.6.7 → 2.6.10

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 (252) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/javonet-ruby-sdk/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
  4. data/lib/javonet-ruby-sdk/Binaries/Clr/JavonetClrRuntime.dll +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs2218RuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  15. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetActivationService.dylib +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetJvmRuntimeNative.dylib +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libUtils.dylib +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/version.txt +1 -1
  19. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs2218RuntimeNative.dylib +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  24. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Configs.dll +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPhpRuntimeNative.dll +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Configs.dll +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs2218RuntimeNative.dll +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhp848RuntimeNative.dll +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhpRuntimeNative.dll +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPython2RuntimeNative.dll +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  52. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  54. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  56. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Configs.dll +0 -0
  57. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  59. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  60. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  61. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  63. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPhpRuntimeNative.dll +0 -0
  64. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPython2RuntimeNative.dll +0 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  66. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  67. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
  69. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
  70. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  71. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Plugins.dll +0 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/Handler.cjs +51 -18
  74. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/InvokeInstanceMethodHandler.cjs +1 -1
  75. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/InvokeStaticMethodHandler.cjs +1 -1
  76. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/LoadLibraryHandler.cjs +15 -9
  77. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/PassDelegateHandler.cjs +2 -2
  78. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/RegisterForUpdateHandler.cjs +60 -0
  79. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/ValueForUpdateHandler.cjs +36 -0
  80. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/interpreter/Interpreter.cjs +11 -33
  81. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/CommandSerializer.cjs +3 -8
  82. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/receiver/Receiver.cjs +6 -6
  83. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/Activator.cjs +44 -0
  84. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/ActivatorDetails.cjs +13 -3
  85. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/ConfigRuntimeFactory.cjs +9 -0
  86. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/InvocationContext.cjs +140 -62
  87. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/Javonet.cjs +3 -0
  88. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeContext.cjs +9 -9
  89. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/configuration/ConfigSourceResolver.cjs +43 -21
  90. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/tools/ComplexTypeResolver.cjs +84 -34
  91. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/Handler.d.ts +9 -1
  92. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/PassDelegateHandler.d.ts +2 -2
  93. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/RegisterForUpdateHandler.d.ts +17 -0
  94. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/ValueForUpdateHandler.d.ts +7 -0
  95. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/interpreter/Interpreter.d.ts +2 -2
  96. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/protocol/CommandSerializer.d.ts +3 -3
  97. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/receiver/Receiver.d.ts +4 -4
  98. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/Activator.d.ts +12 -0
  99. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/ActivatorDetails.d.ts +5 -3
  100. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/ConfigRuntimeFactory.d.ts +7 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/InvocationContext.d.ts +20 -22
  102. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/Javonet.d.ts +2 -1
  103. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeContext.d.ts +4 -3
  104. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/configuration/ConfigSourceResolver.d.ts +21 -4
  105. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/tools/ComplexTypeResolver.d.ts +21 -5
  106. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/CommandType.d.ts +2 -0
  107. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/Primitives.d.ts +5 -0
  108. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/CommandType.cjs +3 -1
  109. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/Primitives.cjs +201 -0
  110. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  111. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  113. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  114. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  115. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  116. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  117. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  119. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  120. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +86 -86
  121. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/LoadLibraryHandler.pm +108 -11
  122. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/RegisterForUpdateHandler.pm +29 -0
  123. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +16 -9
  124. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +2 -1
  125. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  126. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  127. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  128. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  129. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  130. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +24 -24
  131. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/LoadLibraryHandler.pm +108 -11
  132. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/RegisterForUpdateHandler.pm +29 -0
  133. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +16 -9
  134. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +2 -1
  135. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/LoadLibraryHandler.php +56 -21
  136. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/interpreter/Interpreter.php +2 -2
  137. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/protocol/CommandDeserializer.php +219 -106
  138. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/protocol/CommandSerializer.php +55 -13
  139. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/Command.php +27 -9
  140. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
  143. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/AsOutHandler.py +1 -1
  144. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/CreateClassInstanceHandler.py +0 -2
  145. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/GetTypeHandler.py +2 -2
  146. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/Handler.py +26 -1
  147. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/LoadLibraryHandler.py +54 -14
  148. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/RegisterForUpdateHandler.py +38 -0
  149. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/ValueForUpdateHandler.py +6 -0
  150. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AddEventListenerHandler.cpython-312.pyc +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
  155. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
  156. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayReferenceHandler.cpython-312.pyc +0 -0
  158. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsOutHandler.cpython-312.pyc +0 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsRefHandler.cpython-312.pyc +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ConvertTypeHandler.cpython-312.pyc +0 -0
  163. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateNullHandler.cpython-312.pyc +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
  168. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ExceptionHandler.cpython-312.pyc +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GenerateLibHandler.cpython-312.pyc +0 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetAsyncOperationResultHandler.cpython-312.pyc +0 -0
  171. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
  172. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
  173. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
  174. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetGlobalFieldHandler.cpython-312.pyc +0 -0
  175. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
  176. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
  177. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetKwargHandler.cpython-312.pyc +0 -0
  178. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetModuleHandler.cpython-312.pyc +0 -0
  179. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetRefValueHandler.cpython-312.pyc +0 -0
  180. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetResultTypeHandler.cpython-312.pyc +0 -0
  181. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
  183. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
  184. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
  185. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
  186. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HeartBeatHandler.cpython-312.pyc +0 -0
  187. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
  188. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericMethodHandler.cpython-312.pyc +0 -0
  189. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericStaticMethodHandler.cpython-312.pyc +0 -0
  190. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGlobalFunctionHandler.cpython-312.pyc +0 -0
  191. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
  192. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
  193. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
  194. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/OptimizeHandler.cpython-312.pyc +0 -0
  195. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
  196. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PluginWrapperHandler.cpython-312.pyc +0 -0
  197. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/RegisterForUpdateHandler.cpython-312.pyc +0 -0
  198. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
  199. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/RetrieveArrayHandler.cpython-312.pyc +0 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
  201. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
  202. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueForUpdateHandler.cpython-312.pyc +0 -0
  203. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
  204. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
  205. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
  206. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
  207. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
  208. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  209. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
  210. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
  211. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
  212. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
  213. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
  214. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
  215. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
  216. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
  217. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  218. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
  219. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
  220. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/CommandType.py +3 -1
  221. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/LazyModuleLoader.py +8 -11
  222. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
  223. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
  224. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
  225. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
  226. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/LazyModuleLoader.cpython-312.pyc +0 -0
  227. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
  228. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
  229. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
  230. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
  231. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/TypesHandler.cpython-312.pyc +0 -0
  232. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/UtilsConst.cpython-312.pyc +0 -0
  233. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  234. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
  235. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
  236. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
  237. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/ExceptionSerializer.py +1 -1
  238. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
  239. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionThrower.cpython-312.pyc +0 -0
  240. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/JavonetException.cpython-312.pyc +0 -0
  241. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
  242. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/MessageHelper.cpython-312.pyc +0 -0
  243. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/__init__.cpython-312.pyc +0 -0
  244. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  245. data/lib/javonet-ruby-sdk/core/handler/handler.rb +50 -9
  246. data/lib/javonet-ruby-sdk/core/handler/load_library_handler.rb +22 -9
  247. data/lib/javonet-ruby-sdk/core/handler/register_for_update_handler.rb +28 -0
  248. data/lib/javonet-ruby-sdk/core/handler/value_for_update_handler.rb +11 -0
  249. data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +8 -0
  250. data/lib/javonet-ruby-sdk/utils/command_type.rb +6 -0
  251. data/lib/javonet-ruby-sdk/utils/exceptions/exception_serializer.rb +0 -1
  252. metadata +18 -2
@@ -4,39 +4,136 @@ use warnings FATAL => 'all';
4
4
  use lib 'lib';
5
5
  use Moose;
6
6
  use File::Basename;
7
+ use Cwd qw(abs_path);
7
8
  use Nice::Try;
8
9
  use aliased 'Javonet::Core::Exception::Exception' => 'Exception';
9
10
  extends 'Javonet::Core::Handler::CommandHandler::AbstractCommandHandler';
10
11
 
12
+ # Track loaded libraries by absolute path
13
+ our %LOADED_LIBRARIES;
14
+
11
15
  sub new {
12
16
  my $class = shift;
13
- my $self = {
14
- required_parameters_count => 1
17
+ my $self = {
18
+ required_parameters_count => 1,
19
+ @_, # optional extras
15
20
  };
16
21
  return bless $self, $class;
17
22
  }
18
23
 
19
24
  sub process {
20
- my ($self, $command) = @_;
25
+ my ( $self, $command ) = @_;
21
26
  try {
22
27
  my $current_payload_ref = $command->{payload};
23
- my @cur_payload = @$current_payload_ref;
24
- my $parameters_length = @cur_payload;
25
- if ($parameters_length != $self->{required_parameters_count}) {
28
+ my @cur_payload = @$current_payload_ref;
29
+ my $parameters_length = @cur_payload;
30
+
31
+ if ( $parameters_length != $self->{required_parameters_count} ) {
26
32
  die Exception->new("Exception: LoadLibrary parameters mismatch");
27
33
  }
34
+
28
35
  my $path_to_file = $command->{payload}[0];
29
- my $path_to_file_dir = dirname($path_to_file);
30
- my $file_name = basename($path_to_file);
31
36
 
32
- push(@INC, "$path_to_file_dir");
33
- eval(require $file_name);
37
+ if ( !defined $path_to_file || $path_to_file eq '' ) {
38
+ die Exception->new(
39
+ "Cannot load module: Library path is required but was not provided"
40
+ );
41
+ }
42
+
43
+ # ---------------------------------------------------------------------
44
+ # Normalize file extension
45
+ # If no extension is given, try "<file>.pm"
46
+ # ---------------------------------------------------------------------
47
+ my $normalized_path = $path_to_file;
48
+
49
+ if ( $normalized_path !~ /\.[^\/\\]+$/ ) { # no extension
50
+ my $with_pm = $normalized_path . '.pm';
51
+ if ( -e $with_pm ) {
52
+ $normalized_path = $with_pm;
53
+ }
54
+ }
55
+
56
+ # Resolve to absolute path if possible
57
+ my $absolute_path =
58
+ abs_path($normalized_path)
59
+ // abs_path($path_to_file)
60
+ // $normalized_path;
61
+
62
+ # Check that the file exists
63
+ if ( !-e $absolute_path ) {
64
+ die Exception->new("Cannot load module: Library not found: $path_to_file");
65
+ }
66
+
67
+ # ---------------------------------------------------------------------
68
+ # Load only once by absolute path
69
+ # ---------------------------------------------------------------------
70
+ if ( $LOADED_LIBRARIES{$absolute_path} ) {
71
+ return 0;
72
+ }
73
+
74
+ my $path_to_file_dir = dirname($absolute_path);
75
+ my $file_name = basename($absolute_path);
76
+
77
+ # Ensure directory is in @INC
78
+ if ( !grep { $_ eq $path_to_file_dir } @INC ) {
79
+ push @INC, $path_to_file_dir;
80
+ }
81
+
82
+ # ---------------------------------------------------------------------
83
+ # Validate Perl module syntax before requiring
84
+ # ---------------------------------------------------------------------
85
+ #_validate_perl_syntax($absolute_path); #causes issues
86
+
87
+ # ---------------------------------------------------------------------
88
+ # Load the file
89
+ # ---------------------------------------------------------------------
90
+ eval {
91
+ require $file_name;
92
+ 1;
93
+ } or do {
94
+ my $err = $@ || 'Unknown error';
95
+ die Exception->new("Cannot load module: $absolute_path\n$err");
96
+ };
97
+
98
+ # Mark library as loaded
99
+ $LOADED_LIBRARIES{$absolute_path} = 1;
100
+
34
101
  return 0;
35
102
  }
36
- catch ( $e ) {
103
+ catch ($e) {
37
104
  return Exception->new($e);
38
105
  }
39
106
  }
40
107
 
108
+ sub get_loaded_libraries {
109
+ my ($self) = @_;
110
+ return [ keys %LOADED_LIBRARIES ];
111
+ }
112
+
113
+ # -------------------------------------------------------------------------
114
+ # Validate syntax using "perl -c <file>"
115
+ # -------------------------------------------------------------------------
116
+ sub _validate_perl_syntax {
117
+ my ($absolute_path) = @_;
118
+
119
+ my $perl = $^X || 'perl';
120
+
121
+ my $pid = open my $fh, '-|', $perl, '-c', $absolute_path;
122
+ if ( !defined $pid ) {
123
+ # If perl cannot be spawned, we silently skip validation.
124
+ return;
125
+ }
126
+
127
+ my $output = do { local $/; <$fh> // '' };
128
+ close $fh;
129
+ my $exit_code = $? >> 8;
130
+
131
+ if ( $exit_code != 0 ) {
132
+ die Exception->new(
133
+ "Cannot load module: syntax check failed for $absolute_path\n$output"
134
+ );
135
+ }
136
+ }
137
+
41
138
  no Moose;
42
139
  1;
@@ -0,0 +1,29 @@
1
+ package Javonet::Core::Handler::CommandHandler::RegisterForUpdateHandler;
2
+ use strict;
3
+ use warnings FATAL => 'all';
4
+ use lib 'lib';
5
+ use Moose;
6
+ use Nice::Try;
7
+ use aliased 'Javonet::Core::Exception::Exception' => 'Exception';
8
+ extends 'Javonet::Core::Handler::CommandHandler::AbstractCommandHandler';
9
+
10
+ sub new {
11
+ my $class = shift;
12
+ my $self = {
13
+ required_parameters_count => 1
14
+ };
15
+ return bless $self, $class;
16
+ }
17
+
18
+ sub process {
19
+ my ($self, $command) = @_;
20
+ try {
21
+ return $command->{payload}[0];
22
+ }
23
+ catch ( $e ) {
24
+ return Exception->new($e);
25
+ }
26
+ }
27
+
28
+ no Moose;
29
+ 1;
@@ -3,6 +3,15 @@ use strict;
3
3
  use warnings FATAL => 'all';
4
4
  use lib 'lib';
5
5
  use Moose;
6
+
7
+ use aliased 'Javonet::Sdk::Core::PerlCommandType' => 'PerlCommandType', qw(get_command_type);
8
+ use aliased 'Javonet::Sdk::Core::PerlCommand' => 'PerlCommand';
9
+ use aliased 'Javonet::Core::Handler::ReferencesCache' => 'ReferencesCache';
10
+ use aliased 'Javonet::Core::Handler::AbstractHandler' => 'AbstractHandler';
11
+ use aliased 'Javonet::Sdk::Core::RuntimeLib' => 'RuntimeLib';
12
+ use aliased 'Javonet::Core::Handler::HandlerDictionary' => 'HandlerDictionary';
13
+ use aliased 'Javonet::Sdk::Core::TypesHandler' => 'TypesHandler';
14
+
6
15
  use aliased 'Javonet::Core::Handler::CommandHandler::ValueHandler' => 'ValueHandler';
7
16
  use aliased 'Javonet::Core::Handler::CommandHandler::LoadLibraryHandler' => 'LoadLibraryHandler';
8
17
  use aliased 'Javonet::Core::Handler::CommandHandler::GetStaticFieldHandler' => 'GetStaticFieldHandler';
@@ -23,15 +32,7 @@ use aliased 'Javonet::Core::Handler::CommandHandler::ArrayGetSizeHandler' => 'Ar
23
32
  use aliased 'Javonet::Core::Handler::CommandHandler::ArrayGetRankHandler' => 'ArrayGetRankHandler';
24
33
  use aliased 'Javonet::Core::Handler::CommandHandler::ArraySetItemHandler' => 'ArraySetItemHandler';
25
34
  use aliased 'Javonet::Core::Handler::CommandHandler::InvokeGlobalFunctionHandler' => 'InvokeGlobalFunctionHandler';
26
-
27
-
28
- use aliased 'Javonet::Sdk::Core::PerlCommandType' => 'PerlCommandType', qw(get_command_type);
29
- use aliased 'Javonet::Sdk::Core::PerlCommand' => 'PerlCommand';
30
- use aliased 'Javonet::Core::Handler::ReferencesCache' => 'ReferencesCache';
31
- use aliased 'Javonet::Core::Handler::AbstractHandler' => 'AbstractHandler';
32
- use aliased 'Javonet::Sdk::Core::RuntimeLib' => 'RuntimeLib';
33
- use aliased 'Javonet::Core::Handler::HandlerDictionary' => 'HandlerDictionary';
34
- use aliased 'Javonet::Sdk::Core::TypesHandler' => 'TypesHandler';
35
+ use aliased 'Javonet::Core::Handler::CommandHandler::RegisterForUpdateHandler' => 'RegisterForUpdateHandler';
35
36
 
36
37
  my $value_handler = ValueHandler->new();
37
38
  my $load_library_handler = LoadLibraryHandler->new();
@@ -51,6 +52,7 @@ my $array_get_size_handler = ArrayGetSizeHandler->new();
51
52
  my $array_get_rank_handler = ArrayGetRankHandler->new();
52
53
  my $array_set_item_handler = ArraySetItemHandler->new();
53
54
  my $invoke_global_function_handler = InvokeGlobalFunctionHandler->new();
55
+ my $register_for_update_handler = RegisterForUpdateHandler->new();
54
56
 
55
57
 
56
58
  Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
@@ -127,6 +129,11 @@ Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
127
129
  $invoke_global_function_handler
128
130
  );
129
131
 
132
+ Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
133
+ Javonet::Sdk::Core::PerlCommandType::get_command_type('RegisterForUpdate'),
134
+ $register_for_update_handler
135
+ );
136
+
130
137
  sub handle_command {
131
138
  my ($self, $command) = @_;
132
139
  my $response = Javonet::Core::Handler::HandlerDictionary::get_handler($command->{command_type})->handle_command($command);
@@ -54,7 +54,8 @@ my %command_type = (
54
54
  'AsKwargs' => 45,
55
55
  'GetResultType' => 46,
56
56
  'GetGlobalField' => 47,
57
-
57
+ 'RegisterForUpdate' => 48,
58
+ 'ValueForUpdate' => 49,
58
59
  );
59
60
 
60
61
  sub get_command_type {
@@ -1,4 +1,4 @@
1
- =head2 Wed Nov 19 14:56:18 2025: C<Module> L<Data::Cmp|Data::Cmp>
1
+ =head2 Fri Nov 28 08:46:34 2025: C<Module> L<Data::Cmp|Data::Cmp>
2
2
 
3
3
  =over 4
4
4
 
@@ -20,7 +20,7 @@ C<EXE_FILES: >
20
20
 
21
21
  =back
22
22
 
23
- =head2 Wed Nov 19 14:56:27 2025: C<Module> L<Scalar::Util::Numeric|Scalar::Util::Numeric>
23
+ =head2 Fri Nov 28 08:46:37 2025: C<Module> L<Test::Fatal|Test::Fatal>
24
24
 
25
25
  =over 4
26
26
 
@@ -34,7 +34,7 @@ C<LINKTYPE: dynamic>
34
34
 
35
35
  =item *
36
36
 
37
- C<VERSION: 0.40>
37
+ C<VERSION: 0.018>
38
38
 
39
39
  =item *
40
40
 
@@ -42,7 +42,7 @@ C<EXE_FILES: >
42
42
 
43
43
  =back
44
44
 
45
- =head2 Wed Nov 19 14:56:30 2025: C<Module> L<Test::Fatal|Test::Fatal>
45
+ =head2 Fri Nov 28 08:46:45 2025: C<Module> L<autobox|autobox>
46
46
 
47
47
  =over 4
48
48
 
@@ -56,7 +56,7 @@ C<LINKTYPE: dynamic>
56
56
 
57
57
  =item *
58
58
 
59
- C<VERSION: 0.018>
59
+ C<VERSION: v3.0.2>
60
60
 
61
61
  =item *
62
62
 
@@ -64,7 +64,7 @@ C<EXE_FILES: >
64
64
 
65
65
  =back
66
66
 
67
- =head2 Wed Nov 19 14:56:33 2025: C<Module> L<autobox|autobox>
67
+ =head2 Fri Nov 28 08:46:49 2025: C<Module> L<Scalar::Util::Numeric|Scalar::Util::Numeric>
68
68
 
69
69
  =over 4
70
70
 
@@ -78,7 +78,7 @@ C<LINKTYPE: dynamic>
78
78
 
79
79
  =item *
80
80
 
81
- C<VERSION: v3.0.2>
81
+ C<VERSION: 0.40>
82
82
 
83
83
  =item *
84
84
 
@@ -86,7 +86,7 @@ C<EXE_FILES: >
86
86
 
87
87
  =back
88
88
 
89
- =head2 Wed Nov 19 14:56:37 2025: C<Module> L<Safe::Isa|Safe::Isa>
89
+ =head2 Fri Nov 28 08:46:52 2025: C<Module> L<Attribute::Util|Attribute::Util>
90
90
 
91
91
  =over 4
92
92
 
@@ -100,7 +100,7 @@ C<LINKTYPE: dynamic>
100
100
 
101
101
  =item *
102
102
 
103
- C<VERSION: 1.000010>
103
+ C<VERSION: 1.07>
104
104
 
105
105
  =item *
106
106
 
@@ -108,7 +108,7 @@ C<EXE_FILES: >
108
108
 
109
109
  =back
110
110
 
111
- =head2 Wed Nov 19 14:56:46 2025: C<Module> L<YAML::PP|YAML::PP>
111
+ =head2 Fri Nov 28 08:46:57 2025: C<Module> L<Want|Want>
112
112
 
113
113
  =over 4
114
114
 
@@ -122,15 +122,15 @@ C<LINKTYPE: dynamic>
122
122
 
123
123
  =item *
124
124
 
125
- C<VERSION: v0.39.0>
125
+ C<VERSION: 0.29>
126
126
 
127
127
  =item *
128
128
 
129
- C<EXE_FILES: bin/yamlpp-events bin/yamlpp-highlight bin/yamlpp-load bin/yamlpp-load-dump bin/yamlpp-parse-emit>
129
+ C<EXE_FILES: >
130
130
 
131
131
  =back
132
132
 
133
- =head2 Wed Nov 19 14:56:49 2025: C<Module> L<PPI|PPI>
133
+ =head2 Fri Nov 28 08:47:01 2025: C<Module> L<Safe::Isa|Safe::Isa>
134
134
 
135
135
  =over 4
136
136
 
@@ -144,7 +144,7 @@ C<LINKTYPE: dynamic>
144
144
 
145
145
  =item *
146
146
 
147
- C<VERSION: 1.284>
147
+ C<VERSION: 1.000010>
148
148
 
149
149
  =item *
150
150
 
@@ -152,7 +152,7 @@ C<EXE_FILES: >
152
152
 
153
153
  =back
154
154
 
155
- =head2 Wed Nov 19 14:56:53 2025: C<Module> L<PPI::XS|PPI::XS>
155
+ =head2 Fri Nov 28 08:47:08 2025: C<Module> L<YAML::PP|YAML::PP>
156
156
 
157
157
  =over 4
158
158
 
@@ -166,15 +166,15 @@ C<LINKTYPE: dynamic>
166
166
 
167
167
  =item *
168
168
 
169
- C<VERSION: 0.910>
169
+ C<VERSION: v0.39.0>
170
170
 
171
171
  =item *
172
172
 
173
- C<EXE_FILES: >
173
+ C<EXE_FILES: bin/yamlpp-events bin/yamlpp-highlight bin/yamlpp-load bin/yamlpp-load-dump bin/yamlpp-parse-emit>
174
174
 
175
175
  =back
176
176
 
177
- =head2 Wed Nov 19 14:56:57 2025: C<Module> L<Want|Want>
177
+ =head2 Fri Nov 28 08:47:11 2025: C<Module> L<PPI|PPI>
178
178
 
179
179
  =over 4
180
180
 
@@ -188,7 +188,7 @@ C<LINKTYPE: dynamic>
188
188
 
189
189
  =item *
190
190
 
191
- C<VERSION: 0.29>
191
+ C<VERSION: 1.284>
192
192
 
193
193
  =item *
194
194
 
@@ -196,7 +196,7 @@ C<EXE_FILES: >
196
196
 
197
197
  =back
198
198
 
199
- =head2 Wed Nov 19 14:56:59 2025: C<Module> L<Nice::Try|Nice::Try>
199
+ =head2 Fri Nov 28 08:47:15 2025: C<Module> L<PPI::XS|PPI::XS>
200
200
 
201
201
  =over 4
202
202
 
@@ -210,7 +210,7 @@ C<LINKTYPE: dynamic>
210
210
 
211
211
  =item *
212
212
 
213
- C<VERSION: v1.3.17>
213
+ C<VERSION: 0.910>
214
214
 
215
215
  =item *
216
216
 
@@ -218,7 +218,7 @@ C<EXE_FILES: >
218
218
 
219
219
  =back
220
220
 
221
- =head2 Wed Nov 19 14:57:01 2025: C<Module> L<Attribute::Util|Attribute::Util>
221
+ =head2 Fri Nov 28 08:47:16 2025: C<Module> L<Nice::Try|Nice::Try>
222
222
 
223
223
  =over 4
224
224
 
@@ -232,7 +232,7 @@ C<LINKTYPE: dynamic>
232
232
 
233
233
  =item *
234
234
 
235
- C<VERSION: 1.07>
235
+ C<VERSION: v1.3.17>
236
236
 
237
237
  =item *
238
238
 
@@ -240,7 +240,7 @@ C<EXE_FILES: >
240
240
 
241
241
  =back
242
242
 
243
- =head2 Wed Nov 19 14:57:05 2025: C<Module> L<Data::UUID|Data::UUID>
243
+ =head2 Fri Nov 28 08:47:21 2025: C<Module> L<Data::UUID|Data::UUID>
244
244
 
245
245
  =over 4
246
246
 
@@ -4,39 +4,136 @@ use warnings FATAL => 'all';
4
4
  use lib 'lib';
5
5
  use Moose;
6
6
  use File::Basename;
7
+ use Cwd qw(abs_path);
7
8
  use Nice::Try;
8
9
  use aliased 'Javonet::Core::Exception::Exception' => 'Exception';
9
10
  extends 'Javonet::Core::Handler::CommandHandler::AbstractCommandHandler';
10
11
 
12
+ # Track loaded libraries by absolute path
13
+ our %LOADED_LIBRARIES;
14
+
11
15
  sub new {
12
16
  my $class = shift;
13
- my $self = {
14
- required_parameters_count => 1
17
+ my $self = {
18
+ required_parameters_count => 1,
19
+ @_, # optional extras
15
20
  };
16
21
  return bless $self, $class;
17
22
  }
18
23
 
19
24
  sub process {
20
- my ($self, $command) = @_;
25
+ my ( $self, $command ) = @_;
21
26
  try {
22
27
  my $current_payload_ref = $command->{payload};
23
- my @cur_payload = @$current_payload_ref;
24
- my $parameters_length = @cur_payload;
25
- if ($parameters_length != $self->{required_parameters_count}) {
28
+ my @cur_payload = @$current_payload_ref;
29
+ my $parameters_length = @cur_payload;
30
+
31
+ if ( $parameters_length != $self->{required_parameters_count} ) {
26
32
  die Exception->new("Exception: LoadLibrary parameters mismatch");
27
33
  }
34
+
28
35
  my $path_to_file = $command->{payload}[0];
29
- my $path_to_file_dir = dirname($path_to_file);
30
- my $file_name = basename($path_to_file);
31
36
 
32
- push(@INC, "$path_to_file_dir");
33
- eval(require $file_name);
37
+ if ( !defined $path_to_file || $path_to_file eq '' ) {
38
+ die Exception->new(
39
+ "Cannot load module: Library path is required but was not provided"
40
+ );
41
+ }
42
+
43
+ # ---------------------------------------------------------------------
44
+ # Normalize file extension
45
+ # If no extension is given, try "<file>.pm"
46
+ # ---------------------------------------------------------------------
47
+ my $normalized_path = $path_to_file;
48
+
49
+ if ( $normalized_path !~ /\.[^\/\\]+$/ ) { # no extension
50
+ my $with_pm = $normalized_path . '.pm';
51
+ if ( -e $with_pm ) {
52
+ $normalized_path = $with_pm;
53
+ }
54
+ }
55
+
56
+ # Resolve to absolute path if possible
57
+ my $absolute_path =
58
+ abs_path($normalized_path)
59
+ // abs_path($path_to_file)
60
+ // $normalized_path;
61
+
62
+ # Check that the file exists
63
+ if ( !-e $absolute_path ) {
64
+ die Exception->new("Cannot load module: Library not found: $path_to_file");
65
+ }
66
+
67
+ # ---------------------------------------------------------------------
68
+ # Load only once by absolute path
69
+ # ---------------------------------------------------------------------
70
+ if ( $LOADED_LIBRARIES{$absolute_path} ) {
71
+ return 0;
72
+ }
73
+
74
+ my $path_to_file_dir = dirname($absolute_path);
75
+ my $file_name = basename($absolute_path);
76
+
77
+ # Ensure directory is in @INC
78
+ if ( !grep { $_ eq $path_to_file_dir } @INC ) {
79
+ push @INC, $path_to_file_dir;
80
+ }
81
+
82
+ # ---------------------------------------------------------------------
83
+ # Validate Perl module syntax before requiring
84
+ # ---------------------------------------------------------------------
85
+ #_validate_perl_syntax($absolute_path); #causes issues
86
+
87
+ # ---------------------------------------------------------------------
88
+ # Load the file
89
+ # ---------------------------------------------------------------------
90
+ eval {
91
+ require $file_name;
92
+ 1;
93
+ } or do {
94
+ my $err = $@ || 'Unknown error';
95
+ die Exception->new("Cannot load module: $absolute_path\n$err");
96
+ };
97
+
98
+ # Mark library as loaded
99
+ $LOADED_LIBRARIES{$absolute_path} = 1;
100
+
34
101
  return 0;
35
102
  }
36
- catch ( $e ) {
103
+ catch ($e) {
37
104
  return Exception->new($e);
38
105
  }
39
106
  }
40
107
 
108
+ sub get_loaded_libraries {
109
+ my ($self) = @_;
110
+ return [ keys %LOADED_LIBRARIES ];
111
+ }
112
+
113
+ # -------------------------------------------------------------------------
114
+ # Validate syntax using "perl -c <file>"
115
+ # -------------------------------------------------------------------------
116
+ sub _validate_perl_syntax {
117
+ my ($absolute_path) = @_;
118
+
119
+ my $perl = $^X || 'perl';
120
+
121
+ my $pid = open my $fh, '-|', $perl, '-c', $absolute_path;
122
+ if ( !defined $pid ) {
123
+ # If perl cannot be spawned, we silently skip validation.
124
+ return;
125
+ }
126
+
127
+ my $output = do { local $/; <$fh> // '' };
128
+ close $fh;
129
+ my $exit_code = $? >> 8;
130
+
131
+ if ( $exit_code != 0 ) {
132
+ die Exception->new(
133
+ "Cannot load module: syntax check failed for $absolute_path\n$output"
134
+ );
135
+ }
136
+ }
137
+
41
138
  no Moose;
42
139
  1;
@@ -0,0 +1,29 @@
1
+ package Javonet::Core::Handler::CommandHandler::RegisterForUpdateHandler;
2
+ use strict;
3
+ use warnings FATAL => 'all';
4
+ use lib 'lib';
5
+ use Moose;
6
+ use Nice::Try;
7
+ use aliased 'Javonet::Core::Exception::Exception' => 'Exception';
8
+ extends 'Javonet::Core::Handler::CommandHandler::AbstractCommandHandler';
9
+
10
+ sub new {
11
+ my $class = shift;
12
+ my $self = {
13
+ required_parameters_count => 1
14
+ };
15
+ return bless $self, $class;
16
+ }
17
+
18
+ sub process {
19
+ my ($self, $command) = @_;
20
+ try {
21
+ return $command->{payload}[0];
22
+ }
23
+ catch ( $e ) {
24
+ return Exception->new($e);
25
+ }
26
+ }
27
+
28
+ no Moose;
29
+ 1;
@@ -3,6 +3,15 @@ use strict;
3
3
  use warnings FATAL => 'all';
4
4
  use lib 'lib';
5
5
  use Moose;
6
+
7
+ use aliased 'Javonet::Sdk::Core::PerlCommandType' => 'PerlCommandType', qw(get_command_type);
8
+ use aliased 'Javonet::Sdk::Core::PerlCommand' => 'PerlCommand';
9
+ use aliased 'Javonet::Core::Handler::ReferencesCache' => 'ReferencesCache';
10
+ use aliased 'Javonet::Core::Handler::AbstractHandler' => 'AbstractHandler';
11
+ use aliased 'Javonet::Sdk::Core::RuntimeLib' => 'RuntimeLib';
12
+ use aliased 'Javonet::Core::Handler::HandlerDictionary' => 'HandlerDictionary';
13
+ use aliased 'Javonet::Sdk::Core::TypesHandler' => 'TypesHandler';
14
+
6
15
  use aliased 'Javonet::Core::Handler::CommandHandler::ValueHandler' => 'ValueHandler';
7
16
  use aliased 'Javonet::Core::Handler::CommandHandler::LoadLibraryHandler' => 'LoadLibraryHandler';
8
17
  use aliased 'Javonet::Core::Handler::CommandHandler::GetStaticFieldHandler' => 'GetStaticFieldHandler';
@@ -23,15 +32,7 @@ use aliased 'Javonet::Core::Handler::CommandHandler::ArrayGetSizeHandler' => 'Ar
23
32
  use aliased 'Javonet::Core::Handler::CommandHandler::ArrayGetRankHandler' => 'ArrayGetRankHandler';
24
33
  use aliased 'Javonet::Core::Handler::CommandHandler::ArraySetItemHandler' => 'ArraySetItemHandler';
25
34
  use aliased 'Javonet::Core::Handler::CommandHandler::InvokeGlobalFunctionHandler' => 'InvokeGlobalFunctionHandler';
26
-
27
-
28
- use aliased 'Javonet::Sdk::Core::PerlCommandType' => 'PerlCommandType', qw(get_command_type);
29
- use aliased 'Javonet::Sdk::Core::PerlCommand' => 'PerlCommand';
30
- use aliased 'Javonet::Core::Handler::ReferencesCache' => 'ReferencesCache';
31
- use aliased 'Javonet::Core::Handler::AbstractHandler' => 'AbstractHandler';
32
- use aliased 'Javonet::Sdk::Core::RuntimeLib' => 'RuntimeLib';
33
- use aliased 'Javonet::Core::Handler::HandlerDictionary' => 'HandlerDictionary';
34
- use aliased 'Javonet::Sdk::Core::TypesHandler' => 'TypesHandler';
35
+ use aliased 'Javonet::Core::Handler::CommandHandler::RegisterForUpdateHandler' => 'RegisterForUpdateHandler';
35
36
 
36
37
  my $value_handler = ValueHandler->new();
37
38
  my $load_library_handler = LoadLibraryHandler->new();
@@ -51,6 +52,7 @@ my $array_get_size_handler = ArrayGetSizeHandler->new();
51
52
  my $array_get_rank_handler = ArrayGetRankHandler->new();
52
53
  my $array_set_item_handler = ArraySetItemHandler->new();
53
54
  my $invoke_global_function_handler = InvokeGlobalFunctionHandler->new();
55
+ my $register_for_update_handler = RegisterForUpdateHandler->new();
54
56
 
55
57
 
56
58
  Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
@@ -127,6 +129,11 @@ Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
127
129
  $invoke_global_function_handler
128
130
  );
129
131
 
132
+ Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
133
+ Javonet::Sdk::Core::PerlCommandType::get_command_type('RegisterForUpdate'),
134
+ $register_for_update_handler
135
+ );
136
+
130
137
  sub handle_command {
131
138
  my ($self, $command) = @_;
132
139
  my $response = Javonet::Core::Handler::HandlerDictionary::get_handler($command->{command_type})->handle_command($command);
@@ -54,7 +54,8 @@ my %command_type = (
54
54
  'AsKwargs' => 45,
55
55
  'GetResultType' => 46,
56
56
  'GetGlobalField' => 47,
57
-
57
+ 'RegisterForUpdate' => 48,
58
+ 'ValueForUpdate' => 49,
58
59
  );
59
60
 
60
61
  sub get_command_type {