@things-factory/integration-base 7.0.0-alpha.8 → 7.0.0

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 (351) hide show
  1. package/dist-server/controllers/index.d.ts +1 -0
  2. package/dist-server/controllers/scenario-controller.d.ts +4 -0
  3. package/dist-server/controllers/scenario-controller.js +23 -7
  4. package/dist-server/controllers/scenario-controller.js.map +1 -1
  5. package/dist-server/engine/analyzer/analyze-integration.d.ts +5 -0
  6. package/dist-server/engine/analyzer/analyze-integration.js +1 -2
  7. package/dist-server/engine/analyzer/analyze-integration.js.map +1 -1
  8. package/dist-server/engine/connection-manager.d.ts +35 -0
  9. package/dist-server/engine/connection-manager.js +50 -13
  10. package/dist-server/engine/connection-manager.js.map +1 -1
  11. package/dist-server/engine/connector/echo-back-connector.d.ts +9 -0
  12. package/dist-server/engine/connector/echo-back-connector.js +1 -1
  13. package/dist-server/engine/connector/echo-back-connector.js.map +1 -1
  14. package/dist-server/engine/connector/echo-back-server.d.ts +8 -0
  15. package/dist-server/engine/connector/echo-back-server.js.map +1 -1
  16. package/dist-server/engine/connector/graphql-connector.d.ts +19 -0
  17. package/dist-server/engine/connector/graphql-connector.js +9 -9
  18. package/dist-server/engine/connector/graphql-connector.js.map +1 -1
  19. package/dist-server/engine/connector/http-connector.d.ts +25 -0
  20. package/dist-server/engine/connector/http-connector.js.map +1 -1
  21. package/dist-server/engine/connector/index.d.ts +12 -0
  22. package/dist-server/engine/connector/mqtt-connector.d.ts +14 -0
  23. package/dist-server/engine/connector/mqtt-connector.js +1 -1
  24. package/dist-server/engine/connector/mqtt-connector.js.map +1 -1
  25. package/dist-server/engine/connector/mssql-connector.d.ts +30 -0
  26. package/dist-server/engine/connector/mssql-connector.js +21 -5
  27. package/dist-server/engine/connector/mssql-connector.js.map +1 -1
  28. package/dist-server/engine/connector/mysql-connector.d.ts +13 -0
  29. package/dist-server/engine/connector/mysql-connector.js.map +1 -1
  30. package/dist-server/engine/connector/operato-connector.d.ts +27 -0
  31. package/dist-server/engine/connector/operato-connector.js +21 -24
  32. package/dist-server/engine/connector/operato-connector.js.map +1 -1
  33. package/dist-server/engine/connector/oracle-connector.d.ts +29 -0
  34. package/dist-server/engine/connector/oracle-connector.js +1 -1
  35. package/dist-server/engine/connector/oracle-connector.js.map +1 -1
  36. package/dist-server/engine/connector/postgresql-connector.d.ts +14 -0
  37. package/dist-server/engine/connector/postgresql-connector.js +2 -2
  38. package/dist-server/engine/connector/postgresql-connector.js.map +1 -1
  39. package/dist-server/engine/connector/proxy-connector.d.ts +15 -0
  40. package/dist-server/engine/connector/proxy-connector.js +44 -0
  41. package/dist-server/engine/connector/proxy-connector.js.map +1 -0
  42. package/dist-server/engine/connector/socket-server.d.ts +9 -0
  43. package/dist-server/engine/connector/socket-server.js +1 -1
  44. package/dist-server/engine/connector/socket-server.js.map +1 -1
  45. package/dist-server/engine/connector/sqlite-connector.d.ts +10 -0
  46. package/dist-server/engine/connector/sqlite-connector.js +2 -2
  47. package/dist-server/engine/connector/sqlite-connector.js.map +1 -1
  48. package/dist-server/engine/edge-client.d.ts +18 -0
  49. package/dist-server/engine/edge-client.js +37 -0
  50. package/dist-server/engine/edge-client.js.map +1 -0
  51. package/dist-server/engine/index.d.ts +8 -0
  52. package/dist-server/engine/index.js +1 -0
  53. package/dist-server/engine/index.js.map +1 -1
  54. package/dist-server/engine/pending-queue.d.ts +24 -0
  55. package/dist-server/engine/pending-queue.js.map +1 -1
  56. package/dist-server/engine/scenario-engine.d.ts +11 -0
  57. package/dist-server/engine/scenario-engine.js.map +1 -1
  58. package/dist-server/engine/task/book-up-scenario.d.ts +1 -0
  59. package/dist-server/engine/task/csv-readline.d.ts +1 -0
  60. package/dist-server/engine/task/csv-readline.js.map +1 -1
  61. package/dist-server/engine/task/data-accessor.d.ts +1 -0
  62. package/dist-server/engine/task/data-mapper.d.ts +1 -0
  63. package/dist-server/engine/task/data-mapper.js.map +1 -1
  64. package/dist-server/engine/task/database-query.d.ts +1 -0
  65. package/dist-server/engine/task/database-query.js +21 -12
  66. package/dist-server/engine/task/database-query.js.map +1 -1
  67. package/dist-server/engine/task/echo-receive.d.ts +1 -0
  68. package/dist-server/engine/task/echo-send.d.ts +1 -0
  69. package/dist-server/engine/task/echo-send.js.map +1 -1
  70. package/dist-server/engine/task/empty-check.d.ts +1 -0
  71. package/dist-server/engine/task/empty-check.js.map +1 -1
  72. package/dist-server/engine/task/end.d.ts +1 -0
  73. package/dist-server/engine/task/floating-point.d.ts +1 -0
  74. package/dist-server/engine/task/floating-point.js.map +1 -1
  75. package/dist-server/engine/task/goto.d.ts +1 -0
  76. package/dist-server/engine/task/graphql-mutate.d.ts +1 -0
  77. package/dist-server/engine/task/graphql-mutate.js +23 -12
  78. package/dist-server/engine/task/graphql-mutate.js.map +1 -1
  79. package/dist-server/engine/task/graphql-query.d.ts +1 -0
  80. package/dist-server/engine/task/graphql-query.js +23 -12
  81. package/dist-server/engine/task/graphql-query.js.map +1 -1
  82. package/dist-server/engine/task/headless-post.d.ts +1 -0
  83. package/dist-server/engine/task/headless-post.js.map +1 -1
  84. package/dist-server/engine/task/headless-scrap.d.ts +1 -0
  85. package/dist-server/engine/task/headless-scrap.js.map +1 -1
  86. package/dist-server/engine/task/http-get.d.ts +1 -0
  87. package/dist-server/engine/task/http-get.js +28 -12
  88. package/dist-server/engine/task/http-get.js.map +1 -1
  89. package/dist-server/engine/task/http-post.d.ts +1 -0
  90. package/dist-server/engine/task/http-post.js +22 -11
  91. package/dist-server/engine/task/http-post.js.map +1 -1
  92. package/dist-server/engine/task/index.d.ts +43 -0
  93. package/dist-server/engine/task/jsonata.d.ts +1 -0
  94. package/dist-server/engine/task/jsonata.js +5 -1
  95. package/dist-server/engine/task/jsonata.js.map +1 -1
  96. package/dist-server/engine/task/local-graphql-mutate.d.ts +1 -0
  97. package/dist-server/engine/task/local-graphql-mutate.js +23 -11
  98. package/dist-server/engine/task/local-graphql-mutate.js.map +1 -1
  99. package/dist-server/engine/task/local-graphql-query.d.ts +1 -0
  100. package/dist-server/engine/task/local-graphql-query.js +23 -11
  101. package/dist-server/engine/task/local-graphql-query.js.map +1 -1
  102. package/dist-server/engine/task/log.d.ts +1 -0
  103. package/dist-server/engine/task/log.js +15 -11
  104. package/dist-server/engine/task/log.js.map +1 -1
  105. package/dist-server/engine/task/mqtt-publish.d.ts +1 -0
  106. package/dist-server/engine/task/mqtt-publish.js.map +1 -1
  107. package/dist-server/engine/task/mqtt-subscribe.d.ts +1 -0
  108. package/dist-server/engine/task/mqtt-subscribe.js.map +1 -1
  109. package/dist-server/engine/task/oracle-procedure.d.ts +1 -0
  110. package/dist-server/engine/task/oracle-procedure.js +19 -13
  111. package/dist-server/engine/task/oracle-procedure.js.map +1 -1
  112. package/dist-server/engine/task/pick-pending-scenario.d.ts +1 -0
  113. package/dist-server/engine/task/pick-pending-scenario.js.map +1 -1
  114. package/dist-server/engine/task/publish.d.ts +1 -0
  115. package/dist-server/engine/task/publish.js.map +1 -1
  116. package/dist-server/engine/task/random.d.ts +1 -0
  117. package/dist-server/engine/task/reset-pending-queue.d.ts +1 -0
  118. package/dist-server/engine/task/script.d.ts +1 -0
  119. package/dist-server/engine/task/script.js +35 -18
  120. package/dist-server/engine/task/script.js.map +1 -1
  121. package/dist-server/engine/task/set-domain.d.ts +1 -0
  122. package/dist-server/engine/task/set-domain.js.map +1 -1
  123. package/dist-server/engine/task/sleep.d.ts +1 -0
  124. package/dist-server/engine/task/sleep.js.map +1 -1
  125. package/dist-server/engine/task/socket-listener.d.ts +1 -0
  126. package/dist-server/engine/task/socket-listener.js.map +1 -1
  127. package/dist-server/engine/task/state-read.d.ts +1 -0
  128. package/dist-server/engine/task/state-read.js.map +1 -1
  129. package/dist-server/engine/task/state-write.d.ts +1 -0
  130. package/dist-server/engine/task/state-write.js.map +1 -1
  131. package/dist-server/engine/task/stop-scenario.d.ts +1 -0
  132. package/dist-server/engine/task/sub-scenario.d.ts +1 -0
  133. package/dist-server/engine/task/switch-goto.d.ts +1 -0
  134. package/dist-server/engine/task/switch-range-goto.d.ts +1 -0
  135. package/dist-server/engine/task/switch-range-goto.js.map +1 -1
  136. package/dist-server/engine/task/switch-range-scenario.d.ts +1 -0
  137. package/dist-server/engine/task/switch-range-scenario.js.map +1 -1
  138. package/dist-server/engine/task/switch-range-set.d.ts +1 -0
  139. package/dist-server/engine/task/switch-range-set.js.map +1 -1
  140. package/dist-server/engine/task/switch-scenario.d.ts +1 -0
  141. package/dist-server/engine/task/switch-set.d.ts +1 -0
  142. package/dist-server/engine/task/throw.d.ts +1 -0
  143. package/dist-server/engine/task/utils/headless-pool-for-scenario.d.ts +1 -0
  144. package/dist-server/engine/task/utils/headless-pool-for-scenario.js +1 -2
  145. package/dist-server/engine/task/utils/headless-pool-for-scenario.js.map +1 -1
  146. package/dist-server/engine/task/utils/substitute.d.ts +1 -0
  147. package/dist-server/engine/task/utils/substitute.js +1 -2
  148. package/dist-server/engine/task/utils/substitute.js.map +1 -1
  149. package/dist-server/engine/task/variables.d.ts +1 -0
  150. package/dist-server/engine/task-registry.d.ts +12 -0
  151. package/dist-server/engine/types.d.ts +94 -0
  152. package/dist-server/engine/types.js.map +1 -1
  153. package/dist-server/index.d.ts +6 -0
  154. package/dist-server/index.js +1 -2
  155. package/dist-server/index.js.map +1 -1
  156. package/dist-server/migrations/index.d.ts +1 -0
  157. package/dist-server/restful/index.d.ts +1 -0
  158. package/dist-server/restful/unstable/index.d.ts +7 -0
  159. package/dist-server/restful/unstable/run-scenario.d.ts +1 -0
  160. package/dist-server/restful/unstable/run-scenario.js +0 -1
  161. package/dist-server/restful/unstable/run-scenario.js.map +1 -1
  162. package/dist-server/restful/unstable/scenario-instance.d.ts +1 -0
  163. package/dist-server/restful/unstable/scenario-instances.d.ts +1 -0
  164. package/dist-server/restful/unstable/scenario.d.ts +1 -0
  165. package/dist-server/restful/unstable/scenarios.d.ts +1 -0
  166. package/dist-server/restful/unstable/start-scenario.d.ts +1 -0
  167. package/dist-server/restful/unstable/stop-scenario.d.ts +1 -0
  168. package/dist-server/routers/scenario-schedule-callback-router.d.ts +1 -0
  169. package/dist-server/routers/scenario-schedule-callback-router.js +2 -3
  170. package/dist-server/routers/scenario-schedule-callback-router.js.map +1 -1
  171. package/dist-server/routers/scenario-view-router.d.ts +1 -0
  172. package/dist-server/routers/scenario-view-router.js.map +1 -1
  173. package/dist-server/routes.d.ts +1 -0
  174. package/dist-server/routes.js.map +1 -1
  175. package/dist-server/service/analysis/analysis-query.d.ts +3 -0
  176. package/dist-server/service/analysis/analysis-query.js +2 -2
  177. package/dist-server/service/analysis/analysis-query.js.map +1 -1
  178. package/dist-server/service/analysis/index.d.ts +2 -0
  179. package/dist-server/service/connection/connection-mutation.d.ts +30 -0
  180. package/dist-server/service/connection/connection-mutation.js +6 -10
  181. package/dist-server/service/connection/connection-mutation.js.map +1 -1
  182. package/dist-server/service/connection/connection-query.d.ts +12 -0
  183. package/dist-server/service/connection/connection-query.js +18 -11
  184. package/dist-server/service/connection/connection-query.js.map +1 -1
  185. package/dist-server/service/connection/connection-subscription.d.ts +10 -0
  186. package/dist-server/service/connection/connection-subscription.js +3 -3
  187. package/dist-server/service/connection/connection-subscription.js.map +1 -1
  188. package/dist-server/service/connection/connection-type.d.ts +133 -0
  189. package/dist-server/service/connection/connection-type.js +45 -21
  190. package/dist-server/service/connection/connection-type.js.map +1 -1
  191. package/dist-server/service/connection/index.d.ts +6 -0
  192. package/dist-server/service/connector/connector-query.d.ts +6 -0
  193. package/dist-server/service/connector/connector-query.js +2 -2
  194. package/dist-server/service/connector/connector-query.js.map +1 -1
  195. package/dist-server/service/connector/connector-type.d.ts +12 -0
  196. package/dist-server/service/connector/connector-type.js +4 -4
  197. package/dist-server/service/connector/connector-type.js.map +1 -1
  198. package/dist-server/service/connector/index.d.ts +3 -0
  199. package/dist-server/service/index.d.ts +17 -0
  200. package/dist-server/service/payload-log/index.d.ts +5 -0
  201. package/dist-server/service/payload-log/payload-log-mutation.d.ts +10 -0
  202. package/dist-server/service/payload-log/payload-log-mutation.js +5 -5
  203. package/dist-server/service/payload-log/payload-log-mutation.js.map +1 -1
  204. package/dist-server/service/payload-log/payload-log-query.d.ts +11 -0
  205. package/dist-server/service/payload-log/payload-log-query.js +3 -3
  206. package/dist-server/service/payload-log/payload-log-query.js.map +1 -1
  207. package/dist-server/service/payload-log/payload-log-type.d.ts +15 -0
  208. package/dist-server/service/payload-log/payload-log-type.js +6 -6
  209. package/dist-server/service/payload-log/payload-log-type.js.map +1 -1
  210. package/dist-server/service/payload-log/payload-log.d.ts +23 -0
  211. package/dist-server/service/payload-log/payload-log.js +6 -6
  212. package/dist-server/service/payload-log/payload-log.js.map +1 -1
  213. package/dist-server/service/property-spec.d.ts +12 -0
  214. package/dist-server/service/property-spec.js +6 -2
  215. package/dist-server/service/property-spec.js.map +1 -1
  216. package/dist-server/service/scenario/index.d.ts +5 -0
  217. package/dist-server/service/scenario/scenario-mutation.d.ts +13 -0
  218. package/dist-server/service/scenario/scenario-mutation.js +3 -3
  219. package/dist-server/service/scenario/scenario-mutation.js.map +1 -1
  220. package/dist-server/service/scenario/scenario-query.d.ts +18 -0
  221. package/dist-server/service/scenario/scenario-query.js +3 -3
  222. package/dist-server/service/scenario/scenario-query.js.map +1 -1
  223. package/dist-server/service/scenario/scenario-type.d.ts +30 -0
  224. package/dist-server/service/scenario/scenario-type.js +14 -6
  225. package/dist-server/service/scenario/scenario-type.js.map +1 -1
  226. package/dist-server/service/scenario/scenario.d.ts +36 -0
  227. package/dist-server/service/scenario/scenario.js +18 -9
  228. package/dist-server/service/scenario/scenario.js.map +1 -1
  229. package/dist-server/service/scenario-flow/scenario-flow.d.ts +6 -0
  230. package/dist-server/service/scenario-flow/scenario-flow.js +2 -2
  231. package/dist-server/service/scenario-flow/scenario-flow.js.map +1 -1
  232. package/dist-server/service/scenario-instance/index.d.ts +5 -0
  233. package/dist-server/service/scenario-instance/scenario-instance-mutation.d.ts +6 -0
  234. package/dist-server/service/scenario-instance/scenario-instance-mutation.js +3 -3
  235. package/dist-server/service/scenario-instance/scenario-instance-mutation.js.map +1 -1
  236. package/dist-server/service/scenario-instance/scenario-instance-query.d.ts +6 -0
  237. package/dist-server/service/scenario-instance/scenario-instance-query.js +3 -67
  238. package/dist-server/service/scenario-instance/scenario-instance-query.js.map +1 -1
  239. package/dist-server/service/scenario-instance/scenario-instance-subscription.d.ts +10 -0
  240. package/dist-server/service/scenario-instance/scenario-instance-subscription.js +2 -2
  241. package/dist-server/service/scenario-instance/scenario-instance-subscription.js.map +1 -1
  242. package/dist-server/service/scenario-instance/scenario-instance-type.d.ts +102 -0
  243. package/dist-server/service/scenario-instance/scenario-instance-type.js +127 -33
  244. package/dist-server/service/scenario-instance/scenario-instance-type.js.map +1 -1
  245. package/dist-server/service/scenario-queue/index.d.ts +3 -0
  246. package/dist-server/service/scenario-queue/scenario-queue-subscription.d.ts +6 -0
  247. package/dist-server/service/scenario-queue/scenario-queue-subscription.js +2 -2
  248. package/dist-server/service/scenario-queue/scenario-queue-subscription.js.map +1 -1
  249. package/dist-server/service/scenario-queue/scenario-queue-type.d.ts +11 -0
  250. package/dist-server/service/scenario-queue/scenario-queue-type.js +4 -4
  251. package/dist-server/service/scenario-queue/scenario-queue-type.js.map +1 -1
  252. package/dist-server/service/state-register/index.d.ts +6 -0
  253. package/dist-server/service/state-register/state-register-mutation.d.ts +11 -0
  254. package/dist-server/service/state-register/state-register-mutation.js +2 -2
  255. package/dist-server/service/state-register/state-register-mutation.js.map +1 -1
  256. package/dist-server/service/state-register/state-register-query.d.ts +14 -0
  257. package/dist-server/service/state-register/state-register-query.js +3 -3
  258. package/dist-server/service/state-register/state-register-query.js.map +1 -1
  259. package/dist-server/service/state-register/state-register-type.d.ts +23 -0
  260. package/dist-server/service/state-register/state-register-type.js +6 -6
  261. package/dist-server/service/state-register/state-register-type.js.map +1 -1
  262. package/dist-server/service/state-register/state-register.d.ts +22 -0
  263. package/dist-server/service/state-register/state-register.js +3 -3
  264. package/dist-server/service/state-register/state-register.js.map +1 -1
  265. package/dist-server/service/step/index.d.ts +5 -0
  266. package/dist-server/service/step/step-mutation.d.ts +5 -0
  267. package/dist-server/service/step/step-mutation.js +2 -2
  268. package/dist-server/service/step/step-mutation.js.map +1 -1
  269. package/dist-server/service/step/step-query.d.ts +12 -0
  270. package/dist-server/service/step/step-query.js +3 -3
  271. package/dist-server/service/step/step-query.js.map +1 -1
  272. package/dist-server/service/step/step-type.d.ts +111 -0
  273. package/dist-server/service/step/step-type.js +25 -22
  274. package/dist-server/service/step/step-type.js.map +1 -1
  275. package/dist-server/service/task-type/index.d.ts +3 -0
  276. package/dist-server/service/task-type/task-type-query.d.ts +6 -0
  277. package/dist-server/service/task-type/task-type-query.js +2 -2
  278. package/dist-server/service/task-type/task-type-query.js.map +1 -1
  279. package/dist-server/service/task-type/task-type-type.d.ts +12 -0
  280. package/dist-server/service/task-type/task-type-type.js +4 -4
  281. package/dist-server/service/task-type/task-type-type.js.map +1 -1
  282. package/dist-server/tsconfig.tsbuildinfo +1 -1
  283. package/helps/integration/concept/script-internal-variables.ja.md +21 -1
  284. package/helps/integration/concept/script-internal-variables.ko.md +17 -0
  285. package/helps/integration/concept/script-internal-variables.md +18 -0
  286. package/helps/integration/concept/script-internal-variables.ms.md +19 -1
  287. package/helps/integration/concept/script-internal-variables.zh.md +18 -0
  288. package/helps/integration/connector/mssql-connector.ja.md +13 -9
  289. package/helps/integration/connector/mssql-connector.ko.md +13 -9
  290. package/helps/integration/connector/mssql-connector.md +13 -9
  291. package/helps/integration/connector/mssql-connector.ms.md +13 -9
  292. package/helps/integration/connector/mssql-connector.zh.md +13 -9
  293. package/helps/integration/connector/operato-connector.ja.md +0 -3
  294. package/helps/integration/task/script.ja.md +1 -1
  295. package/helps/integration/task/script.ko.md +1 -1
  296. package/helps/integration/task/script.md +1 -1
  297. package/helps/integration/task/script.ms.md +1 -1
  298. package/helps/integration/task/script.zh.md +1 -1
  299. package/package.json +12 -11
  300. package/server/controllers/scenario-controller.ts +60 -11
  301. package/server/engine/connection-manager.ts +63 -14
  302. package/server/engine/connector/echo-back-connector.ts +2 -1
  303. package/server/engine/connector/graphql-connector.ts +12 -9
  304. package/server/engine/connector/mqtt-connector.ts +2 -1
  305. package/server/engine/connector/mssql-connector.ts +21 -5
  306. package/server/engine/connector/operato-connector.ts +22 -26
  307. package/server/engine/connector/oracle-connector.ts +5 -8
  308. package/server/engine/connector/postgresql-connector.ts +3 -2
  309. package/server/engine/connector/proxy-connector.ts +53 -0
  310. package/server/engine/connector/socket-server.ts +1 -1
  311. package/server/engine/connector/sqlite-connector.ts +2 -5
  312. package/server/engine/edge-client.ts +45 -0
  313. package/server/engine/index.ts +2 -1
  314. package/server/engine/task/database-query.ts +21 -12
  315. package/server/engine/task/graphql-mutate.ts +23 -13
  316. package/server/engine/task/graphql-query.ts +22 -13
  317. package/server/engine/task/http-get.ts +26 -12
  318. package/server/engine/task/http-post.ts +22 -11
  319. package/server/engine/task/jsonata.ts +5 -1
  320. package/server/engine/task/local-graphql-mutate.ts +23 -13
  321. package/server/engine/task/local-graphql-query.ts +23 -11
  322. package/server/engine/task/log.ts +14 -11
  323. package/server/engine/task/oracle-procedure.ts +24 -18
  324. package/server/engine/task/script.ts +33 -18
  325. package/server/engine/types.ts +47 -48
  326. package/server/index.ts +1 -2
  327. package/server/restful/unstable/run-scenario.ts +0 -1
  328. package/server/routers/scenario-schedule-callback-router.ts +2 -2
  329. package/server/service/connection/connection-mutation.ts +9 -29
  330. package/server/service/connection/connection-query.ts +17 -7
  331. package/server/service/connection/connection-subscription.ts +1 -1
  332. package/server/service/connection/connection-type.ts +53 -32
  333. package/server/service/payload-log/payload-log-mutation.ts +1 -1
  334. package/server/service/payload-log/payload-log-query.ts +4 -1
  335. package/server/service/payload-log/payload-log.ts +5 -5
  336. package/server/service/property-spec.ts +3 -0
  337. package/server/service/scenario/scenario-query.ts +1 -1
  338. package/server/service/scenario/scenario-type.ts +6 -0
  339. package/server/service/scenario/scenario.ts +26 -7
  340. package/server/service/scenario-instance/scenario-instance-mutation.ts +7 -4
  341. package/server/service/scenario-instance/scenario-instance-query.ts +4 -30
  342. package/server/service/scenario-instance/scenario-instance-type.ts +105 -19
  343. package/server/service/state-register/state-register-query.ts +4 -1
  344. package/server/service/state-register/state-register.ts +1 -1
  345. package/server/service/step/step-query.ts +1 -1
  346. package/server/service/step/step-type.ts +81 -79
  347. package/translations/en.json +4 -1
  348. package/translations/ja.json +4 -1
  349. package/translations/ko.json +4 -1
  350. package/translations/ms.json +4 -1
  351. package/translations/zh.json +4 -1
@@ -1,8 +1,8 @@
1
- import { VM } from 'vm2'
2
1
  import { ConnectionManager } from '../connection-manager'
3
2
  import { TaskRegistry } from '../task-registry'
4
3
  import { InputStep } from '../../service/step/step-type'
5
4
  import { Context } from '../types'
5
+ import 'ses'
6
6
 
7
7
  async function DatabaseQuery(step: InputStep, context: Context) {
8
8
  var { domain, user, data, variables, lng } = context
@@ -13,18 +13,23 @@ async function DatabaseQuery(step: InputStep, context: Context) {
13
13
 
14
14
  var dbconnection = ConnectionManager.getConnectionInstanceByName(domain, connectionName)
15
15
 
16
- const vm = new VM({
17
- sandbox: {
18
- domain,
19
- user,
20
- lng,
21
- data,
22
- variables
23
- }
16
+ const compartment = new Compartment({
17
+ domain,
18
+ user,
19
+ lng,
20
+ data,
21
+ variables,
22
+ console
24
23
  })
25
24
 
26
- query = vm.run('`' + query + '`')
27
- var queryResult = await dbconnection.query(query, [])
25
+ let evalQuery
26
+ try {
27
+ evalQuery = compartment.evaluate('`' + query + '`')
28
+ } catch (err) {
29
+ throw new Error(`Failed to evaluate query: ${err.message}`)
30
+ }
31
+
32
+ var queryResult = await dbconnection.query(evalQuery, [])
28
33
 
29
34
  return {
30
35
  data: queryResult
@@ -37,7 +42,11 @@ DatabaseQuery.parameterSpec = [
37
42
  name: 'query',
38
43
  label: 'query',
39
44
  property: {
40
- language: 'sql'
45
+ language: 'sql',
46
+ showLineNumbers: true
47
+ },
48
+ styles: {
49
+ flex: '1'
41
50
  }
42
51
  }
43
52
  ]
@@ -1,8 +1,7 @@
1
1
  import gql from 'graphql-tag'
2
- import { VM } from 'vm2'
2
+ import 'ses'
3
3
 
4
4
  import { access } from '@things-factory/utils'
5
-
6
5
  import { ConnectionManager } from '../connection-manager'
7
6
  import { TaskRegistry } from '../task-registry'
8
7
  import { InputStep } from '../../service/step/step-type'
@@ -14,17 +13,21 @@ async function GraphqlMutate(step: InputStep, context: Context) {
14
13
 
15
14
  var { domain, user, data, variables, lng } = context
16
15
 
17
- const vm = new VM({
18
- sandbox: {
19
- domain,
20
- user,
21
- lng,
22
- data,
23
- variables
24
- }
16
+ const compartment = new Compartment({
17
+ domain,
18
+ user,
19
+ lng,
20
+ data,
21
+ variables,
22
+ console
25
23
  })
26
24
 
27
- mutation = vm.run('`' + mutation + '`')
25
+ let evalMutation
26
+ try {
27
+ evalMutation = compartment.evaluate('`' + mutation + '`')
28
+ } catch (err) {
29
+ throw new Error(`Failed to evaluate mutation: ${err.message}`)
30
+ }
28
31
 
29
32
  var client = ConnectionManager.getConnectionInstanceByName(context.domain, connectionName)
30
33
 
@@ -36,7 +39,7 @@ async function GraphqlMutate(step: InputStep, context: Context) {
36
39
 
37
40
  var { data: mutateResult } = await client.mutate({
38
41
  mutation: gql`
39
- ${mutation}
42
+ ${evalMutation}
40
43
  `,
41
44
  variables: queryVariables,
42
45
  headers
@@ -51,7 +54,13 @@ GraphqlMutate.parameterSpec = [
51
54
  {
52
55
  type: 'graphql',
53
56
  name: 'mutation',
54
- label: 'mutation'
57
+ label: 'mutation',
58
+ property: {
59
+ showLineNumbers: true
60
+ },
61
+ styles: {
62
+ flex: 1
63
+ }
55
64
  },
56
65
  {
57
66
  type: 'key-values',
@@ -64,6 +73,7 @@ GraphqlMutate.parameterSpec = [
64
73
  label: 'headers'
65
74
  }
66
75
  ]
76
+
67
77
  GraphqlMutate.help = 'integration/task/graphql-mutate'
68
78
 
69
79
  TaskRegistry.registerTaskHandler('graphql-mutate', GraphqlMutate)
@@ -1,8 +1,7 @@
1
1
  import gql from 'graphql-tag'
2
- import { VM } from 'vm2'
2
+ import 'ses'
3
3
 
4
4
  import { access } from '@things-factory/utils'
5
-
6
5
  import { ConnectionManager } from '../connection-manager'
7
6
  import { TaskRegistry } from '../task-registry'
8
7
  import { InputStep } from '../../service/step/step-type'
@@ -13,17 +12,21 @@ async function GraphqlQuery(step: InputStep, context: Context) {
13
12
  var { query, variables: variablesAccessorMap, headers } = stepOptions || {}
14
13
  var { domain, user, data, variables, lng } = context
15
14
 
16
- const vm = new VM({
17
- sandbox: {
18
- domain,
19
- user,
20
- lng,
21
- data,
22
- variables
23
- }
15
+ const compartment = new Compartment({
16
+ domain,
17
+ user,
18
+ lng,
19
+ data,
20
+ variables,
21
+ console
24
22
  })
25
23
 
26
- query = vm.run('`' + query + '`')
24
+ let evalQuery
25
+ try {
26
+ evalQuery = compartment.evaluate('`' + query + '`')
27
+ } catch (err) {
28
+ throw new Error(`Failed to evaluate query: ${err.message}`)
29
+ }
27
30
 
28
31
  var client = ConnectionManager.getConnectionInstanceByName(domain, connectionName)
29
32
 
@@ -35,7 +38,7 @@ async function GraphqlQuery(step: InputStep, context: Context) {
35
38
 
36
39
  var { data: queryResult } = await client.query({
37
40
  query: gql`
38
- ${query}
41
+ ${evalQuery}
39
42
  `,
40
43
  variables: queryVariables,
41
44
  headers
@@ -50,7 +53,13 @@ GraphqlQuery.parameterSpec = [
50
53
  {
51
54
  type: 'graphql',
52
55
  name: 'query',
53
- label: 'query'
56
+ label: 'query',
57
+ property: {
58
+ showLineNumbers: true
59
+ },
60
+ styles: {
61
+ flex: 1
62
+ }
54
63
  },
55
64
  {
56
65
  type: 'key-values',
@@ -1,5 +1,5 @@
1
1
  import fetch from 'node-fetch'
2
- import { VM } from 'vm2'
2
+ import 'ses'
3
3
  import { URL } from 'url'
4
4
  import https from 'https'
5
5
  import { TaskRegistry } from '../task-registry'
@@ -19,29 +19,43 @@ async function HttpGet(step: InputStep, { logger, data, domain, user, variables,
19
19
 
20
20
  var { endpoint, params: connectionParams, authHeaders = {} } = connection
21
21
 
22
- const vm = new VM({
23
- sandbox: {
24
- domain,
25
- user,
26
- lng,
27
- data,
28
- variables
29
- }
22
+ const compartment = new Compartment({
23
+ domain,
24
+ user,
25
+ lng,
26
+ data,
27
+ variables,
28
+ console
30
29
  })
31
30
 
32
- path = vm.run('`' + path + '`')
31
+ let evalPath
32
+ try {
33
+ evalPath = compartment.evaluate('`' + path + '`')
34
+ } catch (err) {
35
+ throw new Error(`Failed to evaluate path: ${err.message}`)
36
+ }
37
+
38
+ path = evalPath
33
39
 
34
40
  requestHeaders =
35
41
  requestHeaders &&
36
42
  Object.entries(requestHeaders as { [key: string]: string }).reduce((sum, [key, value]) => {
37
- sum[key] = vm.run('`' + value + '`')
43
+ try {
44
+ sum[key] = compartment.evaluate('`' + value + '`')
45
+ } catch (err) {
46
+ throw new Error(`Failed to evaluate header value: ${err.message}`)
47
+ }
38
48
  return sum
39
49
  }, {})
40
50
 
41
51
  searchParams =
42
52
  searchParams &&
43
53
  Object.entries(searchParams as { [key: string]: string }).reduce((sum, [key, value]) => {
44
- sum[key] = vm.run('`' + value + '`')
54
+ try {
55
+ sum[key] = compartment.evaluate('`' + value + '`')
56
+ } catch (err) {
57
+ throw new Error(`Failed to evaluate search param value: ${err.message}`)
58
+ }
45
59
  return sum
46
60
  }, {})
47
61
 
@@ -1,6 +1,6 @@
1
1
  import fetch from 'node-fetch'
2
2
  import { URL } from 'url'
3
- import { VM } from 'vm2'
3
+ import 'ses'
4
4
  import { access } from '@things-factory/utils'
5
5
  import { TaskRegistry } from '../task-registry'
6
6
  import { ConnectionManager } from '../connection-manager'
@@ -20,21 +20,32 @@ async function HttpPost(step: InputStep, { logger, data, domain, user, variables
20
20
 
21
21
  var { endpoint, params: connectionParams, authHeaders = {} } = connection
22
22
 
23
- const vm = new VM({
24
- sandbox: {
25
- domain,
26
- user,
27
- lng,
28
- data,
29
- variables
30
- }
23
+ const compartment = new Compartment({
24
+ domain,
25
+ user,
26
+ lng,
27
+ data,
28
+ variables,
29
+ console
31
30
  })
32
31
 
33
- path = vm.run('`' + path + '`')
32
+ let evalPath
33
+ try {
34
+ evalPath = compartment.evaluate('`' + path + '`')
35
+ } catch (err) {
36
+ throw new Error(`Failed to evaluate path: ${err.message}`)
37
+ }
38
+
39
+ path = evalPath
40
+
34
41
  requestHeaders =
35
42
  requestHeaders &&
36
43
  Object.entries(requestHeaders as { [key: string]: string }).reduce((sum, [key, value]) => {
37
- sum[key] = vm.run('`' + value + '`')
44
+ try {
45
+ sum[key] = compartment.evaluate('`' + value + '`')
46
+ } catch (err) {
47
+ throw new Error(`Failed to evaluate header value: ${err.message}`)
48
+ }
38
49
  return sum
39
50
  }, {})
40
51
 
@@ -30,7 +30,11 @@ JSonata.parameterSpec = [
30
30
  name: 'expression',
31
31
  label: 'jsonata-expression',
32
32
  property: {
33
- language: 'javascript'
33
+ language: 'javascript',
34
+ showLineNumbers: true
35
+ },
36
+ styles: {
37
+ flex: '1'
34
38
  }
35
39
  }
36
40
  ]
@@ -1,5 +1,5 @@
1
1
  import gql from 'graphql-tag'
2
- import { VM } from 'vm2'
2
+ import 'ses'
3
3
 
4
4
  import { User } from '@things-factory/auth-base'
5
5
  import { getRepository } from '@things-factory/shell'
@@ -9,8 +9,6 @@ import { TaskRegistry } from '../task-registry'
9
9
  import { InputStep } from '../../service/step/step-type'
10
10
  import { Context } from '../types'
11
11
 
12
-
13
-
14
12
  async function LocalGraphqlMutate(step: InputStep, context: Context) {
15
13
  var { params, updaterId } = step
16
14
  var { mutation, variables: variablesAccessorMap, headers } = params || {}
@@ -23,17 +21,23 @@ async function LocalGraphqlMutate(step: InputStep, context: Context) {
23
21
  relations: ['domains']
24
22
  }))
25
23
 
26
- const vm = new VM({
27
- sandbox: {
28
- domain,
29
- user,
30
- lng,
31
- data,
32
- variables
33
- }
24
+ const compartment = new Compartment({
25
+ domain,
26
+ user,
27
+ lng,
28
+ data,
29
+ variables,
30
+ console
34
31
  })
35
32
 
36
- mutation = vm.run('`' + mutation + '`')
33
+ let evalMutation
34
+ try {
35
+ evalMutation = compartment.evaluate('`' + mutation + '`')
36
+ } catch (err) {
37
+ throw new Error(`Failed to evaluate mutation: ${err.message}`)
38
+ }
39
+
40
+ mutation = evalMutation
37
41
 
38
42
  const queryVariables = Object.keys(variablesAccessorMap || {}).reduce((variables, key) => {
39
43
  const accessor = variablesAccessorMap[key]
@@ -70,7 +74,13 @@ LocalGraphqlMutate.parameterSpec = [
70
74
  {
71
75
  type: 'graphql',
72
76
  name: 'mutation',
73
- label: 'mutation'
77
+ label: 'mutation',
78
+ property: {
79
+ showLineNumbers: true
80
+ },
81
+ styles: {
82
+ flex: 1
83
+ }
74
84
  },
75
85
  {
76
86
  type: 'key-values',
@@ -1,5 +1,5 @@
1
1
  import gql from 'graphql-tag'
2
- import { VM } from 'vm2'
2
+ import 'ses'
3
3
 
4
4
  import { User } from '@things-factory/auth-base'
5
5
  import { getRepository } from '@things-factory/shell'
@@ -21,17 +21,23 @@ async function LocalGraphqlQuery(step: InputStep, context: Context) {
21
21
  relations: ['domains']
22
22
  }))
23
23
 
24
- const vm = new VM({
25
- sandbox: {
26
- domain,
27
- user,
28
- lng,
29
- data,
30
- variables
31
- }
24
+ const compartment = new Compartment({
25
+ domain,
26
+ user,
27
+ lng,
28
+ data,
29
+ variables,
30
+ console
32
31
  })
33
32
 
34
- query = vm.run('`' + query + '`')
33
+ let evalQuery
34
+ try {
35
+ evalQuery = compartment.evaluate('`' + query + '`')
36
+ } catch (err) {
37
+ throw new Error(`Failed to evaluate query: ${err.message}`)
38
+ }
39
+
40
+ query = evalQuery
35
41
 
36
42
  const queryVariables = Object.keys(variablesAccessorMap || {}).reduce((variables, key) => {
37
43
  const accessor = variablesAccessorMap[key]
@@ -68,7 +74,13 @@ LocalGraphqlQuery.parameterSpec = [
68
74
  {
69
75
  type: 'graphql',
70
76
  name: 'query',
71
- label: 'query'
77
+ label: 'query',
78
+ property: {
79
+ showLineNumbers: true
80
+ },
81
+ styles: {
82
+ flex: 1
83
+ }
72
84
  },
73
85
  {
74
86
  type: 'key-values',
@@ -1,5 +1,5 @@
1
1
  import { access, hasTemplateExpression } from '@things-factory/utils'
2
- import { VM } from 'vm2'
2
+ import 'ses'
3
3
  import { TaskRegistry } from '../task-registry'
4
4
  import { InputStep } from '../../service/step/step-type'
5
5
  import { Context } from '../types'
@@ -10,23 +10,26 @@ async function Log(step: InputStep, { logger, data, variables, domain, user, lng
10
10
  } = step
11
11
 
12
12
  if (hasTemplateExpression(message)) {
13
- const vm = new VM({
14
- sandbox: {
15
- domain,
16
- user,
17
- lng,
18
- data,
19
- variables
20
- }
13
+ const compartment = new Compartment({
14
+ domain,
15
+ user,
16
+ lng,
17
+ data,
18
+ variables,
19
+ console
21
20
  })
22
21
 
23
- message = vm.run('`' + message + '`')
22
+ try {
23
+ message = compartment.evaluate('`' + message + '`')
24
+ } catch (err) {
25
+ throw new Error(`Failed to evaluate message: ${err.message}`)
26
+ }
24
27
  }
25
28
 
26
29
  accessor = access(accessor, data)
27
30
 
28
31
  if (accessor) {
29
- if (accessor !== 'string') {
32
+ if (typeof accessor !== 'string') {
30
33
  accessor = JSON.stringify(accessor, null, 2)
31
34
  }
32
35
  message += ': ' + accessor
@@ -1,15 +1,15 @@
1
- import { VM } from 'vm2'
2
1
  import { logger } from '@things-factory/env'
3
2
  import { access } from '@things-factory/utils'
4
3
  import { ConnectionManager } from '../connection-manager'
5
4
  import { TaskRegistry } from '../task-registry'
6
5
  import { InputStep } from '../../service/step/step-type'
7
6
  import { Context } from '../types'
7
+ import 'ses'
8
8
 
9
9
  try {
10
10
  var oracledb = require('oracledb')
11
11
  } catch (err) {
12
- logger.error('oracledb module loading failed')
12
+ logger.error('oracledb module loading failed', err)
13
13
  }
14
14
 
15
15
  type ProcedureParameterType = {
@@ -51,21 +51,27 @@ async function OracleProcedure(step: InputStep, context: Context) {
51
51
 
52
52
  var dbconnection = ConnectionManager.getConnectionInstanceByName(domain, connectionName)
53
53
 
54
- const vm = new VM({
55
- sandbox: {
56
- domain,
57
- user,
58
- lng,
59
- data,
60
- variables
61
- }
62
- })
63
-
64
54
  if (!code) {
65
55
  throw 'procedure code not defined'
66
56
  }
67
57
 
68
- code = vm.run('`' + code + '`')
58
+ const compartment = new Compartment({
59
+ domain,
60
+ user,
61
+ lng,
62
+ data,
63
+ variables,
64
+ console
65
+ })
66
+
67
+ let evalCode
68
+ try {
69
+ evalCode = compartment.evaluate('`' + code + '`')
70
+ } catch (err) {
71
+ throw new Error(`Failed to evaluate code: ${err.message}`)
72
+ }
73
+
74
+ code = evalCode
69
75
 
70
76
  const procedureParameters =
71
77
  parameters &&
@@ -79,13 +85,13 @@ async function OracleProcedure(step: InputStep, context: Context) {
79
85
 
80
86
  if (calculated !== undefined) {
81
87
  sum[name].val =
82
- type == 'Date'
88
+ type === 'Date'
83
89
  ? new Date(calculated)
84
90
  : type == 'Number'
85
- ? Number(calculated)
86
- : type == 'String'
87
- ? String(calculated)
88
- : calculated
91
+ ? Number(calculated)
92
+ : type == 'String'
93
+ ? String(calculated)
94
+ : calculated
89
95
  }
90
96
 
91
97
  if (maxSize) {
@@ -1,33 +1,44 @@
1
1
  import { TaskRegistry } from '../task-registry'
2
- import { NodeVM } from 'vm2'
3
-
4
2
  import { InputStep } from '../../service/step/step-type'
5
3
  import { Context } from '../types'
4
+ import 'ses'
6
5
 
7
6
  async function Script(step: InputStep, context: Context) {
8
- var {
7
+ const {
9
8
  params: { script }
10
9
  } = step
11
10
 
12
11
  const { domain, user, data, variables, lng, logger } = context
13
12
 
14
- const vm = new NodeVM({
15
- timeout: 5000,
16
- wrapper: 'none',
17
- console: 'inherit',
18
- sandbox: {
19
- domain,
20
- user,
21
- lng,
22
- data,
23
- variables
24
- }
13
+ const compartment = new Compartment({
14
+ domain,
15
+ user,
16
+ data,
17
+ variables,
18
+ logger,
19
+ lng,
20
+ console,
21
+ Math,
22
+ JSON,
23
+ Date,
24
+ setTimeout,
25
+ setInterval,
26
+ clearTimeout,
27
+ clearInterval
25
28
  })
26
29
 
27
- var result = await vm.run(`return (async () => {\n${script}\n})()`)
30
+ const scriptSource = `
31
+ (async () => {
32
+ ${script}
33
+ })();
34
+ `
28
35
 
29
- return {
30
- data: result
36
+ try {
37
+ return {
38
+ data: await compartment.evaluate(scriptSource)
39
+ }
40
+ } catch (err) {
41
+ throw new Error(`Script execution failed: ${err.message}`)
31
42
  }
32
43
  }
33
44
 
@@ -37,7 +48,11 @@ Script.parameterSpec = [
37
48
  name: 'script',
38
49
  label: 'script',
39
50
  property: {
40
- language: 'javascript'
51
+ language: 'javascript',
52
+ showLineNumbers: true
53
+ },
54
+ styles: {
55
+ flex: '1'
41
56
  }
42
57
  }
43
58
  ]