javonet-ruby-sdk 2.6.3 → 2.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) 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/libUtils.so +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
  9. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPhp848RuntimeNative.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  13. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs2218RuntimeNative.dylib +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPhp848RuntimeNative.dylib +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPhpRuntimeNative.dll +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs2218RuntimeNative.dll +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhp848RuntimeNative.dll +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhpRuntimeNative.dll +0 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPython2RuntimeNative.dll +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  50. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  52. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  54. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  56. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPhpRuntimeNative.dll +0 -0
  57. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPython2RuntimeNative.dll +0 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  59. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  60. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  61. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
  63. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  64. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Plugins.dll +0 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  66. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/AbstractHandler.cjs +4 -4
  67. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/GetInstanceMethodAsDelegateHandler.cjs +2 -4
  68. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/GetStaticMethodAsDelegateHandler.cjs +4 -2
  69. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/GetTypeHandler.cjs +3 -3
  70. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/transmitter/Transmitter.cjs +4 -4
  71. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/ConfigRuntimeFactory.cjs +50 -47
  72. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/InvocationContext.cjs +10 -2
  73. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/Javonet.cjs +22 -0
  74. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeFactory.cjs +33 -1
  75. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/configuration/Config.cjs +55 -0
  76. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/configuration/ConfigPriority.cjs +38 -0
  77. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/configuration/ConfigSourceResolver.cjs +100 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/configuration/ConfigsDictionary.cjs +121 -0
  79. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/configuration/configResolvers/ConfigResolver.cjs +121 -0
  80. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/configuration/configResolvers/ConnectionStringConfigResolver.cjs +123 -0
  81. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/configuration/configResolvers/JsonConfigResolver.cjs +125 -0
  82. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/configuration/configResolvers/YamlConfigResolver.cjs +125 -0
  83. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/tools/JsonResolver.cjs +4 -1
  84. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/transmitter/Transmitter.d.ts +1 -1
  85. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/ConfigRuntimeFactory.d.ts +3 -0
  86. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/Javonet.d.ts +15 -1
  87. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeFactory.d.ts +14 -0
  88. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/configuration/Config.d.ts +14 -0
  89. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/configuration/ConfigPriority.d.ts +8 -0
  90. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/configuration/ConfigSourceResolver.d.ts +7 -0
  91. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/configuration/ConfigsDictionary.d.ts +30 -0
  92. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/configuration/configResolvers/ConfigResolver.d.ts +30 -0
  93. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/configuration/configResolvers/ConnectionStringConfigResolver.d.ts +23 -0
  94. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/configuration/configResolvers/JsonConfigResolver.d.ts +26 -0
  95. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/configuration/configResolvers/YamlConfigResolver.d.ts +32 -0
  96. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/tools/JsonResolver.d.ts +4 -2
  97. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/Runtime.d.ts +4 -3
  98. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/RuntimeNameHandler.d.ts +5 -0
  99. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/RuntimeNameHandler.cjs +34 -0
  100. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/connectionData/InMemoryConnectionData.cjs +7 -1
  101. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/connectionData/WsConnectionData.cjs +6 -0
  102. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/exception/ExceptionSerializer.cjs +6 -2
  103. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/nodejs/connectionData/TcpConnectionData.cjs +15 -6
  104. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +4 -4
  105. 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
  106. 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
  107. 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
  108. 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
  109. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  110. 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
  111. 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
  112. 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
  113. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  114. 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
  115. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +93 -93
  116. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/RuntimeLib.pm +1 -1
  117. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeFactory.pm +2 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +11 -1
  119. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  120. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  121. 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
  122. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  123. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  124. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +18 -18
  125. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/RuntimeLib.pm +1 -1
  126. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeFactory.pm +2 -0
  127. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +11 -1
  128. data/lib/javonet-ruby-sdk/Binaries/Php/composer.json +0 -1
  129. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/protocol/TypeDeserializer.php +10 -8
  130. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/protocol/TypeSerializer.php +2 -3
  131. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/receiver/Receiver.php +2 -10
  132. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/Command.php +2 -13
  133. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/ExceptionSerializer.php +12 -5
  134. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/RuntimeNameHandler.py +28 -0
  135. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/InMemoryConnectionData.py +4 -1
  136. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/TcpConnectionData.py +3 -0
  137. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/WsConnectionData.py +4 -0
  138. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  139. data/lib/javonet-ruby-sdk/sdk/internal/abstract_runtime_factory.rb +4 -0
  140. data/lib/javonet-ruby-sdk/sdk/runtime_factory.rb +7 -0
  141. metadata +18 -2
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var YamlConfigResolver_exports = {};
30
+ __export(YamlConfigResolver_exports, {
31
+ YamlConfigResolver: () => YamlConfigResolver
32
+ });
33
+ module.exports = __toCommonJS(YamlConfigResolver_exports);
34
+ var import_js_yaml = __toESM(require("js-yaml"), 1);
35
+ var import_Config = require("../Config.cjs");
36
+ var import_ConfigsDictionary = require("../ConfigsDictionary.cjs");
37
+ var import_ConfigResolver = require("./ConfigResolver.cjs");
38
+ var import_ActivationHelper = require("../../tools/ActivationHelper.cjs");
39
+ class YamlConfigResolver extends import_ConfigResolver.ConfigResolver {
40
+ /**
41
+ * Parse YAML string and add configurations.
42
+ * @param {any} priority
43
+ * @param {string} yamlString
44
+ */
45
+ static addConfigs(priority, yamlString) {
46
+ if (!yamlString || String(yamlString).trim() === "") {
47
+ throw new Error("YAML string cannot be null or empty.");
48
+ }
49
+ let data;
50
+ try {
51
+ data = import_js_yaml.default.load(String(yamlString));
52
+ } catch (ex) {
53
+ throw new SyntaxError(`Failed to parse YAML: ${ex}`);
54
+ }
55
+ if (typeof data !== "object" || data == null || Array.isArray(data)) {
56
+ throw new SyntaxError("Root YAML node must be a mapping.");
57
+ }
58
+ const root = (
59
+ /** @type {RootYaml} */
60
+ data
61
+ );
62
+ const licenseKey = root.licenseKey;
63
+ if (typeof licenseKey === "string") {
64
+ import_ActivationHelper.ActivationHelper.temporaryLicenseKey = licenseKey.trim();
65
+ }
66
+ const configs = root.configurations;
67
+ if (typeof configs !== "object" || configs == null || Array.isArray(configs)) {
68
+ throw new Error("YAML must contain 'configurations' mapping.");
69
+ }
70
+ for (const [configName, cfg] of Object.entries(configs)) {
71
+ if (typeof configName !== "string" || configName.trim() === "") {
72
+ console.log("Skipping entry with empty config name.");
73
+ continue;
74
+ }
75
+ if (typeof cfg !== "object" || cfg == null || Array.isArray(cfg)) {
76
+ console.log(`Skipping '${configName}': value is not a mapping.`);
77
+ continue;
78
+ }
79
+ try {
80
+ const runtimeValue = YamlConfigResolver._getRequiredString(cfg, "runtime");
81
+ const runtimeName = import_ConfigResolver.ConfigResolver.tryParseRuntime(runtimeValue);
82
+ const host = YamlConfigResolver._getOptionalString(cfg, "host");
83
+ const connectionData = import_ConfigResolver.ConfigResolver.buildConnectionData(host);
84
+ const plugins = YamlConfigResolver._getOptionalString(cfg, "plugins");
85
+ const modules = YamlConfigResolver._getOptionalString(cfg, "modules");
86
+ const config = new import_Config.Config(runtimeName, connectionData, plugins, modules);
87
+ import_ConfigsDictionary.ConfigsDictionary.addConfig(configName, priority, config);
88
+ } catch (ex) {
89
+ console.log(`Failed to add config '${configName}': ${ex}`);
90
+ }
91
+ }
92
+ }
93
+ /**
94
+ * Get required string from mapping, trimmed. Throws if missing/invalid.
95
+ * @param {Record<string, unknown>} mapping
96
+ * @param {string} key
97
+ * @returns {string}
98
+ * @private
99
+ */
100
+ static _getRequiredString(mapping, key) {
101
+ const value = mapping[key];
102
+ if (typeof value !== "string" || value.trim() === "") {
103
+ throw new Error(`Missing or invalid '${key}' property.`);
104
+ }
105
+ return value.trim();
106
+ }
107
+ /**
108
+ * Get optional string from mapping, or empty string if missing/not a string.
109
+ * @param {Record<string, unknown>} mapping
110
+ * @param {string} key
111
+ * @returns {string}
112
+ * @private
113
+ */
114
+ static _getOptionalString(mapping, key) {
115
+ const value = mapping[key];
116
+ if (typeof value === "string") {
117
+ return value;
118
+ }
119
+ return "";
120
+ }
121
+ }
122
+ // Annotate the CommonJS export names for ESM import in node:
123
+ 0 && (module.exports = {
124
+ YamlConfigResolver
125
+ });
@@ -42,8 +42,10 @@ let fs = null;
42
42
  class JsonResolver {
43
43
  /** @type {ConfigSource} */
44
44
  jsonObject;
45
- /** @type {string | ConfigSource} */
45
+ /** @type {string} */
46
46
  configSource;
47
+ /** @type {boolean} */
48
+ isConfigSourcePath = false;
47
49
  /**
48
50
  * @param {string | ConfigSource} configSource
49
51
  */
@@ -149,6 +151,7 @@ class JsonResolver {
149
151
  fs = requireDynamic("fs");
150
152
  }
151
153
  if (fs?.existsSync(configSource)) {
154
+ this.isConfigSourcePath = true;
152
155
  const jsonText = fs.readFileSync(configSource, "utf8");
153
156
  if (isValidJson(jsonText)) {
154
157
  const parsedFromFile = JSON.parse(jsonText);
@@ -12,7 +12,7 @@ export class Transmitter {
12
12
  /**
13
13
  * @param {string} configSource
14
14
  * @returns {void}
15
- */
15
+ */
16
16
  static setConfigSource(configSource: string): void;
17
17
  /**
18
18
  * @param {string} workingDirectory
@@ -8,6 +8,9 @@
8
8
  * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/runtime-context)
9
9
  */
10
10
  export class ConfigRuntimeFactory {
11
+ static _IN_MEMORY_CONNECTION_TYPES: string[];
12
+ static _WEB_SOCKET_CONNECTION_TYPES: string[];
13
+ static _TCP_CONNECTION_TYPES: string[];
11
14
  /**
12
15
  * @param {ConfigSource | string} configSource
13
16
  */
@@ -58,11 +58,25 @@ export class Javonet {
58
58
  * @returns {void}
59
59
  */
60
60
  static setJavonetWorkingDirectory(path: string): void;
61
+ /**
62
+ * Adds a configuration to the ConfigSourceResolver with the specified priority and source.
63
+ * @param {number} priority - The priority of the configuration.
64
+ * @param {string} configSource - The configuration source.
65
+ */
66
+ static addConfig(priority: number, configSource: string): void;
67
+ /**
68
+ * Initializes a RuntimeContext instance based on the specified configuration name.
69
+ * @param {string} configName - The name of the configuration to use.
70
+ * @returns {RuntimeContext} A RuntimeContext instance initialized with the specified configuration.
71
+ */
72
+ static initializeRc(configName: string): RuntimeContext;
61
73
  }
62
74
  import { TcpConnectionData } from '../utils/nodejs/connectionData/TcpConnectionData.js';
63
75
  import { WsConnectionData } from '../utils/connectionData/WsConnectionData.js';
64
76
  import { CommandSerializer } from '../core/protocol/CommandSerializer.js';
65
77
  import { CommandDeserializer } from '../core/protocol/CommandDeserializer.js';
78
+ import { ConfigPriority } from './configuration/ConfigPriority.js';
66
79
  import { RuntimeFactory } from './RuntimeFactory.js';
67
80
  import { ConfigRuntimeFactory } from './ConfigRuntimeFactory.js';
68
- export { TcpConnectionData, WsConnectionData, CommandSerializer, CommandDeserializer };
81
+ import { RuntimeContext } from './RuntimeContext.js';
82
+ export { TcpConnectionData, WsConnectionData, CommandSerializer, CommandDeserializer, ConfigPriority };
@@ -7,6 +7,14 @@
7
7
  * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/runtime-context)
8
8
  */
9
9
  export class RuntimeFactory {
10
+ /**
11
+ * @param {{ runtime: import("../types.js").RuntimeName; connectionData: import("../utils/connectionData/IConnectionData.js").IConnectionData; modules: any; }} config
12
+ */
13
+ static initializeRuntimeContext(config: {
14
+ runtime: import("../types.js").RuntimeName;
15
+ connectionData: import("../utils/connectionData/IConnectionData.js").IConnectionData;
16
+ modules: any;
17
+ }): RuntimeContext;
10
18
  /**
11
19
  * @param {IConnectionData} connectionData
12
20
  */
@@ -54,6 +62,12 @@ export class RuntimeFactory {
54
62
  * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/runtime-context)
55
63
  */
56
64
  nodejs(): RuntimeContext;
65
+ /**
66
+ * Creates RuntimeContext instance to interact with the PHP runtime.
67
+ * @return {RuntimeContext} a RuntimeContext instance for the PHP runtime
68
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/runtime-context)
69
+ */
70
+ php(): RuntimeContext;
57
71
  /**
58
72
  * Creates RuntimeContext instance to interact with the Python runtime.
59
73
  * @return {RuntimeContext} a RuntimeContext instance for the Python runtime
@@ -0,0 +1,14 @@
1
+ export class Config {
2
+ /**
3
+ * @param {*} runtime
4
+ * @param {*} connectionData
5
+ * @param {string} [plugins=""]
6
+ * @param {string} [modules=""]
7
+ */
8
+ constructor(runtime: any, connectionData: any, plugins?: string, modules?: string);
9
+ runtime: any;
10
+ connectionData: any;
11
+ plugins: string;
12
+ modules: string;
13
+ toString(): string;
14
+ }
@@ -0,0 +1,8 @@
1
+ export namespace ConfigPriority {
2
+ let RuntimeSpecificEnv: 1;
3
+ let GlobalEnv: 2;
4
+ let RuntimeSpecificFile: 3;
5
+ let GlobalFile: 4;
6
+ let User: 5;
7
+ let DefaultLibrary: 6;
8
+ }
@@ -0,0 +1,7 @@
1
+ export class ConfigSourceResolver {
2
+ static addConfigs(priority: any, configSource: any): void;
3
+ static getConfig(configName: any): any;
4
+ static clearConfigs(): void;
5
+ static _getConfigSourceAsString(configSource: any): any;
6
+ static _parseConfigsAndAddToCollection(priority: any, configString: any): void;
7
+ }
@@ -0,0 +1,30 @@
1
+ export class ConfigsDictionary {
2
+ /** @type {Map<string, Map<number, any>>} */
3
+ static _configurations_collection: Map<string, Map<number, any>>;
4
+ /**
5
+ * Normalize priority to a numeric value.
6
+ * Accepts either a number or an object with a numeric `value` property.
7
+ * @param {any} priority
8
+ * @returns {number|undefined}
9
+ */
10
+ static _normalizePriority(priority: any): number | undefined;
11
+ /**
12
+ * Add a configuration for a given name and priority.
13
+ * If the same name+priority already exists, it will not be overwritten.
14
+ * @param {string} name
15
+ * @param {number|{value:number}} priority
16
+ * @param {*} config
17
+ */
18
+ static addConfig(name: string, priority: number | {
19
+ value: number;
20
+ }, config: any): void;
21
+ /**
22
+ * Retrieve the configuration with the numerically smallest priority for the given name.
23
+ * Throws if name is invalid or no configuration is found.
24
+ * @param {string} name
25
+ * @returns {*}
26
+ */
27
+ static getConfig(name: string): any;
28
+ /** Clear all stored configurations. */
29
+ static clearConfigs(): void;
30
+ }
@@ -0,0 +1,30 @@
1
+ export class ConfigResolver {
2
+ /**
3
+ * Parse a runtime string into the runtime enum/name using RuntimeNameHandler.
4
+ * @param {string} runtime
5
+ * @returns {*}
6
+ */
7
+ static tryParseRuntime(runtime: string): any;
8
+ /**
9
+ * Build appropriate connection data object from a host string.
10
+ * - empty / null => InMemoryConnectionData
11
+ * - "inmemory" or "in-memory" => InMemoryConnectionData
12
+ * - ws:// or wss:// => WsConnectionData(fullAddress)
13
+ * - tcp://... => parsed by parseTcp
14
+ * - host:port or host:port/... => TcpConnectionData(host, port) if valid, otherwise InMemoryConnectionData
15
+ * @param {string} hostValue
16
+ * @returns {InMemoryConnectionData|WsConnectionData|TcpConnectionData}
17
+ */
18
+ static buildConnectionData(hostValue: string): InMemoryConnectionData | WsConnectionData | TcpConnectionData;
19
+ /**
20
+ * Parse tcp address portion (after tcp://) into TcpConnectionData.
21
+ * Expected formats: host:port or host:port/...
22
+ * Throws Error on invalid format or port.
23
+ * @param {string} address
24
+ * @returns {TcpConnectionData}
25
+ */
26
+ static parseTcp(address: string): TcpConnectionData;
27
+ }
28
+ import { InMemoryConnectionData } from '../../../utils/connectionData/InMemoryConnectionData.js';
29
+ import { WsConnectionData } from '../../../utils/connectionData/WsConnectionData.js';
30
+ import { TcpConnectionData } from '../../../utils/nodejs/connectionData/TcpConnectionData.js';
@@ -0,0 +1,23 @@
1
+ export class ConnectionStringConfigResolver extends ConfigResolver {
2
+ /**
3
+ * Parse and add multiple configuration lines from a connection string source.
4
+ * @param {any} priority
5
+ * @param {string} connectionStringSource
6
+ */
7
+ static addConfigs(priority: any, connectionStringSource: string): void;
8
+ /**
9
+ * Extract and set temporary license key from a line like "licensekey=VALUE;..."
10
+ * @param {string} line
11
+ * @private
12
+ */
13
+ private static _setLicenseKey;
14
+ /**
15
+ * Parse semicolon-separated key=value tokens into an object.
16
+ * Ignores malformed tokens and logs them.
17
+ * @param {string} line
18
+ * @returns {Record<string, string>}
19
+ * @private
20
+ */
21
+ private static _parseKeyValues;
22
+ }
23
+ import { ConfigResolver } from './ConfigResolver.js';
@@ -0,0 +1,26 @@
1
+ export class JsonConfigResolver extends ConfigResolver {
2
+ /**
3
+ * Parse and add configurations from a JSON object.
4
+ * @param {any} priority
5
+ * @param {Record<string, unknown>} jsonObject
6
+ */
7
+ static addConfigs(priority: any, jsonObject: Record<string, unknown>): void;
8
+ /**
9
+ * Get a required string property from an object, trimmed.
10
+ * Throws if missing or empty.
11
+ * @param {Record<string, unknown>} obj
12
+ * @param {string} property
13
+ * @returns {string}
14
+ * @private
15
+ */
16
+ private static _getRequiredString;
17
+ /**
18
+ * Get an optional string property; return empty string when missing or not a string.
19
+ * @param {Record<string, unknown>} obj
20
+ * @param {string} property
21
+ * @returns {string}
22
+ * @private
23
+ */
24
+ private static _getOptionalString;
25
+ }
26
+ import { ConfigResolver } from './ConfigResolver.js';
@@ -0,0 +1,32 @@
1
+ export type RootYaml = {
2
+ licenseKey?: string;
3
+ configurations?: Record<string, Record<string, unknown>>;
4
+ };
5
+ /**
6
+ * @typedef {{ licenseKey?: string, configurations?: Record<string, Record<string, unknown>> }} RootYaml
7
+ */
8
+ export class YamlConfigResolver extends ConfigResolver {
9
+ /**
10
+ * Parse YAML string and add configurations.
11
+ * @param {any} priority
12
+ * @param {string} yamlString
13
+ */
14
+ static addConfigs(priority: any, yamlString: string): void;
15
+ /**
16
+ * Get required string from mapping, trimmed. Throws if missing/invalid.
17
+ * @param {Record<string, unknown>} mapping
18
+ * @param {string} key
19
+ * @returns {string}
20
+ * @private
21
+ */
22
+ private static _getRequiredString;
23
+ /**
24
+ * Get optional string from mapping, or empty string if missing/not a string.
25
+ * @param {Record<string, unknown>} mapping
26
+ * @param {string} key
27
+ * @returns {string}
28
+ * @private
29
+ */
30
+ private static _getOptionalString;
31
+ }
32
+ import { ConfigResolver } from './ConfigResolver.js';
@@ -11,8 +11,10 @@ export class JsonResolver {
11
11
  constructor(configSource: string | ConfigSource);
12
12
  /** @type {ConfigSource} */
13
13
  jsonObject: ConfigSource;
14
- /** @type {string | ConfigSource} */
15
- configSource: string | ConfigSource;
14
+ /** @type {string} */
15
+ configSource: string;
16
+ /** @type {boolean} */
17
+ isConfigSourcePath: boolean;
16
18
  /**
17
19
  * @returns {Partial<Runtimes>}
18
20
  */
@@ -18,6 +18,7 @@ export function isEsmRuntime(): boolean;
18
18
  * @returns {string}
19
19
  */
20
20
  export function getRuntimeExtension(): string;
21
- export function getRequire(callerPath: string): any;
22
- export function getDirname(): any;
23
- export function getDependency(dependencyName: string, callerPathOrUrl: string): string;
21
+ export function getRequire(callerPath?: string): any;
22
+ export function getDirname(): string | Error;
23
+ export function getDependency(dependencyName: string, callerPathOrUrl?: string): string;
24
+ export type ConfigSource = import("../types.js").ConfigSource;
@@ -8,4 +8,9 @@ export class RuntimeNameHandler {
8
8
  * @returns {RuntimeType}
9
9
  */
10
10
  static getName(runtimeName: number): RuntimeType;
11
+ /**
12
+ * @param {string} name
13
+ * @returns {number}
14
+ */
15
+ static getRuntime: (name: string) => number;
11
16
  }
@@ -55,6 +55,40 @@ class RuntimeNameHandler {
55
55
  throw new Error("Invalid runtime name.");
56
56
  }
57
57
  }
58
+ /**
59
+ * @param {string} name
60
+ * @returns {number}
61
+ */
62
+ static getRuntime = (name) => {
63
+ if (!name || name.trim() === "") {
64
+ throw new Error("Runtime name cannot be null or whitespace.");
65
+ }
66
+ const normalized = name.trim().toLowerCase();
67
+ switch (normalized) {
68
+ case "clr":
69
+ return import_RuntimeName.RuntimeName.Clr;
70
+ case "go":
71
+ return import_RuntimeName.RuntimeName.Go;
72
+ case "jvm":
73
+ return import_RuntimeName.RuntimeName.Jvm;
74
+ case "netcore":
75
+ return import_RuntimeName.RuntimeName.Netcore;
76
+ case "perl":
77
+ return import_RuntimeName.RuntimeName.Perl;
78
+ case "python":
79
+ return import_RuntimeName.RuntimeName.Python;
80
+ case "ruby":
81
+ return import_RuntimeName.RuntimeName.Ruby;
82
+ case "nodejs":
83
+ return import_RuntimeName.RuntimeName.Nodejs;
84
+ case "php":
85
+ return import_RuntimeName.RuntimeName.Php;
86
+ case "python27":
87
+ return import_RuntimeName.RuntimeName.Python27;
88
+ default:
89
+ throw new Error(`${name} is not a supported runtime.`);
90
+ }
91
+ };
58
92
  }
59
93
  // Annotate the CommonJS export names for ESM import in node:
60
94
  0 && (module.exports = {
@@ -27,7 +27,7 @@ class InMemoryConnectionData extends import_IConnectionData.IConnectionData {
27
27
  constructor() {
28
28
  super();
29
29
  this._connectionType = import_ConnectionType.ConnectionType.IN_MEMORY;
30
- this._hostname = "";
30
+ this._hostname = "inMemory";
31
31
  }
32
32
  /**
33
33
  * @returns {ConnectionType}
@@ -55,6 +55,12 @@ class InMemoryConnectionData extends import_IConnectionData.IConnectionData {
55
55
  equals(other) {
56
56
  return other instanceof InMemoryConnectionData;
57
57
  }
58
+ /**
59
+ * @returns {string}
60
+ */
61
+ toString() {
62
+ return this.hostname;
63
+ }
58
64
  }
59
65
  // Annotate the CommonJS export names for ESM import in node:
60
66
  0 && (module.exports = {
@@ -58,6 +58,12 @@ class WsConnectionData extends import_IConnectionData.IConnectionData {
58
58
  equals(other) {
59
59
  return other instanceof WsConnectionData && this._hostname === other.hostname;
60
60
  }
61
+ /**
62
+ * @returns {string}
63
+ */
64
+ toString() {
65
+ return this.hostname;
66
+ }
61
67
  }
62
68
  // Annotate the CommonJS export names for ESM import in node:
63
69
  0 && (module.exports = {
@@ -35,7 +35,9 @@ class ExceptionSerializer {
35
35
  try {
36
36
  this.serializeStackTrace(exception, stackClasses, stackMethods, stackLines, stackFiles);
37
37
  exceptionCommand = exceptionCommand.addArgToPayload(this.getExceptionCode(exception));
38
- exceptionCommand = exceptionCommand.addArgToPayload(command ? command.toString() : "Command is null");
38
+ exceptionCommand = exceptionCommand.addArgToPayload(
39
+ command ? command.toString() : "Command is null"
40
+ );
39
41
  exceptionCommand = exceptionCommand.addArgToPayload(exception.name);
40
42
  exceptionCommand = exceptionCommand.addArgToPayload(exception.message);
41
43
  exceptionCommand = exceptionCommand.addArgToPayload(stackClasses.join("|"));
@@ -45,7 +47,9 @@ class ExceptionSerializer {
45
47
  } catch (e) {
46
48
  exceptionCommand = new import_Command.Command(import_RuntimeName.RuntimeName.Nodejs, import_CommandType.CommandType.Exception, []);
47
49
  exceptionCommand = exceptionCommand.addArgToPayload(this.getExceptionCode(e));
48
- exceptionCommand = exceptionCommand.addArgToPayload(command ? command.toString() : "Command is null");
50
+ exceptionCommand = exceptionCommand.addArgToPayload(
51
+ command ? command.toString() : "Command is null"
52
+ );
49
53
  exceptionCommand = exceptionCommand.addArgToPayload("Node.js Exception Serialization Error");
50
54
  exceptionCommand = exceptionCommand.addArgToPayload(e.message);
51
55
  exceptionCommand = exceptionCommand.addArgToPayload("ExceptionSerializer");
@@ -81,13 +81,16 @@ class TcpConnectionData extends import_IConnectionData.IConnectionData {
81
81
  return hostname;
82
82
  } else {
83
83
  const dns = requireDynamic("dns");
84
- return dns.resolve4(hostname, (err, addresses) => {
85
- if (err) {
86
- console.error(err);
87
- return "";
84
+ return dns.resolve4(
85
+ hostname,
86
+ (err, addresses) => {
87
+ if (err) {
88
+ console.error(err);
89
+ return "";
90
+ }
91
+ return addresses[0];
88
92
  }
89
- return addresses[0];
90
- });
93
+ );
91
94
  }
92
95
  }
93
96
  return "";
@@ -124,6 +127,12 @@ class TcpConnectionData extends import_IConnectionData.IConnectionData {
124
127
  #getPortBytes() {
125
128
  return [this._port & 255, this._port >> 8];
126
129
  }
130
+ /**
131
+ * @returns {string}
132
+ */
133
+ toString() {
134
+ return `${this.ipAddress}:${this._port}`;
135
+ }
127
136
  }
128
137
  // Annotate the CommonJS export names for ESM import in node:
129
138
  0 && (module.exports = {
@@ -1,5 +1,5 @@
1
1
  package ExtUtils::InstallPaths;
2
- $ExtUtils::InstallPaths::VERSION = '0.014';
2
+ $ExtUtils::InstallPaths::VERSION = '0.015';
3
3
  use 5.008;
4
4
  use strict;
5
5
  use warnings;
@@ -344,7 +344,7 @@ sub install_map {
344
344
 
345
345
  my (%map, @skipping);
346
346
  foreach my $type (keys %localdir_for) {
347
- next if not $self->is_default_installable($type);
347
+ next if not -e $localdir_for{$type} and not $self->is_default_installable($type);
348
348
  if (my $dest = $self->install_destination($type)) {
349
349
  $map{$localdir_for{$type}} = $dest;
350
350
  } else {
@@ -406,7 +406,7 @@ ExtUtils::InstallPaths - Build.PL install path logic made easy
406
406
 
407
407
  =head1 VERSION
408
408
 
409
- version 0.014
409
+ version 0.015
410
410
 
411
411
  =head1 SYNOPSIS
412
412
 
@@ -613,7 +613,7 @@ Ken Williams <kwilliams@cpan.org>
613
613
 
614
614
  =item *
615
615
 
616
- Leon Timmermans <leont@cpan.org>
616
+ Leon Timmermans <fawaka@gmail.com>
617
617
 
618
618
  =back
619
619