@things-factory/integration-base 9.0.0-beta.24 → 9.0.0-beta.27
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/package.json +8 -8
- package/dist-server/controllers/index.d.ts +0 -2
- package/dist-server/controllers/index.js +0 -6
- package/dist-server/controllers/index.js.map +0 -1
- package/dist-server/controllers/publish-data.d.ts +0 -6
- package/dist-server/controllers/publish-data.js +0 -22
- package/dist-server/controllers/publish-data.js.map +0 -1
- package/dist-server/controllers/scenario-controller.d.ts +0 -6
- package/dist-server/controllers/scenario-controller.js +0 -99
- package/dist-server/controllers/scenario-controller.js.map +0 -1
- package/dist-server/engine/analyzer/analyze-integration.d.ts +0 -5
- package/dist-server/engine/analyzer/analyze-integration.js +0 -96
- package/dist-server/engine/analyzer/analyze-integration.js.map +0 -1
- package/dist-server/engine/connection-manager.d.ts +0 -35
- package/dist-server/engine/connection-manager.js +0 -192
- package/dist-server/engine/connection-manager.js.map +0 -1
- package/dist-server/engine/connector/echo-back-connector.d.ts +0 -9
- package/dist-server/engine/connector/echo-back-connector.js +0 -39
- package/dist-server/engine/connector/echo-back-connector.js.map +0 -1
- package/dist-server/engine/connector/echo-back-server.d.ts +0 -8
- package/dist-server/engine/connector/echo-back-server.js +0 -58
- package/dist-server/engine/connector/echo-back-server.js.map +0 -1
- package/dist-server/engine/connector/graphql-connector.d.ts +0 -19
- package/dist-server/engine/connector/graphql-connector.js +0 -94
- package/dist-server/engine/connector/graphql-connector.js.map +0 -1
- package/dist-server/engine/connector/headless-connector.d.ts +0 -23
- package/dist-server/engine/connector/headless-connector.js +0 -357
- package/dist-server/engine/connector/headless-connector.js.map +0 -1
- package/dist-server/engine/connector/http-connector.d.ts +0 -25
- package/dist-server/engine/connector/http-connector.js +0 -52
- package/dist-server/engine/connector/http-connector.js.map +0 -1
- package/dist-server/engine/connector/index.d.ts +0 -13
- package/dist-server/engine/connector/index.js +0 -16
- package/dist-server/engine/connector/index.js.map +0 -1
- package/dist-server/engine/connector/mqtt-connector.d.ts +0 -14
- package/dist-server/engine/connector/mqtt-connector.js +0 -62
- package/dist-server/engine/connector/mqtt-connector.js.map +0 -1
- package/dist-server/engine/connector/mssql-connector.d.ts +0 -40
- package/dist-server/engine/connector/mssql-connector.js +0 -137
- package/dist-server/engine/connector/mssql-connector.js.map +0 -1
- package/dist-server/engine/connector/mysql-connector.d.ts +0 -13
- package/dist-server/engine/connector/mysql-connector.js +0 -80
- package/dist-server/engine/connector/mysql-connector.js.map +0 -1
- package/dist-server/engine/connector/operato-connector.d.ts +0 -27
- package/dist-server/engine/connector/operato-connector.js +0 -205
- package/dist-server/engine/connector/operato-connector.js.map +0 -1
- package/dist-server/engine/connector/oracle-connector.d.ts +0 -29
- package/dist-server/engine/connector/oracle-connector.js +0 -187
- package/dist-server/engine/connector/oracle-connector.js.map +0 -1
- package/dist-server/engine/connector/postgresql-connector.d.ts +0 -20
- package/dist-server/engine/connector/postgresql-connector.js +0 -136
- package/dist-server/engine/connector/postgresql-connector.js.map +0 -1
- package/dist-server/engine/connector/proxy-connector.d.ts +0 -15
- package/dist-server/engine/connector/proxy-connector.js +0 -44
- package/dist-server/engine/connector/proxy-connector.js.map +0 -1
- package/dist-server/engine/connector/socket-server.d.ts +0 -9
- package/dist-server/engine/connector/socket-server.js +0 -76
- package/dist-server/engine/connector/socket-server.js.map +0 -1
- package/dist-server/engine/connector/sqlite-connector.d.ts +0 -10
- package/dist-server/engine/connector/sqlite-connector.js +0 -58
- package/dist-server/engine/connector/sqlite-connector.js.map +0 -1
- package/dist-server/engine/edge-client.d.ts +0 -18
- package/dist-server/engine/edge-client.js +0 -37
- package/dist-server/engine/edge-client.js.map +0 -1
- package/dist-server/engine/index.d.ts +0 -9
- package/dist-server/engine/index.js +0 -12
- package/dist-server/engine/index.js.map +0 -1
- package/dist-server/engine/pending-queue.d.ts +0 -24
- package/dist-server/engine/pending-queue.js +0 -75
- package/dist-server/engine/pending-queue.js.map +0 -1
- package/dist-server/engine/resource-pool/headless-pool.d.ts +0 -1
- package/dist-server/engine/resource-pool/headless-pool.js +0 -62
- package/dist-server/engine/resource-pool/headless-pool.js.map +0 -1
- package/dist-server/engine/resource-pool/index.d.ts +0 -1
- package/dist-server/engine/resource-pool/index.js +0 -5
- package/dist-server/engine/resource-pool/index.js.map +0 -1
- package/dist-server/engine/scenario-engine.d.ts +0 -11
- package/dist-server/engine/scenario-engine.js +0 -79
- package/dist-server/engine/scenario-engine.js.map +0 -1
- package/dist-server/engine/task/book-up-scenario.d.ts +0 -1
- package/dist-server/engine/task/book-up-scenario.js +0 -63
- package/dist-server/engine/task/book-up-scenario.js.map +0 -1
- package/dist-server/engine/task/csv-readline.d.ts +0 -1
- package/dist-server/engine/task/csv-readline.js +0 -103
- package/dist-server/engine/task/csv-readline.js.map +0 -1
- package/dist-server/engine/task/data-accessor.d.ts +0 -1
- package/dist-server/engine/task/data-accessor.js +0 -28
- package/dist-server/engine/task/data-accessor.js.map +0 -1
- package/dist-server/engine/task/data-mapper.d.ts +0 -1
- package/dist-server/engine/task/data-mapper.js +0 -37
- package/dist-server/engine/task/data-mapper.js.map +0 -1
- package/dist-server/engine/task/database-query.d.ts +0 -1
- package/dist-server/engine/task/database-query.js +0 -46
- package/dist-server/engine/task/database-query.js.map +0 -1
- package/dist-server/engine/task/echo-receive.d.ts +0 -1
- package/dist-server/engine/task/echo-receive.js +0 -15
- package/dist-server/engine/task/echo-receive.js.map +0 -1
- package/dist-server/engine/task/echo-send.d.ts +0 -1
- package/dist-server/engine/task/echo-send.js +0 -24
- package/dist-server/engine/task/echo-send.js.map +0 -1
- package/dist-server/engine/task/empty-check.d.ts +0 -1
- package/dist-server/engine/task/empty-check.js +0 -30
- package/dist-server/engine/task/empty-check.js.map +0 -1
- package/dist-server/engine/task/end.d.ts +0 -1
- package/dist-server/engine/task/end.js +0 -14
- package/dist-server/engine/task/end.js.map +0 -1
- package/dist-server/engine/task/floating-point.d.ts +0 -1
- package/dist-server/engine/task/floating-point.js +0 -62
- package/dist-server/engine/task/floating-point.js.map +0 -1
- package/dist-server/engine/task/goto.d.ts +0 -1
- package/dist-server/engine/task/goto.js +0 -20
- package/dist-server/engine/task/goto.js.map +0 -1
- package/dist-server/engine/task/graphql-mutate.d.ts +0 -1
- package/dist-server/engine/task/graphql-mutate.js +0 -70
- package/dist-server/engine/task/graphql-mutate.js.map +0 -1
- package/dist-server/engine/task/graphql-query.d.ts +0 -1
- package/dist-server/engine/task/graphql-query.js +0 -70
- package/dist-server/engine/task/graphql-query.js.map +0 -1
- package/dist-server/engine/task/headless-post.d.ts +0 -1
- package/dist-server/engine/task/headless-post.js +0 -110
- package/dist-server/engine/task/headless-post.js.map +0 -1
- package/dist-server/engine/task/headless-scrap.d.ts +0 -1
- package/dist-server/engine/task/headless-scrap.js +0 -71
- package/dist-server/engine/task/headless-scrap.js.map +0 -1
- package/dist-server/engine/task/http-get.d.ts +0 -1
- package/dist-server/engine/task/http-get.js +0 -101
- package/dist-server/engine/task/http-get.js.map +0 -1
- package/dist-server/engine/task/http-post.d.ts +0 -1
- package/dist-server/engine/task/http-post.js +0 -130
- package/dist-server/engine/task/http-post.js.map +0 -1
- package/dist-server/engine/task/index.d.ts +0 -45
- package/dist-server/engine/task/index.js +0 -48
- package/dist-server/engine/task/index.js.map +0 -1
- package/dist-server/engine/task/jsonata.d.ts +0 -1
- package/dist-server/engine/task/jsonata.js +0 -37
- package/dist-server/engine/task/jsonata.js.map +0 -1
- package/dist-server/engine/task/local-graphql-mutate.d.ts +0 -1
- package/dist-server/engine/task/local-graphql-mutate.js +0 -89
- package/dist-server/engine/task/local-graphql-mutate.js.map +0 -1
- package/dist-server/engine/task/local-graphql-query.d.ts +0 -1
- package/dist-server/engine/task/local-graphql-query.js +0 -89
- package/dist-server/engine/task/local-graphql-query.js.map +0 -1
- package/dist-server/engine/task/log.d.ts +0 -1
- package/dist-server/engine/task/log.js +0 -68
- package/dist-server/engine/task/log.js.map +0 -1
- package/dist-server/engine/task/mqtt-publish.d.ts +0 -1
- package/dist-server/engine/task/mqtt-publish.js +0 -35
- package/dist-server/engine/task/mqtt-publish.js.map +0 -1
- package/dist-server/engine/task/mqtt-subscribe.d.ts +0 -1
- package/dist-server/engine/task/mqtt-subscribe.js +0 -113
- package/dist-server/engine/task/mqtt-subscribe.js.map +0 -1
- package/dist-server/engine/task/mssql-procedure.d.ts +0 -1
- package/dist-server/engine/task/mssql-procedure.js +0 -94
- package/dist-server/engine/task/mssql-procedure.js.map +0 -1
- package/dist-server/engine/task/oracle-procedure.d.ts +0 -1
- package/dist-server/engine/task/oracle-procedure.js +0 -91
- package/dist-server/engine/task/oracle-procedure.js.map +0 -1
- package/dist-server/engine/task/pick-pending-scenario.d.ts +0 -1
- package/dist-server/engine/task/pick-pending-scenario.js +0 -61
- package/dist-server/engine/task/pick-pending-scenario.js.map +0 -1
- package/dist-server/engine/task/publish.d.ts +0 -1
- package/dist-server/engine/task/publish.js +0 -31
- package/dist-server/engine/task/publish.js.map +0 -1
- package/dist-server/engine/task/random.d.ts +0 -1
- package/dist-server/engine/task/random.js +0 -45
- package/dist-server/engine/task/random.js.map +0 -1
- package/dist-server/engine/task/reset-pending-queue.d.ts +0 -1
- package/dist-server/engine/task/reset-pending-queue.js +0 -13
- package/dist-server/engine/task/reset-pending-queue.js.map +0 -1
- package/dist-server/engine/task/script.d.ts +0 -1
- package/dist-server/engine/task/script.js +0 -55
- package/dist-server/engine/task/script.js.map +0 -1
- package/dist-server/engine/task/set-domain.d.ts +0 -1
- package/dist-server/engine/task/set-domain.js +0 -27
- package/dist-server/engine/task/set-domain.js.map +0 -1
- package/dist-server/engine/task/sleep.d.ts +0 -1
- package/dist-server/engine/task/sleep.js +0 -26
- package/dist-server/engine/task/sleep.js.map +0 -1
- package/dist-server/engine/task/socket-listener.d.ts +0 -1
- package/dist-server/engine/task/socket-listener.js +0 -86
- package/dist-server/engine/task/socket-listener.js.map +0 -1
- package/dist-server/engine/task/state-group-read.d.ts +0 -1
- package/dist-server/engine/task/state-group-read.js +0 -62
- package/dist-server/engine/task/state-group-read.js.map +0 -1
- package/dist-server/engine/task/state-read.d.ts +0 -1
- package/dist-server/engine/task/state-read.js +0 -49
- package/dist-server/engine/task/state-read.js.map +0 -1
- package/dist-server/engine/task/state-write.d.ts +0 -1
- package/dist-server/engine/task/state-write.js +0 -57
- package/dist-server/engine/task/state-write.js.map +0 -1
- package/dist-server/engine/task/stop-scenario.d.ts +0 -1
- package/dist-server/engine/task/stop-scenario.js +0 -35
- package/dist-server/engine/task/stop-scenario.js.map +0 -1
- package/dist-server/engine/task/sub-scenario.d.ts +0 -1
- package/dist-server/engine/task/sub-scenario.js +0 -45
- package/dist-server/engine/task/sub-scenario.js.map +0 -1
- package/dist-server/engine/task/switch-goto.d.ts +0 -1
- package/dist-server/engine/task/switch-goto.js +0 -32
- package/dist-server/engine/task/switch-goto.js.map +0 -1
- package/dist-server/engine/task/switch-range-goto.d.ts +0 -1
- package/dist-server/engine/task/switch-range-goto.js +0 -39
- package/dist-server/engine/task/switch-range-goto.js.map +0 -1
- package/dist-server/engine/task/switch-range-scenario.d.ts +0 -1
- package/dist-server/engine/task/switch-range-scenario.js +0 -60
- package/dist-server/engine/task/switch-range-scenario.js.map +0 -1
- package/dist-server/engine/task/switch-range-set.d.ts +0 -1
- package/dist-server/engine/task/switch-range-set.js +0 -35
- package/dist-server/engine/task/switch-range-set.js.map +0 -1
- package/dist-server/engine/task/switch-scenario.d.ts +0 -1
- package/dist-server/engine/task/switch-scenario.js +0 -53
- package/dist-server/engine/task/switch-scenario.js.map +0 -1
- package/dist-server/engine/task/switch-set.d.ts +0 -1
- package/dist-server/engine/task/switch-set.js +0 -28
- package/dist-server/engine/task/switch-set.js.map +0 -1
- package/dist-server/engine/task/throw.d.ts +0 -1
- package/dist-server/engine/task/throw.js +0 -19
- package/dist-server/engine/task/throw.js.map +0 -1
- package/dist-server/engine/task/utils/headless-pool-for-scenario.d.ts +0 -1
- package/dist-server/engine/task/utils/headless-pool-for-scenario.js +0 -64
- package/dist-server/engine/task/utils/headless-pool-for-scenario.js.map +0 -1
- package/dist-server/engine/task/utils/substitute.d.ts +0 -1
- package/dist-server/engine/task/utils/substitute.js +0 -45
- package/dist-server/engine/task/utils/substitute.js.map +0 -1
- package/dist-server/engine/task/variables.d.ts +0 -1
- package/dist-server/engine/task/variables.js +0 -13
- package/dist-server/engine/task/variables.js.map +0 -1
- package/dist-server/engine/task-registry.d.ts +0 -12
- package/dist-server/engine/task-registry.js +0 -20
- package/dist-server/engine/task-registry.js.map +0 -1
- package/dist-server/engine/types.d.ts +0 -94
- package/dist-server/engine/types.js +0 -3
- package/dist-server/engine/types.js.map +0 -1
- package/dist-server/index.d.ts +0 -6
- package/dist-server/index.js +0 -21
- package/dist-server/index.js.map +0 -1
- package/dist-server/migrations/index.d.ts +0 -1
- package/dist-server/migrations/index.js +0 -12
- package/dist-server/migrations/index.js.map +0 -1
- package/dist-server/restful/index.d.ts +0 -1
- package/dist-server/restful/index.js +0 -4
- package/dist-server/restful/index.js.map +0 -1
- package/dist-server/restful/unstable/index.d.ts +0 -7
- package/dist-server/restful/unstable/index.js +0 -10
- package/dist-server/restful/unstable/index.js.map +0 -1
- package/dist-server/restful/unstable/run-scenario.d.ts +0 -1
- package/dist-server/restful/unstable/run-scenario.js +0 -45
- package/dist-server/restful/unstable/run-scenario.js.map +0 -1
- package/dist-server/restful/unstable/scenario-instance.d.ts +0 -1
- package/dist-server/restful/unstable/scenario-instance.js +0 -52
- package/dist-server/restful/unstable/scenario-instance.js.map +0 -1
- package/dist-server/restful/unstable/scenario-instances.d.ts +0 -1
- package/dist-server/restful/unstable/scenario-instances.js +0 -74
- package/dist-server/restful/unstable/scenario-instances.js.map +0 -1
- package/dist-server/restful/unstable/scenario.d.ts +0 -1
- package/dist-server/restful/unstable/scenario.js +0 -41
- package/dist-server/restful/unstable/scenario.js.map +0 -1
- package/dist-server/restful/unstable/scenarios.d.ts +0 -1
- package/dist-server/restful/unstable/scenarios.js +0 -63
- package/dist-server/restful/unstable/scenarios.js.map +0 -1
- package/dist-server/restful/unstable/start-scenario.d.ts +0 -1
- package/dist-server/restful/unstable/start-scenario.js +0 -33
- package/dist-server/restful/unstable/start-scenario.js.map +0 -1
- package/dist-server/restful/unstable/stop-scenario.d.ts +0 -1
- package/dist-server/restful/unstable/stop-scenario.js +0 -30
- package/dist-server/restful/unstable/stop-scenario.js.map +0 -1
- package/dist-server/routers/scenario-schedule-callback-router.d.ts +0 -1
- package/dist-server/routers/scenario-schedule-callback-router.js +0 -55
- package/dist-server/routers/scenario-schedule-callback-router.js.map +0 -1
- package/dist-server/routers/scenario-view-router.d.ts +0 -1
- package/dist-server/routers/scenario-view-router.js +0 -41
- package/dist-server/routers/scenario-view-router.js.map +0 -1
- package/dist-server/routes.d.ts +0 -1
- package/dist-server/routes.js +0 -23
- package/dist-server/routes.js.map +0 -1
- package/dist-server/service/analysis/analysis-query.d.ts +0 -3
- package/dist-server/service/analysis/analysis-query.js +0 -25
- package/dist-server/service/analysis/analysis-query.js.map +0 -1
- package/dist-server/service/analysis/index.d.ts +0 -2
- package/dist-server/service/analysis/index.js +0 -6
- package/dist-server/service/analysis/index.js.map +0 -1
- package/dist-server/service/connection/connection-mutation.d.ts +0 -30
- package/dist-server/service/connection/connection-mutation.js +0 -182
- package/dist-server/service/connection/connection-mutation.js.map +0 -1
- package/dist-server/service/connection/connection-query.d.ts +0 -12
- package/dist-server/service/connection/connection-query.js +0 -112
- package/dist-server/service/connection/connection-query.js.map +0 -1
- package/dist-server/service/connection/connection-subscription.d.ts +0 -10
- package/dist-server/service/connection/connection-subscription.js +0 -98
- package/dist-server/service/connection/connection-subscription.js.map +0 -1
- package/dist-server/service/connection/connection-type.d.ts +0 -133
- package/dist-server/service/connection/connection-type.js +0 -294
- package/dist-server/service/connection/connection-type.js.map +0 -1
- package/dist-server/service/connection/index.d.ts +0 -6
- package/dist-server/service/connection/index.js +0 -10
- package/dist-server/service/connection/index.js.map +0 -1
- package/dist-server/service/connector/connector-query.d.ts +0 -6
- package/dist-server/service/connector/connector-query.js +0 -77
- package/dist-server/service/connector/connector-query.js.map +0 -1
- package/dist-server/service/connector/connector-type.d.ts +0 -12
- package/dist-server/service/connector/connector-type.js +0 -47
- package/dist-server/service/connector/connector-type.js.map +0 -1
- package/dist-server/service/connector/index.d.ts +0 -3
- package/dist-server/service/connector/index.js +0 -7
- package/dist-server/service/connector/index.js.map +0 -1
- package/dist-server/service/index.d.ts +0 -17
- package/dist-server/service/index.js +0 -55
- package/dist-server/service/index.js.map +0 -1
- package/dist-server/service/payload-log/index.d.ts +0 -5
- package/dist-server/service/payload-log/index.js +0 -9
- package/dist-server/service/payload-log/index.js.map +0 -1
- package/dist-server/service/payload-log/payload-log-mutation.d.ts +0 -10
- package/dist-server/service/payload-log/payload-log-mutation.js +0 -134
- package/dist-server/service/payload-log/payload-log-mutation.js.map +0 -1
- package/dist-server/service/payload-log/payload-log-query.d.ts +0 -11
- package/dist-server/service/payload-log/payload-log-query.js +0 -76
- package/dist-server/service/payload-log/payload-log-query.js.map +0 -1
- package/dist-server/service/payload-log/payload-log-type.d.ts +0 -15
- package/dist-server/service/payload-log/payload-log-type.js +0 -57
- package/dist-server/service/payload-log/payload-log-type.js.map +0 -1
- package/dist-server/service/payload-log/payload-log.d.ts +0 -23
- package/dist-server/service/payload-log/payload-log.js +0 -110
- package/dist-server/service/payload-log/payload-log.js.map +0 -1
- package/dist-server/service/property-spec.d.ts +0 -12
- package/dist-server/service/property-spec.js +0 -37
- package/dist-server/service/property-spec.js.map +0 -1
- package/dist-server/service/scenario/index.d.ts +0 -5
- package/dist-server/service/scenario/index.js +0 -9
- package/dist-server/service/scenario/index.js.map +0 -1
- package/dist-server/service/scenario/scenario-mutation.d.ts +0 -13
- package/dist-server/service/scenario/scenario-mutation.js +0 -327
- package/dist-server/service/scenario/scenario-mutation.js.map +0 -1
- package/dist-server/service/scenario/scenario-query.d.ts +0 -19
- package/dist-server/service/scenario/scenario-query.js +0 -167
- package/dist-server/service/scenario/scenario-query.js.map +0 -1
- package/dist-server/service/scenario/scenario-type.d.ts +0 -30
- package/dist-server/service/scenario/scenario-type.js +0 -111
- package/dist-server/service/scenario/scenario-type.js.map +0 -1
- package/dist-server/service/scenario/scenario.d.ts +0 -38
- package/dist-server/service/scenario/scenario.js +0 -142
- package/dist-server/service/scenario/scenario.js.map +0 -1
- package/dist-server/service/scenario-flow/scenario-flow.d.ts +0 -6
- package/dist-server/service/scenario-flow/scenario-flow.js +0 -28
- package/dist-server/service/scenario-flow/scenario-flow.js.map +0 -1
- package/dist-server/service/scenario-instance/index.d.ts +0 -5
- package/dist-server/service/scenario-instance/index.js +0 -9
- package/dist-server/service/scenario-instance/index.js.map +0 -1
- package/dist-server/service/scenario-instance/scenario-instance-mutation.d.ts +0 -6
- package/dist-server/service/scenario-instance/scenario-instance-mutation.js +0 -54
- package/dist-server/service/scenario-instance/scenario-instance-mutation.js.map +0 -1
- package/dist-server/service/scenario-instance/scenario-instance-query.d.ts +0 -6
- package/dist-server/service/scenario-instance/scenario-instance-query.js +0 -45
- package/dist-server/service/scenario-instance/scenario-instance-query.js.map +0 -1
- package/dist-server/service/scenario-instance/scenario-instance-subscription.d.ts +0 -10
- package/dist-server/service/scenario-instance/scenario-instance-subscription.js +0 -109
- package/dist-server/service/scenario-instance/scenario-instance-subscription.js.map +0 -1
- package/dist-server/service/scenario-instance/scenario-instance-type.d.ts +0 -102
- package/dist-server/service/scenario-instance/scenario-instance-type.js +0 -533
- package/dist-server/service/scenario-instance/scenario-instance-type.js.map +0 -1
- package/dist-server/service/scenario-queue/index.d.ts +0 -3
- package/dist-server/service/scenario-queue/index.js +0 -7
- package/dist-server/service/scenario-queue/index.js.map +0 -1
- package/dist-server/service/scenario-queue/scenario-queue-subscription.d.ts +0 -6
- package/dist-server/service/scenario-queue/scenario-queue-subscription.js +0 -58
- package/dist-server/service/scenario-queue/scenario-queue-subscription.js.map +0 -1
- package/dist-server/service/scenario-queue/scenario-queue-type.d.ts +0 -11
- package/dist-server/service/scenario-queue/scenario-queue-type.js +0 -43
- package/dist-server/service/scenario-queue/scenario-queue-type.js.map +0 -1
- package/dist-server/service/state-register/data-resolver.d.ts +0 -6
- package/dist-server/service/state-register/data-resolver.js +0 -61
- package/dist-server/service/state-register/data-resolver.js.map +0 -1
- package/dist-server/service/state-register/index.d.ts +0 -7
- package/dist-server/service/state-register/index.js +0 -11
- package/dist-server/service/state-register/index.js.map +0 -1
- package/dist-server/service/state-register/state-register-mutation.d.ts +0 -11
- package/dist-server/service/state-register/state-register-mutation.js +0 -153
- package/dist-server/service/state-register/state-register-mutation.js.map +0 -1
- package/dist-server/service/state-register/state-register-query.d.ts +0 -14
- package/dist-server/service/state-register/state-register-query.js +0 -123
- package/dist-server/service/state-register/state-register-query.js.map +0 -1
- package/dist-server/service/state-register/state-register-type.d.ts +0 -29
- package/dist-server/service/state-register/state-register-type.js +0 -114
- package/dist-server/service/state-register/state-register-type.js.map +0 -1
- package/dist-server/service/state-register/state-register.d.ts +0 -25
- package/dist-server/service/state-register/state-register.js +0 -128
- package/dist-server/service/state-register/state-register.js.map +0 -1
- package/dist-server/service/step/index.d.ts +0 -5
- package/dist-server/service/step/index.js +0 -9
- package/dist-server/service/step/index.js.map +0 -1
- package/dist-server/service/step/step-mutation.d.ts +0 -5
- package/dist-server/service/step/step-mutation.js +0 -55
- package/dist-server/service/step/step-mutation.js.map +0 -1
- package/dist-server/service/step/step-query.d.ts +0 -12
- package/dist-server/service/step/step-query.js +0 -89
- package/dist-server/service/step/step-query.js.map +0 -1
- package/dist-server/service/step/step-type.d.ts +0 -111
- package/dist-server/service/step/step-type.js +0 -212
- package/dist-server/service/step/step-type.js.map +0 -1
- package/dist-server/service/task-type/index.d.ts +0 -3
- package/dist-server/service/task-type/index.js +0 -7
- package/dist-server/service/task-type/index.js.map +0 -1
- package/dist-server/service/task-type/task-type-query.d.ts +0 -6
- package/dist-server/service/task-type/task-type-query.js +0 -108
- package/dist-server/service/task-type/task-type-query.js.map +0 -1
- package/dist-server/service/task-type/task-type-type.d.ts +0 -12
- package/dist-server/service/task-type/task-type-type.js +0 -47
- package/dist-server/service/task-type/task-type-type.js.map +0 -1
- package/dist-server/tsconfig.tsbuildinfo +0 -1
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@things-factory/integration-base",
|
3
|
-
"version": "9.0.0-beta.
|
3
|
+
"version": "9.0.0-beta.27",
|
4
4
|
"main": "dist-server/index.js",
|
5
5
|
"browser": "client/index.js",
|
6
6
|
"things-factory": true,
|
@@ -27,13 +27,13 @@
|
|
27
27
|
"dependencies": {
|
28
28
|
"@apollo/client": "^3.6.9",
|
29
29
|
"@operato/moment-timezone-es": "^9.0.0-beta",
|
30
|
-
"@things-factory/api": "^9.0.0-beta.
|
31
|
-
"@things-factory/auth-base": "^9.0.0-beta.
|
32
|
-
"@things-factory/cache-service": "^9.0.0-beta.
|
30
|
+
"@things-factory/api": "^9.0.0-beta.25",
|
31
|
+
"@things-factory/auth-base": "^9.0.0-beta.25",
|
32
|
+
"@things-factory/cache-service": "^9.0.0-beta.25",
|
33
33
|
"@things-factory/env": "^9.0.0-beta.19",
|
34
|
-
"@things-factory/oauth2-client": "^9.0.0-beta.
|
35
|
-
"@things-factory/scheduler-client": "^9.0.0-beta.
|
36
|
-
"@things-factory/shell": "^9.0.0-beta.
|
34
|
+
"@things-factory/oauth2-client": "^9.0.0-beta.25",
|
35
|
+
"@things-factory/scheduler-client": "^9.0.0-beta.25",
|
36
|
+
"@things-factory/shell": "^9.0.0-beta.25",
|
37
37
|
"@things-factory/utils": "^9.0.0-beta.19",
|
38
38
|
"async-mqtt": "^2.5.0",
|
39
39
|
"chance": "^1.1.11",
|
@@ -45,5 +45,5 @@
|
|
45
45
|
"readline": "^1.3.0",
|
46
46
|
"ses": "^1.5.0"
|
47
47
|
},
|
48
|
-
"gitHead": "
|
48
|
+
"gitHead": "3038f56087036b06717f8e4910383c6b1320218d"
|
49
49
|
}
|
@@ -1,6 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const tslib_1 = require("tslib");
|
4
|
-
tslib_1.__exportStar(require("./scenario-controller"), exports);
|
5
|
-
tslib_1.__exportStar(require("./publish-data"), exports);
|
6
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/controllers/index.ts"],"names":[],"mappings":";;;AAAA,gEAAqC;AACrC,yDAA8B","sourcesContent":["export * from './scenario-controller'\nexport * from './publish-data'\n"]}
|
@@ -1,22 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.publishData = publishData;
|
4
|
-
const shell_1 = require("@things-factory/shell");
|
5
|
-
const state_register_1 = require("../service/state-register/state-register");
|
6
|
-
async function publishData(tag, data, { domain, user }) {
|
7
|
-
const repository = (0, shell_1.getRepository)(state_register_1.StateRegister);
|
8
|
-
const stateRegister = await repository.findOne({
|
9
|
-
where: { domain: { id: domain === null || domain === void 0 ? void 0 : domain.id }, name: tag }
|
10
|
-
});
|
11
|
-
if (stateRegister) {
|
12
|
-
await repository.save(Object.assign(Object.assign({}, stateRegister), { state: data, writer: user, wroteAt: new Date() }));
|
13
|
-
}
|
14
|
-
shell_1.pubsub.publish('data', {
|
15
|
-
data: {
|
16
|
-
domain,
|
17
|
-
tag,
|
18
|
-
data
|
19
|
-
}
|
20
|
-
});
|
21
|
-
}
|
22
|
-
//# sourceMappingURL=publish-data.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"publish-data.js","sourceRoot":"","sources":["../../server/controllers/publish-data.ts"],"names":[],"mappings":";;AAKA,kCAuBC;AA5BD,iDAAqE;AAGrE,6EAAwE;AAEjE,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,IAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAkC;IACxG,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,8BAAa,CAAC,CAAA;IAE/C,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;KACjD,CAAC,CAAA;IAEF,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,UAAU,CAAC,IAAI,iCAChB,aAAa,KAChB,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,IAAI,IAAI,EAAE,IACnB,CAAA;IACJ,CAAC;IAED,cAAM,CAAC,OAAO,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE;YACJ,MAAM;YACN,GAAG;YACH,IAAI;SACL;KACF,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { Domain, getRepository, pubsub } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\n\nimport { StateRegister } from '../service/state-register/state-register'\n\nexport async function publishData(tag: string, data: any, { domain, user }: { domain: Domain; user: User }) {\n const repository = getRepository(StateRegister)\n\n const stateRegister = await repository.findOne({\n where: { domain: { id: domain?.id }, name: tag }\n })\n\n if (stateRegister) {\n await repository.save({\n ...stateRegister,\n state: data,\n writer: user,\n wroteAt: new Date()\n })\n }\n\n pubsub.publish('data', {\n data: {\n domain,\n tag,\n data\n }\n })\n}\n"]}
|
@@ -1,6 +0,0 @@
|
|
1
|
-
import { Scenario } from '../service/scenario/scenario';
|
2
|
-
import { ScenarioInstance, ScenarioInstanceRunResult } from '../service/scenario-instance/scenario-instance-type';
|
3
|
-
export declare function checkHasRole(scenario: Partial<Scenario>, context: ResolverContext): Promise<void>;
|
4
|
-
export declare function runScenario(instanceName: string, scenarioName: string, variables: any, context: ResolverContext): Promise<ScenarioInstanceRunResult>;
|
5
|
-
export declare function startScenario(instanceName: string, scenarioName: string, variables: any, context: ResolverContext): Promise<ScenarioInstance>;
|
6
|
-
export declare function stopScenario(instanceName: string, context: ResolverContext): Promise<ScenarioInstance | undefined>;
|
@@ -1,99 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.checkHasRole = checkHasRole;
|
4
|
-
exports.runScenario = runScenario;
|
5
|
-
exports.startScenario = startScenario;
|
6
|
-
exports.stopScenario = stopScenario;
|
7
|
-
const shell_1 = require("@things-factory/shell");
|
8
|
-
const auth_base_1 = require("@things-factory/auth-base");
|
9
|
-
const cache_service_1 = require("@things-factory/cache-service");
|
10
|
-
const scenario_engine_1 = require("../engine/scenario-engine");
|
11
|
-
const scenario_1 = require("../service/scenario/scenario");
|
12
|
-
const scenario_instance_type_1 = require("../service/scenario-instance/scenario-instance-type");
|
13
|
-
const debug = require('debug')('things-factory:integration-base:controller:run-scenario');
|
14
|
-
async function findScenario(scenarioName, domain) {
|
15
|
-
var repository = (0, shell_1.getRepository)(scenario_1.Scenario);
|
16
|
-
var scenario = await repository.findOne({
|
17
|
-
where: { domain: { id: domain.id }, name: scenarioName },
|
18
|
-
relations: ['domain', 'steps', 'role', 'creator', 'updater']
|
19
|
-
});
|
20
|
-
if (!scenario && domain.parentId) {
|
21
|
-
scenario = await repository.findOne({
|
22
|
-
where: { domain: { id: domain.parentId }, name: scenarioName },
|
23
|
-
relations: ['domain', 'steps', 'role', 'creator', 'updater']
|
24
|
-
});
|
25
|
-
}
|
26
|
-
return scenario;
|
27
|
-
}
|
28
|
-
async function checkHasRole(scenario, context) {
|
29
|
-
const { domain, user } = context.state;
|
30
|
-
if (!(await (0, auth_base_1.checkUserHasRole)(scenario.roleId, domain, user))) {
|
31
|
-
throw new Error(context.t('error.scenario run unauthorized', {
|
32
|
-
scenario: scenario.name
|
33
|
-
}));
|
34
|
-
}
|
35
|
-
}
|
36
|
-
async function runScenario(instanceName, scenarioName, variables, context) {
|
37
|
-
const { domain, user, lng } = context.state;
|
38
|
-
debug('runScenario', scenarioName, instanceName, variables);
|
39
|
-
var scenario = await findScenario(scenarioName, domain);
|
40
|
-
if (!scenario) {
|
41
|
-
throw new Error(context.t('error.scenario not found', {
|
42
|
-
scenario: scenarioName
|
43
|
-
}));
|
44
|
-
}
|
45
|
-
await checkHasRole(scenario, context);
|
46
|
-
if (scenario.ttl > 0) {
|
47
|
-
const cachedValue = await cache_service_1.cacheService.getFromCache(scenario.id, { domain: domain.id, variables: variables || {} });
|
48
|
-
if (cachedValue) {
|
49
|
-
return cachedValue.value;
|
50
|
-
}
|
51
|
-
}
|
52
|
-
/* 시나리오 인스턴스를 생성한다. */
|
53
|
-
instanceName = instanceName || scenarioName + '-' + String(Date.now());
|
54
|
-
var instance = new scenario_instance_type_1.ScenarioInstance(instanceName, scenario, {
|
55
|
-
domain,
|
56
|
-
user,
|
57
|
-
lng,
|
58
|
-
variables,
|
59
|
-
client: shell_1.GraphqlLocalClient.client
|
60
|
-
});
|
61
|
-
try {
|
62
|
-
return await instance.run();
|
63
|
-
}
|
64
|
-
catch (err) {
|
65
|
-
console.error(err);
|
66
|
-
throw new Error(context.t('error.scenario run error', {
|
67
|
-
scenario: scenarioName
|
68
|
-
}));
|
69
|
-
}
|
70
|
-
}
|
71
|
-
async function startScenario(instanceName, scenarioName, variables, context) {
|
72
|
-
const { domain, user, lng } = context.state;
|
73
|
-
debug('startScenario', instanceName, scenarioName, variables);
|
74
|
-
var scenario = await findScenario(scenarioName, domain);
|
75
|
-
if (!scenario) {
|
76
|
-
throw new Error(context.t('error.scenario not found', {
|
77
|
-
scenario: scenarioName
|
78
|
-
}));
|
79
|
-
}
|
80
|
-
await checkHasRole(scenario, context);
|
81
|
-
instanceName = instanceName || scenarioName;
|
82
|
-
return await scenario_engine_1.ScenarioEngine.load(instanceName, scenario, { domain, user, lng, variables });
|
83
|
-
}
|
84
|
-
async function stopScenario(instanceName, context) {
|
85
|
-
const { domain, user, unsafeIP, prohibitedPrivileges } = context.state;
|
86
|
-
debug('stopScenario', instanceName);
|
87
|
-
var scenarioInstance = scenario_engine_1.ScenarioEngine.getScenarioInstance(domain, instanceName);
|
88
|
-
if (!scenarioInstance) {
|
89
|
-
debug('stopScenario', `ScenarioInstance(${instanceName}) Not Found.`);
|
90
|
-
throw new Error(context.t('error.scenario instance not found', {
|
91
|
-
instance: instanceName
|
92
|
-
}));
|
93
|
-
}
|
94
|
-
var scenario = await findScenario(scenarioInstance.scenarioName, domain);
|
95
|
-
await checkHasRole(scenario, context);
|
96
|
-
await scenario_engine_1.ScenarioEngine.unload(domain, instanceName);
|
97
|
-
return scenarioInstance;
|
98
|
-
}
|
99
|
-
//# sourceMappingURL=scenario-controller.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"scenario-controller.js","sourceRoot":"","sources":["../../server/controllers/scenario-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { getRepository, Domain, GraphqlLocalClient } from '@things-factory/shell'\nimport { checkUserHasRole } from '@things-factory/auth-base'\nimport { cacheService } from '@things-factory/cache-service'\n\nimport { ScenarioEngine } from '../engine/scenario-engine'\nimport { Scenario } from '../service/scenario/scenario'\nimport { ScenarioInstance, ScenarioInstanceRunResult } from '../service/scenario-instance/scenario-instance-type'\nimport { Step } from '../service/step/step-type'\n\nconst debug = require('debug')('things-factory:integration-base:controller:run-scenario')\n\nasync function findScenario(\n scenarioName: string,\n domain: Domain\n): Promise<{\n id: string\n ttl: number\n name: string\n steps: Step[]\n domain: Domain\n}> {\n var repository = getRepository(Scenario)\n\n var scenario = await repository.findOne({\n where: { domain: { id: domain.id }, name: scenarioName },\n relations: ['domain', 'steps', 'role', 'creator', 'updater']\n })\n\n if (!scenario && domain.parentId) {\n scenario = await repository.findOne({\n where: { domain: { id: domain.parentId }, name: scenarioName },\n relations: ['domain', 'steps', 'role', 'creator', 'updater']\n })\n }\n\n return scenario as any\n}\n\nexport async function checkHasRole(scenario: Partial<Scenario>, context: ResolverContext): Promise<void> {\n const { domain, user } = context.state\n if (!(await checkUserHasRole(scenario.roleId, domain, user))) {\n throw new Error(\n context.t('error.scenario run unauthorized', {\n scenario: scenario.name\n })\n )\n }\n}\n\nexport async function runScenario(\n instanceName: string,\n scenarioName: string,\n variables: any,\n context: ResolverContext\n): Promise<ScenarioInstanceRunResult> {\n const { domain, user, lng } = context.state\n\n debug('runScenario', scenarioName, instanceName, variables)\n\n var scenario = await findScenario(scenarioName, domain)\n\n if (!scenario) {\n throw new Error(\n context.t('error.scenario not found', {\n scenario: scenarioName\n })\n )\n }\n\n await checkHasRole(scenario, context)\n\n if (scenario.ttl > 0) {\n const cachedValue = await cacheService.getFromCache(scenario.id, { domain: domain.id, variables: variables || {} })\n if (cachedValue) {\n return cachedValue.value\n }\n }\n\n /* 시나리오 인스턴스를 생성한다. */\n instanceName = instanceName || scenarioName + '-' + String(Date.now())\n var instance = new ScenarioInstance(instanceName, scenario, {\n domain,\n user,\n lng,\n variables,\n client: GraphqlLocalClient.client\n })\n\n try {\n return await instance.run()\n } catch (err) {\n console.error(err)\n\n throw new Error(\n context.t('error.scenario run error', {\n scenario: scenarioName\n })\n )\n }\n}\n\nexport async function startScenario(\n instanceName: string,\n scenarioName: string,\n variables: any,\n context: ResolverContext\n): Promise<ScenarioInstance> {\n const { domain, user, lng } = context.state\n\n debug('startScenario', instanceName, scenarioName, variables)\n\n var scenario = await findScenario(scenarioName, domain)\n\n if (!scenario) {\n throw new Error(\n context.t('error.scenario not found', {\n scenario: scenarioName\n })\n )\n }\n\n await checkHasRole(scenario, context)\n\n instanceName = instanceName || scenarioName\n return await ScenarioEngine.load(instanceName, scenario, { domain, user, lng, variables })\n}\n\nexport async function stopScenario(\n instanceName: string,\n context: ResolverContext\n): Promise<ScenarioInstance | undefined> {\n const { domain, user, unsafeIP, prohibitedPrivileges } = context.state\n\n debug('stopScenario', instanceName)\n\n var scenarioInstance = ScenarioEngine.getScenarioInstance(domain, instanceName)\n\n if (!scenarioInstance) {\n debug('stopScenario', `ScenarioInstance(${instanceName}) Not Found.`)\n throw new Error(\n context.t('error.scenario instance not found', {\n instance: instanceName\n })\n )\n }\n\n var scenario = await findScenario(scenarioInstance.scenarioName, domain)\n\n await checkHasRole(scenario, context)\n\n await ScenarioEngine.unload(domain, instanceName)\n\n return scenarioInstance\n}\n"]}
|
@@ -1,96 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.analyzeIntegration = analyzeIntegration;
|
4
|
-
const tslib_1 = require("tslib");
|
5
|
-
const uniq_1 = tslib_1.__importDefault(require("lodash/uniq"));
|
6
|
-
const shell_1 = require("@things-factory/shell");
|
7
|
-
const scenario_1 = require("../../service/scenario/scenario");
|
8
|
-
const connection_type_1 = require("../../service/connection/connection-type");
|
9
|
-
async function analyzeIntegration(domain) {
|
10
|
-
const tagNames = [];
|
11
|
-
const model = {
|
12
|
-
nodes: [],
|
13
|
-
relationships: []
|
14
|
-
};
|
15
|
-
var id = 0;
|
16
|
-
const scenarios = await (0, shell_1.getRepository)(scenario_1.Scenario).find({
|
17
|
-
where: { domain: { id: domain.id } },
|
18
|
-
relations: ['steps']
|
19
|
-
});
|
20
|
-
const connections = await (0, shell_1.getRepository)(connection_type_1.Connection).find({
|
21
|
-
where: { domain: { id: domain.id } }
|
22
|
-
});
|
23
|
-
model.nodes = model.nodes.concat(scenarios.map(scenario => {
|
24
|
-
return {
|
25
|
-
id: scenario.id,
|
26
|
-
labels: ['Scenario'],
|
27
|
-
text: scenario.name,
|
28
|
-
icon: 'settings',
|
29
|
-
properties: {
|
30
|
-
name: scenario.name,
|
31
|
-
description: scenario.description
|
32
|
-
}
|
33
|
-
};
|
34
|
-
}));
|
35
|
-
model.nodes = model.nodes.concat(connections.map(connection => {
|
36
|
-
return {
|
37
|
-
id: connection.id,
|
38
|
-
labels: ['Connection'],
|
39
|
-
text: connection.name,
|
40
|
-
icon: 'link',
|
41
|
-
properties: {
|
42
|
-
name: connection.name,
|
43
|
-
description: connection.description
|
44
|
-
}
|
45
|
-
};
|
46
|
-
}));
|
47
|
-
scenarios.forEach(scenario => {
|
48
|
-
const connectionNames = (0, uniq_1.default)(scenario.steps.map(step => step.connection).filter(Boolean));
|
49
|
-
const connectionList = connectionNames
|
50
|
-
.map(connectionName => connections.find(connection => connection.name == connectionName))
|
51
|
-
.filter(Boolean);
|
52
|
-
const relationships = connectionList.map(connection => {
|
53
|
-
return {
|
54
|
-
id: ++id,
|
55
|
-
type: 'using',
|
56
|
-
startNode: scenario.id,
|
57
|
-
endNode: connection.id,
|
58
|
-
properties: {}
|
59
|
-
};
|
60
|
-
});
|
61
|
-
model.relationships = model.relationships.concat(relationships);
|
62
|
-
});
|
63
|
-
scenarios.forEach(scenario => {
|
64
|
-
const tags = (0, uniq_1.default)(scenario.steps
|
65
|
-
.filter(step => !step.connection && step.task == 'publish')
|
66
|
-
.map(step => { var _a; return (_a = JSON.parse(step.params)) === null || _a === void 0 ? void 0 : _a.tag; })
|
67
|
-
.filter(Boolean));
|
68
|
-
for (const tag of tags) {
|
69
|
-
if (tagNames.includes(tag)) {
|
70
|
-
continue;
|
71
|
-
}
|
72
|
-
model.nodes.push({
|
73
|
-
id: `tag-${tag}`,
|
74
|
-
labels: ['Tag'],
|
75
|
-
text: tag,
|
76
|
-
icon: 'label',
|
77
|
-
properties: {
|
78
|
-
tag
|
79
|
-
}
|
80
|
-
});
|
81
|
-
tagNames.push(tag);
|
82
|
-
}
|
83
|
-
const relationships = tags.map(tag => {
|
84
|
-
return {
|
85
|
-
id: ++id,
|
86
|
-
type: 'publish',
|
87
|
-
startNode: scenario.id,
|
88
|
-
endNode: `tag-${tag}`,
|
89
|
-
properties: {}
|
90
|
-
};
|
91
|
-
});
|
92
|
-
model.relationships = model.relationships.concat(relationships);
|
93
|
-
});
|
94
|
-
return model;
|
95
|
-
}
|
96
|
-
//# sourceMappingURL=analyze-integration.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"analyze-integration.js","sourceRoot":"","sources":["../../../server/engine/analyzer/analyze-integration.ts"],"names":[],"mappings":"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","sourcesContent":["import uniq from 'lodash/uniq'\n\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { Scenario } from '../../service/scenario/scenario'\nimport { Connection } from '../../service/connection/connection-type'\n\nexport async function analyzeIntegration(domain: Domain) {\n const tagNames = []\n\n const model = {\n nodes: [],\n relationships: []\n }\n\n var id = 0\n\n const scenarios = await getRepository(Scenario).find({\n where: { domain: { id: domain.id } },\n relations: ['steps']\n })\n\n const connections = await getRepository(Connection).find({\n where: { domain: { id: domain.id } }\n })\n\n model.nodes = model.nodes.concat(\n scenarios.map(scenario => {\n return {\n id: scenario.id,\n labels: ['Scenario'],\n text: scenario.name,\n icon: 'settings',\n properties: {\n name: scenario.name,\n description: scenario.description\n }\n }\n })\n )\n\n model.nodes = model.nodes.concat(\n connections.map(connection => {\n return {\n id: connection.id,\n labels: ['Connection'],\n text: connection.name,\n icon: 'link',\n properties: {\n name: connection.name,\n description: connection.description\n }\n }\n })\n )\n\n scenarios.forEach(scenario => {\n const connectionNames = uniq(scenario.steps.map(step => step.connection).filter(Boolean))\n const connectionList = connectionNames\n .map(connectionName => connections.find(connection => connection.name == connectionName))\n .filter(Boolean)\n\n const relationships = connectionList.map(connection => {\n return {\n id: ++id,\n type: 'using',\n startNode: scenario.id,\n endNode: connection.id,\n properties: {}\n }\n })\n\n model.relationships = model.relationships.concat(relationships)\n })\n\n scenarios.forEach(scenario => {\n const tags = uniq(\n scenario.steps\n .filter(step => !step.connection && step.task == 'publish')\n .map(step => JSON.parse(step.params)?.tag)\n .filter(Boolean)\n )\n\n for (const tag of tags) {\n if (tagNames.includes(tag)) {\n continue\n }\n\n model.nodes.push({\n id: `tag-${tag}`,\n labels: ['Tag'],\n text: tag,\n icon: 'label',\n properties: {\n tag\n }\n })\n\n tagNames.push(tag)\n }\n\n const relationships = tags.map(tag => {\n return {\n id: ++id,\n type: 'publish',\n startNode: scenario.id,\n endNode: `tag-${tag}`,\n properties: {}\n }\n })\n\n model.relationships = model.relationships.concat(relationships)\n })\n\n return model\n}\n"]}
|
@@ -1,35 +0,0 @@
|
|
1
|
-
import { Domain } from '@things-factory/shell';
|
2
|
-
import { Connection } from '../service';
|
3
|
-
import { Connector } from './types';
|
4
|
-
export declare class ConnectionManager {
|
5
|
-
private static connectors;
|
6
|
-
private static connections;
|
7
|
-
private static entities;
|
8
|
-
private static logFormat;
|
9
|
-
static logger: import("winston").Logger;
|
10
|
-
static ready(): Promise<void>;
|
11
|
-
static registerConnector(type: string, connector: Connector): void;
|
12
|
-
static getConnector(type: string): Connector;
|
13
|
-
static getConnectors(): {
|
14
|
-
[connectorName: string]: Connector;
|
15
|
-
};
|
16
|
-
static unregisterConnector(type: string): void;
|
17
|
-
static getConnections(): {
|
18
|
-
[domainId: string]: {
|
19
|
-
[name: string]: any;
|
20
|
-
};
|
21
|
-
};
|
22
|
-
static getEntities(): {};
|
23
|
-
static getConnectionInstance(connection: Connection): any;
|
24
|
-
static getConnectionInstanceByName(domain: Domain, name: string): any;
|
25
|
-
static getConnectionInstanceEntityByName(domain: Domain, name: string): any;
|
26
|
-
static getConnectionInstances(domain: Domain): {
|
27
|
-
[connectionName: string]: any;
|
28
|
-
};
|
29
|
-
static getConnectionInstanceEntities(domain: Domain): {
|
30
|
-
[connectionName: string]: any;
|
31
|
-
};
|
32
|
-
static addConnectionInstance(connection: Connection, instance: any): void;
|
33
|
-
static removeConnectionInstance(connection: Connection): any;
|
34
|
-
private static publishState;
|
35
|
-
}
|
@@ -1,192 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.ConnectionManager = void 0;
|
4
|
-
const tslib_1 = require("tslib");
|
5
|
-
const moment_timezone_1 = tslib_1.__importDefault(require("moment-timezone"));
|
6
|
-
const winston_1 = require("winston");
|
7
|
-
const shell_1 = require("@things-factory/shell");
|
8
|
-
const service_1 = require("../service");
|
9
|
-
const proxy_connector_1 = require("./connector/proxy-connector");
|
10
|
-
const { combine, splat, printf, errors } = winston_1.format;
|
11
|
-
const debug = require('debug')('things-factory:integration-base:connections');
|
12
|
-
function getSystemTimeZone() {
|
13
|
-
try {
|
14
|
-
const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
15
|
-
if (!timeZone) {
|
16
|
-
throw new Error('Unable to resolve timeZone');
|
17
|
-
}
|
18
|
-
return timeZone;
|
19
|
-
}
|
20
|
-
catch (e) {
|
21
|
-
console.warn('Failed to get system timeZone, falling back to UTC.', e);
|
22
|
-
return 'UTC';
|
23
|
-
}
|
24
|
-
}
|
25
|
-
const SYSTEM_TZ = getSystemTimeZone();
|
26
|
-
const systemTimestamp = (0, winston_1.format)((info, opts) => {
|
27
|
-
if (opts.tz)
|
28
|
-
info.timestamp = (0, moment_timezone_1.default)().tz(opts.tz).format();
|
29
|
-
return info;
|
30
|
-
});
|
31
|
-
class ConnectionManager {
|
32
|
-
static async ready() {
|
33
|
-
const CONNECTIONS = (await (0, shell_1.getRepository)(service_1.Connection).find({
|
34
|
-
where: { active: true },
|
35
|
-
relations: ['domain', 'edge', 'creator', 'updater']
|
36
|
-
})).map(connection => {
|
37
|
-
var params = {};
|
38
|
-
try {
|
39
|
-
params = JSON.parse(connection.params || '{}');
|
40
|
-
}
|
41
|
-
catch (ex) {
|
42
|
-
ConnectionManager.logger.error(`connection '${connection.name}' params should be JSON format`, ex);
|
43
|
-
}
|
44
|
-
return Object.assign(Object.assign({}, connection), { params });
|
45
|
-
});
|
46
|
-
ConnectionManager.logger.info('Initializing ConnectionManager...');
|
47
|
-
return await Promise.all([...Object.keys(ConnectionManager.connectors), 'proxy-connector'].map(type => {
|
48
|
-
const connector = type == 'proxy-connector' ? proxy_connector_1.ProxyConnector.instance : ConnectionManager.getConnector(type);
|
49
|
-
ConnectionManager.logger.info(`Connector '${type}' started to ready`);
|
50
|
-
return connector
|
51
|
-
.ready(CONNECTIONS.filter(connection => {
|
52
|
-
if (type == 'proxy-connector') {
|
53
|
-
return !!connection.edge;
|
54
|
-
}
|
55
|
-
else {
|
56
|
-
return !connection.edge && connection.type == type;
|
57
|
-
}
|
58
|
-
}))
|
59
|
-
.catch(error => {
|
60
|
-
ConnectionManager.logger.error(error);
|
61
|
-
})
|
62
|
-
.then(() => {
|
63
|
-
ConnectionManager.logger.info(`All connector for '${type}' ready`);
|
64
|
-
});
|
65
|
-
})).then(() => {
|
66
|
-
ConnectionManager.logger.info('ConnectionManager initialization done:');
|
67
|
-
Object.keys(ConnectionManager.connections).forEach(key => {
|
68
|
-
var connections = ConnectionManager.connections[key];
|
69
|
-
ConnectionManager.logger.info('For domain(%s) : %s', key, JSON.stringify(Object.keys(connections)));
|
70
|
-
});
|
71
|
-
});
|
72
|
-
}
|
73
|
-
static registerConnector(type, connector) {
|
74
|
-
ConnectionManager.connectors[type] = connector;
|
75
|
-
}
|
76
|
-
static getConnector(type) {
|
77
|
-
return ConnectionManager.connectors[type];
|
78
|
-
}
|
79
|
-
static getConnectors() {
|
80
|
-
return Object.assign({}, ConnectionManager.connectors);
|
81
|
-
}
|
82
|
-
static unregisterConnector(type) {
|
83
|
-
delete ConnectionManager.connectors[type];
|
84
|
-
}
|
85
|
-
static getConnections() {
|
86
|
-
return ConnectionManager.connections;
|
87
|
-
}
|
88
|
-
static getEntities() {
|
89
|
-
return ConnectionManager.entities;
|
90
|
-
}
|
91
|
-
static getConnectionInstance(connection) {
|
92
|
-
var _a;
|
93
|
-
const { domain, name } = connection;
|
94
|
-
return (_a = ConnectionManager.connections[domain.id]) === null || _a === void 0 ? void 0 : _a[name];
|
95
|
-
}
|
96
|
-
static getConnectionInstanceByName(domain, name) {
|
97
|
-
const connections = ConnectionManager.connections[domain.id];
|
98
|
-
const connection = connections === null || connections === void 0 ? void 0 : connections[name];
|
99
|
-
if (!connection) {
|
100
|
-
throw `The connection with the given name(${name}) cannot be found`;
|
101
|
-
}
|
102
|
-
return connection;
|
103
|
-
}
|
104
|
-
static getConnectionInstanceEntityByName(domain, name) {
|
105
|
-
var _a, _b;
|
106
|
-
const connection = (_a = ConnectionManager.entities[domain.id]) === null || _a === void 0 ? void 0 : _a[name];
|
107
|
-
if (connection) {
|
108
|
-
return connection;
|
109
|
-
}
|
110
|
-
if (domain.parentId) {
|
111
|
-
return (_b = ConnectionManager.entities[domain.id]) === null || _b === void 0 ? void 0 : _b[name];
|
112
|
-
}
|
113
|
-
}
|
114
|
-
static getConnectionInstances(domain) {
|
115
|
-
const connections = ConnectionManager.connections[domain.id];
|
116
|
-
const parentConnections = domain.parentId && ConnectionManager.connections[domain.parentId];
|
117
|
-
return Object.assign(Object.assign({}, parentConnections), connections);
|
118
|
-
}
|
119
|
-
static getConnectionInstanceEntities(domain) {
|
120
|
-
const connections = ConnectionManager.entities[domain.id];
|
121
|
-
return Object.assign({}, connections);
|
122
|
-
}
|
123
|
-
static addConnectionInstance(connection, instance) {
|
124
|
-
const { domain, name } = connection;
|
125
|
-
var connections = ConnectionManager.connections[domain.id];
|
126
|
-
if (!connections) {
|
127
|
-
connections = ConnectionManager.connections[domain.id] = {};
|
128
|
-
}
|
129
|
-
var entities = ConnectionManager.entities[domain.id];
|
130
|
-
if (!entities) {
|
131
|
-
entities = ConnectionManager.entities[domain.id] = {};
|
132
|
-
}
|
133
|
-
connections[name] = instance;
|
134
|
-
entities[name] = connection;
|
135
|
-
ConnectionManager.publishState(connection, service_1.ConnectionStatus.CONNECTED);
|
136
|
-
debug('add-connection', domain.subdomain, name);
|
137
|
-
}
|
138
|
-
static removeConnectionInstance(connection) {
|
139
|
-
const { domain, name } = connection;
|
140
|
-
var connections = ConnectionManager.connections[domain.id];
|
141
|
-
var entities = ConnectionManager.entities[domain.id];
|
142
|
-
var instance = connections === null || connections === void 0 ? void 0 : connections[name];
|
143
|
-
if (!connections || !instance) {
|
144
|
-
debug('remove-connection', `'${name}' connection not found in domain '${domain.subdomain}'`);
|
145
|
-
return;
|
146
|
-
}
|
147
|
-
delete connections[name];
|
148
|
-
delete entities[name];
|
149
|
-
ConnectionManager.publishState(connection, service_1.ConnectionStatus.DISCONNECTED);
|
150
|
-
debug('remove-connection', `'${name}' connection is removed from domain '${domain.subdomain}'`);
|
151
|
-
return instance;
|
152
|
-
}
|
153
|
-
static async publishState(connection, state) {
|
154
|
-
const { domain, id, name, description, type, edge } = connection;
|
155
|
-
shell_1.pubsub.publish('connection-state', {
|
156
|
-
connectionState: {
|
157
|
-
domain,
|
158
|
-
id,
|
159
|
-
name,
|
160
|
-
description,
|
161
|
-
type,
|
162
|
-
edge,
|
163
|
-
state,
|
164
|
-
timestamp: new Date()
|
165
|
-
}
|
166
|
-
});
|
167
|
-
}
|
168
|
-
}
|
169
|
-
exports.ConnectionManager = ConnectionManager;
|
170
|
-
ConnectionManager.connectors = {};
|
171
|
-
ConnectionManager.connections = {};
|
172
|
-
ConnectionManager.entities = {};
|
173
|
-
ConnectionManager.logFormat = printf(({ level, message, timestamp, stack }) => {
|
174
|
-
return `${timestamp} ${level}: ${stack || message}`;
|
175
|
-
});
|
176
|
-
ConnectionManager.logger = (0, winston_1.createLogger)({
|
177
|
-
format: combine(errors({ stack: true }), systemTimestamp({ tz: SYSTEM_TZ }), splat(), ConnectionManager.logFormat),
|
178
|
-
transports: [
|
179
|
-
new winston_1.transports.DailyRotateFile({
|
180
|
-
filename: `logs/connections-%DATE%.log`,
|
181
|
-
datePattern: 'YYYY-MM-DD-HH',
|
182
|
-
zippedArchive: false,
|
183
|
-
maxSize: '20m',
|
184
|
-
maxFiles: '14d',
|
185
|
-
level: 'info'
|
186
|
-
}),
|
187
|
-
new shell_1.PubSubLogTransport({
|
188
|
-
topic: 'connection-log'
|
189
|
-
})
|
190
|
-
]
|
191
|
-
});
|
192
|
-
//# sourceMappingURL=connection-manager.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../server/engine/connection-manager.ts"],"names":[],"mappings":"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","sourcesContent":["import moment from 'moment-timezone'\nimport { createLogger, format, transports } from 'winston'\n\nimport { Domain, getRepository, pubsub, PubSubLogTransport } from '@things-factory/shell'\n\nimport { Connection, ConnectionStatus } from '../service'\nimport { Connector } from './types'\nimport { ProxyConnector } from './connector/proxy-connector'\n\nconst { combine, splat, printf, errors } = format\nconst debug = require('debug')('things-factory:integration-base:connections')\n\nfunction getSystemTimeZone() {\n try {\n const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone\n if (!timeZone) {\n throw new Error('Unable to resolve timeZone')\n }\n return timeZone\n } catch (e) {\n console.warn('Failed to get system timeZone, falling back to UTC.', e)\n return 'UTC'\n }\n}\n\nconst SYSTEM_TZ = getSystemTimeZone()\nconst systemTimestamp = format((info, opts: { tz?: string }) => {\n if (opts.tz) info.timestamp = moment().tz(opts.tz).format()\n return info\n})\n\nexport class ConnectionManager {\n private static connectors: { [propName: string]: Connector } = {}\n private static connections: { [domainId: string]: { [name: string]: any } } = {}\n private static entities = {}\n private static logFormat = printf(({ level, message, timestamp, stack }) => {\n return `${timestamp} ${level}: ${stack || message}`\n })\n\n public static logger = createLogger({\n format: combine(errors({ stack: true }), systemTimestamp({ tz: SYSTEM_TZ }), splat(), ConnectionManager.logFormat),\n transports: [\n new (transports as any).DailyRotateFile({\n filename: `logs/connections-%DATE%.log`,\n datePattern: 'YYYY-MM-DD-HH',\n zippedArchive: false,\n maxSize: '20m',\n maxFiles: '14d',\n level: 'info'\n }),\n new PubSubLogTransport({\n topic: 'connection-log'\n })\n ]\n })\n\n static async ready() {\n const CONNECTIONS = (\n await getRepository(Connection).find({\n where: { active: true },\n relations: ['domain', 'edge', 'creator', 'updater']\n })\n ).map(connection => {\n var params = {}\n try {\n params = JSON.parse(connection.params || '{}')\n } catch (ex) {\n ConnectionManager.logger.error(`connection '${connection.name}' params should be JSON format`, ex)\n }\n\n return {\n ...connection,\n params\n }\n })\n\n ConnectionManager.logger.info('Initializing ConnectionManager...')\n\n return await Promise.all(\n [...Object.keys(ConnectionManager.connectors), 'proxy-connector'].map(type => {\n const connector = type == 'proxy-connector' ? ProxyConnector.instance : ConnectionManager.getConnector(type)\n\n ConnectionManager.logger.info(`Connector '${type}' started to ready`)\n\n return connector\n .ready(\n CONNECTIONS.filter(connection => {\n if (type == 'proxy-connector') {\n return !!connection.edge\n } else {\n return !connection.edge && connection.type == type\n }\n }) as any\n )\n .catch(error => {\n ConnectionManager.logger.error(error)\n })\n .then(() => {\n ConnectionManager.logger.info(`All connector for '${type}' ready`)\n })\n })\n ).then(() => {\n ConnectionManager.logger.info('ConnectionManager initialization done:')\n Object.keys(ConnectionManager.connections).forEach(key => {\n var connections = ConnectionManager.connections[key]\n ConnectionManager.logger.info('For domain(%s) : %s', key, JSON.stringify(Object.keys(connections)))\n })\n })\n }\n\n static registerConnector(type: string, connector: Connector) {\n ConnectionManager.connectors[type] = connector\n }\n\n static getConnector(type: string): Connector {\n return ConnectionManager.connectors[type]\n }\n\n static getConnectors(): { [connectorName: string]: Connector } {\n return {\n ...ConnectionManager.connectors\n }\n }\n\n static unregisterConnector(type: string) {\n delete ConnectionManager.connectors[type]\n }\n\n static getConnections() {\n return ConnectionManager.connections\n }\n\n static getEntities() {\n return ConnectionManager.entities\n }\n\n static getConnectionInstance(connection: Connection): any {\n const { domain, name } = connection\n return ConnectionManager.connections[domain.id]?.[name]\n }\n\n static getConnectionInstanceByName(domain: Domain, name: string) {\n const connections = ConnectionManager.connections[domain.id]\n const connection = connections?.[name]\n\n if (!connection) {\n throw `The connection with the given name(${name}) cannot be found`\n }\n\n return connection\n }\n\n static getConnectionInstanceEntityByName(domain: Domain, name: string): any {\n const connection = ConnectionManager.entities[domain.id]?.[name]\n if (connection) {\n return connection\n }\n\n if (domain.parentId) {\n return ConnectionManager.entities[domain.id]?.[name]\n }\n }\n\n static getConnectionInstances(domain: Domain): { [connectionName: string]: any } {\n const connections = ConnectionManager.connections[domain.id]\n const parentConnections = domain.parentId && ConnectionManager.connections[domain.parentId]\n\n return {\n ...parentConnections,\n ...connections\n }\n }\n\n static getConnectionInstanceEntities(domain: Domain): { [connectionName: string]: any } {\n const connections = ConnectionManager.entities[domain.id]\n\n return {\n ...connections\n }\n }\n\n static addConnectionInstance(connection: Connection, instance: any) {\n const { domain, name } = connection\n\n var connections = ConnectionManager.connections[domain.id]\n if (!connections) {\n connections = ConnectionManager.connections[domain.id] = {}\n }\n\n var entities = ConnectionManager.entities[domain.id]\n if (!entities) {\n entities = ConnectionManager.entities[domain.id] = {}\n }\n\n connections[name] = instance\n entities[name] = connection\n\n ConnectionManager.publishState(connection, ConnectionStatus.CONNECTED)\n debug('add-connection', domain.subdomain, name)\n }\n\n static removeConnectionInstance(connection: Connection): any {\n const { domain, name } = connection\n var connections = ConnectionManager.connections[domain.id]\n var entities = ConnectionManager.entities[domain.id]\n\n var instance = connections?.[name]\n\n if (!connections || !instance) {\n debug('remove-connection', `'${name}' connection not found in domain '${domain.subdomain}'`)\n return\n }\n\n delete connections[name]\n delete entities[name]\n\n ConnectionManager.publishState(connection, ConnectionStatus.DISCONNECTED)\n debug('remove-connection', `'${name}' connection is removed from domain '${domain.subdomain}'`)\n\n return instance\n }\n\n private static async publishState(connection: Connection, state) {\n const { domain, id, name, description, type, edge } = connection\n\n pubsub.publish('connection-state', {\n connectionState: {\n domain,\n id,\n name,\n description,\n type,\n edge,\n state,\n timestamp: new Date()\n }\n })\n }\n}\n"]}
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { Connector } from '../types';
|
2
|
-
import { InputConnection } from '../../service/connection/connection-type';
|
3
|
-
export declare class EchoBack implements Connector {
|
4
|
-
ready(connectionConfigs: any): Promise<void>;
|
5
|
-
connect(connection: InputConnection): Promise<void>;
|
6
|
-
disconnect(connection: InputConnection): Promise<void>;
|
7
|
-
get parameterSpec(): any[];
|
8
|
-
get taskPrefixes(): string[];
|
9
|
-
}
|
@@ -1,39 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.EchoBack = void 0;
|
4
|
-
const tslib_1 = require("tslib");
|
5
|
-
const net_1 = tslib_1.__importDefault(require("net"));
|
6
|
-
const promise_socket_1 = tslib_1.__importDefault(require("promise-socket"));
|
7
|
-
const connection_manager_1 = require("../connection-manager");
|
8
|
-
class EchoBack {
|
9
|
-
async ready(connectionConfigs) {
|
10
|
-
await Promise.all(connectionConfigs.map(this.connect.bind(this)));
|
11
|
-
connection_manager_1.ConnectionManager.logger.info('echo-back connections are ready');
|
12
|
-
}
|
13
|
-
async connect(connection) {
|
14
|
-
let socket = new promise_socket_1.default(new net_1.default.Socket());
|
15
|
-
let [host, port = 8124] = connection.endpoint.split(':');
|
16
|
-
try {
|
17
|
-
await socket.connect(Number(port), host);
|
18
|
-
connection_manager_1.ConnectionManager.addConnectionInstance(connection, socket);
|
19
|
-
connection_manager_1.ConnectionManager.logger.info(`echo-back-connector connection(${connection.name}:${connection.endpoint}) is connected`);
|
20
|
-
}
|
21
|
-
catch (e) {
|
22
|
-
connection_manager_1.ConnectionManager.logger.error(`echo-back-connector connection(${connection.name}:${connection.endpoint}) is not connected.`, e);
|
23
|
-
}
|
24
|
-
}
|
25
|
-
async disconnect(connection) {
|
26
|
-
let socket = connection_manager_1.ConnectionManager.removeConnectionInstance(connection);
|
27
|
-
await socket.destroy();
|
28
|
-
connection_manager_1.ConnectionManager.logger.info(`echo-back-connector connection(${connection.name}) is disconnected`);
|
29
|
-
}
|
30
|
-
get parameterSpec() {
|
31
|
-
return [];
|
32
|
-
}
|
33
|
-
get taskPrefixes() {
|
34
|
-
return ['echo'];
|
35
|
-
}
|
36
|
-
}
|
37
|
-
exports.EchoBack = EchoBack;
|
38
|
-
connection_manager_1.ConnectionManager.registerConnector('echo-back', new EchoBack());
|
39
|
-
//# sourceMappingURL=echo-back-connector.js.map
|