diff --git a/lib/dialogflow-cx.d.ts b/lib/dialogflow-cx.d.ts new file mode 100644 index 000000000..058a49c25 --- /dev/null +++ b/lib/dialogflow-cx.d.ts @@ -0,0 +1 @@ +export declare const DialogFlowApi: any; diff --git a/lib/dialogflow-cx.js b/lib/dialogflow-cx.js new file mode 100644 index 000000000..fc73eed0d --- /dev/null +++ b/lib/dialogflow-cx.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DialogFlowApi = void 0; +// tslint:disable-next-line: no-var-requires +exports.DialogFlowApi = require('@google-cloud/dialogflow-cx'); + +//# sourceMappingURL=dialogflow-cx.js.map diff --git a/lib/dialogflow-cx.js.map b/lib/dialogflow-cx.js.map new file mode 100644 index 000000000..bedba8673 --- /dev/null +++ b/lib/dialogflow-cx.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["src/lib/dialogflow-cx.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC/B,QAAA,aAAa,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC","file":"dialogflow-cx.js","sourcesContent":["// tslint:disable-next-line: no-var-requires\nexport const DialogFlowApi = require('@google-cloud/dialogflow-cx');\n"]} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 4615b5e4e..e95a2a6c4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -164,6 +164,147 @@ "to-fast-properties": "^2.0.0" } }, + "@google-cloud/dialogflow-cx": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@google-cloud/dialogflow-cx/-/dialogflow-cx-2.15.0.tgz", + "integrity": "sha512-uZoX2AdpU9SuysNzvvSzk7iV2HhNxttvfTYeDkRgMMJSv/xf0tyiujcKybK/b628RVVNsAQhEFDR0NDykFs/4w==", + "requires": { + "google-gax": "^2.24.1" + } + }, + "@grpc/grpc-js": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.3.tgz", + "integrity": "sha512-q0xgaZ3ymUM+ZOhe1hdocVSdKHCnJ6llLSXcP+MqMXMyYPUZ3mzQOCxZ3Zkg+QZ7sZ950sn7hvueQrIJZumPZg==", + "requires": { + "@grpc/proto-loader": "^0.6.4", + "@types/node": ">=12.12.47" + }, + "dependencies": { + "@types/node": { + "version": "17.0.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.12.tgz", + "integrity": "sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA==" + } + } + }, + "@grpc/proto-loader": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.9.tgz", + "integrity": "sha512-UlcCS8VbsU9d3XTXGiEVFonN7hXk+oMXZtoHHG2oSA1/GcDP1q6OUgs20PzHDGizzyi8ufGSUDlk3O2NyY7leg==", + "requires": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.10.0", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + } + } + }, "@gulp-sourcemaps/identity-map": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz", @@ -195,6 +336,60 @@ "through2": "^2.0.3" } }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, "@types/adm-zip": { "version": "0.4.31", "resolved": "https://registry.npmjs.org/@types/adm-zip/-/adm-zip-0.4.31.tgz", @@ -225,6 +420,11 @@ "@types/lodash": "*" } }, + "@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" + }, "@types/nedb": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@types/nedb/-/nedb-1.8.5.tgz", @@ -268,6 +468,14 @@ "through": ">=2.2.7 <3" } }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, "acorn": { "version": "5.7.4", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", @@ -327,6 +535,29 @@ "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.11.tgz", "integrity": "sha512-L8vcjDTCOIJk7wFvmlEUN7AsSb8T+2JrdP7KINBjzr24TJ5Mwj590sLu3BC7zNZowvJWa/JtPmD8eJCzdtDWjA==" }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", @@ -806,8 +1037,7 @@ "base64-js": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" }, "basic-auth": { "version": "1.1.0", @@ -815,6 +1045,11 @@ "integrity": "sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ=", "dev": true }, + "bignumber.js": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", + "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==" + }, "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", @@ -1096,6 +1331,11 @@ "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", "dev": true }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, "buffer-from": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", @@ -2051,6 +2291,14 @@ "object.defaults": "^1.1.0" } }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, "ecstatic": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.2.tgz", @@ -2110,7 +2358,6 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "requires": { "once": "^1.4.0" } @@ -2193,6 +2440,11 @@ "es6-symbol": "^3.1.1" } }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -2369,6 +2621,11 @@ "es5-ext": "~0.10.14" } }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, "eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -2453,8 +2710,7 @@ "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "extend-shallow": { "version": "1.1.4", @@ -2617,6 +2873,11 @@ "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", "dev": true }, + "fast-text-encoding": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", + "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" + }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -2894,6 +3155,34 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, + "gaxios": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.2.tgz", + "integrity": "sha512-T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q==", + "requires": { + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.1" + }, + "dependencies": { + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + } + } + }, + "gcp-metadata": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.1.tgz", + "integrity": "sha512-x850LS5N7V1F3UcV7PoupzGsyD6iVwTVvsh3tbXfkctZnBnjW5yu5z1/3k3SehF7TyoTIe78rJs02GMMy+LF+A==", + "requires": { + "gaxios": "^4.0.0", + "json-bigint": "^1.0.0" + } + }, "get-assigned-identifiers": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", @@ -3054,12 +3343,122 @@ "sparkles": "^1.0.0" } }, + "google-auth-library": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.11.0.tgz", + "integrity": "sha512-3S5jn2quRumvh9F/Ubf7GFrIq71HZ5a6vqosgdIu105kkk0WtSqc2jGCRqtWWOLRS8SX3AHACMOEDxhyWAQIcg==", + "requires": { + "arrify": "^2.0.0", + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "fast-text-encoding": "^1.0.0", + "gaxios": "^4.0.0", + "gcp-metadata": "^4.2.0", + "gtoken": "^5.0.4", + "jws": "^4.0.0", + "lru-cache": "^6.0.0" + }, + "dependencies": { + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "google-gax": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-2.29.4.tgz", + "integrity": "sha512-3o6cByD2fE1yIc6i1gpKMQlJStqlvu8Sa/Ly/HCQ6GPHpltpVfkTT4KVj2YLVa7WTSDoGbsLBDmJ1KfN1uNiRw==", + "requires": { + "@grpc/grpc-js": "~1.5.0", + "@grpc/proto-loader": "^0.6.1", + "@types/long": "^4.0.0", + "abort-controller": "^3.0.0", + "duplexify": "^4.0.0", + "fast-text-encoding": "^1.0.3", + "google-auth-library": "^7.6.1", + "is-stream-ended": "^0.1.4", + "node-fetch": "^2.6.1", + "object-hash": "^2.1.1", + "proto3-json-serializer": "^0.1.7", + "protobufjs": "6.11.2", + "retry-request": "^4.0.0" + }, + "dependencies": { + "duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "requires": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "google-p12-pem": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.3.tgz", + "integrity": "sha512-MC0jISvzymxePDVembypNefkAQp+DRP7dBE+zNUPaIjEspIlYg0++OrsNr248V9tPbz6iqtZ7rX1hxWA5B8qBQ==", + "requires": { + "node-forge": "^1.0.0" + } + }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, + "gtoken": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.3.1.tgz", + "integrity": "sha512-yqOREjzLHcbzz1UrQoxhBtpk8KjrVhuqPE7od1K2uhyxG2BHjKZetlbLw/SPZak/QqTIQW+addS+EcjqQsZbwQ==", + "requires": { + "gaxios": "^4.0.0", + "google-p12-pem": "^3.0.3", + "jws": "^4.0.0" + } + }, "gulp": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", @@ -3731,6 +4130,30 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "requires": { + "agent-base": "6", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, "iconv-lite": { "version": "0.4.21", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", @@ -3786,8 +4209,7 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ini": { "version": "1.3.8", @@ -4178,6 +4600,11 @@ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, + "is-stream-ended": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", + "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==" + }, "is-unc-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", @@ -4373,6 +4800,14 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, + "json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "requires": { + "bignumber.js": "^9.0.0" + } + }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -4481,6 +4916,25 @@ "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", "dev": true }, + "jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "requires": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -4641,6 +5095,11 @@ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", "dev": true }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", @@ -4658,6 +5117,11 @@ "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", "dev": true }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, "loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", @@ -5173,6 +5637,19 @@ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-forge": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", + "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==" + }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -5350,6 +5827,11 @@ } } }, + "object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" + }, "object-keys": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", @@ -5422,7 +5904,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -5923,6 +6404,41 @@ "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", "dev": true }, + "proto3-json-serializer": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-0.1.8.tgz", + "integrity": "sha512-ACilkB6s1U1gWnl5jtICpnDai4VCxmI9GFxuEaYdxtDG2oVI3sVFIUsvUZcQbJgtPM6p+zqKbjTKQZp6Y4FpQw==", + "requires": { + "protobufjs": "^6.11.2" + } + }, + "protobufjs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", + "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "dependencies": { + "@types/node": { + "version": "17.0.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.12.tgz", + "integrity": "sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA==" + } + } + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -6249,8 +6765,7 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-main-filename": { "version": "1.0.1", @@ -6330,6 +6845,30 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "retry-request": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.2.2.tgz", + "integrity": "sha512-xA93uxUD/rogV7BV59agW/JHPGXeREMWiZc9jhcwY4YdZ7QOtC7qbomYg0n4wyk2lJhggjvKvhNX8wln/Aldhg==", + "requires": { + "debug": "^4.1.1", + "extend": "^3.0.2" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, "rimraf": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", @@ -6376,8 +6915,7 @@ "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "safe-regex": { "version": "1.1.0", @@ -6943,8 +7481,7 @@ "stream-shift": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" }, "stream-splicer": { "version": "2.0.1", @@ -7424,6 +7961,11 @@ "through2": "^2.0.3" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", @@ -7884,8 +8426,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "uuid": { "version": "3.2.1", @@ -8017,6 +8558,20 @@ "integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==", "dev": true }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "which": { "version": "1.2.14", "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", @@ -8073,8 +8628,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write": { "version": "0.2.1", diff --git a/package.json b/package.json index ebabf06da..960ae595c 100644 --- a/package.json +++ b/package.json @@ -86,6 +86,7 @@ "uglify-es": "^3.3.9" }, "dependencies": { + "@google-cloud/dialogflow-cx": "^2.15.0", "adm-zip": "^0.4.9", "cryptiles": "^4.1.3", "lodash.clonedeep": "^4.5.0", diff --git a/server/misc/Utilities.js b/server/misc/Utilities.js index b749f4cba..d907fa5fd 100644 --- a/server/misc/Utilities.js +++ b/server/misc/Utilities.js @@ -5,6 +5,7 @@ const cloneDeep = require("lodash.clonedeep"); const path = require("path"); const timers = require("timers"); const vm = require("vm"); +const dialogflow_cx_1 = require("../../lib/dialogflow-cx"); const modules_1 = require("../compiler/modules"); class Utilities { static deepClone(item) { @@ -54,6 +55,11 @@ class Utilities { } static buildCustomRequire(files, appId, logSetting = 0, currentPath = '.') { return function _requirer(mod) { + if (mod.includes('dialogflow-cx')) { + console.log('in'); + console.log(dialogflow_cx_1.DialogFlowApi); + return dialogflow_cx_1.DialogFlowApi; + } // Keep compatibility with apps importing apps-ts-definition if (mod.startsWith('@rocket.chat/apps-ts-definition/')) { mod = path.normalize(mod); diff --git a/server/misc/Utilities.js.map b/server/misc/Utilities.js.map index 583ecc8c0..df4675951 100644 --- a/server/misc/Utilities.js.map +++ b/server/misc/Utilities.js.map @@ -1 +1 @@ -{"version":3,"sources":["src/server/misc/Utilities.ts"],"names":[],"mappings":"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","file":"Utilities.js","sourcesContent":["import cloneDeep = require('lodash.clonedeep');\nimport * as path from 'path';\nimport * as timers from 'timers';\nimport * as vm from 'vm';\n\nimport { AllowedInternalModules, requireNativeModule } from '../compiler/modules';\n\nexport class Utilities {\n public static deepClone(item: T): T {\n return cloneDeep(item);\n }\n\n public static deepFreeze(item: any): T {\n Object.freeze(item);\n\n Object.getOwnPropertyNames(item).forEach((prop: string) => {\n // tslint:disable-next-line:max-line-length\n if (item.hasOwnProperty(prop) && item[prop] !== null && (typeof item[prop] === 'object' || typeof item[prop] === 'function') && !Object.isFrozen(item[prop])) {\n Utilities.deepFreeze(item[prop]);\n }\n });\n\n return item;\n }\n\n public static deepCloneAndFreeze(item: T): T {\n return Utilities.deepFreeze(Utilities.deepClone(item));\n }\n\n /**\n * Keeps compatibility with apps compiled and stored in the database\n * with previous Apps-Engine versions\n */\n public static transformFallbackModuleForCustomRequire(moduleName: string): string {\n return path.normalize(moduleName).replace(/\\.\\.?\\//g, '').replace(/^\\//, '') + '.ts';\n }\n\n public static transformModuleForCustomRequire(moduleName: string): string {\n return path.normalize(moduleName).replace(/\\.\\.?\\//g, '').replace(/^\\//, '') + '.js';\n }\n\n public static allowedInternalModuleRequire(moduleName: string): moduleName is AllowedInternalModules {\n return moduleName in AllowedInternalModules;\n }\n\n public static shouldLog(setting: number, level: number) {\n return setting >= level;\n }\n public static getConsole(setting: number = 0) {\n return {\n ...console,\n debug: (...args: any) => {\n return this.shouldLog(setting, 2) && console.debug(...args);\n },\n log: (...args: any) => {\n return this.shouldLog(setting, 1) && console.log(...args);\n },\n info: (...args: any) => {\n return this.shouldLog(setting, 1) && console.info(...args);\n },\n warn: (...args: any) => {\n return this.shouldLog(setting, 1) && console.warn(...args);\n },\n error: (...args: any) => {\n return this.shouldLog(setting, 0) && console.error(...args);\n },\n };\n }\n\n public static buildCustomRequire(files: { [s: string]: string }, appId: string, logSetting: number = 0, currentPath: string = '.' ): (mod: string) => {} {\n return function _requirer(mod: string): any {\n // Keep compatibility with apps importing apps-ts-definition\n if (mod.startsWith('@rocket.chat/apps-ts-definition/')) {\n mod = path.normalize(mod);\n mod = mod.replace('@rocket.chat/apps-ts-definition/', '../../definition/');\n return require(mod);\n }\n\n if (mod.startsWith('@rocket.chat/apps-engine/definition/')) {\n mod = path.normalize(mod);\n mod = mod.replace('@rocket.chat/apps-engine/definition/', '../../definition/');\n return require(mod);\n }\n\n if (Utilities.allowedInternalModuleRequire(mod)) {\n return requireNativeModule(mod, appId);\n }\n\n if (currentPath !== '.') {\n mod = path.join(currentPath, mod);\n }\n\n const transformedModule = Utilities.transformModuleForCustomRequire(mod);\n const fallbackModule = Utilities.transformFallbackModuleForCustomRequire(mod);\n\n const filename = files[transformedModule] ? transformedModule : files[fallbackModule] ? fallbackModule : undefined;\n let fileExport;\n\n if (filename) {\n fileExport = {};\n\n const context = vm.createContext({\n require: Utilities.buildCustomRequire(files, appId, logSetting, path.dirname(filename) + '/' ),\n console: Utilities.getConsole(logSetting),\n exports: fileExport,\n process: {},\n });\n\n vm.runInContext(files[filename], context);\n }\n\n return fileExport;\n };\n }\n\n public static buildDefaultAppContext(injectables: unknown): vm.Context {\n const defaultContextProperties = {\n ...timers,\n Buffer,\n };\n\n return vm.createContext(Object.assign({}, defaultContextProperties, injectables));\n }\n\n public static omit(object: { [key: string]: any }, keys: Array) {\n const cloned = this.deepClone(object);\n for (const key of keys) {\n delete cloned[key];\n }\n return cloned;\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["src/server/misc/Utilities.ts"],"names":[],"mappings":"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","file":"Utilities.js","sourcesContent":["import cloneDeep = require('lodash.clonedeep');\nimport * as path from 'path';\nimport * as timers from 'timers';\nimport * as vm from 'vm';\nimport { DialogFlowApi } from '../../lib/dialogflow-cx';\n\nimport { AllowedInternalModules, requireNativeModule } from '../compiler/modules';\n\nexport class Utilities {\n public static deepClone(item: T): T {\n return cloneDeep(item);\n }\n\n public static deepFreeze(item: any): T {\n Object.freeze(item);\n\n Object.getOwnPropertyNames(item).forEach((prop: string) => {\n // tslint:disable-next-line:max-line-length\n if (item.hasOwnProperty(prop) && item[prop] !== null && (typeof item[prop] === 'object' || typeof item[prop] === 'function') && !Object.isFrozen(item[prop])) {\n Utilities.deepFreeze(item[prop]);\n }\n });\n\n return item;\n }\n\n public static deepCloneAndFreeze(item: T): T {\n return Utilities.deepFreeze(Utilities.deepClone(item));\n }\n\n /**\n * Keeps compatibility with apps compiled and stored in the database\n * with previous Apps-Engine versions\n */\n public static transformFallbackModuleForCustomRequire(moduleName: string): string {\n return path.normalize(moduleName).replace(/\\.\\.?\\//g, '').replace(/^\\//, '') + '.ts';\n }\n\n public static transformModuleForCustomRequire(moduleName: string): string {\n return path.normalize(moduleName).replace(/\\.\\.?\\//g, '').replace(/^\\//, '') + '.js';\n }\n\n public static allowedInternalModuleRequire(moduleName: string): moduleName is AllowedInternalModules {\n return moduleName in AllowedInternalModules;\n }\n\n public static shouldLog(setting: number, level: number) {\n return setting >= level;\n }\n public static getConsole(setting: number = 0) {\n return {\n ...console,\n debug: (...args: any) => {\n return this.shouldLog(setting, 2) && console.debug(...args);\n },\n log: (...args: any) => {\n return this.shouldLog(setting, 1) && console.log(...args);\n },\n info: (...args: any) => {\n return this.shouldLog(setting, 1) && console.info(...args);\n },\n warn: (...args: any) => {\n return this.shouldLog(setting, 1) && console.warn(...args);\n },\n error: (...args: any) => {\n return this.shouldLog(setting, 0) && console.error(...args);\n },\n };\n }\n\n public static buildCustomRequire(files: { [s: string]: string }, appId: string, logSetting: number = 0, currentPath: string = '.' ): (mod: string) => {} {\n return function _requirer(mod: string): any {\n if (mod.includes('dialogflow-cx')) {\n console.log('in');\n console.log(DialogFlowApi);\n return DialogFlowApi;\n }\n\n // Keep compatibility with apps importing apps-ts-definition\n if (mod.startsWith('@rocket.chat/apps-ts-definition/')) {\n mod = path.normalize(mod);\n mod = mod.replace('@rocket.chat/apps-ts-definition/', '../../definition/');\n return require(mod);\n }\n\n if (mod.startsWith('@rocket.chat/apps-engine/definition/')) {\n mod = path.normalize(mod);\n mod = mod.replace('@rocket.chat/apps-engine/definition/', '../../definition/');\n return require(mod);\n }\n\n if (Utilities.allowedInternalModuleRequire(mod)) {\n return requireNativeModule(mod, appId);\n }\n\n if (currentPath !== '.') {\n mod = path.join(currentPath, mod);\n }\n\n const transformedModule = Utilities.transformModuleForCustomRequire(mod);\n const fallbackModule = Utilities.transformFallbackModuleForCustomRequire(mod);\n\n const filename = files[transformedModule] ? transformedModule : files[fallbackModule] ? fallbackModule : undefined;\n let fileExport;\n\n if (filename) {\n fileExport = {};\n\n const context = vm.createContext({\n require: Utilities.buildCustomRequire(files, appId, logSetting, path.dirname(filename) + '/' ),\n console: Utilities.getConsole(logSetting),\n exports: fileExport,\n process: {},\n });\n\n vm.runInContext(files[filename], context);\n }\n\n return fileExport;\n };\n }\n\n public static buildDefaultAppContext(injectables: unknown): vm.Context {\n const defaultContextProperties = {\n ...timers,\n Buffer,\n };\n\n return vm.createContext(Object.assign({}, defaultContextProperties, injectables));\n }\n\n public static omit(object: { [key: string]: any }, keys: Array) {\n const cloned = this.deepClone(object);\n for (const key of keys) {\n delete cloned[key];\n }\n return cloned;\n }\n}\n"]} \ No newline at end of file diff --git a/src/lib/dialogflow-cx.ts b/src/lib/dialogflow-cx.ts new file mode 100644 index 000000000..793585105 --- /dev/null +++ b/src/lib/dialogflow-cx.ts @@ -0,0 +1,2 @@ +// tslint:disable-next-line: no-var-requires +export const DialogFlowApi = require('@google-cloud/dialogflow-cx'); diff --git a/src/server/misc/Utilities.ts b/src/server/misc/Utilities.ts index 17a40c6d2..a9a555002 100644 --- a/src/server/misc/Utilities.ts +++ b/src/server/misc/Utilities.ts @@ -2,6 +2,7 @@ import cloneDeep = require('lodash.clonedeep'); import * as path from 'path'; import * as timers from 'timers'; import * as vm from 'vm'; +import { DialogFlowApi } from '../../lib/dialogflow-cx'; import { AllowedInternalModules, requireNativeModule } from '../compiler/modules'; @@ -69,6 +70,12 @@ export class Utilities { public static buildCustomRequire(files: { [s: string]: string }, appId: string, logSetting: number = 0, currentPath: string = '.' ): (mod: string) => {} { return function _requirer(mod: string): any { + if (mod.includes('dialogflow-cx')) { + console.log('in'); + console.log(DialogFlowApi); + return DialogFlowApi; + } + // Keep compatibility with apps importing apps-ts-definition if (mod.startsWith('@rocket.chat/apps-ts-definition/')) { mod = path.normalize(mod);