@comake/skl-js-engine 1.3.9 → 1.3.11

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 (297) hide show
  1. package/dist/JsExecutor/PermissionBuilder.d.ts +1 -0
  2. package/dist/JsExecutor/PermissionBuilder.d.ts.map +1 -0
  3. package/dist/JsExecutor/PermissionBuilder.js.map +1 -1
  4. package/dist/JsExecutor/constants.d.ts +1 -0
  5. package/dist/JsExecutor/constants.d.ts.map +1 -0
  6. package/dist/JsExecutor/constants.js.map +1 -1
  7. package/dist/JsExecutor/denoUtils.d.ts +1 -0
  8. package/dist/JsExecutor/denoUtils.d.ts.map +1 -0
  9. package/dist/JsExecutor/denoUtils.js.map +1 -1
  10. package/dist/JsExecutor/errors.d.ts +1 -0
  11. package/dist/JsExecutor/errors.d.ts.map +1 -0
  12. package/dist/JsExecutor/errors.js.map +1 -1
  13. package/dist/JsExecutor/examples/basic/index.d.ts +1 -0
  14. package/dist/JsExecutor/examples/basic/index.d.ts.map +1 -0
  15. package/dist/JsExecutor/examples/basic/index.js.map +1 -1
  16. package/dist/JsExecutor/examples/basic/process.d.ts +1 -0
  17. package/dist/JsExecutor/examples/basic/process.d.ts.map +1 -0
  18. package/dist/JsExecutor/examples/basic/process.js.map +1 -1
  19. package/dist/JsExecutor/examples/jsExecutor/index.d.ts +1 -0
  20. package/dist/JsExecutor/examples/jsExecutor/index.d.ts.map +1 -0
  21. package/dist/JsExecutor/examples/jsExecutor/index.js.map +1 -1
  22. package/dist/JsExecutor/examples/jsExecutor/process.d.ts +1 -0
  23. package/dist/JsExecutor/examples/jsExecutor/process.d.ts.map +1 -0
  24. package/dist/JsExecutor/examples/jsExecutor/process.js.map +1 -1
  25. package/dist/JsExecutor/index.d.ts +1 -0
  26. package/dist/JsExecutor/index.d.ts.map +1 -0
  27. package/dist/JsExecutor/index.js.map +1 -1
  28. package/dist/JsExecutor/jsExecutor.d.ts +1 -0
  29. package/dist/JsExecutor/jsExecutor.d.ts.map +1 -0
  30. package/dist/JsExecutor/jsExecutor.js.map +1 -1
  31. package/dist/JsExecutor/jsonRpc/JsonRpcClient.d.ts +1 -0
  32. package/dist/JsExecutor/jsonRpc/JsonRpcClient.d.ts.map +1 -0
  33. package/dist/JsExecutor/jsonRpc/JsonRpcClient.js.map +1 -1
  34. package/dist/JsExecutor/jsonRpc/JsonRpcServer.d.ts +1 -0
  35. package/dist/JsExecutor/jsonRpc/JsonRpcServer.d.ts.map +1 -0
  36. package/dist/JsExecutor/jsonRpc/JsonRpcServer.js.map +1 -1
  37. package/dist/JsExecutor/jsonRpc/index.d.ts +1 -0
  38. package/dist/JsExecutor/jsonRpc/index.d.ts.map +1 -0
  39. package/dist/JsExecutor/jsonRpc/index.js.map +1 -1
  40. package/dist/JsExecutor/jsonRpc/types.d.ts +1 -0
  41. package/dist/JsExecutor/jsonRpc/types.d.ts.map +1 -0
  42. package/dist/JsExecutor/jsonRpc/types.js.map +1 -1
  43. package/dist/JsExecutor/transport/Transport.d.ts +1 -0
  44. package/dist/JsExecutor/transport/Transport.d.ts.map +1 -0
  45. package/dist/JsExecutor/transport/Transport.js.map +1 -1
  46. package/dist/JsExecutor/transport/base/BaseTransport.d.ts +1 -0
  47. package/dist/JsExecutor/transport/base/BaseTransport.d.ts.map +1 -0
  48. package/dist/JsExecutor/transport/base/BaseTransport.js.map +1 -1
  49. package/dist/JsExecutor/transport/index.d.ts +1 -0
  50. package/dist/JsExecutor/transport/index.d.ts.map +1 -0
  51. package/dist/JsExecutor/transport/index.js.map +1 -1
  52. package/dist/JsExecutor/transport/process/ProcessManager.d.ts +1 -0
  53. package/dist/JsExecutor/transport/process/ProcessManager.d.ts.map +1 -0
  54. package/dist/JsExecutor/transport/process/ProcessManager.js.map +1 -1
  55. package/dist/JsExecutor/transport/stdio/ChildStdioTransport.d.ts +1 -0
  56. package/dist/JsExecutor/transport/stdio/ChildStdioTransport.d.ts.map +1 -0
  57. package/dist/JsExecutor/transport/stdio/ChildStdioTransport.js.map +1 -1
  58. package/dist/JsExecutor/transport/stdio/ParentStdioTransport.d.ts +1 -0
  59. package/dist/JsExecutor/transport/stdio/ParentStdioTransport.d.ts.map +1 -0
  60. package/dist/JsExecutor/transport/stdio/ParentStdioTransport.js.map +1 -1
  61. package/dist/JsExecutor/transport/utils/MessageUtils.d.ts +1 -0
  62. package/dist/JsExecutor/transport/utils/MessageUtils.d.ts.map +1 -0
  63. package/dist/JsExecutor/transport/utils/MessageUtils.js.map +1 -1
  64. package/dist/JsExecutor/transport/utils/PollingUtils.d.ts +1 -0
  65. package/dist/JsExecutor/transport/utils/PollingUtils.d.ts.map +1 -0
  66. package/dist/JsExecutor/transport/utils/PollingUtils.js.map +1 -1
  67. package/dist/JsExecutor/types.d.ts +1 -0
  68. package/dist/JsExecutor/types.d.ts.map +1 -0
  69. package/dist/JsExecutor/types.js.map +1 -1
  70. package/dist/SklEngine.d.ts +1 -0
  71. package/dist/SklEngine.d.ts.map +1 -0
  72. package/dist/SklEngine.js.map +1 -1
  73. package/dist/SklEngineOptions.d.ts +1 -0
  74. package/dist/SklEngineOptions.d.ts.map +1 -0
  75. package/dist/SklEngineOptions.js.map +1 -1
  76. package/dist/constants.d.ts +1 -0
  77. package/dist/constants.d.ts.map +1 -0
  78. package/dist/constants.js.map +1 -1
  79. package/dist/customCapabilities.d.ts +1 -0
  80. package/dist/customCapabilities.d.ts.map +1 -0
  81. package/dist/customCapabilities.js.map +1 -1
  82. package/dist/examples/customCapabilitiesExample.d.ts +1 -0
  83. package/dist/examples/customCapabilitiesExample.d.ts.map +1 -0
  84. package/dist/examples/customCapabilitiesExample.js.map +1 -1
  85. package/dist/hooks/globalHooks.d.ts +1 -0
  86. package/dist/hooks/globalHooks.d.ts.map +1 -0
  87. package/dist/hooks/globalHooks.js.map +1 -1
  88. package/dist/hooks/types.d.ts +1 -0
  89. package/dist/hooks/types.d.ts.map +1 -0
  90. package/dist/hooks/types.js.map +1 -1
  91. package/dist/index.d.ts +1 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js.map +1 -1
  94. package/dist/logger.d.ts +1 -0
  95. package/dist/logger.d.ts.map +1 -0
  96. package/dist/logger.js.map +1 -1
  97. package/dist/mapping/Mapper.d.ts +1 -0
  98. package/dist/mapping/Mapper.d.ts.map +1 -0
  99. package/dist/mapping/Mapper.js.map +1 -1
  100. package/dist/storage/FindOperator.d.ts +1 -0
  101. package/dist/storage/FindOperator.d.ts.map +1 -0
  102. package/dist/storage/FindOperator.js.map +1 -1
  103. package/dist/storage/FindOptionsTypes.d.ts +1 -0
  104. package/dist/storage/FindOptionsTypes.d.ts.map +1 -0
  105. package/dist/storage/FindOptionsTypes.js.map +1 -1
  106. package/dist/storage/GroupOptionTypes.d.ts +1 -0
  107. package/dist/storage/GroupOptionTypes.d.ts.map +1 -0
  108. package/dist/storage/GroupOptionTypes.js.map +1 -1
  109. package/dist/storage/operator/And.d.ts +1 -0
  110. package/dist/storage/operator/And.d.ts.map +1 -0
  111. package/dist/storage/operator/And.js.map +1 -1
  112. package/dist/storage/operator/Contains.d.ts +1 -0
  113. package/dist/storage/operator/Contains.d.ts.map +1 -0
  114. package/dist/storage/operator/Contains.js.map +1 -1
  115. package/dist/storage/operator/Equal.d.ts +1 -0
  116. package/dist/storage/operator/Equal.d.ts.map +1 -0
  117. package/dist/storage/operator/Equal.js.map +1 -1
  118. package/dist/storage/operator/Exists.d.ts +1 -0
  119. package/dist/storage/operator/Exists.d.ts.map +1 -0
  120. package/dist/storage/operator/Exists.js.map +1 -1
  121. package/dist/storage/operator/GreaterThan.d.ts +1 -0
  122. package/dist/storage/operator/GreaterThan.d.ts.map +1 -0
  123. package/dist/storage/operator/GreaterThan.js.map +1 -1
  124. package/dist/storage/operator/GreaterThanOrEqual.d.ts +1 -0
  125. package/dist/storage/operator/GreaterThanOrEqual.d.ts.map +1 -0
  126. package/dist/storage/operator/GreaterThanOrEqual.js.map +1 -1
  127. package/dist/storage/operator/In.d.ts +1 -0
  128. package/dist/storage/operator/In.d.ts.map +1 -0
  129. package/dist/storage/operator/In.js.map +1 -1
  130. package/dist/storage/operator/Inverse.d.ts +1 -0
  131. package/dist/storage/operator/Inverse.d.ts.map +1 -0
  132. package/dist/storage/operator/Inverse.js.map +1 -1
  133. package/dist/storage/operator/InversePath.d.ts +1 -0
  134. package/dist/storage/operator/InversePath.d.ts.map +1 -0
  135. package/dist/storage/operator/InversePath.js.map +1 -1
  136. package/dist/storage/operator/InverseRelation.d.ts +1 -0
  137. package/dist/storage/operator/InverseRelation.d.ts.map +1 -0
  138. package/dist/storage/operator/InverseRelation.js.map +1 -1
  139. package/dist/storage/operator/InverseRelationOrder.d.ts +1 -0
  140. package/dist/storage/operator/InverseRelationOrder.d.ts.map +1 -0
  141. package/dist/storage/operator/InverseRelationOrder.js.map +1 -1
  142. package/dist/storage/operator/LessThan.d.ts +1 -0
  143. package/dist/storage/operator/LessThan.d.ts.map +1 -0
  144. package/dist/storage/operator/LessThan.js.map +1 -1
  145. package/dist/storage/operator/LessThanOrEqual.d.ts +1 -0
  146. package/dist/storage/operator/LessThanOrEqual.d.ts.map +1 -0
  147. package/dist/storage/operator/LessThanOrEqual.js.map +1 -1
  148. package/dist/storage/operator/Not.d.ts +1 -0
  149. package/dist/storage/operator/Not.d.ts.map +1 -0
  150. package/dist/storage/operator/Not.js.map +1 -1
  151. package/dist/storage/operator/OneOrMorePath.d.ts +1 -0
  152. package/dist/storage/operator/OneOrMorePath.d.ts.map +1 -0
  153. package/dist/storage/operator/OneOrMorePath.js.map +1 -1
  154. package/dist/storage/operator/Sequence.d.ts +1 -0
  155. package/dist/storage/operator/Sequence.d.ts.map +1 -0
  156. package/dist/storage/operator/Sequence.js.map +1 -1
  157. package/dist/storage/operator/SequencePath.d.ts +1 -0
  158. package/dist/storage/operator/SequencePath.d.ts.map +1 -0
  159. package/dist/storage/operator/SequencePath.js.map +1 -1
  160. package/dist/storage/operator/ZeroOrMorePath.d.ts +1 -0
  161. package/dist/storage/operator/ZeroOrMorePath.d.ts.map +1 -0
  162. package/dist/storage/operator/ZeroOrMorePath.js.map +1 -1
  163. package/dist/storage/query-adapter/QueryAdapter.d.ts +1 -0
  164. package/dist/storage/query-adapter/QueryAdapter.d.ts.map +1 -0
  165. package/dist/storage/query-adapter/QueryAdapter.js.map +1 -1
  166. package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.d.ts +1 -0
  167. package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.d.ts.map +1 -0
  168. package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.js +16 -3
  169. package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.js.map +1 -1
  170. package/dist/storage/query-adapter/sparql/SparqlQueryAdapterOptions.d.ts +1 -0
  171. package/dist/storage/query-adapter/sparql/SparqlQueryAdapterOptions.d.ts.map +1 -0
  172. package/dist/storage/query-adapter/sparql/SparqlQueryAdapterOptions.js.map +1 -1
  173. package/dist/storage/query-adapter/sparql/SparqlQueryBuilder.d.ts +1 -0
  174. package/dist/storage/query-adapter/sparql/SparqlQueryBuilder.d.ts.map +1 -0
  175. package/dist/storage/query-adapter/sparql/SparqlQueryBuilder.js +7 -22
  176. package/dist/storage/query-adapter/sparql/SparqlQueryBuilder.js.map +1 -1
  177. package/dist/storage/query-adapter/sparql/SparqlUpdateBuilder.d.ts +1 -0
  178. package/dist/storage/query-adapter/sparql/SparqlUpdateBuilder.d.ts.map +1 -0
  179. package/dist/storage/query-adapter/sparql/SparqlUpdateBuilder.js.map +1 -1
  180. package/dist/storage/query-adapter/sparql/VariableGenerator.d.ts +1 -0
  181. package/dist/storage/query-adapter/sparql/VariableGenerator.d.ts.map +1 -0
  182. package/dist/storage/query-adapter/sparql/VariableGenerator.js.map +1 -1
  183. package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.d.ts +1 -0
  184. package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.d.ts.map +1 -0
  185. package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.js.map +1 -1
  186. package/dist/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.d.ts +1 -0
  187. package/dist/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.d.ts.map +1 -0
  188. package/dist/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.js.map +1 -1
  189. package/dist/storage/query-adapter/sparql/query-executor/SparqlQueryExecutor.d.ts +1 -0
  190. package/dist/storage/query-adapter/sparql/query-executor/SparqlQueryExecutor.d.ts.map +1 -0
  191. package/dist/storage/query-adapter/sparql/query-executor/SparqlQueryExecutor.js.map +1 -1
  192. package/dist/util/PerformanceLogger.d.ts +1 -0
  193. package/dist/util/PerformanceLogger.d.ts.map +1 -0
  194. package/dist/util/PerformanceLogger.js.map +1 -1
  195. package/dist/util/SparqlUtil.d.ts +1 -0
  196. package/dist/util/SparqlUtil.d.ts.map +1 -0
  197. package/dist/util/SparqlUtil.js.map +1 -1
  198. package/dist/util/TripleUtil.d.ts +1 -0
  199. package/dist/util/TripleUtil.d.ts.map +1 -0
  200. package/dist/util/TripleUtil.js +13 -14
  201. package/dist/util/TripleUtil.js.map +1 -1
  202. package/dist/util/Types.d.ts +1 -0
  203. package/dist/util/Types.d.ts.map +1 -0
  204. package/dist/util/Types.js.map +1 -1
  205. package/dist/util/Util.d.ts +1 -0
  206. package/dist/util/Util.d.ts.map +1 -0
  207. package/dist/util/Util.js.map +1 -1
  208. package/dist/util/Vocabularies/Shared.d.ts +1 -0
  209. package/dist/util/Vocabularies/Shared.d.ts.map +1 -0
  210. package/dist/util/Vocabularies/Shared.js.map +1 -1
  211. package/dist/util/Vocabularies/helper.d.ts +1 -0
  212. package/dist/util/Vocabularies/helper.d.ts.map +1 -0
  213. package/dist/util/Vocabularies/helper.js.map +1 -1
  214. package/dist/util/Vocabularies/index.d.ts +1 -0
  215. package/dist/util/Vocabularies/index.d.ts.map +1 -0
  216. package/dist/util/Vocabularies/index.js.map +1 -1
  217. package/dist/util/safeJsonStringify.d.ts +1 -0
  218. package/dist/util/safeJsonStringify.d.ts.map +1 -0
  219. package/dist/util/safeJsonStringify.js.map +1 -1
  220. package/package.json +14 -4
  221. package/src/JsExecutor/PermissionBuilder.ts +60 -0
  222. package/src/JsExecutor/constants.ts +27 -0
  223. package/src/JsExecutor/denoUtils.ts +20 -0
  224. package/src/JsExecutor/errors.ts +63 -0
  225. package/src/JsExecutor/examples/basic/index.ts +54 -0
  226. package/src/JsExecutor/examples/basic/process.ts +39 -0
  227. package/src/JsExecutor/examples/jsExecutor/README.md +3 -0
  228. package/src/JsExecutor/examples/jsExecutor/index.ts +50 -0
  229. package/src/JsExecutor/examples/jsExecutor/process.ts +79 -0
  230. package/src/JsExecutor/index.ts +19 -0
  231. package/src/JsExecutor/jsExecutor.ts +194 -0
  232. package/src/JsExecutor/jsonRpc/JsonRpcClient.ts +422 -0
  233. package/src/JsExecutor/jsonRpc/JsonRpcServer.ts +454 -0
  234. package/src/JsExecutor/jsonRpc/index.ts +4 -0
  235. package/src/JsExecutor/jsonRpc/types.ts +231 -0
  236. package/src/JsExecutor/transport/README.md +67 -0
  237. package/src/JsExecutor/transport/Transport.ts +106 -0
  238. package/src/JsExecutor/transport/base/BaseTransport.ts +83 -0
  239. package/src/JsExecutor/transport/index.ts +56 -0
  240. package/src/JsExecutor/transport/process/ProcessManager.ts +281 -0
  241. package/src/JsExecutor/transport/stdio/ChildStdioTransport.ts +251 -0
  242. package/src/JsExecutor/transport/stdio/ParentStdioTransport.ts +308 -0
  243. package/src/JsExecutor/transport/utils/MessageUtils.ts +139 -0
  244. package/src/JsExecutor/transport/utils/PollingUtils.ts +114 -0
  245. package/src/JsExecutor/types.ts +130 -0
  246. package/src/SklEngine.ts +1828 -0
  247. package/src/SklEngineOptions.ts +28 -0
  248. package/src/constants.ts +120 -0
  249. package/src/customCapabilities.ts +65 -0
  250. package/src/examples/customCapabilitiesExample.ts +77 -0
  251. package/src/hooks/globalHooks.ts +238 -0
  252. package/src/hooks/types.ts +7 -0
  253. package/src/index.ts +45 -0
  254. package/src/logger.ts +144 -0
  255. package/src/mapping/Mapper.ts +52 -0
  256. package/src/storage/FindOperator.ts +55 -0
  257. package/src/storage/FindOptionsTypes.ts +107 -0
  258. package/src/storage/GroupOptionTypes.ts +32 -0
  259. package/src/storage/operator/And.ts +10 -0
  260. package/src/storage/operator/Contains.ts +9 -0
  261. package/src/storage/operator/Equal.ts +13 -0
  262. package/src/storage/operator/Exists.ts +6 -0
  263. package/src/storage/operator/GreaterThan.ts +12 -0
  264. package/src/storage/operator/GreaterThanOrEqual.ts +12 -0
  265. package/src/storage/operator/In.ts +12 -0
  266. package/src/storage/operator/Inverse.ts +11 -0
  267. package/src/storage/operator/InversePath.ts +17 -0
  268. package/src/storage/operator/InverseRelation.ts +18 -0
  269. package/src/storage/operator/InverseRelationOrder.ts +17 -0
  270. package/src/storage/operator/LessThan.ts +12 -0
  271. package/src/storage/operator/LessThanOrEqual.ts +12 -0
  272. package/src/storage/operator/Not.ts +11 -0
  273. package/src/storage/operator/OneOrMorePath.ts +17 -0
  274. package/src/storage/operator/Sequence.ts +11 -0
  275. package/src/storage/operator/SequencePath.ts +17 -0
  276. package/src/storage/operator/ZeroOrMorePath.ts +17 -0
  277. package/src/storage/query-adapter/QueryAdapter.ts +110 -0
  278. package/src/storage/query-adapter/sparql/SparqlQueryAdapter.ts +400 -0
  279. package/src/storage/query-adapter/sparql/SparqlQueryAdapterOptions.ts +38 -0
  280. package/src/storage/query-adapter/sparql/SparqlQueryBuilder.ts +1524 -0
  281. package/src/storage/query-adapter/sparql/SparqlUpdateBuilder.ts +347 -0
  282. package/src/storage/query-adapter/sparql/VariableGenerator.ts +8 -0
  283. package/src/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.ts +135 -0
  284. package/src/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.ts +146 -0
  285. package/src/storage/query-adapter/sparql/query-executor/SparqlQueryExecutor.ts +51 -0
  286. package/src/util/PerformanceLogger.ts +286 -0
  287. package/src/util/SparqlUtil.ts +516 -0
  288. package/src/util/TripleUtil.ts +412 -0
  289. package/src/util/Types.ts +399 -0
  290. package/src/util/Util.ts +116 -0
  291. package/src/util/Vocabularies/Shared.ts +99 -0
  292. package/src/util/Vocabularies/helper.ts +14 -0
  293. package/src/util/Vocabularies/index.ts +108 -0
  294. package/src/util/safeJsonStringify.ts +19 -0
  295. package/dist/JsExecutor/transport/StdioTransport.d.ts +0 -0
  296. package/dist/JsExecutor/transport/StdioTransport.js +0 -641
  297. package/dist/JsExecutor/transport/StdioTransport.js.map +0 -1
@@ -11,3 +11,4 @@ export declare function buildDenoPermissions(config: PermissionConfig): string[]
11
11
  * @throws Error if configuration is invalid
12
12
  */
13
13
  export declare function validatePermissionConfig(config: PermissionConfig): void;
14
+ //# sourceMappingURL=PermissionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionBuilder.d.ts","sourceRoot":"","sources":["../../src/JsExecutor/PermissionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAuBvE;AAaD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAWvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionBuilder.js","sourceRoot":"","sources":["../../src/JsExecutor/PermissionBuilder.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,MAAwB;IAC3D,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,qCAAqC;IACrC,IAAI,MAAM,CAAC,YAAY,EAAE;QACvB,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,WAAW,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACpE;aAAM;YACL,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACjC;KACF;IAED,iCAAiC;IACjC,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACjC;IAED,kCAAkC;IAClC,IAAI,MAAM,CAAC,SAAS,EAAE;QACpB,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAClC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAvBD,oDAuBC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,sDAAsD;IACtD,MAAM,WAAW,GAAG,0FAA0F,CAAC;IAC/G,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,MAAwB;IAC/D,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QAC5D,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KACvE;IAED,yBAAyB;IACzB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,EAAE;QAC1C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;SACrD;KACF;AACH,CAAC;AAXD,4DAWC"}
1
+ {"version":3,"file":"PermissionBuilder.js","sourceRoot":"","sources":["../../src/JsExecutor/PermissionBuilder.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,MAAwB;IAC3D,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,qCAAqC;IACrC,IAAI,MAAM,CAAC,YAAY,EAAE;QACvB,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,WAAW,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACpE;aAAM;YACL,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACjC;KACF;IAED,iCAAiC;IACjC,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACjC;IAED,kCAAkC;IAClC,IAAI,MAAM,CAAC,SAAS,EAAE;QACpB,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAClC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAvBD,oDAuBC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,sDAAsD;IACtD,MAAM,WAAW,GAAG,0FAA0F,CAAC;IAC/G,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,MAAwB;IAC/D,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QAC5D,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KACvE;IAED,yBAAyB;IACzB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,EAAE;QAC1C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;SACrD;KACF;AACH,CAAC;AAXD,4DAWC","sourcesContent":["import type { PermissionConfig } from './types';\n\n/**\n * Builds Deno permissions array based on options\n * @param config - Permission configuration\n * @returns Array of permission strings for Deno command\n */\nexport function buildDenoPermissions(config: PermissionConfig): string[] {\n const permissions: string[] = [];\n\n // Add network permissions if enabled\n if (config.allowNetwork) {\n if (config.allowedDomains.length > 0) {\n permissions.push(`--allow-net=${config.allowedDomains.join(',')}`);\n } else {\n permissions.push('--allow-net');\n }\n }\n\n // Add env permissions if enabled\n if (config.allowEnv) {\n permissions.push('--allow-env');\n }\n\n // Add read permissions if enabled\n if (config.allowRead) {\n permissions.push('--allow-read');\n }\n\n return permissions;\n}\n\n/**\n * Basic domain validation\n * @param domain - Domain to validate\n * @returns True if domain format is valid\n */\nfunction isValidDomain(domain: string): boolean {\n // Basic domain validation - can be enhanced as needed\n const domainRegex = /^[\\dA-Za-z]([\\dA-Za-z-]{0,61}[\\dA-Za-z])?(\\.[\\dA-Za-z]([\\dA-Za-z-]{0,61}[\\dA-Za-z])?)*$/u;\n return domainRegex.test(domain) && domain.length <= 253;\n}\n\n/**\n * Validates permission configuration\n * @param config - Permission configuration to validate\n * @throws Error if configuration is invalid\n */\nexport function validatePermissionConfig(config: PermissionConfig): void {\n if (config.allowedDomains.length > 0 && !config.allowNetwork) {\n throw new Error('allowedDomains specified but allowNetwork is false');\n }\n\n // Validate domain format\n for (const domain of config.allowedDomains) {\n if (!isValidDomain(domain)) {\n throw new Error(`Invalid domain format: ${domain}`);\n }\n }\n}\n"]}
@@ -24,3 +24,4 @@ export declare const DEFAULT_EXECUTION_OPTIONS: {
24
24
  readonly debugMode: false;
25
25
  readonly retries: 0;
26
26
  };
27
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/JsExecutor/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;CAStB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;CAS5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/JsExecutor/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,mBAAmB,GAAG;IACjC,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IAC9B,mBAAmB,EAAE,MAAM;IAC3B,eAAe,EAAE,GAAG;IACpB,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,CAAE,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,2BAA2B,CAAE;IACrF,cAAc,EAAE;QACd,IAAI,EAAE,SAAS;KAChB;CACO,CAAC;AAEX;;GAEG;AACU,QAAA,yBAAyB,GAAG;IACvC,OAAO,EAAE,2BAAmB,CAAC,cAAc;IAC3C,YAAY,EAAE,2BAAmB,CAAC,mBAAmB;IACrD,YAAY,EAAE,KAAK;IACnB,cAAc,EAAE,EAAE;IAClB,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/JsExecutor/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,mBAAmB,GAAG;IACjC,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IAC9B,mBAAmB,EAAE,MAAM;IAC3B,eAAe,EAAE,GAAG;IACpB,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,CAAE,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,2BAA2B,CAAE;IACrF,cAAc,EAAE;QACd,IAAI,EAAE,SAAS;KAChB;CACO,CAAC;AAEX;;GAEG;AACU,QAAA,yBAAyB,GAAG;IACvC,OAAO,EAAE,2BAAmB,CAAC,cAAc;IAC3C,YAAY,EAAE,2BAAmB,CAAC,mBAAmB;IACrD,YAAY,EAAE,KAAK;IACnB,cAAc,EAAE,EAAE;IAClB,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,CAAC;CACF,CAAC","sourcesContent":["/**\n * Constants for JSExecutor configuration\n */\nexport const EXECUTION_CONSTANTS = {\n defaultTimeout: 60 * 60 * 1000,\n defaultFunctionName: 'main',\n maxOutputLength: 500,\n denoCommand: 'deno',\n denoFlags: [ 'run', '--unstable-detect-cjs', '--quiet', '--unstable-sloppy-imports' ],\n processSignals: {\n term: 'SIGTERM'\n }\n} as const;\n\n/**\n * Default execution options\n */\nexport const DEFAULT_EXECUTION_OPTIONS = {\n timeout: EXECUTION_CONSTANTS.defaultTimeout,\n functionName: EXECUTION_CONSTANTS.defaultFunctionName,\n allowNetwork: false,\n allowedDomains: [],\n allowEnv: true,\n allowRead: false,\n debugMode: false,\n retries: 0\n} as const;\n"]}
@@ -7,3 +7,4 @@ import type { ChildProcess } from 'node:child_process';
7
7
  * @throws ProcessSpawnError if the process fails to spawn
8
8
  */
9
9
  export declare function spawnDenoProcess(commandArgs: string[]): ChildProcess;
10
+ //# sourceMappingURL=denoUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"denoUtils.d.ts","sourceRoot":"","sources":["../../src/JsExecutor/denoUtils.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,YAAY,CAQpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"denoUtils.js","sourceRoot":"","sources":["../../src/JsExecutor/denoUtils.ts"],"names":[],"mappings":";;;AACA,2DAA2C;AAC3C,2CAAkD;AAClD,qCAA6C;AAE7C;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,WAAqB;IACpD,IAAI;QACF,OAAO,IAAA,0BAAK,EAAC,+BAAmB,CAAC,WAAW,EAAE,WAAW,EAAE;YACzD,KAAK,EAAE,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAE;SAClC,CAAC,CAAC;KACJ;IAAC,OAAO,KAAc,EAAE;QACvB,MAAM,IAAI,0BAAiB,CAAC,KAAc,CAAC,CAAC;KAC7C;AACH,CAAC;AARD,4CAQC"}
1
+ {"version":3,"file":"denoUtils.js","sourceRoot":"","sources":["../../src/JsExecutor/denoUtils.ts"],"names":[],"mappings":";;;AACA,2DAA2C;AAC3C,2CAAkD;AAClD,qCAA6C;AAE7C;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,WAAqB;IACpD,IAAI;QACF,OAAO,IAAA,0BAAK,EAAC,+BAAmB,CAAC,WAAW,EAAE,WAAW,EAAE;YACzD,KAAK,EAAE,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAE;SAClC,CAAC,CAAC;KACJ;IAAC,OAAO,KAAc,EAAE;QACvB,MAAM,IAAI,0BAAiB,CAAC,KAAc,CAAC,CAAC;KAC7C;AACH,CAAC;AARD,4CAQC","sourcesContent":["import type { ChildProcess } from 'node:child_process';\nimport { spawn } from 'node:child_process';\nimport { EXECUTION_CONSTANTS } from './constants';\nimport { ProcessSpawnError } from './errors';\n\n/**\n * Spawns a Deno process with the given arguments\n * @param commandArgs - Command line arguments for Deno\n * @returns The spawned child process\n * @throws ProcessSpawnError if the process fails to spawn\n */\nexport function spawnDenoProcess(commandArgs: string[]): ChildProcess {\n try {\n return spawn(EXECUTION_CONSTANTS.denoCommand, commandArgs, {\n stdio: [ 'pipe', 'pipe', 'pipe' ]\n });\n } catch (error: unknown) {\n throw new ProcessSpawnError(error as Error);\n }\n}\n"]}
@@ -37,3 +37,4 @@ export declare class NotInitializedError extends Error {
37
37
  export declare class AlreadyInitializedError extends Error {
38
38
  constructor(message: string);
39
39
  }
40
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/JsExecutor/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAInC;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;gBACvB,aAAa,EAAE,KAAK;CAIxC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBACxB,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK;CAI3D;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAInC;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAInC;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAInC"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/JsExecutor/errors.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH;;GAEG;AACH,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YAAmB,OAAe;QAChC,KAAK,CAAC,6BAA6B,OAAO,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AALD,sDAKC;AAED;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK;IAC1C,YAAmB,aAAoB;QACrC,KAAK,CAAC,iCAAiC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC;AAED;;GAEG;AACH,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAmB,SAAiB,EAAE,aAAoB;QACxD,KAAK,CAAC,2BAA2B,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAED;;GAEG;AACH,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAmB,OAAe;QAChC,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAED;;GAEG;AACH,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAAmB,OAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AALD,kDAKC;AAED;;GAEG;AACH,MAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAmB,OAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AALD,0DAKC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/JsExecutor/errors.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH;;GAEG;AACH,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YAAmB,OAAe;QAChC,KAAK,CAAC,6BAA6B,OAAO,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AALD,sDAKC;AAED;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK;IAC1C,YAAmB,aAAoB;QACrC,KAAK,CAAC,iCAAiC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC;AAED;;GAEG;AACH,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAmB,SAAiB,EAAE,aAAoB;QACxD,KAAK,CAAC,2BAA2B,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAED;;GAEG;AACH,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAmB,OAAe;QAChC,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAED;;GAEG;AACH,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAAmB,OAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AALD,kDAKC;AAED;;GAEG;AACH,MAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAmB,OAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AALD,0DAKC","sourcesContent":["/**\n * Custom error classes for better error handling in JSExecutor\n */\n\n/**\n * Error thrown when code execution times out\n */\nexport class ExecutionTimeoutError extends Error {\n public constructor(timeout: number) {\n super(`Execution timed out after ${timeout}ms`);\n this.name = 'ExecutionTimeoutError';\n }\n}\n\n/**\n * Error thrown when the Deno process fails to spawn\n */\nexport class ProcessSpawnError extends Error {\n public constructor(originalError: Error) {\n super(`Failed to spawn Deno process: ${originalError.message}`);\n this.name = 'ProcessSpawnError';\n }\n}\n\n/**\n * Error thrown when the executor output cannot be parsed\n */\nexport class OutputParsingError extends Error {\n public constructor(rawOutput: string, originalError: Error) {\n super(`Failed to parse output: ${originalError.message}`);\n this.name = 'OutputParsingError';\n }\n}\n\n/**\n * Error thrown when code execution fails in general\n */\nexport class CodeExecutionError extends Error {\n public constructor(message: string) {\n super(`Failed to execute code: ${message}`);\n this.name = 'CodeExecutionError';\n }\n}\n\n/**\n * Error thrown when the JSExecutor is not initialized\n */\nexport class NotInitializedError extends Error {\n public constructor(message: string) {\n super(message);\n this.name = 'NotInitializedError';\n }\n}\n\n/**\n * Error thrown when the JSExecutor is already initialized\n */\nexport class AlreadyInitializedError extends Error {\n public constructor(message: string) {\n super(message);\n this.name = 'AlreadyInitializedError';\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/JsExecutor/examples/basic/index.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/JsExecutor/examples/basic/index.ts"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,kCAAkC;AAClC,gCAAgC;AAChC,iEAAiE;AACjE,mEAAmE;AAEnE,sCAAsC;AAEtC,sDAAsD;AACtD,6EAA6E;AAC7E,oDAAoD;AACpD,aAAa;AACb,uCAAuC;AACvC,OAAO;AACP,MAAM;AAEN,qCAAqC;AACrC,uHAAuH;AACvH,iEAAiE;AACjE,4CAA4C;AAC5C,MAAM;AAEN,8FAA8F;AAC9F,kDAAkD;AAElD,2CAA2C;AAC3C,+CAA+C;AAC/C,uCAAuC;AACvC,gDAAgD;AAEhD,iFAAiF;AACjF,UAAU;AACV,yBAAyB;AACzB,kEAAkE;AAClE,qDAAqD;AAErD,8CAA8C;AAC9C,2EAA2E;AAC3E,kEAAkE;AAElE,4CAA4C;AAC5C,gFAAgF;AAChF,oEAAoE;AAEpE,qCAAqC;AACrC,wHAAwH;AACxH,0DAA0D;AAC1D,oCAAoC;AACpC,+BAA+B;AAC/B,iFAAiF;AACjF,MAAM;AACN,KAAK;AAEL,+BAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/JsExecutor/examples/basic/index.ts"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,kCAAkC;AAClC,gCAAgC;AAChC,iEAAiE;AACjE,mEAAmE;AAEnE,sCAAsC;AAEtC,sDAAsD;AACtD,6EAA6E;AAC7E,oDAAoD;AACpD,aAAa;AACb,uCAAuC;AACvC,OAAO;AACP,MAAM;AAEN,qCAAqC;AACrC,uHAAuH;AACvH,iEAAiE;AACjE,4CAA4C;AAC5C,MAAM;AAEN,8FAA8F;AAC9F,kDAAkD;AAElD,2CAA2C;AAC3C,+CAA+C;AAC/C,uCAAuC;AACvC,gDAAgD;AAEhD,iFAAiF;AACjF,UAAU;AACV,yBAAyB;AACzB,kEAAkE;AAClE,qDAAqD;AAErD,8CAA8C;AAC9C,2EAA2E;AAC3E,kEAAkE;AAElE,4CAA4C;AAC5C,gFAAgF;AAChF,oEAAoE;AAEpE,qCAAqC;AACrC,wHAAwH;AACxH,0DAA0D;AAC1D,oCAAoC;AACpC,+BAA+B;AAC/B,iFAAiF;AACjF,MAAM;AACN,KAAK;AAEL,+BAA+B","sourcesContent":["// /* eslint-disable func-style */\n// /* eslint-disable no-console */\n// import path from 'node:path';\n// import { JsonRpcServer } from '../../transport/JsonRpcServer';\n// import { StdioTransport } from '../../transport/StdioTransport';\n\n// const server = new JsonRpcServer();\n\n// // Register methods that the child process can call\n// server.registerMethod('getTime', async(): Promise<{ result: string }> => {\n// console.log('📅 Child requested current time');\n// return {\n// result: new Date().toISOString()\n// };\n// });\n\n// // Handle notifications from child\n// server.registerMethod('childNotification', async(params: { message: string; timestamp: string }): Promise<void> => {\n// console.log('📨 Received notification from child:', params);\n// // Notifications don't return responses\n// });\n\n// const stdioTransport = new StdioTransport(path.resolve(__dirname, './process.ts'), server);\n// stdioTransport.setName('basic-example-parent');\n\n// const main = async(): Promise<void> => {\n// console.log('🚀 Starting parent process');\n// await stdioTransport.initialize();\n// console.log('✅ Child process initialized');\n\n// // Example: Make some calls to the child process using the new ergonomic API\n// try {\n// // Test basic ping\n// // const pingResult = await stdioTransport.request('ping');\n// // console.log('🏓 Ping result:', pingResult);\n\n// // // Test child calling back to parent\n// const callParentResult = await stdioTransport.request('callParent');\n// console.log('🔄 Child callback result:', callParentResult);\n\n// // // Test child sending notification\n// // const notifyResult = await stdioTransport.request('sendNotification');\n// // console.log('📤 Notification test result:', notifyResult);\n\n// // // Test execute code method\n// // const executeResult = await stdioTransport.request('executeCode', 'console.log(\"Hello from executed code!\")');\n// // console.log('⚡ Execute result:', executeResult);\n// await stdioTransport.close();\n// } catch (error: unknown) {\n// console.error('❌ Error testing child methods:', (error as Error).message);\n// }\n// };\n\n// main().catch(console.error);\n"]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../../src/JsExecutor/examples/basic/process.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../../src/JsExecutor/examples/basic/process.ts"],"names":[],"mappings":";AAAA,yDAAyD;AAEzD,iBAAiB;AACjB,mFAAmF;AAEnF,iFAAiF;AACjF,uDAAuD;AACvD,8CAA8C;AAE9C,sEAAsE;AACtE,oGAAoG;AACpG,qCAAqC;AACrC,OAAO;AAEP,wEAAwE;AAExE,2FAA2F;AAC3F,mFAAmF;AACnF,UAAU;AACV,0CAA0C;AAC1C,yDAAyD;AACzD,+EAA+E;AAC/E,+BAA+B;AAC/B,8EAA8E;AAC9E,MAAM;AACN,MAAM;AAEN,0DAA0D;AAC1D,yFAAyF;AACzF,kDAAkD;AAClD,kDAAkD;AAClD,2CAA2C;AAC3C,0CAA0C;AAC1C,QAAQ;AACR,sDAAsD;AACtD,MAAM;AAEN,iEAAiE;AACjE,gCAAgC"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../../src/JsExecutor/examples/basic/process.ts"],"names":[],"mappings":";AAAA,yDAAyD;AAEzD,iBAAiB;AACjB,mFAAmF;AAEnF,iFAAiF;AACjF,uDAAuD;AACvD,8CAA8C;AAE9C,sEAAsE;AACtE,oGAAoG;AACpG,qCAAqC;AACrC,OAAO;AAEP,wEAAwE;AAExE,2FAA2F;AAC3F,mFAAmF;AACnF,UAAU;AACV,0CAA0C;AAC1C,yDAAyD;AACzD,+EAA+E;AAC/E,+BAA+B;AAC/B,8EAA8E;AAC9E,MAAM;AACN,MAAM;AAEN,0DAA0D;AAC1D,yFAAyF;AACzF,kDAAkD;AAClD,kDAAkD;AAClD,2CAA2C;AAC3C,0CAA0C;AAC1C,QAAQ;AACR,sDAAsD;AACtD,MAAM;AAEN,iEAAiE;AACjE,gCAAgC","sourcesContent":["// /* eslint-disable @typescript-eslint/ban-ts-comment */\n\n// // @ts-nocheck\n// import { BidirectionalStdioTransport } from '../../transport/StdioTransport.ts';\n\n// // Create a single transport that handles both server and client functionality\n// const transport = new BidirectionalStdioTransport();\n// transport.setName('basic-example-process');\n\n// // Register methods that the parent can call (server functionality)\n// transport.registerMethod('executeCode', async(message: string): Promise<{ result: string }> => ({\n// result: 'Hello from the process'\n// }));\n\n// transport.registerMethod('ping', async(): Promise<string> => 'pong');\n\n// // Register a method that demonstrates calling back to the parent (client functionality)\n// transport.registerMethod('callParent', async(): Promise<{ result: string }> => {\n// try {\n// // Call the parent's getTime method\n// const result = await transport.request('getTime');\n// return { result: `Parent getTime returned: ${JSON.stringify(result)}` };\n// } catch (error: unknown) {\n// return { result: `Error calling parent: ${(error as Error).message}` };\n// }\n// });\n\n// // Register a method that sends notifications to parent\n// transport.registerMethod('sendNotification', async(): Promise<{ result: string }> => {\n// // Send a notification (no response expected)\n// await transport.notify('childNotification', {\n// message: 'Hello from child process',\n// timestamp: new Date().toISOString()\n// });\n// return { result: 'Notification sent to parent' };\n// });\n\n// // Initialize the transport (this sets up stdio communication)\n// await transport.initialize();\n"]}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/JsExecutor/examples/jsExecutor/index.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/JsExecutor/examples/jsExecutor/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,+BAA+B;;;;;AAE/B,0DAA6B;AAC7B,iDAA8C;AAE9C,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE;IACzE,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,KAAK,IAAkB,EAAE;IACpC,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;IAE9B,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CACrC;;;;;;;;;;;;;;CAcL,EACK,EAAE,EACF;YACE,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,CAAC;SACX,CACF,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;KAEzB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;KAC1B;YAAS;QACR,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;KAC7B;AACH,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/JsExecutor/examples/jsExecutor/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,+BAA+B;;;;;AAE/B,0DAA6B;AAC7B,iDAA8C;AAE9C,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE;IACzE,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,KAAK,IAAkB,EAAE;IACpC,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;IAE9B,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CACrC;;;;;;;;;;;;;;CAcL,EACK,EAAE,EACF;YACE,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,CAAC;SACX,CACF,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;KAEzB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;KAC1B;YAAS;QACR,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;KAC7B;AACH,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC","sourcesContent":["/* eslint-disable func-style */\n/* eslint-disable no-console */\n\nimport path from 'node:path';\nimport { JSExecutor } from '../../jsExecutor';\n\nconst jsExecutor = new JSExecutor(path.resolve(__dirname, './process.ts'), {\n async getTime(): Promise<string> {\n return new Date().toISOString();\n }\n});\n\nconst main = async(): Promise<void> => {\n await jsExecutor.initialize();\n\n try {\n const result = await jsExecutor.execute(\n `\n async function main() {\n // Using SKL accessor - this gets converted to request('getTime', ...)\n return await SKL.getTime({}, {\n timeout: 50000,\n retries: 0\n });\n \n // Alternative: direct request call (still works)\n // return await request('getTime', {}, {\n // timeout: 50000,\n // retries: 0\n // });\n }\n`,\n {},\n {\n timeout: 50000,\n functionName: 'main',\n retries: 0\n }\n );\n\n console.log({ result });\n \n } catch (error) {\n console.error({ error });\n } finally {\n await jsExecutor.shutdown();\n }\n};\n\nmain().catch(console.error);\n"]}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../../src/JsExecutor/examples/jsExecutor/process.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../../src/JsExecutor/examples/jsExecutor/process.ts"],"names":[],"mappings":";AAAA,yDAAyD;AACzD,yDAAyD;AACzD,0CAA0C;;AAE1C,sDAAsD;AACtD,cAAc;AACd,yFAAmF;AAQnF,8EAA8E;AAC9E,MAAM,SAAS,GAAG,IAAI,4CAAmB,EAAE,CAAC;AAC5C,SAAS,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAEhD,mEAAmE;AACnE,SAAS,CAAC,cAAc,CACtB,aAAa,EACb,KAAK,EAAC,OAA2B,EAA+B,EAAE;IAChE,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,eAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7E,MAAM,WAAW,GAAG,IAAI,aAAa,CACnC,MAAM,EACN,SAAS,EACT,SAAS,EACT,KAAK,EACL;UACI,OAAO,CAAC,IAAI;;uBAEC,OAAO,CAAC,YAAY;2BAChB,OAAO,CAAC,YAAY;;;;;;OAMxC,CACF,CAAC;IAEF,oCAAoC;IACpC,6CAA6C;IAC7C,MAAM;IAEN,+DAA+D;IAC/D,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE;QACxB,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,OAAO,KAAK,EAAC,GAAG,IAAW,EAAE,EAAE;oBAC7B,sCAAsC;oBACtC,wDAAwD;oBACxD,MAAM,CAAE,MAAM,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,CAAE,GAAG,IAAI,CAAC;oBAC3C,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBACxD,CAAC,CAAC;aACH;QACH,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;IAChG,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC,CACF,CAAC;AAEF,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,IAAoB,EAAE,CAAC,MAAM,CAAC,CAAC;AAErE,wFAAwF;AACxF,mFAAmF;AACnF,UAAU;AACV,0CAA0C;AAC1C,yDAAyD;AACzD,+EAA+E;AAC/E,+BAA+B;AAC/B,8EAA8E;AAC9E,MAAM;AACN,MAAM;AAEN,8DAA8D;AAC9D,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../../src/JsExecutor/examples/jsExecutor/process.ts"],"names":[],"mappings":";AAAA,yDAAyD;AACzD,yDAAyD;AACzD,0CAA0C;;AAE1C,sDAAsD;AACtD,cAAc;AACd,yFAAmF;AAQnF,8EAA8E;AAC9E,MAAM,SAAS,GAAG,IAAI,4CAAmB,EAAE,CAAC;AAC5C,SAAS,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAEhD,mEAAmE;AACnE,SAAS,CAAC,cAAc,CACtB,aAAa,EACb,KAAK,EAAC,OAA2B,EAA+B,EAAE;IAChE,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,eAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7E,MAAM,WAAW,GAAG,IAAI,aAAa,CACnC,MAAM,EACN,SAAS,EACT,SAAS,EACT,KAAK,EACL;UACI,OAAO,CAAC,IAAI;;uBAEC,OAAO,CAAC,YAAY;2BAChB,OAAO,CAAC,YAAY;;;;;;OAMxC,CACF,CAAC;IAEF,oCAAoC;IACpC,6CAA6C;IAC7C,MAAM;IAEN,+DAA+D;IAC/D,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE;QACxB,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,OAAO,KAAK,EAAC,GAAG,IAAW,EAAE,EAAE;oBAC7B,sCAAsC;oBACtC,wDAAwD;oBACxD,MAAM,CAAE,MAAM,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,CAAE,GAAG,IAAI,CAAC;oBAC3C,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBACxD,CAAC,CAAC;aACH;QACH,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;IAChG,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC,CACF,CAAC;AAEF,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,IAAoB,EAAE,CAAC,MAAM,CAAC,CAAC;AAErE,wFAAwF;AACxF,mFAAmF;AACnF,UAAU;AACV,0CAA0C;AAC1C,yDAAyD;AACzD,+EAA+E;AAC/E,+BAA+B;AAC/B,8EAA8E;AAC9E,MAAM;AACN,MAAM;AAEN,8DAA8D;AAC9D,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable prefer-arrow-callback */\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n// @ts-nocheck\nimport { ChildStdioTransport } from '../../transport/stdio/ChildStdioTransport.ts';\n\ninterface ExecuteCodeMessage {\n code: string;\n args: Record<string, any>;\n functionName?: string;\n}\n\n// Create a single transport that handles both server and client functionality\nconst transport = new ChildStdioTransport();\ntransport.setName('jsExecutor-example-process');\n\n// Register methods that the parent can call (server functionality)\ntransport.registerMethod(\n 'executeCode',\n async(message: ExecuteCodeMessage): Promise<{ result: string }> => {\n const AsyncFunction = Object.getPrototypeOf(async function() {}).constructor;\n const executeCode = new AsyncFunction(\n 'args',\n 'console',\n 'request',\n 'SKL',\n `\n ${message.code}\n try {\n if (typeof ${message.functionName} === 'function') {\n return await ${message.functionName}(args);\n }\n throw new Error('Function name is not defined');\n } catch (error) {\n throw error;\n }\n `\n );\n\n // Const sklEngine = new SKLEngine({\n // skdsEndpointUrl: 'http://localhost:3000'\n // });\n\n // Create SKL proxy that converts method calls to request calls\n const SKL = new Proxy({}, {\n get(target, prop) {\n if (typeof prop === 'string') {\n return async(...args: any[]) => {\n // Convert method call to request call\n // SKL.getTime() becomes request('getTime', {}, options)\n const [ params = {}, options = {} ] = args;\n return await transport.request(prop, params, options);\n };\n }\n }\n });\n\n const result = await executeCode(message.args, console, transport.request.bind(transport), SKL);\n return { result };\n }\n);\n\ntransport.registerMethod('ping', async(): Promise<string> => 'pong');\n\n// Register a method that demonstrates calling back to the parent (client functionality)\n// transport.registerMethod('callParent', async(): Promise<{ result: string }> => {\n// try {\n// // Call the parent's getTime method\n// const result = await transport.request('getTime');\n// return { result: `Parent getTime returned: ${JSON.stringify(result)}` };\n// } catch (error: unknown) {\n// return { result: `Error calling parent: ${(error as Error).message}` };\n// }\n// });\n\n// Initialize the transport (this sets up stdio communication)\nawait transport.initialize();\n"]}
@@ -4,3 +4,4 @@ export { JSExecutor } from './jsExecutor';
4
4
  export { buildDenoPermissions, validatePermissionConfig } from './PermissionBuilder';
5
5
  export * from './transport';
6
6
  export type { ExecutionOptions, ExecutionResult, ExecutorInput, ExecutorOutput, PermissionConfig, ProcessCommunicationData } from './types';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/JsExecutor/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC5G,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACrF,cAAc,aAAa,CAAC;AAE5B,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/JsExecutor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sBAAsB;AACtB,YAAY;AACZ,yCAA6E;AAApE,sHAAA,yBAAyB,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AACvD,gBAAgB;AAChB,mCAA4G;AAAnG,4GAAA,kBAAkB,OAAA;AAAE,+GAAA,qBAAqB,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AACzF,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,yCAAyC;AACzC,yDAAqF;AAA5E,yHAAA,oBAAoB,OAAA;AAAE,6HAAA,wBAAwB,OAAA;AACvD,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/JsExecutor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sBAAsB;AACtB,YAAY;AACZ,yCAA6E;AAApE,sHAAA,yBAAyB,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AACvD,gBAAgB;AAChB,mCAA4G;AAAnG,4GAAA,kBAAkB,OAAA;AAAE,+GAAA,qBAAqB,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AACzF,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,yCAAyC;AACzC,yDAAqF;AAA5E,yHAAA,oBAAoB,OAAA;AAAE,6HAAA,wBAAwB,OAAA;AACvD,8CAA4B","sourcesContent":["// Main executor class\n// Constants\nexport { DEFAULT_EXECUTION_OPTIONS, EXECUTION_CONSTANTS } from './constants';\n// Error classes\nexport { CodeExecutionError, ExecutionTimeoutError, OutputParsingError, ProcessSpawnError } from './errors';\nexport { JSExecutor } from './jsExecutor';\n// Utility functions (for advanced usage)\nexport { buildDenoPermissions, validatePermissionConfig } from './PermissionBuilder';\nexport * from './transport';\n// Types and interfaces\nexport type {\n ExecutionOptions,\n ExecutionResult,\n ExecutorInput,\n ExecutorOutput,\n PermissionConfig,\n ProcessCommunicationData\n} from './types';\n\n"]}
@@ -65,3 +65,4 @@ export declare class JSExecutor {
65
65
  */
66
66
  call(methodName: string, ...args: any[]): Promise<any>;
67
67
  }
68
+ //# sourceMappingURL=jsExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsExecutor.d.ts","sourceRoot":"","sources":["../../src/JsExecutor/jsExecutor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAElE,oBAAY,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,UAAU;IASnB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAT5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAC,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAuB;IACzC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAyB;IACtE,OAAO,CAAC,eAAe,CAAC,CAAiB;gBAGtB,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IAGrE;;;OAGG;WACW,cAAc,IAAI,OAAO;IAIvC;;;OAGG;WACW,oBAAoB,IAAI,WAAW;IAIpC,UAAU,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBxF,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;YAgBlD,YAAY;YAgBZ,oBAAoB;IAMlC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAyBhB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAwB/G;;;OAGG;IACU,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CAMpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"jsExecutor.js","sourceRoot":"","sources":["../../src/JsExecutor/jsExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsExecutor.js","sourceRoot":"","sources":["../../src/JsExecutor/jsExecutor.ts"],"names":[],"mappings":";AAAA,yDAAyD;AACzD,oCAAoC;;;AAEpC,+BAA+B;AAE/B,qCAA+C;AAE/C,2CAAoF;AAKpF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,UAAU;IAQrB,YACmB,kBAA0B,EAC1B,SAAkD;QADlD,uBAAkB,GAAlB,kBAAkB,CAAQ;QAC1B,cAAS,GAAT,SAAS,CAAyC;QAT7D,kBAAa,GAAG,KAAK,CAAC;QAGb,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAOtD,CAAC;IAEJ;;;OAGG;IACI,MAAM,CAAC,cAAc;QAC1B,OAAO,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC;IACzD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,oBAAoB;QAChC,OAAO,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,MAAwB,EAAE,gBAAmC;QACnF,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO;SACR;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,yBAAa,CAAC;YAC9B,SAAS;YACT,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;SAC/B,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,UAAU,EAAE,QAAQ,CAAE,EAAE,EAAE;YAClE,IAAI,CAAC,MAAO,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,2CAA2C;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,gCAAoB,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhF,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAE1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,OAA0B;QAC9C,sCAAsC;QACtC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;SAClC;QAED,IAAI,OAAO,EAAE,YAAY,EAAE;YACzB,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,KAAK,IAAG,EAAE;gBAC1C,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5B,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;SAC1B;aAAM;YACL,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;SAC3B;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,+BAA+B;QAC/B,4CAA4C;QAE5C,oCAAoC;QACpC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;QAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,QAAiC,EAAE,IAAW;QAC/E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QACvC,8BAA8B;QAC9B,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAoC,QAAW;QAC1E,OAAO,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;YACzB,gDAAgD;YAChD,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC1F,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;aACjE;YAED,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YAEnF,0BAA0B;YAC1B,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC7C,MAAM,OAAO,GAAG,GAAS,EAAE;oBACzB,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBACnD,CAAC,CAAC;gBAEF,mDAAmD;gBACnD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/E,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7F,CAAC,CAAC,CAAC;YAEH,6CAA6C;YAC7C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAE,eAAe,EAAE,YAAY,CAAE,CAAC,CAAC;QACzD,CAAC,CAAM,CAAC;IACV,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAyB,EAAE,gBAAkC;QAC9F,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,IAAI,4BAAmB,CAAC,+DAA+D,CAAC,CAAC;SAChG;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3C,4BAAgB,CAAC,WAAW,EAC5B;YACE,IAAI;YACJ,IAAI;YACJ,YAAY,EAAE,gBAAgB,CAAC,YAAY;SAC5C,EACD;YACE,OAAO,EAAE,gBAAgB,CAAC,OAAO;YACjC,OAAO,EAAE,gBAAgB,CAAC,OAAO,IAAI,CAAC;SACvC,CACF,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,IAAI,CAAC,UAAkB,EAAE,GAAG,IAAW;QAClD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;;AAxJH,gCAyJC;AApJyB,gCAAqB,GAAG,IAAI,eAAe,EAAE,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable callback-return */\n\n/* eslint-disable func-style */\n\nimport { NotInitializedError } from './errors';\nimport type { TransportConfig } from './transport';\nimport { JsonRpcServer, ParentStdioTransport, STANDARD_METHODS } from './transport';\nimport type { ExecutionOptions, IShutdownOptions } from './types';\n\nexport type IJSCallbacks = Record<string, (...args: any[]) => any>;\n\n/**\n * JSExecutor V2 with enhanced abort control for immediate shutdown\n *\n * @example Writing abort-aware callbacks:\n * ```typescript\n * const jsExecutor = new JSExecutorV2(scriptPath, {\n * async myCallback(): Promise<string> {\n * return new Promise((resolve, reject) => {\n * const timeoutId = setTimeout(() => resolve('done'), 5000);\n *\n * // Listen to the global abort signal to clean up resources\n * const abortSignal = JSExecutorV2.getGlobalAbortSignal();\n * const onAbort = () => {\n * clearTimeout(timeoutId);\n * reject(new Error('Operation aborted'));\n * };\n *\n * if (abortSignal.aborted) {\n * onAbort();\n * return;\n * }\n *\n * abortSignal.addEventListener('abort', onAbort);\n * });\n * }\n * });\n * ```\n */\nexport class JSExecutor {\n private isInitialized = false;\n private server?: JsonRpcServer;\n private transport?: ParentStdioTransport;\n private readonly abortController = new AbortController();\n private static readonly globalAbortController = new AbortController();\n private shutdownTimeout?: NodeJS.Timeout;\n\n public constructor(\n private readonly executorScriptPath: string,\n private readonly callbacks: Record<string, (...args: any[]) => any>\n ) {}\n\n /**\n * Static method to check if any JSExecutor instance is being shut down\n * Callbacks can use this to check if they should abort their operations\n */\n public static isShuttingDown(): boolean {\n return JSExecutor.globalAbortController.signal.aborted;\n }\n\n /**\n * Get the global abort signal that callbacks can listen to\n * This allows callbacks to immediately abort when any JSExecutor shuts down\n */\n public static getGlobalAbortSignal(): AbortSignal {\n return JSExecutor.globalAbortController.signal;\n }\n\n public async initialize(config?: TransportConfig, executionOptions?: ExecutionOptions): Promise<void> {\n if (this.isInitialized) {\n return;\n }\n\n this.server = new JsonRpcServer({\n // 1 hour\n requestTimeout: 60 * 60 * 1000\n });\n\n // Register callbacks with the server\n Object.entries(this.callbacks).forEach(([ methodName, callback ]) => {\n this.server!.registerMethod(methodName, this.wrapCallbackWithAbort(callback));\n });\n\n // Create and initialize the transport once\n this.transport = new ParentStdioTransport(this.executorScriptPath, this.server);\n\n await this.transport.initialize(config, executionOptions);\n\n this.isInitialized = true;\n }\n\n public async shutdown(options?: IShutdownOptions): Promise<void> {\n // Clear any existing shutdown timeout\n if (this.shutdownTimeout) {\n clearTimeout(this.shutdownTimeout);\n this.shutdownTimeout = undefined;\n }\n\n if (options?.afterTimeout) {\n this.shutdownTimeout = setTimeout(async() => {\n await this.shutdownCore();\n }, options.afterTimeout);\n } else {\n await this.shutdownCore();\n }\n }\n\n private async shutdownCore(): Promise<void> {\n // // Signal global abort first\n // JSExecutor.globalAbortController.abort();\n\n // Then signal this instance's abort\n this.abortController.abort();\n\n if (this.transport) {\n await this.transport.close();\n this.transport = undefined;\n }\n\n this.isInitialized = false;\n this.server = undefined;\n }\n\n private async rpcComplaintCallback(callback: (...args: any[]) => any, args: any[]): Promise<any> {\n const result = await callback(...args);\n // RPC expects a result object\n return result ?? {};\n }\n\n /**\n * Wrap a callback with abort functionality\n * The callback will be automatically aborted if JSExecutor is shut down\n */\n private wrapCallbackWithAbort<T extends (...args: any[]) => any>(callback: T): T {\n return ((...args: any[]) => {\n // Check if we're shutting down before executing\n if (this.abortController.signal.aborted || JSExecutor.globalAbortController.signal.aborted) {\n return Promise.reject(new Error('JSExecutor is shutting down'));\n }\n\n const callbackPromise = Promise.resolve(this.rpcComplaintCallback(callback, args));\n\n // Create an abort promise\n const abortPromise = new Promise((_, reject) => {\n const onAbort = (): void => {\n reject(new Error('JSExecutor is shutting down'));\n };\n\n // Listen to both instance and global abort signals\n this.abortController.signal.addEventListener('abort', onAbort, { once: true });\n JSExecutor.globalAbortController.signal.addEventListener('abort', onAbort, { once: true });\n });\n\n // Race the callback against the abort signal\n return Promise.race([ callbackPromise, abortPromise ]);\n }) as T;\n }\n\n public async execute(code: string, args: Record<string, any>, executionOptions: ExecutionOptions): Promise<any> {\n if (!this.isInitialized) {\n throw new NotInitializedError('JSExecutor is not initialized, please call initialize() first');\n }\n\n if (!this.transport || !this.transport.isReady()) {\n throw new Error('Transport is not ready');\n }\n\n const response = await this.transport.request(\n STANDARD_METHODS.executeCode,\n {\n code,\n args,\n functionName: executionOptions.functionName\n },\n {\n timeout: executionOptions.timeout,\n retries: executionOptions.retries ?? 0\n }\n );\n return response;\n }\n\n /**\n * Legacy method for backward compatibility\n * @deprecated Use execute() instead\n */\n public async call(methodName: string, ...args: any[]): Promise<any> {\n if (!this.transport || !this.transport.isReady()) {\n throw new Error('Transport is not ready');\n }\n return this.transport.request(methodName, args);\n }\n}\n"]}
@@ -162,3 +162,4 @@ export declare class JsonRpcClient {
162
162
  */
163
163
  close(): Promise<void>;
164
164
  }
165
+ //# sourceMappingURL=JsonRpcClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonRpcClient.d.ts","sourceRoot":"","sources":["../../../src/JsExecutor/jsonRpc/JsonRpcClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,SAAS,EAET,aAAa,EACb,cAAc,EACd,eAAe,EAGhB,MAAM,SAAS,CAAC;AAGjB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IAC9C,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IACxD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwC;IACxE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAkB;gBAEjB,MAAM,GAAE,mBAAwB;IASnD;;;OAGG;IACI,YAAY,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IASrD;;;;;;OAMG;IACU,OAAO,CAAC,OAAO,GAAG,aAAa,EAAE,OAAO,GAAG,GAAG,EACzD,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GACnD,OAAO,CAAC,OAAO,CAAC;IAgCnB;;;;OAIG;IACU,MAAM,CAAC,OAAO,GAAG,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7F;;;;OAIG;IACU,KAAK,CAAC,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAC;QAAC,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAwBhG;;;OAGG;IACU,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBtE;;;OAGG;IACH,OAAO,CAAC,cAAc;IAqBtB;;;;;OAKG;YACW,sBAAsB;IASpC;;;;;OAKG;YACW,oBAAoB;IA2BlC;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAkBrB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAQlB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAYtB;;;;OAIG;YACW,KAAK;IAInB;;;;OAIG;IACI,EAAE,CAAC,IAAI,SAAS,MAAM,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI;IAIzG;;;;OAIG;IACI,GAAG,CAAC,IAAI,SAAS,MAAM,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI;IAM1G;;;;OAIG;IACH,OAAO,CAAC,IAAI;IAUZ;;;OAGG;IACI,QAAQ,IAAI;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;KACvC;IAQD;;OAEG;IACI,iBAAiB,IAAI,IAAI;IAQhC;;;;OAIG;IACI,aAAa,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO;IAU5C;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAMpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"JsonRpcClient.js","sourceRoot":"","sources":["../../../src/JsExecutor/jsonRpc/JsonRpcClient.ts"],"names":[],"mappings":";AAAA,2BAA2B;;;AAY3B,mCAA4D;AAqB5D;;GAEG;AACH,MAAa,aAAa;IAOxB,YAAmB,SAA8B,EAAE;QALlC,oBAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;QACvD,cAAS,GAAiC,EAAE,CAAC;QACtD,qBAAgB,GAAG,CAAC,CAAC;QAI3B,IAAI,CAAC,MAAM,GAAG;YACZ,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,KAAK;YAC9C,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC;YAClC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;YACrC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI;SAC5C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,SAA0B;QAC5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAe,EAAQ,EAAE;YACjD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAQ,EAAE;gBACxD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,OAAO,CAClB,MAAc,EACd,MAAgB,EAChB,UAAkD,EAAE;QAEpD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SAClE;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAE7D,IAAI,SAA4B,CAAC;QAEjC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE;YACtD,IAAI;gBACF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAU,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5E,OAAO,MAAM,CAAC;aACf;YAAC,OAAO,KAAc,EAAE;gBACvB,SAAS,GAAG,KAAc,CAAC;gBAC3B,gCAAgC;gBAChC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAc,CAAC,IAAI,OAAO,KAAK,UAAU,EAAE;oBACjE,MAAM;iBACP;gBAED,uBAAuB;gBACvB,IAAI,OAAO,GAAG,UAAU,EAAE;oBACxB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC1D;aACF;SACF;QAED,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAA0B,MAAc,EAAE,MAAgB;QAC3E,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SAClE;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAAC,QAA4D;QAC7E,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SAClE;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAkB,EAAE;YACzD,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAEnD,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAChC,CAAC,OAAO,EAAgB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAM,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAC/F,CAAC;QAEF,iBAAiB;QACjB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAExC,yBAAyB;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,qBAAqB,CAAC,WAAmB;QACpD,IAAI;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACxC,wBAAwB;YACxB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC1B,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE;oBAC9B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;iBAC/B;aACF;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;aAC9B;SACF;QAAC,OAAO,KAAc,EAAE;YACvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,qCAAsC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAChG;IACH,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,QAAyB;QAC9C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEhC,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,EAAE;YACnB,wDAAwD;YACxD,OAAO;SACR;QAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEzC,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YACpC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACzC;aAAM;YACL,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/C,KAAa,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YACzC,KAAa,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YAC1C,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC9B;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,sBAAsB,CAAU,OAAuB,EAAE,OAAe;QACpF,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAU,OAAO,EAAE,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,SAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAEpD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,oBAAoB,CAAU,OAAuB,EAAE,OAAe;QAClF,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,oBAAoB,OAAO,IAAI,CAAC,CAAC,CAAC;YAC1E,CAAC,EAAE,OAAO,CAAC,CAAC;YAEZ,MAAM,cAAc,GAA4B;gBAC9C,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,OAAO;gBACP,OAAO,CAAC,KAAc;oBACpB,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;gBACD,MAAM,CAAC,KAAY;oBACjB,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;aACF,CAAC;YAEF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CACnB,MAAc,EACd,MAAgB,EAChB,EAAc;QAEd,MAAM,OAAO,GAA4B;YACvC,OAAO,EAAE,uBAAe;YACxB,MAAM;YACN,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE;SAC5B,CAAC;QAEF,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;SACzB;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CAA0B,MAAc,EAAE,MAAgB;QAClF,MAAM,YAAY,GAAiC;YACjD,OAAO,EAAE,uBAAe;YACxB,MAAM;SACP,CAAC;QAEF,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;SAC9B;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;OAGG;IACK,UAAU;QAChB,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YAC7B,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC;SAC9B;QACD,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,QAAyB;QACjD,OAAO,QAAQ,IAAI,QAAQ,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,KAAY;QACjC,mEAAmE;QACnE,MAAM,SAAS,GAAI,KAAa,CAAC,IAAI,CAAC;QACtC,OAAO,CACL,SAAS,KAAK,wBAAgB,CAAC,cAAc;YAC7C,SAAS,KAAK,wBAAgB,CAAC,aAAa;YAC5C,SAAS,KAAK,wBAAgB,CAAC,UAAU;YACzC,SAAS,KAAK,wBAAgB,CAAC,cAAc;YAC7C,SAAS,KAAK,wBAAgB,CAAC,aAAa,CAC7C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,KAAK,CAAC,EAAU;QAC5B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACI,EAAE,CAAyC,KAAW,EAAE,QAAmC;QAChG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAyC,KAAW,EAAE,QAAmC;QACjG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE;YACtC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAC/C;IACH,CAAC;IAED;;;;OAIG;IACK,IAAI,CACV,KAAW,EACX,GAAG,IAA2C;QAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,QAAQ,EAAE;YACX,QAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;SAC5B;IACH,CAAC;IAED;;;OAGG;IACI,QAAQ;QAKb,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YAC1C,aAAa,EAAE,IAAI,CAAC,gBAAgB;YACpC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;SAC3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,iBAAiB;QACtB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC7C,KAAK,MAAM,CAAE,EAAE,EAAE,cAAc,CAAE,IAAI,IAAI,CAAC,eAAe,EAAE;YACzD,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC9B;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,EAAa;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,cAAc,EAAE;YAClB,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SAC9B;IACH,CAAC;CACF;AAjYD,sCAiYC"}
1
+ {"version":3,"file":"JsonRpcClient.js","sourceRoot":"","sources":["../../../src/JsExecutor/jsonRpc/JsonRpcClient.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable indent */\n\nimport type {\n JsonRpcClientConfig,\n JsonRpcId,\n JsonRpcNotification,\n JsonRpcParams,\n JsonRpcRequest,\n JsonRpcResponse,\n JsonRpcSuccessResponse,\n PendingRequest\n} from './types';\nimport { JsonRpcErrorCode, JSONRPC_VERSION } from './types';\n\n/**\n * Event emitter interface for JSON-RPC client events\n */\nexport interface JsonRpcClientEvents {\n request: (request: JsonRpcRequest) => void;\n response: (response: JsonRpcResponse) => void;\n error: (error: Error) => void;\n timeout: (request: JsonRpcRequest) => void;\n}\n\n/**\n * Transport interface for sending messages\n */\nexport interface ClientTransport {\n send: (message: string) => Promise<void>;\n onMessage: (handler: (message: string) => void) => void;\n close: () => Promise<void>;\n}\n\n/**\n * JSON-RPC 2.0 Client implementation\n */\nexport class JsonRpcClient {\n private readonly config: Required<JsonRpcClientConfig>;\n private readonly pendingRequests = new Map<JsonRpcId, PendingRequest>();\n private readonly listeners: Partial<JsonRpcClientEvents> = {};\n private requestIdCounter = 0;\n private transport?: ClientTransport;\n\n public constructor(config: JsonRpcClientConfig = {}) {\n this.config = {\n defaultTimeout: config.defaultTimeout ?? 30000,\n maxRetries: config.maxRetries ?? 3,\n retryDelay: config.retryDelay ?? 1000,\n sequentialIds: config.sequentialIds ?? true\n };\n }\n\n /**\n * Set the transport for sending messages\n * @param transport - Transport implementation\n */\n public setTransport(transport: ClientTransport): void {\n this.transport = transport;\n this.transport.onMessage((message: string): void => {\n this.handleIncomingMessage(message).catch((error): void => {\n this.emit('error', error);\n });\n });\n }\n\n /**\n * Send a JSON-RPC request and wait for response\n * @param method - Method name\n * @param params - Method parameters\n * @param options - Request options\n * @returns Promise resolving to the response result\n */\n public async request<TParams = JsonRpcParams, TResult = any>(\n method: string,\n params?: TParams,\n options: { timeout?: number; retries?: number } = {}\n ): Promise<TResult> {\n if (!this.transport) {\n throw new Error('Transport not set. Call setTransport() first.');\n }\n\n const timeout = options.timeout ?? this.config.defaultTimeout;\n const maxRetries = options.retries ?? this.config.maxRetries;\n\n let lastError: Error | undefined;\n\n for (let attempt = 0; attempt <= maxRetries; attempt++) {\n try {\n const request = this.createRequest(method, params);\n const result = await this.sendRequestWithTimeout<TResult>(request, timeout);\n return result;\n } catch (error: unknown) {\n lastError = error as Error;\n // Don't retry on certain errors\n if (this.shouldNotRetry(error as Error) || attempt === maxRetries) {\n break;\n }\n\n // Wait before retrying\n if (attempt < maxRetries) {\n await this.delay(this.config.retryDelay * (attempt + 1));\n }\n }\n }\n\n throw lastError ?? new Error('Request failed after all retry attempts');\n }\n\n /**\n * Send a JSON-RPC notification (no response expected)\n * @param method - Method name\n * @param params - Method parameters\n */\n public async notify<TParams = JsonRpcParams>(method: string, params?: TParams): Promise<void> {\n if (!this.transport) {\n throw new Error('Transport not set. Call setTransport() first.');\n }\n\n const notification = this.createNotification(method, params);\n await this.transport.send(JSON.stringify(notification));\n }\n\n /**\n * Send a batch of requests\n * @param requests - Array of request specifications\n * @returns Promise resolving to array of results\n */\n public async batch(requests: { method: string; params?: any; id?: JsonRpcId }[]): Promise<any[]> {\n if (!this.transport) {\n throw new Error('Transport not set. Call setTransport() first.');\n }\n\n const batchRequests = requests.map((req): JsonRpcRequest => {\n const id = req.id ?? this.generateId();\n return this.createRequest(req.method, req.params, id);\n });\n\n const batchMessage = JSON.stringify(batchRequests);\n\n // Create pending promises for all requests\n const promises = batchRequests.map(\n (request): Promise<any> => this.createPendingRequest<any>(request, this.config.defaultTimeout)\n );\n\n // Send the batch\n await this.transport.send(batchMessage);\n\n // Wait for all responses\n return Promise.all(promises);\n }\n\n /**\n * Handle incoming message from transport\n * @param messageData - Raw message data\n */\n public async handleIncomingMessage(messageData: string): Promise<void> {\n try {\n const message = JSON.parse(messageData);\n // Handle batch response\n if (Array.isArray(message)) {\n for (const response of message) {\n this.handleResponse(response);\n }\n } else {\n this.handleResponse(message);\n }\n } catch (error: unknown) {\n this.emit('error', new Error(`Failed to parse incoming message: ${(error as Error).message}`));\n }\n }\n\n /**\n * Handle a single response message\n * @param response - JSON-RPC response\n */\n private handleResponse(response: JsonRpcResponse): void {\n this.emit('response', response);\n\n const pendingRequest = this.pendingRequests.get(response.id);\n if (!pendingRequest) {\n // Orphaned response - might be from a timed-out request\n return;\n }\n\n this.pendingRequests.delete(response.id);\n\n if (this.isSuccessResponse(response)) {\n pendingRequest.resolve(response.result);\n } else {\n const error = new Error(response.error.message);\n (error as any).code = response.error.code;\n (error as any).data = response.error.data;\n pendingRequest.reject(error);\n }\n }\n\n /**\n * Send a request with timeout handling\n * @param request - JSON-RPC request\n * @param timeout - Timeout in milliseconds\n * @returns Promise resolving to the result\n */\n private async sendRequestWithTimeout<TResult>(request: JsonRpcRequest, timeout: number): Promise<TResult> {\n const promise = this.createPendingRequest<TResult>(request, timeout);\n\n this.emit('request', request);\n await this.transport!.send(JSON.stringify(request));\n\n return promise;\n }\n\n /**\n * Create a pending request promise with timeout\n * @param request - JSON-RPC request\n * @param timeout - Timeout in milliseconds\n * @returns Promise resolving to the result\n */\n private async createPendingRequest<TResult>(request: JsonRpcRequest, timeout: number): Promise<TResult> {\n return new Promise<TResult>((resolve, reject) => {\n const timeoutId = setTimeout(() => {\n this.pendingRequests.delete(request.id);\n this.emit('timeout', request);\n reject(new Error(`Request ${request.id} timed out after ${timeout}ms`));\n }, timeout);\n\n const pendingRequest: PendingRequest<TResult> = {\n id: request.id,\n method: request.method,\n timestamp: Date.now(),\n timeout,\n resolve(value: TResult) {\n clearTimeout(timeoutId);\n resolve(value);\n },\n reject(error: Error) {\n clearTimeout(timeoutId);\n reject(error);\n }\n };\n\n this.pendingRequests.set(request.id, pendingRequest);\n });\n }\n\n /**\n * Create a JSON-RPC request\n * @param method - Method name\n * @param params - Method parameters\n * @param id - Optional request ID\n * @returns JSON-RPC request object\n */\n private createRequest<TParams = JsonRpcParams>(\n method: string,\n params?: TParams,\n id?: JsonRpcId\n ): JsonRpcRequest<TParams> {\n const request: JsonRpcRequest<TParams> = {\n jsonrpc: JSONRPC_VERSION,\n method,\n id: id ?? this.generateId()\n };\n\n if (params !== undefined) {\n request.params = params;\n }\n\n return request;\n }\n\n /**\n * Create a JSON-RPC notification\n * @param method - Method name\n * @param params - Method parameters\n * @returns JSON-RPC notification object\n */\n private createNotification<TParams = JsonRpcParams>(method: string, params?: TParams): JsonRpcNotification<TParams> {\n const notification: JsonRpcNotification<TParams> = {\n jsonrpc: JSONRPC_VERSION,\n method\n };\n\n if (params !== undefined) {\n notification.params = params;\n }\n\n return notification;\n }\n\n /**\n * Generate a unique request ID\n * @returns Unique request ID\n */\n private generateId(): JsonRpcId {\n if (this.config.sequentialIds) {\n this.requestIdCounter += 1;\n return this.requestIdCounter;\n }\n return `${Date.now()}-${Math.random().toString(36).slice(2, 11)}`;\n }\n\n /**\n * Check if response is a success response\n * @param response - JSON-RPC response\n * @returns True if success response\n */\n private isSuccessResponse(response: JsonRpcResponse): response is JsonRpcSuccessResponse {\n return 'result' in response;\n }\n\n /**\n * Check if an error should not be retried\n * @param error - Error to check\n * @returns True if error should not be retried\n */\n private shouldNotRetry(error: Error): boolean {\n // Don't retry on method not found, invalid params, or parse errors\n const errorCode = (error as any).code;\n return (\n errorCode === JsonRpcErrorCode.methodNotFound ||\n errorCode === JsonRpcErrorCode.invalidParams ||\n errorCode === JsonRpcErrorCode.parseError ||\n errorCode === JsonRpcErrorCode.invalidRequest ||\n errorCode === JsonRpcErrorCode.internalError\n );\n }\n\n /**\n * Delay execution for specified milliseconds\n * @param ms - Delay in milliseconds\n * @returns Promise that resolves after delay\n */\n private async delay(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n\n /**\n * Register event listener\n * @param event - Event name\n * @param listener - Event listener\n */\n public on<TKey extends keyof JsonRpcClientEvents>(event: TKey, listener: JsonRpcClientEvents[TKey]): void {\n this.listeners[event] = listener;\n }\n\n /**\n * Remove event listener\n * @param event - Event name\n * @param listener - Event listener\n */\n public off<TKey extends keyof JsonRpcClientEvents>(event: TKey, listener: JsonRpcClientEvents[TKey]): void {\n if (this.listeners[event] === listener) {\n Reflect.deleteProperty(this.listeners, event);\n }\n }\n\n /**\n * Emit event\n * @param event - Event name\n * @param args - Event arguments\n */\n private emit<TKey extends keyof JsonRpcClientEvents>(\n event: TKey,\n ...args: Parameters<JsonRpcClientEvents[TKey]>\n ): void {\n const listener = this.listeners[event];\n if (listener) {\n (listener as any)(...args);\n }\n }\n\n /**\n * Get client statistics\n * @returns Client statistics\n */\n public getStats(): {\n pendingRequests: number;\n totalRequests: number;\n config: Required<JsonRpcClientConfig>;\n } {\n return {\n pendingRequests: this.pendingRequests.size,\n totalRequests: this.requestIdCounter,\n config: { ...this.config }\n };\n }\n\n /**\n * Cancel all pending requests\n */\n public cancelAllRequests(): void {\n const error = new Error('Request cancelled');\n for (const [ id, pendingRequest ] of this.pendingRequests) {\n pendingRequest.reject(error);\n }\n this.pendingRequests.clear();\n }\n\n /**\n * Cancel a specific request\n * @param id - Request ID to cancel\n * @returns True if request was cancelled\n */\n public cancelRequest(id: JsonRpcId): boolean {\n const pendingRequest = this.pendingRequests.get(id);\n if (pendingRequest) {\n pendingRequest.reject(new Error('Request cancelled'));\n this.pendingRequests.delete(id);\n return true;\n }\n return false;\n }\n\n /**\n * Close the client and cleanup resources\n */\n public async close(): Promise<void> {\n this.cancelAllRequests();\n if (this.transport) {\n await this.transport.close();\n }\n }\n}\n"]}
@@ -122,3 +122,4 @@ export declare class JsonRpcServer {
122
122
  shutdown(): Promise<void>;
123
123
  }
124
124
  export {};
125
+ //# sourceMappingURL=JsonRpcServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonRpcServer.d.ts","sourceRoot":"","sources":["../../../src/JsExecutor/jsonRpc/JsonRpcServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,oBAAoB,EAEpB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,mBAAmB,EAGpB,MAAM,SAAS,CAAC;AAGjB,aAAK,iBAAiB,GAAG;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,YAAY,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IAC9C,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACxD,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;CAC5C;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwC;IACxE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;gBAE3C,MAAM,GAAE,mBAAwB;IASnD;;;;OAIG;IACI,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI;IAU9G;;;OAGG;IACI,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI7C;;;OAGG;IACI,oBAAoB,IAAI,MAAM,EAAE;IAIvC;;;;OAIG;IACU,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IA+C/F;;;;OAIG;YACW,aAAa;IAkC3B;;;OAGG;YACW,kBAAkB;IAiBhC;;;;;OAKG;YACW,wBAAwB;IA4CtC;;;;;OAKG;YACW,oBAAoB;IA2BlC;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAkDvB;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACI,EAAE,CAAC,IAAI,SAAS,MAAM,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI;IAIzG;;OAEG;IACI,GAAG,CAAC,IAAI,SAAS,MAAM,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI;IAM1G;;OAEG;IACH,OAAO,CAAC,IAAI;IAUZ;;OAEG;IACI,QAAQ,IAAI,iBAAiB;IAQpC;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAYvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"JsonRpcServer.js","sourceRoot":"","sources":["../../../src/JsExecutor/jsonRpc/JsonRpcServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonRpcServer.js","sourceRoot":"","sources":["../../../src/JsExecutor/jsonRpc/JsonRpcServer.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n JsonRpcError,\n JsonRpcId,\n JsonRpcMessage,\n JsonRpcMethodHandler,\n JsonRpcMethodRegistry,\n JsonRpcNotification,\n JsonRpcRequest,\n JsonRpcResponse,\n JsonRpcServerConfig,\n PendingRequest,\n ValidationResult\n} from './types';\nimport { JsonRpcErrorCode, JSONRPC_VERSION } from './types';\n\ntype TGetStatsResponse = {\n registeredMethods: number;\n pendingRequests: number;\n maxConcurrentRequests: number;\n};\n\n/**\n * Event emitter interface for JSON-RPC server events\n */\nexport interface JsonRpcServerEvents {\n request: (request: JsonRpcRequest) => void;\n notification: (notification: JsonRpcNotification) => void;\n response: (response: JsonRpcResponse) => void;\n error: (error: Error, request?: JsonRpcRequest) => void;\n timeout: (request: JsonRpcRequest) => void;\n}\n\n/**\n * JSON-RPC 2.0 Server implementation\n */\nexport class JsonRpcServer {\n private readonly methods: JsonRpcMethodRegistry = {};\n private readonly config: Required<JsonRpcServerConfig>;\n private readonly pendingRequests = new Map<JsonRpcId, PendingRequest>();\n private readonly listeners: Partial<JsonRpcServerEvents> = {};\n\n public constructor(config: JsonRpcServerConfig = {}) {\n this.config = {\n maxConcurrentRequests: config.maxConcurrentRequests ?? 100,\n requestTimeout: config.requestTimeout ?? 30000,\n strictValidation: config.strictValidation ?? true,\n errorHandler: config.errorHandler ?? this.defaultErrorHandler.bind(this)\n };\n }\n\n /**\n * Register a method handler\n * @param method - Method name\n * @param handler - Method handler function\n */\n public registerMethod<TParams, TResult>(method: string, handler: JsonRpcMethodHandler<TParams, TResult>): void {\n if (typeof method !== 'string' || method.length === 0) {\n throw new Error('Method name must be a non-empty string');\n }\n if (typeof handler !== 'function') {\n throw new Error('Handler must be a function');\n }\n this.methods[method] = handler as JsonRpcMethodHandler;\n }\n\n /**\n * Unregister a method handler\n * @param method - Method name\n */\n public unregisterMethod(method: string): void {\n Reflect.deleteProperty(this.methods, method);\n }\n\n /**\n * Get all registered methods\n * @returns Array of method names\n */\n public getRegisteredMethods(): string[] {\n return Object.keys(this.methods);\n }\n\n /**\n * Process an incoming JSON-RPC message\n * @param messageData - Raw message data (string or object)\n * @returns Promise resolving to response (if request) or undefined (if notification)\n */\n public async processMessage(messageData: string | object): Promise<JsonRpcResponse | undefined> {\n let message: JsonRpcMessage;\n\n try {\n // Parse message if it's a string\n if (typeof messageData === 'string') {\n try {\n message = JSON.parse(messageData);\n } catch {\n return this.createErrorResponse(null, {\n code: JsonRpcErrorCode.parseError,\n message: 'Parse error',\n data: 'Invalid JSON'\n });\n }\n } else {\n message = messageData as JsonRpcMessage;\n }\n\n // Validate message format\n const validation = this.validateMessage(message);\n if (!validation.valid) {\n return this.createErrorResponse(this.extractId(message), validation.error!);\n }\n\n // Handle request or notification\n if (this.isRequest(message)) {\n this.emit('request', message);\n return await this.handleRequest(message);\n }\n if (this.isNotification(message)) {\n this.emit('notification', message);\n await this.handleNotification(message);\n return;\n }\n // This shouldn't happen after validation, but just in case\n return this.createErrorResponse(this.extractId(message), {\n code: JsonRpcErrorCode.invalidRequest,\n message: 'Invalid request',\n data: 'Message is neither request nor notification'\n });\n } catch (error: unknown) {\n const jsonRpcError = this.config.errorHandler(error as Error, this.isRequest(message!) ? message : undefined);\n return this.createErrorResponse(this.extractId(message!), jsonRpcError);\n }\n }\n\n /**\n * Handle a JSON-RPC request\n * @param request - JSON-RPC request object\n * @returns Promise resolving to response\n */\n private async handleRequest(request: JsonRpcRequest): Promise<JsonRpcResponse> {\n // Check concurrent request limit\n if (this.pendingRequests.size >= this.config.maxConcurrentRequests) {\n return this.createErrorResponse(request.id, {\n code: JsonRpcErrorCode.internalError,\n message: 'Server overloaded',\n data: `Maximum concurrent requests (${this.config.maxConcurrentRequests}) exceeded`\n });\n }\n\n // Check if method exists\n const handler = this.methods[request.method];\n if (!handler) {\n return this.createErrorResponse(request.id, {\n code: JsonRpcErrorCode.methodNotFound,\n message: 'Method not found',\n data: `Method '${request.method}' is not registered`\n });\n }\n\n // Execute method with timeout\n const requestPromise = this.executeMethodWithTimeout(handler, request);\n\n try {\n const result = await requestPromise;\n return this.createSuccessResponse(request.id, result);\n } catch (error: unknown) {\n const jsonRpcError = this.config.errorHandler(error as Error, request);\n return this.createErrorResponse(request.id, jsonRpcError);\n } finally {\n this.pendingRequests.delete(request.id);\n }\n }\n\n /**\n * Handle a JSON-RPC notification\n * @param notification - JSON-RPC notification object\n */\n private async handleNotification(notification: JsonRpcNotification): Promise<void> {\n const handler = this.methods[notification.method];\n if (!handler) {\n // For notifications, we silently ignore unknown methods\n return;\n }\n\n try {\n // Handle both sync and async functions by wrapping in Promise.resolve\n const result = handler(notification.params);\n await Promise.resolve(result);\n } catch (error: unknown) {\n // For notifications, we emit error but don't send response\n this.emit('error', error as Error);\n }\n }\n\n /**\n * Execute method with timeout\n * @param handler - Method handler\n * @param request - JSON-RPC request\n * @returns Promise resolving to result\n */\n private async executeMethodWithTimeout<TResult>(\n handler: JsonRpcMethodHandler,\n request: JsonRpcRequest\n ): Promise<TResult> {\n return new Promise((resolve, reject): void => {\n const timeoutId = setTimeout((): void => {\n reject(new Error(`Method '${request.method}' timed out after ${this.config.requestTimeout}ms`));\n }, this.config.requestTimeout);\n\n try {\n const pendingRequest: PendingRequest<TResult> = {\n id: request.id,\n method: request.method,\n timestamp: Date.now(),\n timeout: this.config.requestTimeout,\n resolve(value: TResult) {\n clearTimeout(timeoutId);\n resolve(value);\n },\n reject(error: Error) {\n clearTimeout(timeoutId);\n reject(error);\n }\n };\n\n // Handle both sync and async functions by wrapping in Promise.resolve\n const result = handler(request.params, request.id);\n Promise.resolve(result)\n .then((finalResult: any): void => {\n clearTimeout(timeoutId);\n pendingRequest.resolve(finalResult);\n })\n .catch((error: unknown): void => {\n clearTimeout(timeoutId);\n pendingRequest.reject(error as Error);\n });\n } catch (error: unknown) {\n // Handle synchronous errors (like sync functions that throw)\n clearTimeout(timeoutId);\n reject(error);\n }\n });\n }\n\n /**\n * Create a pending request promise with timeout\n * @param request - JSON-RPC request\n * @param timeout - Timeout in milliseconds\n * @returns Promise resolving to the result\n */\n private async createPendingRequest<TResult>(request: JsonRpcRequest, timeout: number): Promise<TResult> {\n return new Promise<TResult>((resolve, reject) => {\n const timeoutId = setTimeout(() => {\n this.pendingRequests.delete(request.id);\n this.emit('timeout', request);\n reject(new Error(`Request ${request.id} timed out after ${timeout}ms`));\n }, timeout);\n\n const pendingRequest: PendingRequest<TResult> = {\n id: request.id,\n method: request.method,\n timestamp: Date.now(),\n timeout,\n resolve(value: TResult) {\n clearTimeout(timeoutId);\n resolve(value);\n },\n reject(error: Error) {\n clearTimeout(timeoutId);\n reject(error);\n }\n };\n\n this.pendingRequests.set(request.id, pendingRequest);\n });\n }\n\n /**\n * Validate JSON-RPC message format\n * @param message - Message to validate\n * @returns Validation result\n */\n private validateMessage(message: any): ValidationResult {\n if (!message || typeof message !== 'object') {\n return {\n valid: false,\n error: {\n code: JsonRpcErrorCode.invalidRequest,\n message: 'Invalid request',\n data: 'Message must be an object'\n }\n };\n }\n\n if (message.jsonrpc !== JSONRPC_VERSION) {\n return {\n valid: false,\n error: {\n code: JsonRpcErrorCode.invalidRequest,\n message: 'Invalid request',\n data: `Invalid jsonrpc version. Expected '${JSONRPC_VERSION}'`\n }\n };\n }\n\n if (typeof message.method !== 'string' || message.method.length === 0) {\n return {\n valid: false,\n error: {\n code: JsonRpcErrorCode.invalidRequest,\n message: 'Invalid request',\n data: 'Method must be a non-empty string'\n }\n };\n }\n\n // Check if it's a request (has id) or notification (no id)\n const hasId = 'id' in message;\n if (hasId && typeof message.id !== 'string' && typeof message.id !== 'number' && message.id !== null) {\n return {\n valid: false,\n error: {\n code: JsonRpcErrorCode.invalidRequest,\n message: 'Invalid request',\n data: 'ID must be a string, number, or null'\n }\n };\n }\n\n return { valid: true };\n }\n\n /**\n * Check if message is a request (has id)\n */\n private isRequest(message: any): message is JsonRpcRequest {\n return message && typeof message === 'object' && 'id' in message;\n }\n\n /**\n * Check if message is a notification (no id)\n */\n private isNotification(message: any): message is JsonRpcNotification {\n return message && typeof message === 'object' && !('id' in message);\n }\n\n /**\n * Extract ID from message safely\n */\n private extractId(message: any): JsonRpcId {\n if (message && typeof message === 'object' && 'id' in message) {\n return message.id;\n }\n return null;\n }\n\n /**\n * Create success response\n */\n private createSuccessResponse(id: JsonRpcId, result: any): JsonRpcResponse {\n return {\n jsonrpc: JSONRPC_VERSION,\n result,\n id\n };\n }\n\n /**\n * Create error response\n */\n private createErrorResponse(id: JsonRpcId, error: JsonRpcError): JsonRpcResponse {\n return {\n jsonrpc: JSONRPC_VERSION,\n error,\n id\n };\n }\n\n /**\n * Default error handler\n */\n private defaultErrorHandler(error: Error, request?: JsonRpcRequest): JsonRpcError {\n // Handle parameter validation errors\n if (error.message.includes('invalid param')) {\n return {\n code: JsonRpcErrorCode.invalidParams,\n message: 'Invalid params',\n data: error.message\n };\n }\n\n // Default to internal error\n return {\n code: JsonRpcErrorCode.internalError,\n message: error.message || 'Internal error',\n data: error.stack\n };\n }\n\n /**\n * Register event listener\n */\n public on<TKey extends keyof JsonRpcServerEvents>(event: TKey, listener: JsonRpcServerEvents[TKey]): void {\n this.listeners[event] = listener;\n }\n\n /**\n * Remove event listener\n */\n public off<TKey extends keyof JsonRpcServerEvents>(event: TKey, listener: JsonRpcServerEvents[TKey]): void {\n if (this.listeners[event] === listener) {\n Reflect.deleteProperty(this.listeners, event);\n }\n }\n\n /**\n * Emit event\n */\n private emit<TKey extends keyof JsonRpcServerEvents>(\n event: TKey,\n ...args: Parameters<JsonRpcServerEvents[TKey]>\n ): void {\n const listener = this.listeners[event];\n if (listener) {\n (listener as any)(...args);\n }\n }\n\n /**\n * Get server statistics\n */\n public getStats(): TGetStatsResponse {\n return {\n registeredMethods: Object.keys(this.methods).length,\n pendingRequests: this.pendingRequests.size,\n maxConcurrentRequests: this.config.maxConcurrentRequests\n };\n }\n\n /**\n * Shutdown server (reject all pending requests)\n */\n public async shutdown(): Promise<void> {\n // Reject all pending requests\n for (const [ id, pendingRequest ] of this.pendingRequests) {\n try {\n pendingRequest.reject(new Error('Server shutdown'));\n } catch {\n // Ignore errors during shutdown\n }\n }\n\n this.pendingRequests.clear();\n }\n}\n"]}
@@ -1,3 +1,4 @@
1
1
  export { JsonRpcClient } from './JsonRpcClient';
2
2
  export { JsonRpcServer } from './JsonRpcServer';
3
3
  export * from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/JsExecutor/jsonRpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,cAAc,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/JsExecutor/jsonRpc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/JsExecutor/jsonRpc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,0CAAwB","sourcesContent":["export { JsonRpcClient } from './JsonRpcClient';\nexport { JsonRpcServer } from './JsonRpcServer';\nexport * from './types';\n\n"]}
@@ -190,3 +190,4 @@ export interface LogNotification {
190
190
  timestamp: number;
191
191
  data?: any;
192
192
  }
193
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/JsExecutor/jsonRpc/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/JsExecutor/jsonRpc/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;GAEG;AACU,QAAA,eAAe,GAAG,KAAc,CAAC;AAY9C;;GAEG;AACH,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,wEAAmB,CAAA;IACnB,gFAAuB,CAAA;IACvB,gFAAuB,CAAA;IACvB,8EAAsB,CAAA;IACtB,8EAAsB,CAAA;IACtB,uCAAuC;IACvC,oFAAyB,CAAA;IACzB,gFAAuB,CAAA;AACzB,CAAC,EATW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAS3B;AAkJD;;GAEG;AACU,QAAA,gBAAgB,GAAG;IAC9B,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;CACN,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/JsExecutor/jsonRpc/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;GAEG;AACU,QAAA,eAAe,GAAG,KAAc,CAAC;AAY9C;;GAEG;AACH,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,wEAAmB,CAAA;IACnB,gFAAuB,CAAA;IACvB,gFAAuB,CAAA;IACvB,8EAAsB,CAAA;IACtB,8EAAsB,CAAA;IACtB,uCAAuC;IACvC,oFAAyB,CAAA;IACzB,gFAAuB,CAAA;AACzB,CAAC,EATW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAS3B;AAkJD;;GAEG;AACU,QAAA,gBAAgB,GAAG;IAC9B,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;CACN,CAAC","sourcesContent":["/**\n * JSON-RPC 2.0 Protocol Types\n * Based on: https://www.jsonrpc.org/specification\n */\n\n/**\n * JSON-RPC 2.0 version identifier\n */\nexport const JSONRPC_VERSION = '2.0' as const;\n\n/**\n * JSON-RPC request/response identifier\n */\nexport type JsonRpcId = string | number | null;\n\n/**\n * JSON-RPC parameters (can be object or array)\n */\nexport type JsonRpcParams = Record<string, any> | any[] | undefined;\n\n/**\n * JSON-RPC Error codes (standard codes from spec)\n */\nexport enum JsonRpcErrorCode {\n parseError = -32700,\n invalidRequest = -32600,\n methodNotFound = -32601,\n invalidParams = -32602,\n internalError = -32603,\n // Server error range: -32000 to -32099\n serverErrorStart = -32099,\n serverErrorEnd = -32000,\n}\n\n/**\n * JSON-RPC Error object\n */\nexport interface JsonRpcError {\n code: JsonRpcErrorCode | number;\n message: string;\n data?: any;\n}\n\n/**\n * JSON-RPC Request object\n */\nexport interface JsonRpcRequest<TParams = JsonRpcParams> {\n jsonrpc: typeof JSONRPC_VERSION;\n method: string;\n params?: TParams;\n id: JsonRpcId;\n}\n\n/**\n * JSON-RPC Notification object (request without id)\n */\nexport interface JsonRpcNotification<TParams = JsonRpcParams> {\n jsonrpc: typeof JSONRPC_VERSION;\n method: string;\n params?: TParams;\n}\n\n/**\n * JSON-RPC Success Response object\n */\nexport interface JsonRpcSuccessResponse<TResult = any> {\n jsonrpc: typeof JSONRPC_VERSION;\n result: TResult;\n id: JsonRpcId;\n}\n\n/**\n * JSON-RPC Error Response object\n */\nexport interface JsonRpcErrorResponse {\n jsonrpc: typeof JSONRPC_VERSION;\n error: JsonRpcError;\n id: JsonRpcId;\n}\n\n/**\n * JSON-RPC Response object (success or error)\n */\nexport type JsonRpcResponse<TResult = any> =\n | JsonRpcSuccessResponse<TResult>\n | JsonRpcErrorResponse;\n\n/**\n * JSON-RPC Message (request, notification, or response)\n */\nexport type JsonRpcMessage<TParams = JsonRpcParams, TResult = any> =\n | JsonRpcRequest<TParams>\n | JsonRpcNotification<TParams>\n | JsonRpcResponse<TResult>;\n\n/**\n * Method handler function signature\n */\nexport type JsonRpcMethodHandler<TParams = JsonRpcParams, TResult = any> = (\n params: TParams,\n id?: JsonRpcId,\n) => Promise<TResult> | TResult;\n\n/**\n * Method registry for JSON-RPC handlers\n */\nexport type JsonRpcMethodRegistry = Record<string, JsonRpcMethodHandler>;\n\n/**\n * JSON-RPC server configuration\n */\nexport interface JsonRpcServerConfig {\n /**\n * Maximum number of concurrent requests\n */\n maxConcurrentRequests?: number;\n\n /**\n * Request timeout in milliseconds\n */\n requestTimeout?: number;\n\n /**\n * Whether to validate JSON-RPC format strictly\n */\n strictValidation?: boolean;\n\n /**\n * Custom error handler\n */\n errorHandler?: (error: Error, request?: JsonRpcRequest) => JsonRpcError;\n}\n\n/**\n * JSON-RPC client configuration\n */\nexport interface JsonRpcClientConfig {\n /**\n * Default timeout for requests in milliseconds\n */\n defaultTimeout?: number;\n\n /**\n * Maximum number of retry attempts\n */\n maxRetries?: number;\n\n /**\n * Retry delay in milliseconds\n */\n retryDelay?: number;\n\n /**\n * Whether to generate sequential request IDs\n */\n sequentialIds?: boolean;\n}\n\n/**\n * Pending request tracking\n */\nexport interface PendingRequest<TResult = any> {\n id: JsonRpcId;\n method: string;\n timestamp: number;\n timeout?: number;\n resolve: (value: TResult) => void;\n reject: (error: Error) => void;\n}\n\n/**\n * JSON-RPC validation result\n */\nexport interface ValidationResult {\n valid: boolean;\n error?: JsonRpcError;\n}\n\n/**\n * Standard JSON-RPC method names for JSExecutor\n */\nexport const STANDARD_METHODS = {\n executeCode: 'executeCode',\n getStatus: 'getStatus',\n ping: 'ping',\n shutdown: 'shutdown',\n log: 'log',\n error: 'error'\n} as const;\n\n/**\n * JSExecutor specific request/response types\n */\nexport interface ExecuteCodeRequest {\n code: string;\n args: Record<string, any>;\n functionName: string;\n skdsEndpointUrl: string;\n}\n\nexport interface ExecuteCodeResponse {\n success: boolean;\n result?: any;\n error?: {\n message: string;\n name?: string;\n stack?: string;\n };\n logs: string[];\n executionTime: number;\n}\n\nexport interface StatusRequest {\n // Empty for now\n}\n\nexport interface StatusResponse {\n status: 'ready' | 'busy' | 'error';\n uptime: number;\n memoryUsage?: {\n used: number;\n total: number;\n };\n}\n\nexport interface LogNotification {\n level: 'info' | 'warn' | 'error' | 'debug';\n message: string;\n timestamp: number;\n data?: any;\n}\n"]}
@@ -71,3 +71,4 @@ export interface Transport {
71
71
  */
72
72
  isReady: () => boolean;
73
73
  }
74
+ //# sourceMappingURL=Transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../../../src/JsExecutor/transport/Transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAElE;;GAEG;AACH,oBAAY,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAEzE;;GAEG;AACH,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAChD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAE9B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC;;;OAGG;IACH,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;;OAIG;IACH,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IAErE;;;OAGG;IACH,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAgBnD;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,CACR,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,KAChC,OAAO,CAAC,eAAe,CAAC,CAAC;IAE9B;;OAEG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC;CACxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../../src/JsExecutor/transport/Transport.ts"],"names":[],"mappings":";;;AAOA;;GAEG;AACH,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,gDAA6B,CAAA;IAC7B,4CAAyB,CAAA;IACzB,0CAAuB,CAAA;IACvB,kCAAe,CAAA;AACjB,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B"}
1
+ {"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../../src/JsExecutor/transport/Transport.ts"],"names":[],"mappings":";;;AAOA;;GAEG;AACH,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,gDAA6B,CAAA;IAC7B,4CAAyB,CAAA;IACzB,0CAAuB,CAAA;IACvB,kCAAe,CAAA;AACjB,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B","sourcesContent":["import type { ExecutionOptions, ExecutionResult } from '../types';\n\n/**\n * Message handler for incoming transport messages\n */\nexport type MessageHandler<T = any> = (message: T) => Promise<any> | any;\n\n/**\n * Transport connection status\n */\nexport enum TransportStatus {\n disconnected = 'disconnected',\n connecting = 'connecting',\n connected = 'connected',\n error = 'error',\n}\n\n/**\n * Transport events\n */\nexport interface TransportEvents {\n statusChange: (status: TransportStatus) => void;\n error: (error: Error) => void;\n message: (message: any) => void;\n}\n\n/**\n * Transport configuration options\n */\nexport interface TransportConfig {\n // Legacy timeout for backward compatibility\n timeout?: number;\n // Timeout for process spawn phase\n spawnTimeout?: number;\n // Timeout for wait-for-ready phase\n readyTimeout?: number;\n retryAttempts?: number;\n retryDelay?: number;\n}\n\n/**\n * Abstract Transport interface for communication between JSExecutor and execution environment\n */\nexport interface Transport {\n /**\n * Current transport status\n */\n readonly status: TransportStatus;\n\n /**\n * Initialize the transport connection\n * @param config - Transport configuration\n */\n initialize: (config?: TransportConfig) => Promise<void>;\n\n /**\n * Send a message through the transport\n * @param message - Message to send\n * @returns Promise resolving to response\n */\n send: <TRequest, TResponse>(message: TRequest) => Promise<TResponse>;\n\n /**\n * Register a message handler for incoming messages\n * @param handler - Message handler function\n */\n onMessage: <T>(handler: MessageHandler<T>) => void;\n\n // /**\n // * Register an event listener\n // * @param event - Event name\n // * @param handler - Event handler\n // */\n // on: <TK extends keyof TransportEvents>(event: TK, handler: TransportEvents[TK]) => void;\n\n // /**\n // * Remove an event listener\n // * @param event - Event name\n // * @param handler - Event handler\n // */\n // off: <TK extends keyof TransportEvents>(event: TK, handler: TransportEvents[TK]) => void;\n\n /**\n * Execute code using this transport\n * @param code - JavaScript code to execute\n * @param args - Arguments to pass to the code\n * @param skdsEndpointUrl - SKDS endpoint URL\n * @param options - Execution options\n */\n execute?: (\n code: string,\n args: Record<string, any>,\n skdsEndpointUrl: string,\n options: Required<ExecutionOptions>,\n ) => Promise<ExecutionResult>;\n\n /**\n * Close the transport connection\n */\n close: () => Promise<void>;\n\n /**\n * Check if the transport is ready for communication\n */\n isReady: () => boolean;\n}\n"]}
@@ -48,3 +48,4 @@ export declare abstract class BaseTransport extends EventEmitter implements Tran
48
48
  abstract close(): Promise<void>;
49
49
  abstract isReady(): boolean;
50
50
  }
51
+ //# sourceMappingURL=BaseTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseTransport.d.ts","sourceRoot":"","sources":["../../../../src/JsExecutor/transport/base/BaseTransport.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,8BAAsB,aAAc,SAAQ,YAAa,YAAW,SAAS;IAC3E,SAAS,CAAC,cAAc,EAAE,eAAe,CAAgC;IACzE,SAAS,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IAC1C,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACxB,SAAgB,MAAM,SAAwB;;IAM9C;;OAEG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACH,IAAW,MAAM,IAAI,eAAe,CAEnC;IAED;;OAEG;IACI,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAIrD;;OAEG;IACI,EAAE,CAAC,IAAI,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI;IAIhG;;OAEG;IACI,GAAG,CAAC,IAAI,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI;IAIjG;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IASlD;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAMxD;;OAEG;aACa,UAAU,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;aACnD,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;aAChE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;aACtB,OAAO,IAAI,OAAO;CACnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTransport.js","sourceRoot":"","sources":["../../../../src/JsExecutor/transport/base/BaseTransport.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,4CAAyC;AAEzC,4CAA+C;AAE/C;;GAEG;AACH,MAAsB,aAAc,SAAQ,0BAAY;IAMtD;QACE,KAAK,EAAE,CAAC;QANA,mBAAc,GAAoB,2BAAe,CAAC,YAAY,CAAC;QAGzD,WAAM,GAAG,eAAM,CAAC,WAAW,EAAE,CAAC;IAI9C,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,IAAY;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,SAAS,CAAI,OAA0B;QAC5C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,EAAE,CAAqC,KAAW,EAAE,OAA8B;QACvF,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,GAAG,CAAqC,KAAW,EAAE,OAA8B;QACxF,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACO,SAAS,CAAC,MAAuB;QACzC,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE;YAClC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAC3C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,cAAc,OAAO,MAAM,EAAE,CAAC,CAAC;YAC5E,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;SACnC;IACH,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,KAAY,EAAE,OAAgB;QAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;CASF;AA1ED,sCA0EC"}
1
+ {"version":3,"file":"BaseTransport.js","sourceRoot":"","sources":["../../../../src/JsExecutor/transport/base/BaseTransport.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,4CAAyC;AAEzC,4CAA+C;AAE/C;;GAEG;AACH,MAAsB,aAAc,SAAQ,0BAAY;IAMtD;QACE,KAAK,EAAE,CAAC;QANA,mBAAc,GAAoB,2BAAe,CAAC,YAAY,CAAC;QAGzD,WAAM,GAAG,eAAM,CAAC,WAAW,EAAE,CAAC;IAI9C,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,IAAY;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,SAAS,CAAI,OAA0B;QAC5C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,EAAE,CAAqC,KAAW,EAAE,OAA8B;QACvF,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,GAAG,CAAqC,KAAW,EAAE,OAA8B;QACxF,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACO,SAAS,CAAC,MAAuB;QACzC,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE;YAClC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAC3C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,cAAc,OAAO,MAAM,EAAE,CAAC,CAAC;YAC5E,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;SACnC;IACH,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,KAAY,EAAE,OAAgB;QAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;CASF;AA1ED,sCA0EC","sourcesContent":["import { EventEmitter } from 'node:events';\nimport { Logger } from '../../../logger';\nimport type { MessageHandler, Transport, TransportConfig, TransportEvents } from '../Transport';\nimport { TransportStatus } from '../Transport';\n\n/**\n * Base transport class providing common functionality for all transport implementations\n */\nexport abstract class BaseTransport extends EventEmitter implements Transport {\n protected internalStatus: TransportStatus = TransportStatus.disconnected;\n protected messageHandler?: MessageHandler;\n protected name?: string;\n public readonly logger = Logger.getInstance();\n\n public constructor() {\n super();\n }\n\n /**\n * Set a name for this transport (used in logging)\n */\n public setName(name: string): void {\n this.name = name;\n this.logger.setMetadata({ name, transport: this.constructor.name });\n }\n\n /**\n * Get current transport status\n */\n public get status(): TransportStatus {\n return this.internalStatus;\n }\n\n /**\n * Register a message handler for incoming messages\n */\n public onMessage<T>(handler: MessageHandler<T>): void {\n this.messageHandler = handler;\n }\n\n /**\n * Register an event listener\n */\n public on<TKey extends keyof TransportEvents>(event: TKey, handler: TransportEvents[TKey]): this {\n return super.on(event, handler);\n }\n\n /**\n * Remove an event listener\n */\n public off<TKey extends keyof TransportEvents>(event: TKey, handler: TransportEvents[TKey]): this {\n return super.off(event, handler);\n }\n\n /**\n * Set transport status and emit event\n */\n protected setStatus(status: TransportStatus): void {\n if (this.internalStatus !== status) {\n const previousStatus = this.internalStatus;\n this.internalStatus = status;\n this.logger.log(`Transport status changed: ${previousStatus} -> ${status}`);\n this.emit('statusChange', status);\n }\n }\n\n /**\n * Handle errors and emit error events\n */\n public handleError(error: Error, context?: string): void {\n const errorMessage = context ? `${context}: ${error.message}` : error.message;\n this.logger.error(errorMessage, error);\n this.emit('error', error);\n }\n\n /**\n * Abstract methods to be implemented by concrete transport classes\n */\n public abstract initialize(config?: TransportConfig): Promise<void>;\n public abstract send<TRequest, TResponse>(message: TRequest): Promise<TResponse>;\n public abstract close(): Promise<void>;\n public abstract isReady(): boolean;\n}\n"]}
@@ -10,3 +10,4 @@ export { ParentStdioTransport, ParentStdioTransport as StdioTransport, StdioClie
10
10
  export { TransportStatus } from './Transport';
11
11
  export type { MessageHandler, Transport, TransportConfig, TransportEvents } from './Transport';
12
12
  export { createErrorResponse, createSuccessResponse, isNotification, isRequest, isResponse, isValidJsonRpc, MessageBuffer, safeParse } from './utils/MessageUtils';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/JsExecutor/transport/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,IAAI,eAAe,EACtC,aAAa,EACb,cAAc,EACd,cAAc,IAAI,UAAU,EAC5B,eAAe,EACf,eAAe,IAAI,WAAW,EAC9B,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACd,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,IAAI,cAAc,EACtC,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE/F,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,UAAU,EACV,cAAc,EACd,aAAa,EACb,SAAS,EACV,MAAM,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/JsExecutor/transport/index.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAEtB,6BAA6B;AAC7B,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,8BAA8B;AAC9B,0CAAoD;AAA3C,yGAAA,gBAAgB,OAAA;AAyBzB,qBAAqB;AACrB,2DAA0D;AAAjD,gHAAA,cAAc,OAAA;AAEvB,mEAAkE;AAAzD,0HAAA,mBAAmB,OAAA;AAC5B,4BAA4B;AAC5B,qEAIsC;AAHpC,4HAAA,oBAAoB,OAAA;AACpB,sHAAA,oBAAoB,OAAkB;AACtC,4HAAA,oBAAoB,OAAA;AAEtB,sCAAsC;AACtC,yCAA8C;AAArC,4GAAA,eAAe,OAAA;AAExB,oBAAoB;AACpB,qDAS8B;AAR5B,mHAAA,mBAAmB,OAAA;AACnB,qHAAA,qBAAqB,OAAA;AACrB,8GAAA,cAAc,OAAA;AACd,yGAAA,SAAS,OAAA;AACT,0GAAA,UAAU,OAAA;AACV,8GAAA,cAAc,OAAA;AACd,6GAAA,aAAa,OAAA;AACb,yGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/JsExecutor/transport/index.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAEtB,6BAA6B;AAC7B,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,8BAA8B;AAC9B,0CAAoD;AAA3C,yGAAA,gBAAgB,OAAA;AAyBzB,qBAAqB;AACrB,2DAA0D;AAAjD,gHAAA,cAAc,OAAA;AAEvB,mEAAkE;AAAzD,0HAAA,mBAAmB,OAAA;AAC5B,4BAA4B;AAC5B,qEAIsC;AAHpC,4HAAA,oBAAoB,OAAA;AACpB,sHAAA,oBAAoB,OAAkB;AACtC,4HAAA,oBAAoB,OAAA;AAEtB,sCAAsC;AACtC,yCAA8C;AAArC,4GAAA,eAAe,OAAA;AAExB,oBAAoB;AACpB,qDAS8B;AAR5B,mHAAA,mBAAmB,OAAA;AACnB,qHAAA,qBAAqB,OAAA;AACrB,8GAAA,cAAc,OAAA;AACd,yGAAA,SAAS,OAAA;AACT,0GAAA,UAAU,OAAA;AACV,8GAAA,cAAc,OAAA;AACd,6GAAA,aAAa,OAAA;AACb,yGAAA,SAAS,OAAA","sourcesContent":["// Transport interfaces and types\nexport { JsonRpcClient } from '../jsonRpc/JsonRpcClient';\nexport type { ClientTransport } from '../jsonRpc/JsonRpcClient';\n// JSON-RPC server and client\nexport { JsonRpcServer } from '../jsonRpc/JsonRpcServer';\n// JSON-RPC types and protocol\nexport { STANDARD_METHODS } from '../jsonRpc/types';\nexport type {\n ExecuteCodeRequest,\n ExecuteCodeResponse,\n JsonRpcClientConfig,\n JsonRpcError,\n JsonRpcErrorResponse,\n JsonRpcId,\n JsonRpcMethodHandler,\n JsonRpcMethodRegistry,\n JsonRpcNotification,\n JsonRpcNotification as RpcNotification,\n JsonRpcParams,\n JsonRpcRequest,\n JsonRpcRequest as RpcRequest,\n JsonRpcResponse,\n JsonRpcResponse as RpcResponse,\n JsonRpcServerConfig,\n JsonRpcSuccessResponse,\n LogNotification,\n PendingRequest,\n StatusRequest,\n StatusResponse,\n ValidationResult\n} from '../jsonRpc/types';\n// Process management\nexport { ProcessManager } from './process/ProcessManager';\nexport type { ProcessConfig } from './process/ProcessManager';\nexport { ChildStdioTransport } from './stdio/ChildStdioTransport';\n// Transport implementations\nexport {\n ParentStdioTransport,\n ParentStdioTransport as StdioTransport,\n StdioClientTransport\n} from './stdio/ParentStdioTransport';\n// Transport core types and interfaces\nexport { TransportStatus } from './Transport';\nexport type { MessageHandler, Transport, TransportConfig, TransportEvents } from './Transport';\n// Utility functions\nexport {\n createErrorResponse,\n createSuccessResponse,\n isNotification,\n isRequest,\n isResponse,\n isValidJsonRpc,\n MessageBuffer,\n safeParse\n} from './utils/MessageUtils';\n\n"]}
@@ -93,3 +93,4 @@ export declare class ProcessManager extends EventEmitter {
93
93
  */
94
94
  private extractPermissionConfig;
95
95
  }
96
+ //# sourceMappingURL=ProcessManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcessManager.d.ts","sourceRoot":"","sources":["../../../../src/JsExecutor/transport/process/ProcessManager.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAKzC,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAC;AAGtE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IACnE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,SAAgB,MAAM,SAAwB;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAS;;IAMtB;;OAEG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACI,UAAU,IAAI,YAAY,GAAG,SAAS;IAI7C;;OAEG;IACI,SAAS,IAAI,OAAO;IAI3B;;OAEG;IACU,KAAK,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCxD;;OAEG;IACU,SAAS,CAAC,OAAO,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BrD;;OAEG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAOnC;;OAEG;IACI,SAAS,IAAI,MAAM,CAAC,cAAc,GAAG,SAAS;IAIrD;;OAEG;IACI,QAAQ,IAAI,MAAM,CAAC,cAAc,GAAG,SAAS;IAIpD;;OAEG;IACI,EAAE,CAAC,IAAI,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,IAAI;IAI1G;;OAEG;IACI,GAAG,CAAC,IAAI,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,IAAI;IAI3G;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;OAEG;YACW,YAAY;IAkC1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAwBjC;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAQhC"}