@things-factory/integration-base 9.0.0-beta.27 → 9.0.0-beta.29

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 (407) hide show
  1. package/dist-server/controllers/index.d.ts +2 -0
  2. package/dist-server/controllers/index.js +6 -0
  3. package/dist-server/controllers/index.js.map +1 -0
  4. package/dist-server/controllers/publish-data.d.ts +6 -0
  5. package/dist-server/controllers/publish-data.js +22 -0
  6. package/dist-server/controllers/publish-data.js.map +1 -0
  7. package/dist-server/controllers/scenario-controller.d.ts +6 -0
  8. package/dist-server/controllers/scenario-controller.js +99 -0
  9. package/dist-server/controllers/scenario-controller.js.map +1 -0
  10. package/dist-server/engine/analyzer/analyze-integration.d.ts +5 -0
  11. package/dist-server/engine/analyzer/analyze-integration.js +96 -0
  12. package/dist-server/engine/analyzer/analyze-integration.js.map +1 -0
  13. package/dist-server/engine/connection-manager.d.ts +35 -0
  14. package/dist-server/engine/connection-manager.js +192 -0
  15. package/dist-server/engine/connection-manager.js.map +1 -0
  16. package/dist-server/engine/connector/echo-back-connector.d.ts +9 -0
  17. package/dist-server/engine/connector/echo-back-connector.js +39 -0
  18. package/dist-server/engine/connector/echo-back-connector.js.map +1 -0
  19. package/dist-server/engine/connector/echo-back-server.d.ts +8 -0
  20. package/dist-server/engine/connector/echo-back-server.js +58 -0
  21. package/dist-server/engine/connector/echo-back-server.js.map +1 -0
  22. package/dist-server/engine/connector/graphql-connector.d.ts +19 -0
  23. package/dist-server/engine/connector/graphql-connector.js +94 -0
  24. package/dist-server/engine/connector/graphql-connector.js.map +1 -0
  25. package/dist-server/engine/connector/headless-connector.d.ts +23 -0
  26. package/dist-server/engine/connector/headless-connector.js +357 -0
  27. package/dist-server/engine/connector/headless-connector.js.map +1 -0
  28. package/dist-server/engine/connector/http-connector.d.ts +25 -0
  29. package/dist-server/engine/connector/http-connector.js +52 -0
  30. package/dist-server/engine/connector/http-connector.js.map +1 -0
  31. package/dist-server/engine/connector/index.d.ts +13 -0
  32. package/dist-server/engine/connector/index.js +16 -0
  33. package/dist-server/engine/connector/index.js.map +1 -0
  34. package/dist-server/engine/connector/mqtt-connector.d.ts +14 -0
  35. package/dist-server/engine/connector/mqtt-connector.js +62 -0
  36. package/dist-server/engine/connector/mqtt-connector.js.map +1 -0
  37. package/dist-server/engine/connector/mssql-connector.d.ts +40 -0
  38. package/dist-server/engine/connector/mssql-connector.js +137 -0
  39. package/dist-server/engine/connector/mssql-connector.js.map +1 -0
  40. package/dist-server/engine/connector/mysql-connector.d.ts +13 -0
  41. package/dist-server/engine/connector/mysql-connector.js +80 -0
  42. package/dist-server/engine/connector/mysql-connector.js.map +1 -0
  43. package/dist-server/engine/connector/operato-connector.d.ts +27 -0
  44. package/dist-server/engine/connector/operato-connector.js +205 -0
  45. package/dist-server/engine/connector/operato-connector.js.map +1 -0
  46. package/dist-server/engine/connector/oracle-connector.d.ts +29 -0
  47. package/dist-server/engine/connector/oracle-connector.js +187 -0
  48. package/dist-server/engine/connector/oracle-connector.js.map +1 -0
  49. package/dist-server/engine/connector/postgresql-connector.d.ts +20 -0
  50. package/dist-server/engine/connector/postgresql-connector.js +136 -0
  51. package/dist-server/engine/connector/postgresql-connector.js.map +1 -0
  52. package/dist-server/engine/connector/proxy-connector.d.ts +15 -0
  53. package/dist-server/engine/connector/proxy-connector.js +44 -0
  54. package/dist-server/engine/connector/proxy-connector.js.map +1 -0
  55. package/dist-server/engine/connector/socket-server.d.ts +9 -0
  56. package/dist-server/engine/connector/socket-server.js +76 -0
  57. package/dist-server/engine/connector/socket-server.js.map +1 -0
  58. package/dist-server/engine/connector/sqlite-connector.d.ts +10 -0
  59. package/dist-server/engine/connector/sqlite-connector.js +58 -0
  60. package/dist-server/engine/connector/sqlite-connector.js.map +1 -0
  61. package/dist-server/engine/edge-client.d.ts +18 -0
  62. package/dist-server/engine/edge-client.js +37 -0
  63. package/dist-server/engine/edge-client.js.map +1 -0
  64. package/dist-server/engine/index.d.ts +9 -0
  65. package/dist-server/engine/index.js +12 -0
  66. package/dist-server/engine/index.js.map +1 -0
  67. package/dist-server/engine/pending-queue.d.ts +24 -0
  68. package/dist-server/engine/pending-queue.js +75 -0
  69. package/dist-server/engine/pending-queue.js.map +1 -0
  70. package/dist-server/engine/resource-pool/headless-pool.d.ts +1 -0
  71. package/dist-server/engine/resource-pool/headless-pool.js +62 -0
  72. package/dist-server/engine/resource-pool/headless-pool.js.map +1 -0
  73. package/dist-server/engine/resource-pool/index.d.ts +1 -0
  74. package/dist-server/engine/resource-pool/index.js +5 -0
  75. package/dist-server/engine/resource-pool/index.js.map +1 -0
  76. package/dist-server/engine/scenario-engine.d.ts +11 -0
  77. package/dist-server/engine/scenario-engine.js +79 -0
  78. package/dist-server/engine/scenario-engine.js.map +1 -0
  79. package/dist-server/engine/task/book-up-scenario.d.ts +1 -0
  80. package/dist-server/engine/task/book-up-scenario.js +63 -0
  81. package/dist-server/engine/task/book-up-scenario.js.map +1 -0
  82. package/dist-server/engine/task/csv-readline.d.ts +1 -0
  83. package/dist-server/engine/task/csv-readline.js +103 -0
  84. package/dist-server/engine/task/csv-readline.js.map +1 -0
  85. package/dist-server/engine/task/data-accessor.d.ts +1 -0
  86. package/dist-server/engine/task/data-accessor.js +28 -0
  87. package/dist-server/engine/task/data-accessor.js.map +1 -0
  88. package/dist-server/engine/task/data-mapper.d.ts +1 -0
  89. package/dist-server/engine/task/data-mapper.js +37 -0
  90. package/dist-server/engine/task/data-mapper.js.map +1 -0
  91. package/dist-server/engine/task/database-query.d.ts +1 -0
  92. package/dist-server/engine/task/database-query.js +46 -0
  93. package/dist-server/engine/task/database-query.js.map +1 -0
  94. package/dist-server/engine/task/echo-receive.d.ts +1 -0
  95. package/dist-server/engine/task/echo-receive.js +15 -0
  96. package/dist-server/engine/task/echo-receive.js.map +1 -0
  97. package/dist-server/engine/task/echo-send.d.ts +1 -0
  98. package/dist-server/engine/task/echo-send.js +24 -0
  99. package/dist-server/engine/task/echo-send.js.map +1 -0
  100. package/dist-server/engine/task/empty-check.d.ts +1 -0
  101. package/dist-server/engine/task/empty-check.js +30 -0
  102. package/dist-server/engine/task/empty-check.js.map +1 -0
  103. package/dist-server/engine/task/end.d.ts +1 -0
  104. package/dist-server/engine/task/end.js +14 -0
  105. package/dist-server/engine/task/end.js.map +1 -0
  106. package/dist-server/engine/task/floating-point.d.ts +1 -0
  107. package/dist-server/engine/task/floating-point.js +62 -0
  108. package/dist-server/engine/task/floating-point.js.map +1 -0
  109. package/dist-server/engine/task/goto.d.ts +1 -0
  110. package/dist-server/engine/task/goto.js +20 -0
  111. package/dist-server/engine/task/goto.js.map +1 -0
  112. package/dist-server/engine/task/graphql-mutate.d.ts +1 -0
  113. package/dist-server/engine/task/graphql-mutate.js +70 -0
  114. package/dist-server/engine/task/graphql-mutate.js.map +1 -0
  115. package/dist-server/engine/task/graphql-query.d.ts +1 -0
  116. package/dist-server/engine/task/graphql-query.js +70 -0
  117. package/dist-server/engine/task/graphql-query.js.map +1 -0
  118. package/dist-server/engine/task/headless-post.d.ts +1 -0
  119. package/dist-server/engine/task/headless-post.js +110 -0
  120. package/dist-server/engine/task/headless-post.js.map +1 -0
  121. package/dist-server/engine/task/headless-scrap.d.ts +1 -0
  122. package/dist-server/engine/task/headless-scrap.js +71 -0
  123. package/dist-server/engine/task/headless-scrap.js.map +1 -0
  124. package/dist-server/engine/task/http-get.d.ts +1 -0
  125. package/dist-server/engine/task/http-get.js +101 -0
  126. package/dist-server/engine/task/http-get.js.map +1 -0
  127. package/dist-server/engine/task/http-post.d.ts +1 -0
  128. package/dist-server/engine/task/http-post.js +130 -0
  129. package/dist-server/engine/task/http-post.js.map +1 -0
  130. package/dist-server/engine/task/index.d.ts +45 -0
  131. package/dist-server/engine/task/index.js +48 -0
  132. package/dist-server/engine/task/index.js.map +1 -0
  133. package/dist-server/engine/task/jsonata.d.ts +1 -0
  134. package/dist-server/engine/task/jsonata.js +37 -0
  135. package/dist-server/engine/task/jsonata.js.map +1 -0
  136. package/dist-server/engine/task/local-graphql-mutate.d.ts +1 -0
  137. package/dist-server/engine/task/local-graphql-mutate.js +89 -0
  138. package/dist-server/engine/task/local-graphql-mutate.js.map +1 -0
  139. package/dist-server/engine/task/local-graphql-query.d.ts +1 -0
  140. package/dist-server/engine/task/local-graphql-query.js +89 -0
  141. package/dist-server/engine/task/local-graphql-query.js.map +1 -0
  142. package/dist-server/engine/task/log.d.ts +1 -0
  143. package/dist-server/engine/task/log.js +68 -0
  144. package/dist-server/engine/task/log.js.map +1 -0
  145. package/dist-server/engine/task/mqtt-publish.d.ts +1 -0
  146. package/dist-server/engine/task/mqtt-publish.js +35 -0
  147. package/dist-server/engine/task/mqtt-publish.js.map +1 -0
  148. package/dist-server/engine/task/mqtt-subscribe.d.ts +1 -0
  149. package/dist-server/engine/task/mqtt-subscribe.js +113 -0
  150. package/dist-server/engine/task/mqtt-subscribe.js.map +1 -0
  151. package/dist-server/engine/task/mssql-procedure.d.ts +1 -0
  152. package/dist-server/engine/task/mssql-procedure.js +94 -0
  153. package/dist-server/engine/task/mssql-procedure.js.map +1 -0
  154. package/dist-server/engine/task/oracle-procedure.d.ts +1 -0
  155. package/dist-server/engine/task/oracle-procedure.js +91 -0
  156. package/dist-server/engine/task/oracle-procedure.js.map +1 -0
  157. package/dist-server/engine/task/pick-pending-scenario.d.ts +1 -0
  158. package/dist-server/engine/task/pick-pending-scenario.js +61 -0
  159. package/dist-server/engine/task/pick-pending-scenario.js.map +1 -0
  160. package/dist-server/engine/task/publish.d.ts +1 -0
  161. package/dist-server/engine/task/publish.js +31 -0
  162. package/dist-server/engine/task/publish.js.map +1 -0
  163. package/dist-server/engine/task/random.d.ts +1 -0
  164. package/dist-server/engine/task/random.js +45 -0
  165. package/dist-server/engine/task/random.js.map +1 -0
  166. package/dist-server/engine/task/reset-pending-queue.d.ts +1 -0
  167. package/dist-server/engine/task/reset-pending-queue.js +13 -0
  168. package/dist-server/engine/task/reset-pending-queue.js.map +1 -0
  169. package/dist-server/engine/task/script.d.ts +1 -0
  170. package/dist-server/engine/task/script.js +55 -0
  171. package/dist-server/engine/task/script.js.map +1 -0
  172. package/dist-server/engine/task/set-domain.d.ts +1 -0
  173. package/dist-server/engine/task/set-domain.js +27 -0
  174. package/dist-server/engine/task/set-domain.js.map +1 -0
  175. package/dist-server/engine/task/sleep.d.ts +1 -0
  176. package/dist-server/engine/task/sleep.js +26 -0
  177. package/dist-server/engine/task/sleep.js.map +1 -0
  178. package/dist-server/engine/task/socket-listener.d.ts +1 -0
  179. package/dist-server/engine/task/socket-listener.js +86 -0
  180. package/dist-server/engine/task/socket-listener.js.map +1 -0
  181. package/dist-server/engine/task/state-group-read.d.ts +1 -0
  182. package/dist-server/engine/task/state-group-read.js +62 -0
  183. package/dist-server/engine/task/state-group-read.js.map +1 -0
  184. package/dist-server/engine/task/state-read.d.ts +1 -0
  185. package/dist-server/engine/task/state-read.js +49 -0
  186. package/dist-server/engine/task/state-read.js.map +1 -0
  187. package/dist-server/engine/task/state-write.d.ts +1 -0
  188. package/dist-server/engine/task/state-write.js +57 -0
  189. package/dist-server/engine/task/state-write.js.map +1 -0
  190. package/dist-server/engine/task/stop-scenario.d.ts +1 -0
  191. package/dist-server/engine/task/stop-scenario.js +35 -0
  192. package/dist-server/engine/task/stop-scenario.js.map +1 -0
  193. package/dist-server/engine/task/sub-scenario.d.ts +1 -0
  194. package/dist-server/engine/task/sub-scenario.js +45 -0
  195. package/dist-server/engine/task/sub-scenario.js.map +1 -0
  196. package/dist-server/engine/task/switch-goto.d.ts +1 -0
  197. package/dist-server/engine/task/switch-goto.js +32 -0
  198. package/dist-server/engine/task/switch-goto.js.map +1 -0
  199. package/dist-server/engine/task/switch-range-goto.d.ts +1 -0
  200. package/dist-server/engine/task/switch-range-goto.js +39 -0
  201. package/dist-server/engine/task/switch-range-goto.js.map +1 -0
  202. package/dist-server/engine/task/switch-range-scenario.d.ts +1 -0
  203. package/dist-server/engine/task/switch-range-scenario.js +60 -0
  204. package/dist-server/engine/task/switch-range-scenario.js.map +1 -0
  205. package/dist-server/engine/task/switch-range-set.d.ts +1 -0
  206. package/dist-server/engine/task/switch-range-set.js +35 -0
  207. package/dist-server/engine/task/switch-range-set.js.map +1 -0
  208. package/dist-server/engine/task/switch-scenario.d.ts +1 -0
  209. package/dist-server/engine/task/switch-scenario.js +53 -0
  210. package/dist-server/engine/task/switch-scenario.js.map +1 -0
  211. package/dist-server/engine/task/switch-set.d.ts +1 -0
  212. package/dist-server/engine/task/switch-set.js +28 -0
  213. package/dist-server/engine/task/switch-set.js.map +1 -0
  214. package/dist-server/engine/task/throw.d.ts +1 -0
  215. package/dist-server/engine/task/throw.js +19 -0
  216. package/dist-server/engine/task/throw.js.map +1 -0
  217. package/dist-server/engine/task/utils/headless-pool-for-scenario.d.ts +1 -0
  218. package/dist-server/engine/task/utils/headless-pool-for-scenario.js +64 -0
  219. package/dist-server/engine/task/utils/headless-pool-for-scenario.js.map +1 -0
  220. package/dist-server/engine/task/utils/substitute.d.ts +1 -0
  221. package/dist-server/engine/task/utils/substitute.js +45 -0
  222. package/dist-server/engine/task/utils/substitute.js.map +1 -0
  223. package/dist-server/engine/task/variables.d.ts +1 -0
  224. package/dist-server/engine/task/variables.js +13 -0
  225. package/dist-server/engine/task/variables.js.map +1 -0
  226. package/dist-server/engine/task-registry.d.ts +12 -0
  227. package/dist-server/engine/task-registry.js +20 -0
  228. package/dist-server/engine/task-registry.js.map +1 -0
  229. package/dist-server/engine/types.d.ts +94 -0
  230. package/dist-server/engine/types.js +3 -0
  231. package/dist-server/engine/types.js.map +1 -0
  232. package/dist-server/index.d.ts +6 -0
  233. package/dist-server/index.js +21 -0
  234. package/dist-server/index.js.map +1 -0
  235. package/dist-server/migrations/index.d.ts +1 -0
  236. package/dist-server/migrations/index.js +12 -0
  237. package/dist-server/migrations/index.js.map +1 -0
  238. package/dist-server/restful/index.d.ts +1 -0
  239. package/dist-server/restful/index.js +4 -0
  240. package/dist-server/restful/index.js.map +1 -0
  241. package/dist-server/restful/unstable/index.d.ts +7 -0
  242. package/dist-server/restful/unstable/index.js +10 -0
  243. package/dist-server/restful/unstable/index.js.map +1 -0
  244. package/dist-server/restful/unstable/run-scenario.d.ts +1 -0
  245. package/dist-server/restful/unstable/run-scenario.js +45 -0
  246. package/dist-server/restful/unstable/run-scenario.js.map +1 -0
  247. package/dist-server/restful/unstable/scenario-instance.d.ts +1 -0
  248. package/dist-server/restful/unstable/scenario-instance.js +52 -0
  249. package/dist-server/restful/unstable/scenario-instance.js.map +1 -0
  250. package/dist-server/restful/unstable/scenario-instances.d.ts +1 -0
  251. package/dist-server/restful/unstable/scenario-instances.js +74 -0
  252. package/dist-server/restful/unstable/scenario-instances.js.map +1 -0
  253. package/dist-server/restful/unstable/scenario.d.ts +1 -0
  254. package/dist-server/restful/unstable/scenario.js +41 -0
  255. package/dist-server/restful/unstable/scenario.js.map +1 -0
  256. package/dist-server/restful/unstable/scenarios.d.ts +1 -0
  257. package/dist-server/restful/unstable/scenarios.js +63 -0
  258. package/dist-server/restful/unstable/scenarios.js.map +1 -0
  259. package/dist-server/restful/unstable/start-scenario.d.ts +1 -0
  260. package/dist-server/restful/unstable/start-scenario.js +33 -0
  261. package/dist-server/restful/unstable/start-scenario.js.map +1 -0
  262. package/dist-server/restful/unstable/stop-scenario.d.ts +1 -0
  263. package/dist-server/restful/unstable/stop-scenario.js +30 -0
  264. package/dist-server/restful/unstable/stop-scenario.js.map +1 -0
  265. package/dist-server/routers/scenario-schedule-callback-router.d.ts +1 -0
  266. package/dist-server/routers/scenario-schedule-callback-router.js +55 -0
  267. package/dist-server/routers/scenario-schedule-callback-router.js.map +1 -0
  268. package/dist-server/routers/scenario-view-router.d.ts +1 -0
  269. package/dist-server/routers/scenario-view-router.js +41 -0
  270. package/dist-server/routers/scenario-view-router.js.map +1 -0
  271. package/dist-server/routes.d.ts +1 -0
  272. package/dist-server/routes.js +23 -0
  273. package/dist-server/routes.js.map +1 -0
  274. package/dist-server/service/analysis/analysis-query.d.ts +3 -0
  275. package/dist-server/service/analysis/analysis-query.js +25 -0
  276. package/dist-server/service/analysis/analysis-query.js.map +1 -0
  277. package/dist-server/service/analysis/index.d.ts +2 -0
  278. package/dist-server/service/analysis/index.js +6 -0
  279. package/dist-server/service/analysis/index.js.map +1 -0
  280. package/dist-server/service/connection/connection-mutation.d.ts +30 -0
  281. package/dist-server/service/connection/connection-mutation.js +182 -0
  282. package/dist-server/service/connection/connection-mutation.js.map +1 -0
  283. package/dist-server/service/connection/connection-query.d.ts +12 -0
  284. package/dist-server/service/connection/connection-query.js +112 -0
  285. package/dist-server/service/connection/connection-query.js.map +1 -0
  286. package/dist-server/service/connection/connection-subscription.d.ts +10 -0
  287. package/dist-server/service/connection/connection-subscription.js +98 -0
  288. package/dist-server/service/connection/connection-subscription.js.map +1 -0
  289. package/dist-server/service/connection/connection-type.d.ts +133 -0
  290. package/dist-server/service/connection/connection-type.js +294 -0
  291. package/dist-server/service/connection/connection-type.js.map +1 -0
  292. package/dist-server/service/connection/index.d.ts +6 -0
  293. package/dist-server/service/connection/index.js +10 -0
  294. package/dist-server/service/connection/index.js.map +1 -0
  295. package/dist-server/service/connector/connector-query.d.ts +6 -0
  296. package/dist-server/service/connector/connector-query.js +77 -0
  297. package/dist-server/service/connector/connector-query.js.map +1 -0
  298. package/dist-server/service/connector/connector-type.d.ts +12 -0
  299. package/dist-server/service/connector/connector-type.js +47 -0
  300. package/dist-server/service/connector/connector-type.js.map +1 -0
  301. package/dist-server/service/connector/index.d.ts +3 -0
  302. package/dist-server/service/connector/index.js +7 -0
  303. package/dist-server/service/connector/index.js.map +1 -0
  304. package/dist-server/service/index.d.ts +17 -0
  305. package/dist-server/service/index.js +55 -0
  306. package/dist-server/service/index.js.map +1 -0
  307. package/dist-server/service/payload-log/index.d.ts +5 -0
  308. package/dist-server/service/payload-log/index.js +9 -0
  309. package/dist-server/service/payload-log/index.js.map +1 -0
  310. package/dist-server/service/payload-log/payload-log-mutation.d.ts +10 -0
  311. package/dist-server/service/payload-log/payload-log-mutation.js +134 -0
  312. package/dist-server/service/payload-log/payload-log-mutation.js.map +1 -0
  313. package/dist-server/service/payload-log/payload-log-query.d.ts +11 -0
  314. package/dist-server/service/payload-log/payload-log-query.js +76 -0
  315. package/dist-server/service/payload-log/payload-log-query.js.map +1 -0
  316. package/dist-server/service/payload-log/payload-log-type.d.ts +15 -0
  317. package/dist-server/service/payload-log/payload-log-type.js +57 -0
  318. package/dist-server/service/payload-log/payload-log-type.js.map +1 -0
  319. package/dist-server/service/payload-log/payload-log.d.ts +23 -0
  320. package/dist-server/service/payload-log/payload-log.js +110 -0
  321. package/dist-server/service/payload-log/payload-log.js.map +1 -0
  322. package/dist-server/service/property-spec.d.ts +12 -0
  323. package/dist-server/service/property-spec.js +37 -0
  324. package/dist-server/service/property-spec.js.map +1 -0
  325. package/dist-server/service/scenario/index.d.ts +5 -0
  326. package/dist-server/service/scenario/index.js +9 -0
  327. package/dist-server/service/scenario/index.js.map +1 -0
  328. package/dist-server/service/scenario/scenario-mutation.d.ts +13 -0
  329. package/dist-server/service/scenario/scenario-mutation.js +327 -0
  330. package/dist-server/service/scenario/scenario-mutation.js.map +1 -0
  331. package/dist-server/service/scenario/scenario-query.d.ts +19 -0
  332. package/dist-server/service/scenario/scenario-query.js +167 -0
  333. package/dist-server/service/scenario/scenario-query.js.map +1 -0
  334. package/dist-server/service/scenario/scenario-type.d.ts +30 -0
  335. package/dist-server/service/scenario/scenario-type.js +111 -0
  336. package/dist-server/service/scenario/scenario-type.js.map +1 -0
  337. package/dist-server/service/scenario/scenario.d.ts +38 -0
  338. package/dist-server/service/scenario/scenario.js +142 -0
  339. package/dist-server/service/scenario/scenario.js.map +1 -0
  340. package/dist-server/service/scenario-flow/scenario-flow.d.ts +6 -0
  341. package/dist-server/service/scenario-flow/scenario-flow.js +28 -0
  342. package/dist-server/service/scenario-flow/scenario-flow.js.map +1 -0
  343. package/dist-server/service/scenario-instance/index.d.ts +5 -0
  344. package/dist-server/service/scenario-instance/index.js +9 -0
  345. package/dist-server/service/scenario-instance/index.js.map +1 -0
  346. package/dist-server/service/scenario-instance/scenario-instance-mutation.d.ts +6 -0
  347. package/dist-server/service/scenario-instance/scenario-instance-mutation.js +54 -0
  348. package/dist-server/service/scenario-instance/scenario-instance-mutation.js.map +1 -0
  349. package/dist-server/service/scenario-instance/scenario-instance-query.d.ts +6 -0
  350. package/dist-server/service/scenario-instance/scenario-instance-query.js +45 -0
  351. package/dist-server/service/scenario-instance/scenario-instance-query.js.map +1 -0
  352. package/dist-server/service/scenario-instance/scenario-instance-subscription.d.ts +10 -0
  353. package/dist-server/service/scenario-instance/scenario-instance-subscription.js +109 -0
  354. package/dist-server/service/scenario-instance/scenario-instance-subscription.js.map +1 -0
  355. package/dist-server/service/scenario-instance/scenario-instance-type.d.ts +102 -0
  356. package/dist-server/service/scenario-instance/scenario-instance-type.js +533 -0
  357. package/dist-server/service/scenario-instance/scenario-instance-type.js.map +1 -0
  358. package/dist-server/service/scenario-queue/index.d.ts +3 -0
  359. package/dist-server/service/scenario-queue/index.js +7 -0
  360. package/dist-server/service/scenario-queue/index.js.map +1 -0
  361. package/dist-server/service/scenario-queue/scenario-queue-subscription.d.ts +6 -0
  362. package/dist-server/service/scenario-queue/scenario-queue-subscription.js +58 -0
  363. package/dist-server/service/scenario-queue/scenario-queue-subscription.js.map +1 -0
  364. package/dist-server/service/scenario-queue/scenario-queue-type.d.ts +11 -0
  365. package/dist-server/service/scenario-queue/scenario-queue-type.js +43 -0
  366. package/dist-server/service/scenario-queue/scenario-queue-type.js.map +1 -0
  367. package/dist-server/service/state-register/data-resolver.d.ts +6 -0
  368. package/dist-server/service/state-register/data-resolver.js +61 -0
  369. package/dist-server/service/state-register/data-resolver.js.map +1 -0
  370. package/dist-server/service/state-register/index.d.ts +7 -0
  371. package/dist-server/service/state-register/index.js +11 -0
  372. package/dist-server/service/state-register/index.js.map +1 -0
  373. package/dist-server/service/state-register/state-register-mutation.d.ts +11 -0
  374. package/dist-server/service/state-register/state-register-mutation.js +153 -0
  375. package/dist-server/service/state-register/state-register-mutation.js.map +1 -0
  376. package/dist-server/service/state-register/state-register-query.d.ts +14 -0
  377. package/dist-server/service/state-register/state-register-query.js +123 -0
  378. package/dist-server/service/state-register/state-register-query.js.map +1 -0
  379. package/dist-server/service/state-register/state-register-type.d.ts +29 -0
  380. package/dist-server/service/state-register/state-register-type.js +114 -0
  381. package/dist-server/service/state-register/state-register-type.js.map +1 -0
  382. package/dist-server/service/state-register/state-register.d.ts +25 -0
  383. package/dist-server/service/state-register/state-register.js +128 -0
  384. package/dist-server/service/state-register/state-register.js.map +1 -0
  385. package/dist-server/service/step/index.d.ts +5 -0
  386. package/dist-server/service/step/index.js +9 -0
  387. package/dist-server/service/step/index.js.map +1 -0
  388. package/dist-server/service/step/step-mutation.d.ts +5 -0
  389. package/dist-server/service/step/step-mutation.js +55 -0
  390. package/dist-server/service/step/step-mutation.js.map +1 -0
  391. package/dist-server/service/step/step-query.d.ts +12 -0
  392. package/dist-server/service/step/step-query.js +89 -0
  393. package/dist-server/service/step/step-query.js.map +1 -0
  394. package/dist-server/service/step/step-type.d.ts +111 -0
  395. package/dist-server/service/step/step-type.js +212 -0
  396. package/dist-server/service/step/step-type.js.map +1 -0
  397. package/dist-server/service/task-type/index.d.ts +3 -0
  398. package/dist-server/service/task-type/index.js +7 -0
  399. package/dist-server/service/task-type/index.js.map +1 -0
  400. package/dist-server/service/task-type/task-type-query.d.ts +6 -0
  401. package/dist-server/service/task-type/task-type-query.js +108 -0
  402. package/dist-server/service/task-type/task-type-query.js.map +1 -0
  403. package/dist-server/service/task-type/task-type-type.d.ts +12 -0
  404. package/dist-server/service/task-type/task-type-type.js +47 -0
  405. package/dist-server/service/task-type/task-type-type.js.map +1 -0
  406. package/dist-server/tsconfig.tsbuildinfo +1 -0
  407. package/package.json +10 -10
@@ -0,0 +1,45 @@
1
+ import './echo-send';
2
+ import './echo-receive';
3
+ import './sleep';
4
+ import './log';
5
+ import './publish';
6
+ import './http-get';
7
+ import './http-post';
8
+ import './graphql-query';
9
+ import './graphql-mutate';
10
+ import './local-graphql-query';
11
+ import './local-graphql-mutate';
12
+ import './sub-scenario';
13
+ import './stop-scenario';
14
+ import './book-up-scenario';
15
+ import './pick-pending-scenario';
16
+ import './reset-pending-queue';
17
+ import './empty-check';
18
+ import './goto';
19
+ import './end';
20
+ import './switch-goto';
21
+ import './switch-range-goto';
22
+ import './switch-scenario';
23
+ import './switch-range-scenario';
24
+ import './switch-set';
25
+ import './switch-range-set';
26
+ import './script';
27
+ import './database-query';
28
+ import './mqtt-subscribe';
29
+ import './mqtt-publish';
30
+ import './throw';
31
+ import './variables';
32
+ import './floating-point';
33
+ import './socket-listener';
34
+ import './random';
35
+ import './csv-readline';
36
+ import './data-mapper';
37
+ import './headless-post';
38
+ import './headless-scrap';
39
+ import './set-domain';
40
+ import './mssql-procedure';
41
+ import './oracle-procedure';
42
+ import './jsonata';
43
+ import './state-read';
44
+ import './state-write';
45
+ import './state-group-read';
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("./echo-send");
4
+ require("./echo-receive");
5
+ require("./sleep");
6
+ require("./log");
7
+ require("./publish");
8
+ require("./http-get");
9
+ require("./http-post");
10
+ require("./graphql-query");
11
+ require("./graphql-mutate");
12
+ require("./local-graphql-query");
13
+ require("./local-graphql-mutate");
14
+ require("./sub-scenario");
15
+ require("./stop-scenario");
16
+ require("./book-up-scenario");
17
+ require("./pick-pending-scenario");
18
+ require("./reset-pending-queue");
19
+ require("./empty-check");
20
+ require("./goto");
21
+ require("./end");
22
+ require("./switch-goto");
23
+ require("./switch-range-goto");
24
+ require("./switch-scenario");
25
+ require("./switch-range-scenario");
26
+ require("./switch-set");
27
+ require("./switch-range-set");
28
+ require("./script");
29
+ require("./database-query");
30
+ require("./mqtt-subscribe");
31
+ require("./mqtt-publish");
32
+ require("./throw");
33
+ require("./variables");
34
+ require("./floating-point");
35
+ require("./socket-listener");
36
+ require("./random");
37
+ require("./csv-readline");
38
+ require("./data-mapper");
39
+ require("./headless-post");
40
+ require("./headless-scrap");
41
+ require("./set-domain");
42
+ require("./mssql-procedure");
43
+ require("./oracle-procedure");
44
+ require("./jsonata");
45
+ require("./state-read");
46
+ require("./state-write");
47
+ require("./state-group-read");
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/task/index.ts"],"names":[],"mappings":";;AAAA,uBAAoB;AACpB,0BAAuB;AACvB,mBAAgB;AAChB,iBAAc;AACd,qBAAkB;AAClB,sBAAmB;AACnB,uBAAoB;AACpB,2BAAwB;AACxB,4BAAyB;AACzB,iCAA8B;AAC9B,kCAA+B;AAC/B,0BAAuB;AACvB,2BAAwB;AACxB,8BAA2B;AAC3B,mCAAgC;AAChC,iCAA8B;AAC9B,yBAAsB;AACtB,kBAAe;AACf,iBAAc;AACd,yBAAsB;AACtB,+BAA4B;AAC5B,6BAA0B;AAC1B,mCAAgC;AAChC,wBAAqB;AACrB,8BAA2B;AAC3B,oBAAiB;AACjB,4BAAyB;AACzB,4BAAyB;AACzB,0BAAuB;AACvB,mBAAgB;AAChB,uBAAoB;AACpB,4BAAyB;AACzB,6BAA0B;AAC1B,oBAAiB;AACjB,0BAAuB;AACvB,yBAAsB;AACtB,2BAAwB;AACxB,4BAAyB;AACzB,wBAAqB;AACrB,6BAA0B;AAC1B,8BAA2B;AAC3B,qBAAkB;AAClB,wBAAqB;AACrB,yBAAsB;AACtB,8BAA2B","sourcesContent":["import './echo-send'\nimport './echo-receive'\nimport './sleep'\nimport './log'\nimport './publish'\nimport './http-get'\nimport './http-post'\nimport './graphql-query'\nimport './graphql-mutate'\nimport './local-graphql-query'\nimport './local-graphql-mutate'\nimport './sub-scenario'\nimport './stop-scenario'\nimport './book-up-scenario'\nimport './pick-pending-scenario'\nimport './reset-pending-queue'\nimport './empty-check'\nimport './goto'\nimport './end'\nimport './switch-goto'\nimport './switch-range-goto'\nimport './switch-scenario'\nimport './switch-range-scenario'\nimport './switch-set'\nimport './switch-range-set'\nimport './script'\nimport './database-query'\nimport './mqtt-subscribe'\nimport './mqtt-publish'\nimport './throw'\nimport './variables'\nimport './floating-point'\nimport './socket-listener'\nimport './random'\nimport './csv-readline'\nimport './data-mapper'\nimport './headless-post'\nimport './headless-scrap'\nimport './set-domain'\nimport './mssql-procedure'\nimport './oracle-procedure'\nimport './jsonata'\nimport './state-read'\nimport './state-write'\nimport './state-group-read'\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const jsonata_1 = tslib_1.__importDefault(require("jsonata"));
5
+ const task_registry_1 = require("../task-registry");
6
+ async function JSonata(step, context) {
7
+ var { params: { expression } } = step;
8
+ const { domain, user, data, variables, lng, logger } = context;
9
+ var result = (0, jsonata_1.default)(expression).evaluate({
10
+ domain,
11
+ user,
12
+ lng,
13
+ data,
14
+ variables
15
+ });
16
+ return {
17
+ data: result
18
+ };
19
+ }
20
+ JSonata.parameterSpec = [
21
+ {
22
+ type: 'textarea',
23
+ name: 'expression',
24
+ label: 'jsonata-expression',
25
+ property: {
26
+ language: 'javascript',
27
+ showLineNumbers: true
28
+ },
29
+ styles: {
30
+ flex: '1'
31
+ }
32
+ }
33
+ ];
34
+ JSonata.connectorFree = true;
35
+ JSonata.help = 'integration/task/jsonata';
36
+ task_registry_1.TaskRegistry.registerTaskHandler('jsonata', JSonata);
37
+ //# sourceMappingURL=jsonata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonata.js","sourceRoot":"","sources":["../../../server/engine/task/jsonata.ts"],"names":[],"mappings":";;;AAAA,8DAA6B;AAE7B,oDAA+C;AAI/C,KAAK,UAAU,OAAO,CAAC,IAAe,EAAE,OAAgB;IACtD,IAAI,EACF,MAAM,EAAE,EAAE,UAAU,EAAE,EACvB,GAAG,IAAI,CAAA;IAER,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAE9D,IAAI,MAAM,GAAG,IAAA,iBAAO,EAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;QACxC,MAAM;QACN,IAAI;QACJ,GAAG;QACH,IAAI;QACJ,SAAS;KACV,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,MAAM;KACb,CAAA;AACH,CAAC;AAED,OAAO,CAAC,aAAa,GAAG;IACtB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE;YACR,QAAQ,EAAE,YAAY;YACtB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,GAAG;SACV;KACF;CACF,CAAA;AAED,OAAO,CAAC,aAAa,GAAG,IAAI,CAAA;AAC5B,OAAO,CAAC,IAAI,GAAG,0BAA0B,CAAA;AAEzC,4BAAY,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA","sourcesContent":["import jsonata from 'jsonata'\n\nimport { TaskRegistry } from '../task-registry'\nimport { InputStep } from '../../service/step/step-type'\nimport { Context } from '../types'\n\nasync function JSonata(step: InputStep, context: Context) {\n var {\n params: { expression }\n } = step\n\n const { domain, user, data, variables, lng, logger } = context\n\n var result = jsonata(expression).evaluate({\n domain,\n user,\n lng,\n data,\n variables\n })\n\n return {\n data: result\n }\n}\n\nJSonata.parameterSpec = [\n {\n type: 'textarea',\n name: 'expression',\n label: 'jsonata-expression',\n property: {\n language: 'javascript',\n showLineNumbers: true\n },\n styles: {\n flex: '1'\n }\n }\n]\n\nJSonata.connectorFree = true\nJSonata.help = 'integration/task/jsonata'\n\nTaskRegistry.registerTaskHandler('jsonata', JSonata)\n"]}
@@ -0,0 +1 @@
1
+ import 'ses';
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
5
+ require("ses");
6
+ const auth_base_1 = require("@things-factory/auth-base");
7
+ const shell_1 = require("@things-factory/shell");
8
+ const utils_1 = require("@things-factory/utils");
9
+ const task_registry_1 = require("../task-registry");
10
+ async function LocalGraphqlMutate(step, context) {
11
+ var { params, updaterId } = step;
12
+ var { mutation, variables: variablesAccessorMap, headers } = params || {};
13
+ var { logger, client, domain, user, data, variables, lng } = context;
14
+ user =
15
+ user ||
16
+ (await (0, shell_1.getRepository)(auth_base_1.User).findOne({
17
+ where: { id: updaterId },
18
+ relations: ['domains']
19
+ }));
20
+ const compartment = new Compartment({
21
+ domain,
22
+ user,
23
+ lng,
24
+ data,
25
+ variables,
26
+ console
27
+ });
28
+ let evalMutation;
29
+ try {
30
+ evalMutation = compartment.evaluate('`' + mutation + '`');
31
+ }
32
+ catch (err) {
33
+ throw new Error(`Failed to evaluate mutation: ${err.message}`);
34
+ }
35
+ mutation = evalMutation;
36
+ const queryVariables = Object.keys(variablesAccessorMap || {}).reduce((variables, key) => {
37
+ const accessor = variablesAccessorMap[key];
38
+ variables[key] = (0, utils_1.access)(accessor, data);
39
+ return variables;
40
+ }, {});
41
+ var { data: mutateResult, errors } = await client.mutate({
42
+ mutation: (0, graphql_tag_1.default) `
43
+ ${mutation}
44
+ `,
45
+ variables: queryVariables,
46
+ headers,
47
+ context: {
48
+ state: {
49
+ domain,
50
+ user
51
+ }
52
+ }
53
+ });
54
+ if (errors) {
55
+ errors.forEach(error => {
56
+ logger.error('GraphQL Error: %s', error);
57
+ });
58
+ }
59
+ return {
60
+ data: mutateResult
61
+ };
62
+ }
63
+ LocalGraphqlMutate.parameterSpec = [
64
+ {
65
+ type: 'graphql',
66
+ name: 'mutation',
67
+ label: 'mutation',
68
+ property: {
69
+ showLineNumbers: true
70
+ },
71
+ styles: {
72
+ flex: 1
73
+ }
74
+ },
75
+ {
76
+ type: 'key-values',
77
+ name: 'variables',
78
+ label: 'variables'
79
+ },
80
+ {
81
+ type: 'key-values',
82
+ name: 'headers',
83
+ label: 'headers'
84
+ }
85
+ ];
86
+ LocalGraphqlMutate.connectorFree = true;
87
+ LocalGraphqlMutate.help = 'integration/task/local-graphql-mutate';
88
+ task_registry_1.TaskRegistry.registerTaskHandler('local-graphql-mutate', LocalGraphqlMutate);
89
+ //# sourceMappingURL=local-graphql-mutate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-graphql-mutate.js","sourceRoot":"","sources":["../../../server/engine/task/local-graphql-mutate.ts"],"names":[],"mappings":"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","sourcesContent":["import gql from 'graphql-tag'\nimport 'ses'\n\nimport { User } from '@things-factory/auth-base'\nimport { getRepository } from '@things-factory/shell'\nimport { access } from '@things-factory/utils'\n\nimport { TaskRegistry } from '../task-registry'\nimport { InputStep } from '../../service/step/step-type'\nimport { Context } from '../types'\n\nasync function LocalGraphqlMutate(step: InputStep, context: Context) {\n var { params, updaterId } = step\n var { mutation, variables: variablesAccessorMap, headers } = params || {}\n var { logger, client, domain, user, data, variables, lng } = context\n\n user =\n user ||\n (await getRepository(User).findOne({\n where: { id: updaterId },\n relations: ['domains']\n }))\n\n const compartment = new Compartment({\n domain,\n user,\n lng,\n data,\n variables,\n console\n })\n\n let evalMutation\n try {\n evalMutation = compartment.evaluate('`' + mutation + '`')\n } catch (err) {\n throw new Error(`Failed to evaluate mutation: ${err.message}`)\n }\n\n mutation = evalMutation\n\n const queryVariables = Object.keys(variablesAccessorMap || {}).reduce((variables, key) => {\n const accessor = variablesAccessorMap[key]\n variables[key] = access(accessor, data)\n return variables\n }, {})\n\n var { data: mutateResult, errors } = await client.mutate({\n mutation: gql`\n ${mutation}\n `,\n variables: queryVariables,\n headers,\n context: {\n state: {\n domain,\n user\n }\n }\n })\n\n if (errors) {\n errors.forEach(error => {\n logger.error('GraphQL Error: %s', error)\n })\n }\n\n return {\n data: mutateResult\n }\n}\n\nLocalGraphqlMutate.parameterSpec = [\n {\n type: 'graphql',\n name: 'mutation',\n label: 'mutation',\n property: {\n showLineNumbers: true\n },\n styles: {\n flex: 1\n }\n },\n {\n type: 'key-values',\n name: 'variables',\n label: 'variables'\n },\n {\n type: 'key-values',\n name: 'headers',\n label: 'headers'\n }\n]\n\nLocalGraphqlMutate.connectorFree = true\nLocalGraphqlMutate.help = 'integration/task/local-graphql-mutate'\n\nTaskRegistry.registerTaskHandler('local-graphql-mutate', LocalGraphqlMutate)\n"]}
@@ -0,0 +1 @@
1
+ import 'ses';
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
5
+ require("ses");
6
+ const auth_base_1 = require("@things-factory/auth-base");
7
+ const shell_1 = require("@things-factory/shell");
8
+ const utils_1 = require("@things-factory/utils");
9
+ const task_registry_1 = require("../task-registry");
10
+ async function LocalGraphqlQuery(step, context) {
11
+ var { params, updaterId } = step;
12
+ var { query, variables: variablesAccessorMap, headers } = params || {};
13
+ var { logger, client, domain, user, data, variables, lng } = context;
14
+ user =
15
+ user ||
16
+ (await (0, shell_1.getRepository)(auth_base_1.User).findOne({
17
+ where: { id: updaterId },
18
+ relations: ['domains']
19
+ }));
20
+ const compartment = new Compartment({
21
+ domain,
22
+ user,
23
+ lng,
24
+ data,
25
+ variables,
26
+ console
27
+ });
28
+ let evalQuery;
29
+ try {
30
+ evalQuery = compartment.evaluate('`' + query + '`');
31
+ }
32
+ catch (err) {
33
+ throw new Error(`Failed to evaluate query: ${err.message}`);
34
+ }
35
+ query = evalQuery;
36
+ const queryVariables = Object.keys(variablesAccessorMap || {}).reduce((variables, key) => {
37
+ const accessor = variablesAccessorMap[key];
38
+ variables[key] = (0, utils_1.access)(accessor, data);
39
+ return variables;
40
+ }, {});
41
+ var { data: queryResult, errors } = await client.query({
42
+ query: (0, graphql_tag_1.default) `
43
+ ${query}
44
+ `,
45
+ variables: queryVariables,
46
+ headers,
47
+ context: {
48
+ state: {
49
+ domain,
50
+ user
51
+ }
52
+ }
53
+ });
54
+ if (errors) {
55
+ errors.forEach(error => {
56
+ logger.error('GraphQL Error: %s', error);
57
+ });
58
+ }
59
+ return {
60
+ data: queryResult
61
+ };
62
+ }
63
+ LocalGraphqlQuery.parameterSpec = [
64
+ {
65
+ type: 'graphql',
66
+ name: 'query',
67
+ label: 'query',
68
+ property: {
69
+ showLineNumbers: true
70
+ },
71
+ styles: {
72
+ flex: 1
73
+ }
74
+ },
75
+ {
76
+ type: 'key-values',
77
+ name: 'variables',
78
+ label: 'variables'
79
+ },
80
+ {
81
+ type: 'key-values',
82
+ name: 'headers',
83
+ label: 'headers'
84
+ }
85
+ ];
86
+ LocalGraphqlQuery.connectorFree = true;
87
+ LocalGraphqlQuery.help = 'integration/task/local-graphql-query';
88
+ task_registry_1.TaskRegistry.registerTaskHandler('local-graphql-query', LocalGraphqlQuery);
89
+ //# sourceMappingURL=local-graphql-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-graphql-query.js","sourceRoot":"","sources":["../../../server/engine/task/local-graphql-query.ts"],"names":[],"mappings":"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","sourcesContent":["import gql from 'graphql-tag'\nimport 'ses'\n\nimport { User } from '@things-factory/auth-base'\nimport { getRepository } from '@things-factory/shell'\nimport { access } from '@things-factory/utils'\n\nimport { TaskRegistry } from '../task-registry'\nimport { InputStep } from '../../service/step/step-type'\nimport { Context } from '../types'\n\nasync function LocalGraphqlQuery(step: InputStep, context: Context) {\n var { params, updaterId } = step\n var { query, variables: variablesAccessorMap, headers } = params || {}\n var { logger, client, domain, user, data, variables, lng } = context\n\n user =\n user ||\n (await getRepository(User).findOne({\n where: { id: updaterId },\n relations: ['domains']\n }))\n\n const compartment = new Compartment({\n domain,\n user,\n lng,\n data,\n variables,\n console\n })\n\n let evalQuery\n try {\n evalQuery = compartment.evaluate('`' + query + '`')\n } catch (err) {\n throw new Error(`Failed to evaluate query: ${err.message}`)\n }\n\n query = evalQuery\n\n const queryVariables = Object.keys(variablesAccessorMap || {}).reduce((variables, key) => {\n const accessor = variablesAccessorMap[key]\n variables[key] = access(accessor, data)\n return variables\n }, {})\n\n var { data: queryResult, errors } = await client.query({\n query: gql`\n ${query}\n `,\n variables: queryVariables,\n headers,\n context: {\n state: {\n domain,\n user\n }\n }\n })\n\n if (errors) {\n errors.forEach(error => {\n logger.error('GraphQL Error: %s', error)\n })\n }\n\n return {\n data: queryResult\n }\n}\n\nLocalGraphqlQuery.parameterSpec = [\n {\n type: 'graphql',\n name: 'query',\n label: 'query',\n property: {\n showLineNumbers: true\n },\n styles: {\n flex: 1\n }\n },\n {\n type: 'key-values',\n name: 'variables',\n label: 'variables'\n },\n {\n type: 'key-values',\n name: 'headers',\n label: 'headers'\n }\n]\n\nLocalGraphqlQuery.connectorFree = true\nLocalGraphqlQuery.help = 'integration/task/local-graphql-query'\n\nTaskRegistry.registerTaskHandler('local-graphql-query', LocalGraphqlQuery)\n"]}
@@ -0,0 +1 @@
1
+ import 'ses';
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@things-factory/utils");
4
+ require("ses");
5
+ const task_registry_1 = require("../task-registry");
6
+ async function Log(step, { logger, data, variables, domain, user, lng }) {
7
+ var { params: { message, accessor, level = 'info' } } = step;
8
+ if ((0, utils_1.hasTemplateExpression)(message)) {
9
+ const compartment = new Compartment({
10
+ domain,
11
+ user,
12
+ lng,
13
+ data,
14
+ variables,
15
+ console
16
+ });
17
+ try {
18
+ message = compartment.evaluate('`' + message + '`');
19
+ }
20
+ catch (err) {
21
+ throw new Error(`Failed to evaluate message: ${err.message}`);
22
+ }
23
+ }
24
+ accessor = (0, utils_1.access)(accessor, data);
25
+ if (accessor) {
26
+ if (typeof accessor !== 'string') {
27
+ accessor = JSON.stringify(accessor, null, 2);
28
+ }
29
+ message += ': ' + accessor;
30
+ }
31
+ switch (level) {
32
+ case 'error':
33
+ logger.error(message);
34
+ return;
35
+ case 'warn':
36
+ logger.warn(message);
37
+ return;
38
+ default:
39
+ logger.info(message);
40
+ }
41
+ return {
42
+ data: message
43
+ };
44
+ }
45
+ Log.parameterSpec = [
46
+ {
47
+ type: 'string',
48
+ name: 'message',
49
+ label: 'message'
50
+ },
51
+ {
52
+ type: 'scenario-step-input',
53
+ name: 'accessor',
54
+ label: 'accessor'
55
+ },
56
+ {
57
+ type: 'select',
58
+ name: 'level',
59
+ label: 'level',
60
+ property: {
61
+ options: ['info', 'warn', 'error']
62
+ }
63
+ }
64
+ ];
65
+ Log.connectorFree = true;
66
+ Log.help = 'integration/task/log';
67
+ task_registry_1.TaskRegistry.registerTaskHandler('log', Log);
68
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../server/engine/task/log.ts"],"names":[],"mappings":";;AAAA,iDAAqE;AACrE,eAAY;AACZ,oDAA+C;AAI/C,KAAK,UAAU,GAAG,CAAC,IAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAW;IACzF,IAAI,EACF,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,MAAM,EAAE,EAC9C,GAAG,IAAI,CAAA;IAER,IAAI,IAAA,6BAAqB,EAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;YAClC,MAAM;YACN,IAAI;YACJ,GAAG;YACH,IAAI;YACJ,SAAS;YACT,OAAO;SACR,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC,CAAA;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;IAED,QAAQ,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAEjC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,OAAO,IAAI,IAAI,GAAG,QAAQ,CAAA;IAC5B,CAAC;IAED,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO;YACV,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACrB,OAAM;QACR,KAAK,MAAM;YACT,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACpB,OAAM;QACR;YACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO;KACd,CAAA;AACH,CAAC;AAED,GAAG,CAAC,aAAa,GAAG;IAClB;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACjB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE;YACR,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;SACnC;KACF;CACF,CAAA;AAED,GAAG,CAAC,aAAa,GAAG,IAAI,CAAA;AACxB,GAAG,CAAC,IAAI,GAAG,sBAAsB,CAAA;AAEjC,4BAAY,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA","sourcesContent":["import { access, hasTemplateExpression } from '@things-factory/utils'\nimport 'ses'\nimport { TaskRegistry } from '../task-registry'\nimport { InputStep } from '../../service/step/step-type'\nimport { Context } from '../types'\n\nasync function Log(step: InputStep, { logger, data, variables, domain, user, lng }: Context) {\n var {\n params: { message, accessor, level = 'info' }\n } = step\n\n if (hasTemplateExpression(message)) {\n const compartment = new Compartment({\n domain,\n user,\n lng,\n data,\n variables,\n console\n })\n\n try {\n message = compartment.evaluate('`' + message + '`')\n } catch (err) {\n throw new Error(`Failed to evaluate message: ${err.message}`)\n }\n }\n\n accessor = access(accessor, data)\n\n if (accessor) {\n if (typeof accessor !== 'string') {\n accessor = JSON.stringify(accessor, null, 2)\n }\n message += ': ' + accessor\n }\n\n switch (level) {\n case 'error':\n logger.error(message)\n return\n case 'warn':\n logger.warn(message)\n return\n default:\n logger.info(message)\n }\n\n return {\n data: message\n }\n}\n\nLog.parameterSpec = [\n {\n type: 'string',\n name: 'message',\n label: 'message'\n },\n {\n type: 'scenario-step-input',\n name: 'accessor',\n label: 'accessor'\n },\n {\n type: 'select',\n name: 'level',\n label: 'level',\n property: {\n options: ['info', 'warn', 'error']\n }\n }\n]\n\nLog.connectorFree = true\nLog.help = 'integration/task/log'\n\nTaskRegistry.registerTaskHandler('log', Log)\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@things-factory/utils");
4
+ const task_registry_1 = require("../task-registry");
5
+ const connection_manager_1 = require("../connection-manager");
6
+ async function MqttPublish(step, { logger, data, domain }) {
7
+ var { connection: connectionName, params: { topic, accessor } } = step;
8
+ const { client } = connection_manager_1.ConnectionManager.getConnectionInstanceByName(domain, connectionName);
9
+ if (!client) {
10
+ throw Error(`connection is not found : ${connectionName}`);
11
+ }
12
+ if (!topic || !accessor) {
13
+ throw Error(`topic and accessor should be defined: : topic - '${topic}', accessor - '${accessor}'`);
14
+ }
15
+ var message = JSON.stringify((0, utils_1.access)(accessor, data));
16
+ await client.publish(topic, message);
17
+ return {
18
+ data: message
19
+ };
20
+ }
21
+ MqttPublish.parameterSpec = [
22
+ {
23
+ type: 'string',
24
+ name: 'topic',
25
+ label: 'topic'
26
+ },
27
+ {
28
+ type: 'scenario-step-input',
29
+ name: 'accessor',
30
+ label: 'accessor'
31
+ }
32
+ ];
33
+ MqttPublish.help = 'integration/task/mqtt-publish';
34
+ task_registry_1.TaskRegistry.registerTaskHandler('mqtt-publish', MqttPublish);
35
+ //# sourceMappingURL=mqtt-publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mqtt-publish.js","sourceRoot":"","sources":["../../../server/engine/task/mqtt-publish.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAC9C,oDAA+C;AAC/C,8DAAyD;AAIzD,KAAK,UAAU,WAAW,CAAC,IAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAW;IAC3E,IAAI,EACF,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAC5B,GAAG,IAAI,CAAA;IAER,MAAM,EAAE,MAAM,EAAE,GAAG,sCAAiB,CAAC,2BAA2B,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACxF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,KAAK,CAAC,6BAA6B,cAAc,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,KAAK,CAAC,oDAAoD,KAAK,kBAAkB,QAAQ,GAAG,CAAC,CAAA;IACrG,CAAC;IAED,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;IACpD,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAEpC,OAAO;QACL,IAAI,EAAE,OAAO;KACd,CAAA;AACH,CAAC;AAED,WAAW,CAAC,aAAa,GAAG;IAC1B;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;KACf;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;CACF,CAAA;AAED,WAAW,CAAC,IAAI,GAAG,+BAA+B,CAAA;AAElD,4BAAY,CAAC,mBAAmB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA","sourcesContent":["import { access } from '@things-factory/utils'\nimport { TaskRegistry } from '../task-registry'\nimport { ConnectionManager } from '../connection-manager'\nimport { InputStep } from '../../service/step/step-type'\nimport { Context } from '../types'\n\nasync function MqttPublish(step: InputStep, { logger, data, domain }: Context) {\n var {\n connection: connectionName,\n params: { topic, accessor }\n } = step\n\n const { client } = ConnectionManager.getConnectionInstanceByName(domain, connectionName)\n if (!client) {\n throw Error(`connection is not found : ${connectionName}`)\n }\n\n if (!topic || !accessor) {\n throw Error(`topic and accessor should be defined: : topic - '${topic}', accessor - '${accessor}'`)\n }\n\n var message = JSON.stringify(access(accessor, data))\n await client.publish(topic, message)\n\n return {\n data: message\n }\n}\n\nMqttPublish.parameterSpec = [\n {\n type: 'string',\n name: 'topic',\n label: 'topic'\n },\n {\n type: 'scenario-step-input',\n name: 'accessor',\n label: 'accessor'\n }\n]\n\nMqttPublish.help = 'integration/task/mqtt-publish'\n\nTaskRegistry.registerTaskHandler('mqtt-publish', MqttPublish)\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const async_mqtt_1 = tslib_1.__importDefault(require("async-mqtt"));
5
+ const task_registry_1 = require("../task-registry");
6
+ const connection_manager_1 = require("../connection-manager");
7
+ const utils_1 = require("@things-factory/utils");
8
+ function convertDataFormat(data, format) {
9
+ if (format == 'json') {
10
+ return JSON.parse(data);
11
+ }
12
+ else {
13
+ return data.toString();
14
+ }
15
+ }
16
+ async function MqttSubscribe(step, context) {
17
+ const { connection: connectionName, params: { topic, dataFormat }, name } = step;
18
+ const { domain, logger, closures, __mqtt_subscriber } = context;
19
+ if (!__mqtt_subscriber) {
20
+ context.__mqtt_subscriber = {};
21
+ }
22
+ const { connection: { endpoint: uri, params: { user, password } } } = connection_manager_1.ConnectionManager.getConnectionInstanceByName(domain, connectionName);
23
+ if (!topic) {
24
+ throw Error(`topic is not found for ${connectionName}`);
25
+ }
26
+ /*
27
+ * 1. subscriber list에서 subscriber를 찾는다. 없으면, 생성한다.
28
+ * 2. client.once(...)로 메시지를 취한다.
29
+ *
30
+ * TODO 동일 브로커의 다중 subscribe 태스크에 대해서 완벽한 지원을 해야한다.
31
+ * - 현재는 여러 태스크가 동일 topic을 subscribe 하는 경우에 정상동작하지 않을 것이다.
32
+ */
33
+ if (!context.__mqtt_subscriber[name]) {
34
+ try {
35
+ var broker = null;
36
+ if (user && password) {
37
+ broker = await async_mqtt_1.default.connectAsync(uri, { username: user, password: password });
38
+ }
39
+ else {
40
+ broker = await async_mqtt_1.default.connectAsync(uri);
41
+ }
42
+ logger.info(`mqtt-connector connection(${connectionName}:${uri}) is connected`);
43
+ await broker.subscribe(topic);
44
+ logger.info(`success subscribing topic '${topic}'`);
45
+ var TOPIC;
46
+ var MESSAGE;
47
+ context.__mqtt_subscriber[name] = async () => {
48
+ while (!MESSAGE) {
49
+ await (0, utils_1.sleep)(100);
50
+ }
51
+ var topic = TOPIC;
52
+ var message = MESSAGE;
53
+ TOPIC = null;
54
+ MESSAGE = null;
55
+ return {
56
+ topic,
57
+ message
58
+ };
59
+ };
60
+ broker.on('message', async (messageTopic, message) => {
61
+ if (topic !== messageTopic) {
62
+ return;
63
+ }
64
+ TOPIC = topic;
65
+ MESSAGE = convertDataFormat(message, dataFormat);
66
+ // logger.info(`mqtt-subscribe :\n'${message.toString()}'`)
67
+ });
68
+ closures.push(async () => {
69
+ try {
70
+ broker && (await broker.end());
71
+ logger.info(`mqtt-connector connection(${connectionName}:${uri}) is disconnected`);
72
+ }
73
+ catch (e) {
74
+ logger.error(e);
75
+ }
76
+ });
77
+ }
78
+ catch (e) {
79
+ logger.error(e);
80
+ }
81
+ }
82
+ var { message } = await context.__mqtt_subscriber[name]();
83
+ return {
84
+ data: message
85
+ };
86
+ }
87
+ MqttSubscribe.parameterSpec = [
88
+ {
89
+ type: 'string',
90
+ name: 'topic',
91
+ label: 'topic'
92
+ },
93
+ {
94
+ type: 'select',
95
+ label: 'data-format',
96
+ name: 'dataFormat',
97
+ property: {
98
+ options: [
99
+ {
100
+ display: 'Plain Text',
101
+ value: 'text'
102
+ },
103
+ {
104
+ display: 'JSON',
105
+ value: 'json'
106
+ }
107
+ ]
108
+ }
109
+ }
110
+ ];
111
+ MqttSubscribe.help = 'integration/task/mqtt-subscribe';
112
+ task_registry_1.TaskRegistry.registerTaskHandler('mqtt-subscribe', MqttSubscribe);
113
+ //# sourceMappingURL=mqtt-subscribe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mqtt-subscribe.js","sourceRoot":"","sources":["../../../server/engine/task/mqtt-subscribe.ts"],"names":[],"mappings":"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","sourcesContent":["import mqtt from 'async-mqtt'\n\nimport { TaskRegistry } from '../task-registry'\nimport { ConnectionManager } from '../connection-manager'\nimport { sleep } from '@things-factory/utils'\nimport { InputStep } from '../../service/step/step-type'\nimport { Context } from '../types'\n\nfunction convertDataFormat(data, format) {\n if (format == 'json') {\n return JSON.parse(data)\n } else {\n return data.toString()\n }\n}\n\nasync function MqttSubscribe(step: InputStep, context: Context) {\n const {\n connection: connectionName,\n params: { topic, dataFormat },\n name\n } = step\n\n const { domain, logger, closures, __mqtt_subscriber } = context\n if (!__mqtt_subscriber) {\n context.__mqtt_subscriber = {}\n }\n\n const {\n connection: {\n endpoint: uri,\n params: { user, password }\n }\n } = ConnectionManager.getConnectionInstanceByName(domain, connectionName)\n\n if (!topic) {\n throw Error(`topic is not found for ${connectionName}`)\n }\n\n /*\n * 1. subscriber list에서 subscriber를 찾는다. 없으면, 생성한다.\n * 2. client.once(...)로 메시지를 취한다.\n *\n * TODO 동일 브로커의 다중 subscribe 태스크에 대해서 완벽한 지원을 해야한다.\n * - 현재는 여러 태스크가 동일 topic을 subscribe 하는 경우에 정상동작하지 않을 것이다.\n */\n if (!context.__mqtt_subscriber[name]) {\n try {\n var broker = null\n if (user && password) {\n broker = await mqtt.connectAsync(uri, { username: user, password: password })\n } else {\n broker = await mqtt.connectAsync(uri)\n }\n\n logger.info(`mqtt-connector connection(${connectionName}:${uri}) is connected`)\n\n await broker.subscribe(topic)\n logger.info(`success subscribing topic '${topic}'`)\n\n var TOPIC\n var MESSAGE\n\n context.__mqtt_subscriber[name] = async () => {\n while (!MESSAGE) {\n await sleep(100)\n }\n\n var topic = TOPIC\n var message = MESSAGE\n\n TOPIC = null\n MESSAGE = null\n\n return {\n topic,\n message\n }\n }\n\n broker.on('message', async (messageTopic, message) => {\n if (topic !== messageTopic) {\n return\n }\n\n TOPIC = topic\n MESSAGE = convertDataFormat(message, dataFormat)\n\n // logger.info(`mqtt-subscribe :\\n'${message.toString()}'`)\n })\n\n closures.push(async () => {\n try {\n broker && (await broker.end())\n logger.info(`mqtt-connector connection(${connectionName}:${uri}) is disconnected`)\n } catch (e) {\n logger.error(e)\n }\n })\n } catch (e) {\n logger.error(e)\n }\n }\n\n var { message } = await context.__mqtt_subscriber[name]()\n\n return {\n data: message\n }\n}\n\nMqttSubscribe.parameterSpec = [\n {\n type: 'string',\n name: 'topic',\n label: 'topic'\n },\n {\n type: 'select',\n label: 'data-format',\n name: 'dataFormat',\n property: {\n options: [\n {\n display: 'Plain Text',\n value: 'text'\n },\n {\n display: 'JSON',\n value: 'json'\n }\n ]\n }\n }\n]\n\nMqttSubscribe.help = 'integration/task/mqtt-subscribe'\n\nTaskRegistry.registerTaskHandler('mqtt-subscribe', MqttSubscribe)\n"]}
@@ -0,0 +1 @@
1
+ import 'ses';