@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.
- package/dist-server/controllers/index.d.ts +2 -0
- package/dist-server/controllers/index.js +6 -0
- package/dist-server/controllers/index.js.map +1 -0
- package/dist-server/controllers/publish-data.d.ts +6 -0
- package/dist-server/controllers/publish-data.js +22 -0
- package/dist-server/controllers/publish-data.js.map +1 -0
- package/dist-server/controllers/scenario-controller.d.ts +6 -0
- package/dist-server/controllers/scenario-controller.js +99 -0
- package/dist-server/controllers/scenario-controller.js.map +1 -0
- package/dist-server/engine/analyzer/analyze-integration.d.ts +5 -0
- package/dist-server/engine/analyzer/analyze-integration.js +96 -0
- package/dist-server/engine/analyzer/analyze-integration.js.map +1 -0
- package/dist-server/engine/connection-manager.d.ts +35 -0
- package/dist-server/engine/connection-manager.js +192 -0
- package/dist-server/engine/connection-manager.js.map +1 -0
- package/dist-server/engine/connector/echo-back-connector.d.ts +9 -0
- package/dist-server/engine/connector/echo-back-connector.js +39 -0
- package/dist-server/engine/connector/echo-back-connector.js.map +1 -0
- package/dist-server/engine/connector/echo-back-server.d.ts +8 -0
- package/dist-server/engine/connector/echo-back-server.js +58 -0
- package/dist-server/engine/connector/echo-back-server.js.map +1 -0
- package/dist-server/engine/connector/graphql-connector.d.ts +19 -0
- package/dist-server/engine/connector/graphql-connector.js +94 -0
- package/dist-server/engine/connector/graphql-connector.js.map +1 -0
- package/dist-server/engine/connector/headless-connector.d.ts +23 -0
- package/dist-server/engine/connector/headless-connector.js +357 -0
- package/dist-server/engine/connector/headless-connector.js.map +1 -0
- package/dist-server/engine/connector/http-connector.d.ts +25 -0
- package/dist-server/engine/connector/http-connector.js +52 -0
- package/dist-server/engine/connector/http-connector.js.map +1 -0
- package/dist-server/engine/connector/index.d.ts +13 -0
- package/dist-server/engine/connector/index.js +16 -0
- package/dist-server/engine/connector/index.js.map +1 -0
- package/dist-server/engine/connector/mqtt-connector.d.ts +14 -0
- package/dist-server/engine/connector/mqtt-connector.js +62 -0
- package/dist-server/engine/connector/mqtt-connector.js.map +1 -0
- package/dist-server/engine/connector/mssql-connector.d.ts +40 -0
- package/dist-server/engine/connector/mssql-connector.js +137 -0
- package/dist-server/engine/connector/mssql-connector.js.map +1 -0
- package/dist-server/engine/connector/mysql-connector.d.ts +13 -0
- package/dist-server/engine/connector/mysql-connector.js +80 -0
- package/dist-server/engine/connector/mysql-connector.js.map +1 -0
- package/dist-server/engine/connector/operato-connector.d.ts +27 -0
- package/dist-server/engine/connector/operato-connector.js +205 -0
- package/dist-server/engine/connector/operato-connector.js.map +1 -0
- package/dist-server/engine/connector/oracle-connector.d.ts +29 -0
- package/dist-server/engine/connector/oracle-connector.js +187 -0
- package/dist-server/engine/connector/oracle-connector.js.map +1 -0
- package/dist-server/engine/connector/postgresql-connector.d.ts +20 -0
- package/dist-server/engine/connector/postgresql-connector.js +136 -0
- package/dist-server/engine/connector/postgresql-connector.js.map +1 -0
- package/dist-server/engine/connector/proxy-connector.d.ts +15 -0
- package/dist-server/engine/connector/proxy-connector.js +44 -0
- package/dist-server/engine/connector/proxy-connector.js.map +1 -0
- package/dist-server/engine/connector/socket-server.d.ts +9 -0
- package/dist-server/engine/connector/socket-server.js +76 -0
- package/dist-server/engine/connector/socket-server.js.map +1 -0
- package/dist-server/engine/connector/sqlite-connector.d.ts +10 -0
- package/dist-server/engine/connector/sqlite-connector.js +58 -0
- package/dist-server/engine/connector/sqlite-connector.js.map +1 -0
- package/dist-server/engine/edge-client.d.ts +18 -0
- package/dist-server/engine/edge-client.js +37 -0
- package/dist-server/engine/edge-client.js.map +1 -0
- package/dist-server/engine/index.d.ts +9 -0
- package/dist-server/engine/index.js +12 -0
- package/dist-server/engine/index.js.map +1 -0
- package/dist-server/engine/pending-queue.d.ts +24 -0
- package/dist-server/engine/pending-queue.js +75 -0
- package/dist-server/engine/pending-queue.js.map +1 -0
- package/dist-server/engine/resource-pool/headless-pool.d.ts +1 -0
- package/dist-server/engine/resource-pool/headless-pool.js +62 -0
- package/dist-server/engine/resource-pool/headless-pool.js.map +1 -0
- package/dist-server/engine/resource-pool/index.d.ts +1 -0
- package/dist-server/engine/resource-pool/index.js +5 -0
- package/dist-server/engine/resource-pool/index.js.map +1 -0
- package/dist-server/engine/scenario-engine.d.ts +11 -0
- package/dist-server/engine/scenario-engine.js +79 -0
- package/dist-server/engine/scenario-engine.js.map +1 -0
- package/dist-server/engine/task/book-up-scenario.d.ts +1 -0
- package/dist-server/engine/task/book-up-scenario.js +63 -0
- package/dist-server/engine/task/book-up-scenario.js.map +1 -0
- package/dist-server/engine/task/csv-readline.d.ts +1 -0
- package/dist-server/engine/task/csv-readline.js +103 -0
- package/dist-server/engine/task/csv-readline.js.map +1 -0
- package/dist-server/engine/task/data-accessor.d.ts +1 -0
- package/dist-server/engine/task/data-accessor.js +28 -0
- package/dist-server/engine/task/data-accessor.js.map +1 -0
- package/dist-server/engine/task/data-mapper.d.ts +1 -0
- package/dist-server/engine/task/data-mapper.js +37 -0
- package/dist-server/engine/task/data-mapper.js.map +1 -0
- package/dist-server/engine/task/database-query.d.ts +1 -0
- package/dist-server/engine/task/database-query.js +46 -0
- package/dist-server/engine/task/database-query.js.map +1 -0
- package/dist-server/engine/task/echo-receive.d.ts +1 -0
- package/dist-server/engine/task/echo-receive.js +15 -0
- package/dist-server/engine/task/echo-receive.js.map +1 -0
- package/dist-server/engine/task/echo-send.d.ts +1 -0
- package/dist-server/engine/task/echo-send.js +24 -0
- package/dist-server/engine/task/echo-send.js.map +1 -0
- package/dist-server/engine/task/empty-check.d.ts +1 -0
- package/dist-server/engine/task/empty-check.js +30 -0
- package/dist-server/engine/task/empty-check.js.map +1 -0
- package/dist-server/engine/task/end.d.ts +1 -0
- package/dist-server/engine/task/end.js +14 -0
- package/dist-server/engine/task/end.js.map +1 -0
- package/dist-server/engine/task/floating-point.d.ts +1 -0
- package/dist-server/engine/task/floating-point.js +62 -0
- package/dist-server/engine/task/floating-point.js.map +1 -0
- package/dist-server/engine/task/goto.d.ts +1 -0
- package/dist-server/engine/task/goto.js +20 -0
- package/dist-server/engine/task/goto.js.map +1 -0
- package/dist-server/engine/task/graphql-mutate.d.ts +1 -0
- package/dist-server/engine/task/graphql-mutate.js +70 -0
- package/dist-server/engine/task/graphql-mutate.js.map +1 -0
- package/dist-server/engine/task/graphql-query.d.ts +1 -0
- package/dist-server/engine/task/graphql-query.js +70 -0
- package/dist-server/engine/task/graphql-query.js.map +1 -0
- package/dist-server/engine/task/headless-post.d.ts +1 -0
- package/dist-server/engine/task/headless-post.js +110 -0
- package/dist-server/engine/task/headless-post.js.map +1 -0
- package/dist-server/engine/task/headless-scrap.d.ts +1 -0
- package/dist-server/engine/task/headless-scrap.js +71 -0
- package/dist-server/engine/task/headless-scrap.js.map +1 -0
- package/dist-server/engine/task/http-get.d.ts +1 -0
- package/dist-server/engine/task/http-get.js +101 -0
- package/dist-server/engine/task/http-get.js.map +1 -0
- package/dist-server/engine/task/http-post.d.ts +1 -0
- package/dist-server/engine/task/http-post.js +130 -0
- package/dist-server/engine/task/http-post.js.map +1 -0
- package/dist-server/engine/task/index.d.ts +45 -0
- package/dist-server/engine/task/index.js +48 -0
- package/dist-server/engine/task/index.js.map +1 -0
- package/dist-server/engine/task/jsonata.d.ts +1 -0
- package/dist-server/engine/task/jsonata.js +37 -0
- package/dist-server/engine/task/jsonata.js.map +1 -0
- package/dist-server/engine/task/local-graphql-mutate.d.ts +1 -0
- package/dist-server/engine/task/local-graphql-mutate.js +89 -0
- package/dist-server/engine/task/local-graphql-mutate.js.map +1 -0
- package/dist-server/engine/task/local-graphql-query.d.ts +1 -0
- package/dist-server/engine/task/local-graphql-query.js +89 -0
- package/dist-server/engine/task/local-graphql-query.js.map +1 -0
- package/dist-server/engine/task/log.d.ts +1 -0
- package/dist-server/engine/task/log.js +68 -0
- package/dist-server/engine/task/log.js.map +1 -0
- package/dist-server/engine/task/mqtt-publish.d.ts +1 -0
- package/dist-server/engine/task/mqtt-publish.js +35 -0
- package/dist-server/engine/task/mqtt-publish.js.map +1 -0
- package/dist-server/engine/task/mqtt-subscribe.d.ts +1 -0
- package/dist-server/engine/task/mqtt-subscribe.js +113 -0
- package/dist-server/engine/task/mqtt-subscribe.js.map +1 -0
- package/dist-server/engine/task/mssql-procedure.d.ts +1 -0
- package/dist-server/engine/task/mssql-procedure.js +94 -0
- package/dist-server/engine/task/mssql-procedure.js.map +1 -0
- package/dist-server/engine/task/oracle-procedure.d.ts +1 -0
- package/dist-server/engine/task/oracle-procedure.js +91 -0
- package/dist-server/engine/task/oracle-procedure.js.map +1 -0
- package/dist-server/engine/task/pick-pending-scenario.d.ts +1 -0
- package/dist-server/engine/task/pick-pending-scenario.js +61 -0
- package/dist-server/engine/task/pick-pending-scenario.js.map +1 -0
- package/dist-server/engine/task/publish.d.ts +1 -0
- package/dist-server/engine/task/publish.js +31 -0
- package/dist-server/engine/task/publish.js.map +1 -0
- package/dist-server/engine/task/random.d.ts +1 -0
- package/dist-server/engine/task/random.js +45 -0
- package/dist-server/engine/task/random.js.map +1 -0
- package/dist-server/engine/task/reset-pending-queue.d.ts +1 -0
- package/dist-server/engine/task/reset-pending-queue.js +13 -0
- package/dist-server/engine/task/reset-pending-queue.js.map +1 -0
- package/dist-server/engine/task/script.d.ts +1 -0
- package/dist-server/engine/task/script.js +55 -0
- package/dist-server/engine/task/script.js.map +1 -0
- package/dist-server/engine/task/set-domain.d.ts +1 -0
- package/dist-server/engine/task/set-domain.js +27 -0
- package/dist-server/engine/task/set-domain.js.map +1 -0
- package/dist-server/engine/task/sleep.d.ts +1 -0
- package/dist-server/engine/task/sleep.js +26 -0
- package/dist-server/engine/task/sleep.js.map +1 -0
- package/dist-server/engine/task/socket-listener.d.ts +1 -0
- package/dist-server/engine/task/socket-listener.js +86 -0
- package/dist-server/engine/task/socket-listener.js.map +1 -0
- package/dist-server/engine/task/state-group-read.d.ts +1 -0
- package/dist-server/engine/task/state-group-read.js +62 -0
- package/dist-server/engine/task/state-group-read.js.map +1 -0
- package/dist-server/engine/task/state-read.d.ts +1 -0
- package/dist-server/engine/task/state-read.js +49 -0
- package/dist-server/engine/task/state-read.js.map +1 -0
- package/dist-server/engine/task/state-write.d.ts +1 -0
- package/dist-server/engine/task/state-write.js +57 -0
- package/dist-server/engine/task/state-write.js.map +1 -0
- package/dist-server/engine/task/stop-scenario.d.ts +1 -0
- package/dist-server/engine/task/stop-scenario.js +35 -0
- package/dist-server/engine/task/stop-scenario.js.map +1 -0
- package/dist-server/engine/task/sub-scenario.d.ts +1 -0
- package/dist-server/engine/task/sub-scenario.js +45 -0
- package/dist-server/engine/task/sub-scenario.js.map +1 -0
- package/dist-server/engine/task/switch-goto.d.ts +1 -0
- package/dist-server/engine/task/switch-goto.js +32 -0
- package/dist-server/engine/task/switch-goto.js.map +1 -0
- package/dist-server/engine/task/switch-range-goto.d.ts +1 -0
- package/dist-server/engine/task/switch-range-goto.js +39 -0
- package/dist-server/engine/task/switch-range-goto.js.map +1 -0
- package/dist-server/engine/task/switch-range-scenario.d.ts +1 -0
- package/dist-server/engine/task/switch-range-scenario.js +60 -0
- package/dist-server/engine/task/switch-range-scenario.js.map +1 -0
- package/dist-server/engine/task/switch-range-set.d.ts +1 -0
- package/dist-server/engine/task/switch-range-set.js +35 -0
- package/dist-server/engine/task/switch-range-set.js.map +1 -0
- package/dist-server/engine/task/switch-scenario.d.ts +1 -0
- package/dist-server/engine/task/switch-scenario.js +53 -0
- package/dist-server/engine/task/switch-scenario.js.map +1 -0
- package/dist-server/engine/task/switch-set.d.ts +1 -0
- package/dist-server/engine/task/switch-set.js +28 -0
- package/dist-server/engine/task/switch-set.js.map +1 -0
- package/dist-server/engine/task/throw.d.ts +1 -0
- package/dist-server/engine/task/throw.js +19 -0
- package/dist-server/engine/task/throw.js.map +1 -0
- package/dist-server/engine/task/utils/headless-pool-for-scenario.d.ts +1 -0
- package/dist-server/engine/task/utils/headless-pool-for-scenario.js +64 -0
- package/dist-server/engine/task/utils/headless-pool-for-scenario.js.map +1 -0
- package/dist-server/engine/task/utils/substitute.d.ts +1 -0
- package/dist-server/engine/task/utils/substitute.js +45 -0
- package/dist-server/engine/task/utils/substitute.js.map +1 -0
- package/dist-server/engine/task/variables.d.ts +1 -0
- package/dist-server/engine/task/variables.js +13 -0
- package/dist-server/engine/task/variables.js.map +1 -0
- package/dist-server/engine/task-registry.d.ts +12 -0
- package/dist-server/engine/task-registry.js +20 -0
- package/dist-server/engine/task-registry.js.map +1 -0
- package/dist-server/engine/types.d.ts +94 -0
- package/dist-server/engine/types.js +3 -0
- package/dist-server/engine/types.js.map +1 -0
- package/dist-server/index.d.ts +6 -0
- package/dist-server/index.js +21 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/migrations/index.d.ts +1 -0
- package/dist-server/migrations/index.js +12 -0
- package/dist-server/migrations/index.js.map +1 -0
- package/dist-server/restful/index.d.ts +1 -0
- package/dist-server/restful/index.js +4 -0
- package/dist-server/restful/index.js.map +1 -0
- package/dist-server/restful/unstable/index.d.ts +7 -0
- package/dist-server/restful/unstable/index.js +10 -0
- package/dist-server/restful/unstable/index.js.map +1 -0
- package/dist-server/restful/unstable/run-scenario.d.ts +1 -0
- package/dist-server/restful/unstable/run-scenario.js +45 -0
- package/dist-server/restful/unstable/run-scenario.js.map +1 -0
- package/dist-server/restful/unstable/scenario-instance.d.ts +1 -0
- package/dist-server/restful/unstable/scenario-instance.js +52 -0
- package/dist-server/restful/unstable/scenario-instance.js.map +1 -0
- package/dist-server/restful/unstable/scenario-instances.d.ts +1 -0
- package/dist-server/restful/unstable/scenario-instances.js +74 -0
- package/dist-server/restful/unstable/scenario-instances.js.map +1 -0
- package/dist-server/restful/unstable/scenario.d.ts +1 -0
- package/dist-server/restful/unstable/scenario.js +41 -0
- package/dist-server/restful/unstable/scenario.js.map +1 -0
- package/dist-server/restful/unstable/scenarios.d.ts +1 -0
- package/dist-server/restful/unstable/scenarios.js +63 -0
- package/dist-server/restful/unstable/scenarios.js.map +1 -0
- package/dist-server/restful/unstable/start-scenario.d.ts +1 -0
- package/dist-server/restful/unstable/start-scenario.js +33 -0
- package/dist-server/restful/unstable/start-scenario.js.map +1 -0
- package/dist-server/restful/unstable/stop-scenario.d.ts +1 -0
- package/dist-server/restful/unstable/stop-scenario.js +30 -0
- package/dist-server/restful/unstable/stop-scenario.js.map +1 -0
- package/dist-server/routers/scenario-schedule-callback-router.d.ts +1 -0
- package/dist-server/routers/scenario-schedule-callback-router.js +55 -0
- package/dist-server/routers/scenario-schedule-callback-router.js.map +1 -0
- package/dist-server/routers/scenario-view-router.d.ts +1 -0
- package/dist-server/routers/scenario-view-router.js +41 -0
- package/dist-server/routers/scenario-view-router.js.map +1 -0
- package/dist-server/routes.d.ts +1 -0
- package/dist-server/routes.js +23 -0
- package/dist-server/routes.js.map +1 -0
- package/dist-server/service/analysis/analysis-query.d.ts +3 -0
- package/dist-server/service/analysis/analysis-query.js +25 -0
- package/dist-server/service/analysis/analysis-query.js.map +1 -0
- package/dist-server/service/analysis/index.d.ts +2 -0
- package/dist-server/service/analysis/index.js +6 -0
- package/dist-server/service/analysis/index.js.map +1 -0
- package/dist-server/service/connection/connection-mutation.d.ts +30 -0
- package/dist-server/service/connection/connection-mutation.js +182 -0
- package/dist-server/service/connection/connection-mutation.js.map +1 -0
- package/dist-server/service/connection/connection-query.d.ts +12 -0
- package/dist-server/service/connection/connection-query.js +112 -0
- package/dist-server/service/connection/connection-query.js.map +1 -0
- package/dist-server/service/connection/connection-subscription.d.ts +10 -0
- package/dist-server/service/connection/connection-subscription.js +98 -0
- package/dist-server/service/connection/connection-subscription.js.map +1 -0
- package/dist-server/service/connection/connection-type.d.ts +133 -0
- package/dist-server/service/connection/connection-type.js +294 -0
- package/dist-server/service/connection/connection-type.js.map +1 -0
- package/dist-server/service/connection/index.d.ts +6 -0
- package/dist-server/service/connection/index.js +10 -0
- package/dist-server/service/connection/index.js.map +1 -0
- package/dist-server/service/connector/connector-query.d.ts +6 -0
- package/dist-server/service/connector/connector-query.js +77 -0
- package/dist-server/service/connector/connector-query.js.map +1 -0
- package/dist-server/service/connector/connector-type.d.ts +12 -0
- package/dist-server/service/connector/connector-type.js +47 -0
- package/dist-server/service/connector/connector-type.js.map +1 -0
- package/dist-server/service/connector/index.d.ts +3 -0
- package/dist-server/service/connector/index.js +7 -0
- package/dist-server/service/connector/index.js.map +1 -0
- package/dist-server/service/index.d.ts +17 -0
- package/dist-server/service/index.js +55 -0
- package/dist-server/service/index.js.map +1 -0
- package/dist-server/service/payload-log/index.d.ts +5 -0
- package/dist-server/service/payload-log/index.js +9 -0
- package/dist-server/service/payload-log/index.js.map +1 -0
- package/dist-server/service/payload-log/payload-log-mutation.d.ts +10 -0
- package/dist-server/service/payload-log/payload-log-mutation.js +134 -0
- package/dist-server/service/payload-log/payload-log-mutation.js.map +1 -0
- package/dist-server/service/payload-log/payload-log-query.d.ts +11 -0
- package/dist-server/service/payload-log/payload-log-query.js +76 -0
- package/dist-server/service/payload-log/payload-log-query.js.map +1 -0
- package/dist-server/service/payload-log/payload-log-type.d.ts +15 -0
- package/dist-server/service/payload-log/payload-log-type.js +57 -0
- package/dist-server/service/payload-log/payload-log-type.js.map +1 -0
- package/dist-server/service/payload-log/payload-log.d.ts +23 -0
- package/dist-server/service/payload-log/payload-log.js +110 -0
- package/dist-server/service/payload-log/payload-log.js.map +1 -0
- package/dist-server/service/property-spec.d.ts +12 -0
- package/dist-server/service/property-spec.js +37 -0
- package/dist-server/service/property-spec.js.map +1 -0
- package/dist-server/service/scenario/index.d.ts +5 -0
- package/dist-server/service/scenario/index.js +9 -0
- package/dist-server/service/scenario/index.js.map +1 -0
- package/dist-server/service/scenario/scenario-mutation.d.ts +13 -0
- package/dist-server/service/scenario/scenario-mutation.js +327 -0
- package/dist-server/service/scenario/scenario-mutation.js.map +1 -0
- package/dist-server/service/scenario/scenario-query.d.ts +19 -0
- package/dist-server/service/scenario/scenario-query.js +167 -0
- package/dist-server/service/scenario/scenario-query.js.map +1 -0
- package/dist-server/service/scenario/scenario-type.d.ts +30 -0
- package/dist-server/service/scenario/scenario-type.js +111 -0
- package/dist-server/service/scenario/scenario-type.js.map +1 -0
- package/dist-server/service/scenario/scenario.d.ts +38 -0
- package/dist-server/service/scenario/scenario.js +142 -0
- package/dist-server/service/scenario/scenario.js.map +1 -0
- package/dist-server/service/scenario-flow/scenario-flow.d.ts +6 -0
- package/dist-server/service/scenario-flow/scenario-flow.js +28 -0
- package/dist-server/service/scenario-flow/scenario-flow.js.map +1 -0
- package/dist-server/service/scenario-instance/index.d.ts +5 -0
- package/dist-server/service/scenario-instance/index.js +9 -0
- package/dist-server/service/scenario-instance/index.js.map +1 -0
- package/dist-server/service/scenario-instance/scenario-instance-mutation.d.ts +6 -0
- package/dist-server/service/scenario-instance/scenario-instance-mutation.js +54 -0
- package/dist-server/service/scenario-instance/scenario-instance-mutation.js.map +1 -0
- package/dist-server/service/scenario-instance/scenario-instance-query.d.ts +6 -0
- package/dist-server/service/scenario-instance/scenario-instance-query.js +45 -0
- package/dist-server/service/scenario-instance/scenario-instance-query.js.map +1 -0
- package/dist-server/service/scenario-instance/scenario-instance-subscription.d.ts +10 -0
- package/dist-server/service/scenario-instance/scenario-instance-subscription.js +109 -0
- package/dist-server/service/scenario-instance/scenario-instance-subscription.js.map +1 -0
- package/dist-server/service/scenario-instance/scenario-instance-type.d.ts +102 -0
- package/dist-server/service/scenario-instance/scenario-instance-type.js +533 -0
- package/dist-server/service/scenario-instance/scenario-instance-type.js.map +1 -0
- package/dist-server/service/scenario-queue/index.d.ts +3 -0
- package/dist-server/service/scenario-queue/index.js +7 -0
- package/dist-server/service/scenario-queue/index.js.map +1 -0
- package/dist-server/service/scenario-queue/scenario-queue-subscription.d.ts +6 -0
- package/dist-server/service/scenario-queue/scenario-queue-subscription.js +58 -0
- package/dist-server/service/scenario-queue/scenario-queue-subscription.js.map +1 -0
- package/dist-server/service/scenario-queue/scenario-queue-type.d.ts +11 -0
- package/dist-server/service/scenario-queue/scenario-queue-type.js +43 -0
- package/dist-server/service/scenario-queue/scenario-queue-type.js.map +1 -0
- package/dist-server/service/state-register/data-resolver.d.ts +6 -0
- package/dist-server/service/state-register/data-resolver.js +61 -0
- package/dist-server/service/state-register/data-resolver.js.map +1 -0
- package/dist-server/service/state-register/index.d.ts +7 -0
- package/dist-server/service/state-register/index.js +11 -0
- package/dist-server/service/state-register/index.js.map +1 -0
- package/dist-server/service/state-register/state-register-mutation.d.ts +11 -0
- package/dist-server/service/state-register/state-register-mutation.js +153 -0
- package/dist-server/service/state-register/state-register-mutation.js.map +1 -0
- package/dist-server/service/state-register/state-register-query.d.ts +14 -0
- package/dist-server/service/state-register/state-register-query.js +123 -0
- package/dist-server/service/state-register/state-register-query.js.map +1 -0
- package/dist-server/service/state-register/state-register-type.d.ts +29 -0
- package/dist-server/service/state-register/state-register-type.js +114 -0
- package/dist-server/service/state-register/state-register-type.js.map +1 -0
- package/dist-server/service/state-register/state-register.d.ts +25 -0
- package/dist-server/service/state-register/state-register.js +128 -0
- package/dist-server/service/state-register/state-register.js.map +1 -0
- package/dist-server/service/step/index.d.ts +5 -0
- package/dist-server/service/step/index.js +9 -0
- package/dist-server/service/step/index.js.map +1 -0
- package/dist-server/service/step/step-mutation.d.ts +5 -0
- package/dist-server/service/step/step-mutation.js +55 -0
- package/dist-server/service/step/step-mutation.js.map +1 -0
- package/dist-server/service/step/step-query.d.ts +12 -0
- package/dist-server/service/step/step-query.js +89 -0
- package/dist-server/service/step/step-query.js.map +1 -0
- package/dist-server/service/step/step-type.d.ts +111 -0
- package/dist-server/service/step/step-type.js +212 -0
- package/dist-server/service/step/step-type.js.map +1 -0
- package/dist-server/service/task-type/index.d.ts +3 -0
- package/dist-server/service/task-type/index.js +7 -0
- package/dist-server/service/task-type/index.js.map +1 -0
- package/dist-server/service/task-type/task-type-query.d.ts +6 -0
- package/dist-server/service/task-type/task-type-query.js +108 -0
- package/dist-server/service/task-type/task-type-query.js.map +1 -0
- package/dist-server/service/task-type/task-type-type.d.ts +12 -0
- package/dist-server/service/task-type/task-type-type.js +47 -0
- package/dist-server/service/task-type/task-type-type.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -0
- package/package.json +10 -10
@@ -0,0 +1,15 @@
|
|
1
|
+
import { Connector } from '../types';
|
2
|
+
import { InputConnection } from '../../service/connection/connection-type';
|
3
|
+
/**
|
4
|
+
* This connector is a proxy connector installed on the edge server to manage connections from the host.
|
5
|
+
* It interacts with connections established on the edge server and provides synchronization functionality.
|
6
|
+
*/
|
7
|
+
export declare class ProxyConnector implements Connector {
|
8
|
+
static instance: ProxyConnector;
|
9
|
+
ready(connectionConfigs: InputConnection[]): Promise<void>;
|
10
|
+
connect(connection: InputConnection): Promise<void>;
|
11
|
+
disconnect(connection: InputConnection): Promise<void>;
|
12
|
+
get parameterSpec(): any[];
|
13
|
+
get taskPrefixes(): any[];
|
14
|
+
get description(): string;
|
15
|
+
}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ProxyConnector = void 0;
|
4
|
+
const connection_manager_1 = require("../connection-manager");
|
5
|
+
const edge_client_1 = require("../edge-client");
|
6
|
+
/**
|
7
|
+
* This connector is a proxy connector installed on the edge server to manage connections from the host.
|
8
|
+
* It interacts with connections established on the edge server and provides synchronization functionality.
|
9
|
+
*/
|
10
|
+
class ProxyConnector {
|
11
|
+
async ready(connectionConfigs) {
|
12
|
+
await Promise.all(connectionConfigs.map(this.connect.bind(this)));
|
13
|
+
connection_manager_1.ConnectionManager.logger.info('proxy-connector connections are ready');
|
14
|
+
}
|
15
|
+
async connect(connection) {
|
16
|
+
// TODO 원래 커넥션과 에지설정을 참고하여, 에지 서버로 CONNECT/DISCONNECT 명령을 보낸다.
|
17
|
+
const proxy = {
|
18
|
+
disconnect: async () => {
|
19
|
+
connection_manager_1.ConnectionManager.logger.info('[proxy-connector] trying disconnect');
|
20
|
+
await (0, edge_client_1.disconnectConnections)([connection]);
|
21
|
+
}
|
22
|
+
};
|
23
|
+
await (0, edge_client_1.connectConnections)([connection]);
|
24
|
+
connection_manager_1.ConnectionManager.addConnectionInstance(connection, proxy);
|
25
|
+
connection_manager_1.ConnectionManager.logger.info(`proxy-connector connection(${connection.name}:${connection.endpoint}) is connected`);
|
26
|
+
}
|
27
|
+
async disconnect(connection) {
|
28
|
+
const proxy = connection_manager_1.ConnectionManager.removeConnectionInstance(connection);
|
29
|
+
await proxy.disconnect();
|
30
|
+
connection_manager_1.ConnectionManager.logger.info(`proxy-connector connection(${connection.name}) is disconnected`);
|
31
|
+
}
|
32
|
+
get parameterSpec() {
|
33
|
+
return [];
|
34
|
+
}
|
35
|
+
get taskPrefixes() {
|
36
|
+
return [];
|
37
|
+
}
|
38
|
+
get description() {
|
39
|
+
return 'Operato Proxy Connector';
|
40
|
+
}
|
41
|
+
}
|
42
|
+
exports.ProxyConnector = ProxyConnector;
|
43
|
+
ProxyConnector.instance = new ProxyConnector();
|
44
|
+
//# sourceMappingURL=proxy-connector.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"proxy-connector.js","sourceRoot":"","sources":["../../../server/engine/connector/proxy-connector.ts"],"names":[],"mappings":";;;AAAA,8DAAyD;AAGzD,gDAA0E;AAE1E;;;GAGG;AACH,MAAa,cAAc;IAGzB,KAAK,CAAC,KAAK,CAAC,iBAAoC;QAC9C,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEjE,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAA2B;QACvC,8DAA8D;QAC9D,MAAM,KAAK,GAAG;YACZ,UAAU,EAAE,KAAK,IAAI,EAAE;gBACrB,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;gBACpE,MAAM,IAAA,mCAAqB,EAAC,CAAC,UAAU,CAAC,CAAC,CAAA;YAC3C,CAAC;SACF,CAAA;QAED,MAAM,IAAA,gCAAkB,EAAC,CAAC,UAAU,CAAC,CAAC,CAAA;QAEtC,sCAAiB,CAAC,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QAE1D,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,gBAAgB,CAAC,CAAA;IACrH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAA2B;QAC1C,MAAM,KAAK,GAAG,sCAAiB,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAA;QACpE,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,UAAU,CAAC,IAAI,mBAAmB,CAAC,CAAA;IACjG,CAAC;IAED,IAAI,aAAa;QACf,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,YAAY;QACd,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,WAAW;QACb,OAAO,yBAAyB,CAAA;IAClC,CAAC;;AA1CH,wCA2CC;AA1Ce,uBAAQ,GAAG,IAAI,cAAc,EAAE,CAAA","sourcesContent":["import { ConnectionManager } from '../connection-manager'\nimport { Connector } from '../types'\nimport { InputConnection } from '../../service/connection/connection-type'\nimport { connectConnections, disconnectConnections } from '../edge-client'\n\n/**\n * This connector is a proxy connector installed on the edge server to manage connections from the host.\n * It interacts with connections established on the edge server and provides synchronization functionality.\n */\nexport class ProxyConnector implements Connector {\n public static instance = new ProxyConnector()\n\n async ready(connectionConfigs: InputConnection[]) {\n await Promise.all(connectionConfigs.map(this.connect.bind(this)))\n\n ConnectionManager.logger.info('proxy-connector connections are ready')\n }\n\n async connect(connection: InputConnection) {\n // TODO 원래 커넥션과 에지설정을 참고하여, 에지 서버로 CONNECT/DISCONNECT 명령을 보낸다.\n const proxy = {\n disconnect: async () => {\n ConnectionManager.logger.info('[proxy-connector] trying disconnect')\n await disconnectConnections([connection])\n }\n }\n\n await connectConnections([connection])\n\n ConnectionManager.addConnectionInstance(connection, proxy)\n\n ConnectionManager.logger.info(`proxy-connector connection(${connection.name}:${connection.endpoint}) is connected`)\n }\n\n async disconnect(connection: InputConnection) {\n const proxy = ConnectionManager.removeConnectionInstance(connection)\n await proxy.disconnect()\n\n ConnectionManager.logger.info(`proxy-connector connection(${connection.name}) is disconnected`)\n }\n\n get parameterSpec() {\n return []\n }\n\n get taskPrefixes() {\n return []\n }\n\n get description() {\n return 'Operato Proxy Connector'\n }\n}\n"]}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { Connector } from '../types';
|
2
|
+
import { InputConnection } from '../../service/connection/connection-type';
|
3
|
+
export declare class SocketServer implements Connector {
|
4
|
+
ready(connectionConfigs: InputConnection[]): Promise<void>;
|
5
|
+
connect(config: InputConnection): Promise<void>;
|
6
|
+
disconnect(connection: InputConnection): Promise<void>;
|
7
|
+
get parameterSpec(): any[];
|
8
|
+
get taskPrefixes(): string[];
|
9
|
+
}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.SocketServer = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const net_1 = tslib_1.__importDefault(require("net"));
|
6
|
+
const events_1 = require("events");
|
7
|
+
const connection_manager_1 = require("../connection-manager");
|
8
|
+
class SocketServer {
|
9
|
+
// socket: any
|
10
|
+
async ready(connectionConfigs) {
|
11
|
+
await Promise.all(connectionConfigs.map(this.connect));
|
12
|
+
connection_manager_1.ConnectionManager.logger.info('socket servers are ready');
|
13
|
+
}
|
14
|
+
async connect(config) {
|
15
|
+
var em = new events_1.EventEmitter();
|
16
|
+
var [host = '0.0.0.0', port = 8124] = config.endpoint.split(':');
|
17
|
+
return new Promise((resolve, reject) => {
|
18
|
+
var server = net_1.default.createServer(tcp => {
|
19
|
+
connection_manager_1.ConnectionManager.logger.info('Client connection: ');
|
20
|
+
connection_manager_1.ConnectionManager.logger.info(' local = %s:%s', tcp.localAddress, tcp.localPort);
|
21
|
+
connection_manager_1.ConnectionManager.logger.info(' remote = %s:%s', tcp.remoteAddress, tcp.remotePort);
|
22
|
+
tcp.on('data', (data) => {
|
23
|
+
em['__tcp__'] = tcp;
|
24
|
+
var message = data.toString();
|
25
|
+
message = message.replace('SB#', '');
|
26
|
+
message = message.replace(/(\r\n|\n|\r)/gm, '');
|
27
|
+
em.emit('socket-message-arrive', message);
|
28
|
+
connection_manager_1.ConnectionManager.logger.info(`socket ${message}`);
|
29
|
+
tcp.write('ok');
|
30
|
+
});
|
31
|
+
tcp.on('end', () => {
|
32
|
+
connection_manager_1.ConnectionManager.logger.info('Client disconnected');
|
33
|
+
});
|
34
|
+
tcp.on('error', ex => {
|
35
|
+
connection_manager_1.ConnectionManager.logger.info('Server socket error: ');
|
36
|
+
var logger = connection_manager_1.ConnectionManager.logger;
|
37
|
+
let message = ex.stack ? ex.stack : ex;
|
38
|
+
let msg = typeof message == 'object' ? JSON.stringify(message, null, 2) : message;
|
39
|
+
logger.error(msg, ex);
|
40
|
+
reject(ex);
|
41
|
+
});
|
42
|
+
});
|
43
|
+
server.listen(port, async () => {
|
44
|
+
connection_manager_1.ConnectionManager.logger.info(`tcp echo server listening on ${host}:${port}`);
|
45
|
+
/* default client connection */
|
46
|
+
try {
|
47
|
+
em['__server__'] = server;
|
48
|
+
connection_manager_1.ConnectionManager.addConnectionInstance(config, em);
|
49
|
+
connection_manager_1.ConnectionManager.logger.info(`socket server connection(${config.name}:${config.endpoint}) is connected`);
|
50
|
+
resolve();
|
51
|
+
}
|
52
|
+
catch (err) {
|
53
|
+
connection_manager_1.ConnectionManager.logger.error(err);
|
54
|
+
reject(err);
|
55
|
+
}
|
56
|
+
});
|
57
|
+
});
|
58
|
+
}
|
59
|
+
async disconnect(connection) {
|
60
|
+
let em = connection_manager_1.ConnectionManager.removeConnectionInstance(connection);
|
61
|
+
var tcp = em['__tcp__'];
|
62
|
+
var server = em['__server__'];
|
63
|
+
tcp && (await tcp.destroy());
|
64
|
+
server && (await server.close());
|
65
|
+
connection_manager_1.ConnectionManager.logger.info(`socket server connection(${connection.name}) is disconnected`);
|
66
|
+
}
|
67
|
+
get parameterSpec() {
|
68
|
+
return [];
|
69
|
+
}
|
70
|
+
get taskPrefixes() {
|
71
|
+
return ['socket'];
|
72
|
+
}
|
73
|
+
}
|
74
|
+
exports.SocketServer = SocketServer;
|
75
|
+
connection_manager_1.ConnectionManager.registerConnector('socket-server', new SocketServer());
|
76
|
+
//# sourceMappingURL=socket-server.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"socket-server.js","sourceRoot":"","sources":["../../../server/engine/connector/socket-server.ts"],"names":[],"mappings":"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","sourcesContent":["import net from 'net'\nimport { EventEmitter } from 'events'\n\nimport { Connector } from '../types'\nimport { ConnectionManager } from '../connection-manager'\nimport { InputConnection } from '../../service/connection/connection-type'\n\nexport class SocketServer implements Connector {\n // socket: any\n\n async ready(connectionConfigs: InputConnection[]) {\n await Promise.all(connectionConfigs.map(this.connect))\n ConnectionManager.logger.info('socket servers are ready')\n }\n\n async connect(config: InputConnection): Promise<void> {\n var em = new EventEmitter()\n var [host = '0.0.0.0', port = 8124] = config.endpoint.split(':')\n return new Promise((resolve, reject) => {\n var server = net.createServer(tcp => {\n ConnectionManager.logger.info('Client connection: ')\n ConnectionManager.logger.info(' local = %s:%s', tcp.localAddress, tcp.localPort)\n ConnectionManager.logger.info(' remote = %s:%s', tcp.remoteAddress, tcp.remotePort)\n tcp.on('data', (data: any) => {\n em['__tcp__'] = tcp\n var message = data.toString()\n message = message.replace('SB#', '')\n message = message.replace(/(\\r\\n|\\n|\\r)/gm, '')\n em.emit('socket-message-arrive', message)\n ConnectionManager.logger.info(`socket ${message}`)\n tcp.write('ok')\n })\n\n tcp.on('end', () => {\n ConnectionManager.logger.info('Client disconnected')\n })\n\n tcp.on('error', ex => {\n ConnectionManager.logger.info('Server socket error: ')\n var logger = ConnectionManager.logger\n let message = ex.stack ? ex.stack : ex\n let msg = typeof message == 'object' ? JSON.stringify(message, null, 2) : message\n logger.error(msg, ex)\n reject(ex)\n })\n })\n\n server.listen(port, async () => {\n ConnectionManager.logger.info(`tcp echo server listening on ${host}:${port}`)\n\n /* default client connection */\n try {\n em['__server__'] = server\n ConnectionManager.addConnectionInstance(config, em)\n ConnectionManager.logger.info(`socket server connection(${config.name}:${config.endpoint}) is connected`)\n\n resolve()\n } catch (err) {\n ConnectionManager.logger.error(err)\n reject(err)\n }\n })\n })\n }\n\n async disconnect(connection: InputConnection) {\n let em = ConnectionManager.removeConnectionInstance(connection)\n var tcp = em['__tcp__']\n var server = em['__server__']\n\n tcp && (await tcp.destroy())\n server && (await server.close())\n\n ConnectionManager.logger.info(`socket server connection(${connection.name}) is disconnected`)\n }\n\n get parameterSpec() {\n return []\n }\n\n get taskPrefixes() {\n return ['socket']\n }\n}\n\nConnectionManager.registerConnector('socket-server', new SocketServer())\n"]}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { Connector } from '../types';
|
2
|
+
import { InputConnection } from '../../service/connection/connection-type';
|
3
|
+
export declare class SqliteConnector implements Connector {
|
4
|
+
ready(connectionConfigs: InputConnection[]): Promise<void>;
|
5
|
+
connect(connection: InputConnection): Promise<void>;
|
6
|
+
disconnect(connection: InputConnection): Promise<void>;
|
7
|
+
get parameterSpec(): any[];
|
8
|
+
get taskPrefixes(): string[];
|
9
|
+
get help(): string;
|
10
|
+
}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.SqliteConnector = void 0;
|
4
|
+
const util_1 = require("util");
|
5
|
+
const env_1 = require("@things-factory/env");
|
6
|
+
const connection_manager_1 = require("../connection-manager");
|
7
|
+
try {
|
8
|
+
var sqlite3 = require('sqlite3').verbose();
|
9
|
+
}
|
10
|
+
catch (err) {
|
11
|
+
env_1.logger.error('sqlite3 module loading failed', err);
|
12
|
+
}
|
13
|
+
class SqliteConnector {
|
14
|
+
async ready(connectionConfigs) {
|
15
|
+
await Promise.all(connectionConfigs.map(this.connect.bind(this)));
|
16
|
+
connection_manager_1.ConnectionManager.logger.info('sqlite-connector connections are ready');
|
17
|
+
}
|
18
|
+
async connect(connection) {
|
19
|
+
var { endpoint } = connection;
|
20
|
+
if (!sqlite3) {
|
21
|
+
throw new Error('sqlite3 module loading failed');
|
22
|
+
}
|
23
|
+
var database = new sqlite3.Database(endpoint, sqlite3.OPEN_READWRITE, err => {
|
24
|
+
if (err) {
|
25
|
+
connection_manager_1.ConnectionManager.logger.error(`SQLite Database(${connection.name}) at ${endpoint} not connected.`, err);
|
26
|
+
return;
|
27
|
+
}
|
28
|
+
connection_manager_1.ConnectionManager.addConnectionInstance(connection, {
|
29
|
+
query: (0, util_1.promisify)(database.all.bind(database)),
|
30
|
+
close: (0, util_1.promisify)(database.close.bind(database))
|
31
|
+
});
|
32
|
+
connection_manager_1.ConnectionManager.logger.info(`SQLite Database(${connection.name}) at ${endpoint} connected.`);
|
33
|
+
});
|
34
|
+
}
|
35
|
+
async disconnect(connection) {
|
36
|
+
var database = connection_manager_1.ConnectionManager.getConnectionInstance(connection);
|
37
|
+
try {
|
38
|
+
await database.close();
|
39
|
+
connection_manager_1.ConnectionManager.logger.info(`SQLite Database(${connection.name}) closed.`);
|
40
|
+
}
|
41
|
+
catch (e) {
|
42
|
+
connection_manager_1.ConnectionManager.logger.error(e);
|
43
|
+
}
|
44
|
+
connection_manager_1.ConnectionManager.removeConnectionInstance(connection);
|
45
|
+
}
|
46
|
+
get parameterSpec() {
|
47
|
+
return [];
|
48
|
+
}
|
49
|
+
get taskPrefixes() {
|
50
|
+
return ['database'];
|
51
|
+
}
|
52
|
+
get help() {
|
53
|
+
return 'integration/connector/sqlite-connector';
|
54
|
+
}
|
55
|
+
}
|
56
|
+
exports.SqliteConnector = SqliteConnector;
|
57
|
+
connection_manager_1.ConnectionManager.registerConnector('sqlite-connector', new SqliteConnector());
|
58
|
+
//# sourceMappingURL=sqlite-connector.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sqlite-connector.js","sourceRoot":"","sources":["../../../server/engine/connector/sqlite-connector.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAEhC,6CAA4C;AAE5C,8DAAyD;AAIzD,IAAI,CAAC;IACH,IAAI,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;AAC5C,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACb,YAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;AACpD,CAAC;AAED,MAAa,eAAe;IAC1B,KAAK,CAAC,KAAK,CAAC,iBAAoC;QAC9C,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEjE,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;IACzE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAA2B;QACvC,IAAI,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;QAE7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE;YAC1E,IAAI,GAAG,EAAE,CAAC;gBACR,sCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,UAAU,CAAC,IAAI,QAAQ,QAAQ,iBAAiB,EAAE,GAAG,CAAC,CAAA;gBACxG,OAAM;YACR,CAAC;YAED,sCAAiB,CAAC,qBAAqB,CAAC,UAAU,EAAE;gBAClD,KAAK,EAAE,IAAA,gBAAS,EAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7C,KAAK,EAAE,IAAA,gBAAS,EAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChD,CAAC,CAAA;YAEF,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,IAAI,QAAQ,QAAQ,aAAa,CAAC,CAAA;QAChG,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAA2B;QAC1C,IAAI,QAAQ,GAAG,sCAAiB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAA;QAClE,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAA;YACtB,sCAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,IAAI,WAAW,CAAC,CAAA;QAC9E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACnC,CAAC;QAED,sCAAiB,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,YAAY;QACd,OAAO,CAAC,UAAU,CAAC,CAAA;IACrB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,wCAAwC,CAAA;IACjD,CAAC;CACF;AApDD,0CAoDC;AAED,sCAAiB,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,IAAI,eAAe,EAAE,CAAC,CAAA","sourcesContent":["import { promisify } from 'util'\n\nimport { logger } from '@things-factory/env'\n\nimport { ConnectionManager } from '../connection-manager'\nimport { Connector } from '../types'\nimport { InputConnection } from '../../service/connection/connection-type'\n\ntry {\n var sqlite3 = require('sqlite3').verbose()\n} catch (err) {\n logger.error('sqlite3 module loading failed', err)\n}\n\nexport class SqliteConnector implements Connector {\n async ready(connectionConfigs: InputConnection[]) {\n await Promise.all(connectionConfigs.map(this.connect.bind(this)))\n\n ConnectionManager.logger.info('sqlite-connector connections are ready')\n }\n\n async connect(connection: InputConnection) {\n var { endpoint } = connection\n\n if (!sqlite3) {\n throw new Error('sqlite3 module loading failed')\n }\n\n var database = new sqlite3.Database(endpoint, sqlite3.OPEN_READWRITE, err => {\n if (err) {\n ConnectionManager.logger.error(`SQLite Database(${connection.name}) at ${endpoint} not connected.`, err)\n return\n }\n\n ConnectionManager.addConnectionInstance(connection, {\n query: promisify(database.all.bind(database)),\n close: promisify(database.close.bind(database))\n })\n\n ConnectionManager.logger.info(`SQLite Database(${connection.name}) at ${endpoint} connected.`)\n })\n }\n\n async disconnect(connection: InputConnection) {\n var database = ConnectionManager.getConnectionInstance(connection)\n try {\n await database.close()\n ConnectionManager.logger.info(`SQLite Database(${connection.name}) closed.`)\n } catch (e) {\n ConnectionManager.logger.error(e)\n }\n\n ConnectionManager.removeConnectionInstance(connection)\n }\n\n get parameterSpec() {\n return []\n }\n\n get taskPrefixes() {\n return ['database']\n }\n\n get help() {\n return 'integration/connector/sqlite-connector'\n }\n}\n\nConnectionManager.registerConnector('sqlite-connector', new SqliteConnector())\n"]}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { Connection } from '../service/connection/connection-type';
|
2
|
+
import { Step } from '../service/step/step-type';
|
3
|
+
import { Context, TaskHandler } from './types';
|
4
|
+
export type EdgeClient = {
|
5
|
+
handler: TaskHandler;
|
6
|
+
syncConnections(connections: Connection[], context?: ResolverContext): Promise<any>;
|
7
|
+
connectConnections(connections: Connection[], context?: ResolverContext): Promise<any>;
|
8
|
+
disconnectConnections(connections: Connection[], context?: ResolverContext): Promise<any>;
|
9
|
+
};
|
10
|
+
export declare function handler(step: Step, scenarioContext: Context): Promise<{
|
11
|
+
next?: string;
|
12
|
+
state?: import("..").ScenarioInstanceStatus;
|
13
|
+
data?: any;
|
14
|
+
}>;
|
15
|
+
export declare function syncConnections(connections: Connection[], context?: ResolverContext): Promise<any>;
|
16
|
+
export declare function connectConnections(connections: Connection[], context?: ResolverContext): Promise<any>;
|
17
|
+
export declare function disconnectConnections(connections: Connection[], context?: ResolverContext): Promise<any>;
|
18
|
+
export declare function setEdgeClient(edge: EdgeClient): void;
|
@@ -0,0 +1,37 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.handler = handler;
|
4
|
+
exports.syncConnections = syncConnections;
|
5
|
+
exports.connectConnections = connectConnections;
|
6
|
+
exports.disconnectConnections = disconnectConnections;
|
7
|
+
exports.setEdgeClient = setEdgeClient;
|
8
|
+
var edgeClient = {
|
9
|
+
async handler(step, scenarioContext) {
|
10
|
+
throw 'edgeClient not supported';
|
11
|
+
},
|
12
|
+
async syncConnections(connections, context) {
|
13
|
+
throw 'edgeClient not supported';
|
14
|
+
},
|
15
|
+
async connectConnections(connections, context) {
|
16
|
+
throw 'edgeClient not supported';
|
17
|
+
},
|
18
|
+
async disconnectConnections(connections, context) {
|
19
|
+
throw 'edgeClient not supported';
|
20
|
+
}
|
21
|
+
};
|
22
|
+
async function handler(step, scenarioContext) {
|
23
|
+
return await edgeClient.handler(step, scenarioContext);
|
24
|
+
}
|
25
|
+
async function syncConnections(connections, context) {
|
26
|
+
return await edgeClient.syncConnections(connections, context);
|
27
|
+
}
|
28
|
+
async function connectConnections(connections, context) {
|
29
|
+
return await edgeClient.connectConnections(connections, context);
|
30
|
+
}
|
31
|
+
async function disconnectConnections(connections, context) {
|
32
|
+
return await edgeClient.disconnectConnections(connections, context);
|
33
|
+
}
|
34
|
+
function setEdgeClient(edge) {
|
35
|
+
edgeClient = edge;
|
36
|
+
}
|
37
|
+
//# sourceMappingURL=edge-client.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"edge-client.js","sourceRoot":"","sources":["../../server/engine/edge-client.ts"],"names":[],"mappings":";;AA0BA,0BAEC;AAED,0CAEC;AAED,gDAEC;AAED,sDAEC;AAED,sCAEC;AAjCD,IAAI,UAAU,GAAe;IAC3B,KAAK,CAAC,OAAO,CAAC,IAAU,EAAE,eAAwB;QAChD,MAAM,0BAA0B,CAAA;IAClC,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,WAAyB,EAAE,OAAwB;QACvE,MAAM,0BAA0B,CAAA;IAClC,CAAC;IACD,KAAK,CAAC,kBAAkB,CAAC,WAAyB,EAAE,OAAwB;QAC1E,MAAM,0BAA0B,CAAA;IAClC,CAAC;IACD,KAAK,CAAC,qBAAqB,CAAC,WAAyB,EAAE,OAAwB;QAC7E,MAAM,0BAA0B,CAAA;IAClC,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,OAAO,CAAC,IAAU,EAAE,eAAwB;IAChE,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;AACxD,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,WAAyB,EAAE,OAAyB;IACxF,OAAO,MAAM,UAAU,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;AAC/D,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,WAAyB,EAAE,OAAyB;IAC3F,OAAO,MAAM,UAAU,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,WAAyB,EAAE,OAAyB;IAC9F,OAAO,MAAM,UAAU,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;AACrE,CAAC;AAED,SAAgB,aAAa,CAAC,IAAgB;IAC5C,UAAU,GAAG,IAAI,CAAA;AACnB,CAAC","sourcesContent":["import { Connection } from '../service/connection/connection-type'\nimport { Step } from '../service/step/step-type'\nimport { Context, TaskHandler } from './types'\n\nexport type EdgeClient = {\n handler: TaskHandler\n syncConnections(connections: Connection[], context?: ResolverContext): Promise<any>\n connectConnections(connections: Connection[], context?: ResolverContext): Promise<any>\n disconnectConnections(connections: Connection[], context?: ResolverContext): Promise<any>\n}\n\nvar edgeClient: EdgeClient = {\n async handler(step: Step, scenarioContext: Context) {\n throw 'edgeClient not supported'\n },\n async syncConnections(connections: Connection[], context: ResolverContext): Promise<any> {\n throw 'edgeClient not supported'\n },\n async connectConnections(connections: Connection[], context: ResolverContext): Promise<any> {\n throw 'edgeClient not supported'\n },\n async disconnectConnections(connections: Connection[], context: ResolverContext): Promise<any> {\n throw 'edgeClient not supported'\n }\n}\n\nexport async function handler(step: Step, scenarioContext: Context) {\n return await edgeClient.handler(step, scenarioContext)\n}\n\nexport async function syncConnections(connections: Connection[], context?: ResolverContext): Promise<any> {\n return await edgeClient.syncConnections(connections, context)\n}\n\nexport async function connectConnections(connections: Connection[], context?: ResolverContext): Promise<any> {\n return await edgeClient.connectConnections(connections, context)\n}\n\nexport async function disconnectConnections(connections: Connection[], context?: ResolverContext): Promise<any> {\n return await edgeClient.disconnectConnections(connections, context)\n}\n\nexport function setEdgeClient(edge: EdgeClient) {\n edgeClient = edge\n}\n"]}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import './connector/index.js';
|
2
|
+
import './task/index.js';
|
3
|
+
export * from './connection-manager';
|
4
|
+
export * from './scenario-engine';
|
5
|
+
export * from './task-registry';
|
6
|
+
export * from './analyzer/analyze-integration';
|
7
|
+
export * from './edge-client';
|
8
|
+
export * from './resource-pool';
|
9
|
+
export { Connector, Context, TaskHandler } from './types';
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const tslib_1 = require("tslib");
|
4
|
+
require("./connector/index.js");
|
5
|
+
require("./task/index.js");
|
6
|
+
tslib_1.__exportStar(require("./connection-manager"), exports);
|
7
|
+
tslib_1.__exportStar(require("./scenario-engine"), exports);
|
8
|
+
tslib_1.__exportStar(require("./task-registry"), exports);
|
9
|
+
tslib_1.__exportStar(require("./analyzer/analyze-integration"), exports);
|
10
|
+
tslib_1.__exportStar(require("./edge-client"), exports);
|
11
|
+
tslib_1.__exportStar(require("./resource-pool"), exports);
|
12
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/engine/index.ts"],"names":[],"mappings":";;;AAAA,gCAA6B;AAC7B,2BAAwB;AAExB,+DAAoC;AACpC,4DAAiC;AACjC,0DAA+B;AAC/B,yEAA8C;AAC9C,wDAA6B;AAC7B,0DAA+B","sourcesContent":["import './connector/index.js'\nimport './task/index.js'\n\nexport * from './connection-manager'\nexport * from './scenario-engine'\nexport * from './task-registry'\nexport * from './analyzer/analyze-integration'\nexport * from './edge-client'\nexport * from './resource-pool'\n\nexport { Connector, Context, TaskHandler } from './types'\n"]}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
export type PendingObject = {
|
2
|
+
stuff: any;
|
3
|
+
due: any;
|
4
|
+
priority: any;
|
5
|
+
tag: any;
|
6
|
+
};
|
7
|
+
export declare class PendingQueue {
|
8
|
+
private _queue;
|
9
|
+
private _changedCallback;
|
10
|
+
constructor(changedCallback: any);
|
11
|
+
get queue(): PendingObject[];
|
12
|
+
get status(): {
|
13
|
+
total: number;
|
14
|
+
};
|
15
|
+
reset(): void;
|
16
|
+
put({ delay, stuff, priority, tag }: {
|
17
|
+
delay: any;
|
18
|
+
stuff: any;
|
19
|
+
priority?: number;
|
20
|
+
tag?: string;
|
21
|
+
}): void;
|
22
|
+
pick(tag?: string): any;
|
23
|
+
cancel(stuff: any): void;
|
24
|
+
}
|
@@ -0,0 +1,75 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.PendingQueue = void 0;
|
4
|
+
const debug = require('debug')('things-factory:integration-base:pending-queue');
|
5
|
+
class PendingQueue {
|
6
|
+
constructor(changedCallback) {
|
7
|
+
this._queue = [];
|
8
|
+
this._changedCallback = changedCallback;
|
9
|
+
}
|
10
|
+
get queue() {
|
11
|
+
return this._queue;
|
12
|
+
}
|
13
|
+
get status() {
|
14
|
+
return {
|
15
|
+
total: this._queue.length
|
16
|
+
};
|
17
|
+
}
|
18
|
+
reset() {
|
19
|
+
this._queue = [];
|
20
|
+
this._changedCallback(this._queue);
|
21
|
+
}
|
22
|
+
put({ delay, stuff, priority = 0, tag = '' }) {
|
23
|
+
const due = Date.now() + (Number(delay) || 0) * 1000;
|
24
|
+
const insertBefore = this._queue.findIndex(pended => pended.due > due);
|
25
|
+
if (insertBefore == -1) {
|
26
|
+
this._queue.push({
|
27
|
+
due,
|
28
|
+
priority: Number(priority) || 0,
|
29
|
+
stuff,
|
30
|
+
tag: tag || ''
|
31
|
+
});
|
32
|
+
}
|
33
|
+
else {
|
34
|
+
this._queue.splice(insertBefore, 0, {
|
35
|
+
due,
|
36
|
+
priority,
|
37
|
+
stuff,
|
38
|
+
tag
|
39
|
+
});
|
40
|
+
}
|
41
|
+
this._changedCallback(this._queue);
|
42
|
+
debug('put', this.status);
|
43
|
+
}
|
44
|
+
pick(tag = '') {
|
45
|
+
const due = Date.now();
|
46
|
+
var toppick;
|
47
|
+
var index = -1;
|
48
|
+
for (let i = 0; i < this._queue.length; i++) {
|
49
|
+
var pended = this._queue[i];
|
50
|
+
if (pended.due > due) {
|
51
|
+
break;
|
52
|
+
}
|
53
|
+
if (pended.tag !== tag) {
|
54
|
+
continue;
|
55
|
+
}
|
56
|
+
if (!toppick || toppick.priority < pended.priority) {
|
57
|
+
toppick = pended;
|
58
|
+
index = i;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
if (index !== -1) {
|
62
|
+
this._queue.splice(index, 1);
|
63
|
+
this._changedCallback(this._queue);
|
64
|
+
}
|
65
|
+
toppick && debug('pick', toppick, this.status, due);
|
66
|
+
return toppick;
|
67
|
+
}
|
68
|
+
cancel(stuff) {
|
69
|
+
const index = this._queue.findIndex(pended => pended.stuff === stuff);
|
70
|
+
index !== -1 && this._queue.splice(index, 1);
|
71
|
+
this._changedCallback(this._queue);
|
72
|
+
}
|
73
|
+
}
|
74
|
+
exports.PendingQueue = PendingQueue;
|
75
|
+
//# sourceMappingURL=pending-queue.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"pending-queue.js","sourceRoot":"","sources":["../../server/engine/pending-queue.ts"],"names":[],"mappings":"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","sourcesContent":["const debug = require('debug')('things-factory:integration-base:pending-queue')\n\nexport type PendingObject = {\n stuff\n due\n priority\n tag\n}\n\nexport class PendingQueue {\n private _queue: PendingObject[] = []\n private _changedCallback\n\n constructor(changedCallback) {\n this._changedCallback = changedCallback\n }\n\n get queue() {\n return this._queue\n }\n\n get status() {\n return {\n total: this._queue.length\n }\n }\n\n reset() {\n this._queue = []\n this._changedCallback(this._queue)\n }\n\n put({ delay, stuff, priority = 0, tag = '' }) {\n const due = Date.now() + (Number(delay) || 0) * 1000\n const insertBefore = this._queue.findIndex(pended => pended.due > due)\n\n if (insertBefore == -1) {\n this._queue.push({\n due,\n priority: Number(priority) || 0,\n stuff,\n tag: tag || ''\n })\n } else {\n this._queue.splice(insertBefore, 0, {\n due,\n priority,\n stuff,\n tag\n })\n }\n\n this._changedCallback(this._queue)\n\n debug('put', this.status)\n }\n\n pick(tag = '') {\n const due = Date.now()\n\n var toppick\n var index = -1\n\n for (let i = 0; i < this._queue.length; i++) {\n var pended = this._queue[i]\n\n if (pended.due > due) {\n break\n }\n\n if (pended.tag !== tag) {\n continue\n }\n\n if (!toppick || toppick.priority < pended.priority) {\n toppick = pended\n index = i\n }\n }\n\n if (index !== -1) {\n this._queue.splice(index, 1)\n this._changedCallback(this._queue)\n }\n\n toppick && debug('pick', toppick, this.status, due)\n\n return toppick\n }\n\n cancel(stuff) {\n const index = this._queue.findIndex(pended => pended.stuff === stuff)\n index !== -1 && this._queue.splice(index, 1)\n\n this._changedCallback(this._queue)\n }\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function getHeadlessPool(): any;
|
@@ -0,0 +1,62 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getHeadlessPool = getHeadlessPool;
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const genericPool = tslib_1.__importStar(require("generic-pool"));
|
6
|
+
const env_1 = require("@things-factory/env");
|
7
|
+
try {
|
8
|
+
var puppeteer = require('puppeteer');
|
9
|
+
}
|
10
|
+
catch (err) {
|
11
|
+
env_1.logger.error(err);
|
12
|
+
}
|
13
|
+
let headlessPool;
|
14
|
+
function getHeadlessPool() {
|
15
|
+
if (!headlessPool) {
|
16
|
+
headlessPool = createHeadlessPool({ min: 2, max: 20, acquireTimeoutMillis: 15000, testOnBorrow: true });
|
17
|
+
}
|
18
|
+
return headlessPool;
|
19
|
+
}
|
20
|
+
function createHeadlessPool(options) {
|
21
|
+
return genericPool.createPool({
|
22
|
+
create() {
|
23
|
+
console.log('headless instance in headless-pool-integration about to create');
|
24
|
+
return initializeChromium();
|
25
|
+
},
|
26
|
+
validate(browser) {
|
27
|
+
return Promise.race([
|
28
|
+
new Promise(res => setTimeout(() => res(false), 1500)),
|
29
|
+
browser
|
30
|
+
//@ts-ignore
|
31
|
+
.version()
|
32
|
+
.then(() => true)
|
33
|
+
.catch(() => false)
|
34
|
+
]);
|
35
|
+
},
|
36
|
+
destroy(browser) {
|
37
|
+
//@ts-ignore
|
38
|
+
return browser.close();
|
39
|
+
}
|
40
|
+
}, options);
|
41
|
+
}
|
42
|
+
const CHROMIUM_PATH = env_1.config.get('CHROMIUM_PATH');
|
43
|
+
async function initializeChromium() {
|
44
|
+
try {
|
45
|
+
if (!puppeteer) {
|
46
|
+
return;
|
47
|
+
}
|
48
|
+
const launchSetting = {
|
49
|
+
args: ['--hide-scrollbars', '--mute-audio', '--no-sandbox', '--use-gl=egl'],
|
50
|
+
headless: 'shell'
|
51
|
+
};
|
52
|
+
if (CHROMIUM_PATH) {
|
53
|
+
launchSetting['executablePath'] = CHROMIUM_PATH;
|
54
|
+
}
|
55
|
+
const browser = await puppeteer.launch(launchSetting);
|
56
|
+
return browser;
|
57
|
+
}
|
58
|
+
catch (err) {
|
59
|
+
env_1.logger.error(err);
|
60
|
+
}
|
61
|
+
}
|
62
|
+
//# sourceMappingURL=headless-pool.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"headless-pool.js","sourceRoot":"","sources":["../../../server/engine/resource-pool/headless-pool.ts"],"names":[],"mappings":";;AAWA,0CAMC;;AAjBD,kEAA2C;AAC3C,6CAAoD;AAEpD,IAAI,CAAC;IACH,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AACtC,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACb,YAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACnB,CAAC;AAED,IAAI,YAAY,CAAA;AAEhB,SAAgB,eAAe;IAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;IACzG,CAAC;IAED,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAA4B;IACtD,OAAO,WAAW,CAAC,UAAU,CAC3B;QACE,MAAM;YACJ,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAA;YAC7E,OAAO,kBAAkB,EAAE,CAAA;QAC7B,CAAC;QACD,QAAQ,CAAC,OAAO;YACd,OAAO,OAAO,CAAC,IAAI,CAAC;gBAClB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;gBACtD,OAAO;oBACL,YAAY;qBACX,OAAO,EAAE;qBACT,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;qBAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;aACtB,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,CAAC,OAAO;YACb,YAAY;YACZ,OAAO,OAAO,CAAC,KAAK,EAAE,CAAA;QACxB,CAAC;KAC0B,EAC7B,OAAO,CACR,CAAA;AACH,CAAC;AAED,MAAM,aAAa,GAAG,YAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;AAEjD,KAAK,UAAU,kBAAkB;IAC/B,IAAI,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAM;QACR,CAAC;QAED,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;YAC3E,QAAQ,EAAE,OAAO;SAClB,CAAA;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAA;QACjD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAErD,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC;AACH,CAAC","sourcesContent":["import * as genericPool from 'generic-pool'\nimport { config, logger } from '@things-factory/env'\n\ntry {\n var puppeteer = require('puppeteer')\n} catch (err) {\n logger.error(err)\n}\n\nlet headlessPool\n\nexport function getHeadlessPool() {\n if (!headlessPool) {\n headlessPool = createHeadlessPool({ min: 2, max: 20, acquireTimeoutMillis: 15000, testOnBorrow: true })\n }\n\n return headlessPool\n}\n\nfunction createHeadlessPool(options: genericPool.Options) {\n return genericPool.createPool(\n {\n create() {\n console.log('headless instance in headless-pool-integration about to create')\n return initializeChromium()\n },\n validate(browser) {\n return Promise.race([\n new Promise(res => setTimeout(() => res(false), 1500)),\n browser\n //@ts-ignore\n .version()\n .then(() => true)\n .catch(() => false)\n ])\n },\n destroy(browser) {\n //@ts-ignore\n return browser.close()\n }\n } as genericPool.Factory<any>,\n options\n )\n}\n\nconst CHROMIUM_PATH = config.get('CHROMIUM_PATH')\n\nasync function initializeChromium() {\n try {\n if (!puppeteer) {\n return\n }\n\n const launchSetting = {\n args: ['--hide-scrollbars', '--mute-audio', '--no-sandbox', '--use-gl=egl'],\n headless: 'shell'\n }\n\n if (CHROMIUM_PATH) {\n launchSetting['executablePath'] = CHROMIUM_PATH\n }\n\n const browser = await puppeteer.launch(launchSetting)\n\n return browser\n } catch (err) {\n logger.error(err)\n }\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './headless-pool';
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/resource-pool/index.ts"],"names":[],"mappings":";;;AAAA,0DAA+B","sourcesContent":["export * from './headless-pool'\n"]}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { ScenarioInstance } from '../service/scenario-instance/scenario-instance-type';
|
2
|
+
export declare class ScenarioEngine {
|
3
|
+
private static scenarioInstances;
|
4
|
+
private static pendingQueues;
|
5
|
+
static getPendingQueue(domain: any): any;
|
6
|
+
static getScenarioInstance(domain: any, instanceName: any): ScenarioInstance;
|
7
|
+
static getScenarioInstances(domain: any, scenarioName?: any): ScenarioInstance[];
|
8
|
+
static load(instanceName: any, scenarioConfig: any, context?: any): Promise<any>;
|
9
|
+
static unload(domain: any, instanceName: any): Promise<void>;
|
10
|
+
static loadAll(): Promise<void>;
|
11
|
+
}
|
@@ -0,0 +1,79 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ScenarioEngine = void 0;
|
4
|
+
const shell_1 = require("@things-factory/shell");
|
5
|
+
const scenario_1 = require("../service/scenario/scenario");
|
6
|
+
const scenario_instance_type_1 = require("../service/scenario-instance/scenario-instance-type");
|
7
|
+
const pending_queue_1 = require("./pending-queue");
|
8
|
+
const debug = require('debug')('things-factory:integration-base:scenario-engine');
|
9
|
+
class ScenarioEngine {
|
10
|
+
static getPendingQueue(domain) {
|
11
|
+
if (!ScenarioEngine.pendingQueues[domain.id]) {
|
12
|
+
ScenarioEngine.pendingQueues[domain.id] = new pending_queue_1.PendingQueue(queue => {
|
13
|
+
shell_1.pubsub.publish('scenario-queue-state', {
|
14
|
+
scenarioQueueState: {
|
15
|
+
domain,
|
16
|
+
queue
|
17
|
+
}
|
18
|
+
});
|
19
|
+
});
|
20
|
+
}
|
21
|
+
return ScenarioEngine.pendingQueues[domain.id];
|
22
|
+
}
|
23
|
+
static getScenarioInstance(domain, instanceName) {
|
24
|
+
var _a;
|
25
|
+
return (_a = ScenarioEngine.scenarioInstances[domain.id]) === null || _a === void 0 ? void 0 : _a[instanceName];
|
26
|
+
}
|
27
|
+
static getScenarioInstances(domain, scenarioName) {
|
28
|
+
const instances = Object.values(ScenarioEngine.scenarioInstances[domain.id] || {}) || [];
|
29
|
+
return instances.filter(instance => !scenarioName || instance.scenarioName == scenarioName);
|
30
|
+
}
|
31
|
+
static async load(instanceName, scenarioConfig, context) {
|
32
|
+
const { domain: scenarioDomain } = scenarioConfig;
|
33
|
+
const domain = (context === null || context === void 0 ? void 0 : context.domain) || scenarioDomain;
|
34
|
+
debug('load', domain.subdomain, instanceName);
|
35
|
+
var scenarioInstances = ScenarioEngine.scenarioInstances[domain.id];
|
36
|
+
if (!scenarioInstances) {
|
37
|
+
scenarioInstances = ScenarioEngine.scenarioInstances[domain.id] = {};
|
38
|
+
}
|
39
|
+
var scenarioInstance = scenarioInstances[instanceName];
|
40
|
+
if (scenarioInstance) {
|
41
|
+
debug('load - duplicated', instanceName);
|
42
|
+
return scenarioInstance;
|
43
|
+
}
|
44
|
+
var instance = new scenario_instance_type_1.ScenarioInstance(instanceName, scenarioConfig, Object.assign(Object.assign({}, context), { client: shell_1.GraphqlLocalClient.client, disposer: () => {
|
45
|
+
this.unload(domain, instanceName);
|
46
|
+
} }));
|
47
|
+
instance.start().catch(err => {
|
48
|
+
/* IMPORTANT. if you didn't catch exception here, system will be exit */
|
49
|
+
console.error(`An exception occurred while executing the scenario instance named "${instanceName}" on the domain "${domain.name}"`, err);
|
50
|
+
});
|
51
|
+
scenarioInstances[instanceName] = instance;
|
52
|
+
return instance;
|
53
|
+
}
|
54
|
+
static async unload(domain, instanceName) {
|
55
|
+
var scenarioInstances = ScenarioEngine.scenarioInstances[domain.id];
|
56
|
+
if (!scenarioInstances) {
|
57
|
+
return;
|
58
|
+
}
|
59
|
+
var instance = scenarioInstances[instanceName];
|
60
|
+
if (!instance) {
|
61
|
+
return;
|
62
|
+
}
|
63
|
+
delete scenarioInstances[instanceName];
|
64
|
+
instance.unload();
|
65
|
+
}
|
66
|
+
// will be deprecated soon
|
67
|
+
static async loadAll() {
|
68
|
+
const SCENARIOS = await (0, shell_1.getRepository)(scenario_1.Scenario).find({
|
69
|
+
where: { active: true },
|
70
|
+
relations: ['domain', 'steps']
|
71
|
+
});
|
72
|
+
debug('load-all', SCENARIOS.map(scenario => `${scenario.domain.subdomain}: ${scenario.name}`));
|
73
|
+
SCENARIOS.forEach(scenario => ScenarioEngine.load(scenario.name, scenario));
|
74
|
+
}
|
75
|
+
}
|
76
|
+
exports.ScenarioEngine = ScenarioEngine;
|
77
|
+
ScenarioEngine.scenarioInstances = {}; // TODO impl. by WeakMap
|
78
|
+
ScenarioEngine.pendingQueues = {};
|
79
|
+
//# sourceMappingURL=scenario-engine.js.map
|