@botpress/cli 2.1.0 → 2.1.2
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/.turbo/turbo-build.log +22 -0
- package/dist/api/bot-body.js +89 -0
- package/dist/api/bot-body.js.map +7 -0
- package/dist/api/client.js +169 -0
- package/dist/api/client.js.map +7 -0
- package/dist/api/find-previous-version.js +66 -0
- package/dist/api/find-previous-version.js.map +7 -0
- package/dist/api/find-previous-version.test.js +76 -0
- package/dist/api/find-previous-version.test.js.map +7 -0
- package/dist/api/index.js +23 -0
- package/dist/api/index.js.map +7 -0
- package/dist/api/integration-body.js +146 -0
- package/dist/api/integration-body.js.map +7 -0
- package/dist/api/interface-body.js +95 -0
- package/dist/api/interface-body.js.map +7 -0
- package/dist/api/paging.js +42 -0
- package/dist/api/paging.js.map +7 -0
- package/dist/api/plugin-body.js +84 -0
- package/dist/api/plugin-body.js.map +7 -0
- package/dist/api/types.js +17 -0
- package/dist/api/types.js.map +7 -0
- package/dist/chat/index.js +211 -0
- package/dist/chat/index.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-implementation.js +116 -0
- package/dist/code-generation/bot-implementation/bot-implementation.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-plugins/index.js +80 -0
- package/dist/code-generation/bot-implementation/bot-plugins/index.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js +129 -0
- package/dist/code-generation/bot-implementation/bot-plugins/plugin-module.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-typings/actions-module.js +88 -0
- package/dist/code-generation/bot-implementation/bot-typings/actions-module.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-typings/events-module.js +63 -0
- package/dist/code-generation/bot-implementation/bot-typings/events-module.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-typings/index.js +109 -0
- package/dist/code-generation/bot-implementation/bot-typings/index.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-typings/states-module.js +64 -0
- package/dist/code-generation/bot-implementation/bot-typings/states-module.js.map +7 -0
- package/dist/code-generation/bot-implementation/index.js +66 -0
- package/dist/code-generation/bot-implementation/index.js.map +7 -0
- package/dist/code-generation/consts.js +45 -0
- package/dist/code-generation/consts.js.map +7 -0
- package/dist/code-generation/generators.js +81 -0
- package/dist/code-generation/generators.js.map +7 -0
- package/dist/code-generation/index.js +49 -0
- package/dist/code-generation/index.js.map +7 -0
- package/dist/code-generation/integration-implementation/index.js +70 -0
- package/dist/code-generation/integration-implementation/index.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-implementation.js +114 -0
- package/dist/code-generation/integration-implementation/integration-implementation.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-secret.js +78 -0
- package/dist/code-generation/integration-implementation/integration-secret.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/actions-module.js +88 -0
- package/dist/code-generation/integration-implementation/integration-typings/actions-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/channels-module.js +107 -0
- package/dist/code-generation/integration-implementation/integration-typings/channels-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/configuration-module.js +62 -0
- package/dist/code-generation/integration-implementation/integration-typings/configuration-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js +70 -0
- package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/entities-module.js +63 -0
- package/dist/code-generation/integration-implementation/integration-typings/entities-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/events-module.js +63 -0
- package/dist/code-generation/integration-implementation/integration-typings/events-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/index.js +128 -0
- package/dist/code-generation/integration-implementation/integration-typings/index.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/states-module.js +64 -0
- package/dist/code-generation/integration-implementation/integration-typings/states-module.js.map +7 -0
- package/dist/code-generation/integration-package/index.js +94 -0
- package/dist/code-generation/integration-package/index.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/actions-module.js +88 -0
- package/dist/code-generation/integration-package/integration-package-definition/actions-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/channels-module.js +107 -0
- package/dist/code-generation/integration-package/integration-package-definition/channels-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js +63 -0
- package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js +70 -0
- package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/entities-module.js +63 -0
- package/dist/code-generation/integration-package/integration-package-definition/entities-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/events-module.js +66 -0
- package/dist/code-generation/integration-package/integration-package-definition/events-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/index.js +140 -0
- package/dist/code-generation/integration-package/integration-package-definition/index.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/states-module.js +66 -0
- package/dist/code-generation/integration-package/integration-package-definition/states-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/typings.js +17 -0
- package/dist/code-generation/integration-package/integration-package-definition/typings.js.map +7 -0
- package/dist/code-generation/interface-implementation/index.js +29 -0
- package/dist/code-generation/interface-implementation/index.js.map +7 -0
- package/dist/code-generation/interface-implementation/integration-typings/actions-module.js +88 -0
- package/dist/code-generation/interface-implementation/integration-typings/actions-module.js.map +7 -0
- package/dist/code-generation/interface-implementation/integration-typings/channels-module.js +107 -0
- package/dist/code-generation/interface-implementation/integration-typings/channels-module.js.map +7 -0
- package/dist/code-generation/interface-implementation/integration-typings/entities-module.js +63 -0
- package/dist/code-generation/interface-implementation/integration-typings/entities-module.js.map +7 -0
- package/dist/code-generation/interface-implementation/integration-typings/events-module.js +63 -0
- package/dist/code-generation/interface-implementation/integration-typings/events-module.js.map +7 -0
- package/dist/code-generation/interface-implementation/integration-typings/index.js +121 -0
- package/dist/code-generation/interface-implementation/integration-typings/index.js.map +7 -0
- package/dist/code-generation/interface-package/index.js +94 -0
- package/dist/code-generation/interface-package/index.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/actions-module.js +88 -0
- package/dist/code-generation/interface-package/interface-package-definition/actions-module.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/channels-module.js +98 -0
- package/dist/code-generation/interface-package/interface-package-definition/channels-module.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/entities-module.js +63 -0
- package/dist/code-generation/interface-package/interface-package-definition/entities-module.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/events-module.js +66 -0
- package/dist/code-generation/interface-package/interface-package-definition/events-module.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/index.js +104 -0
- package/dist/code-generation/interface-package/interface-package-definition/index.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/typings.js +17 -0
- package/dist/code-generation/interface-package/interface-package-definition/typings.js.map +7 -0
- package/dist/code-generation/module.js +183 -0
- package/dist/code-generation/module.js.map +7 -0
- package/dist/code-generation/plugin-implementation/index.js +60 -0
- package/dist/code-generation/plugin-implementation/index.js.map +7 -0
- package/dist/code-generation/plugin-implementation/plugin-implementation.js +90 -0
- package/dist/code-generation/plugin-implementation/plugin-implementation.js.map +7 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js +88 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/actions-module.js.map +7 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.js +61 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/configuration-module.js.map +7 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/events-module.js +63 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/events-module.js.map +7 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/index.js +150 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/index.js.map +7 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/states-module.js +64 -0
- package/dist/code-generation/plugin-implementation/plugin-typings/states-module.js.map +7 -0
- package/dist/code-generation/plugin-package/index.js +151 -0
- package/dist/code-generation/plugin-package/index.js.map +7 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js +88 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/actions-module.js.map +7 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.js +56 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/configuration-module.js.map +7 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/events-module.js +66 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/events-module.js.map +7 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/index.js +107 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/index.js.map +7 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/states-module.js +66 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/states-module.js.map +7 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/typings.js +17 -0
- package/dist/code-generation/plugin-package/plugin-package-definition/typings.js.map +7 -0
- package/dist/code-generation/strings.js +115 -0
- package/dist/code-generation/strings.js.map +7 -0
- package/dist/code-generation/typings.js +17 -0
- package/dist/code-generation/typings.js.map +7 -0
- package/dist/command-definitions.js +85 -0
- package/dist/command-definitions.js.map +7 -0
- package/dist/command-implementations/add-command.js +262 -0
- package/dist/command-implementations/add-command.js.map +7 -0
- package/dist/command-implementations/base-command.js +69 -0
- package/dist/command-implementations/base-command.js.map +7 -0
- package/dist/command-implementations/bot-commands.js +117 -0
- package/dist/command-implementations/bot-commands.js.map +7 -0
- package/dist/command-implementations/build-command.js +53 -0
- package/dist/command-implementations/build-command.js.map +7 -0
- package/dist/command-implementations/bundle-command.js +87 -0
- package/dist/command-implementations/bundle-command.js.map +7 -0
- package/dist/command-implementations/chat-command.js +152 -0
- package/dist/command-implementations/chat-command.js.map +7 -0
- package/dist/command-implementations/deploy-command.js +503 -0
- package/dist/command-implementations/deploy-command.js.map +7 -0
- package/dist/command-implementations/dev-command.js +345 -0
- package/dist/command-implementations/dev-command.js.map +7 -0
- package/dist/command-implementations/gen-command.js +110 -0
- package/dist/command-implementations/gen-command.js.map +7 -0
- package/dist/command-implementations/global-command.js +137 -0
- package/dist/command-implementations/global-command.js.map +7 -0
- package/dist/command-implementations/index.js +105 -0
- package/dist/command-implementations/index.js.map +7 -0
- package/dist/command-implementations/init-command.js +162 -0
- package/dist/command-implementations/init-command.js.map +7 -0
- package/dist/command-implementations/integration-commands.js +130 -0
- package/dist/command-implementations/integration-commands.js.map +7 -0
- package/dist/command-implementations/interface-commands.js +110 -0
- package/dist/command-implementations/interface-commands.js.map +7 -0
- package/dist/command-implementations/lint-command.js +151 -0
- package/dist/command-implementations/lint-command.js.map +7 -0
- package/dist/command-implementations/login-command.js +82 -0
- package/dist/command-implementations/login-command.js.map +7 -0
- package/dist/command-implementations/logout-command.js +35 -0
- package/dist/command-implementations/logout-command.js.map +7 -0
- package/dist/command-implementations/plugin-commands.js +111 -0
- package/dist/command-implementations/plugin-commands.js.map +7 -0
- package/dist/command-implementations/project-command.js +383 -0
- package/dist/command-implementations/project-command.js.map +7 -0
- package/dist/command-implementations/read-command.js +70 -0
- package/dist/command-implementations/read-command.js.map +7 -0
- package/dist/command-implementations/serve-command.js +68 -0
- package/dist/command-implementations/serve-command.js.map +7 -0
- package/dist/command-tree.js +60 -0
- package/dist/command-tree.js.map +7 -0
- package/dist/config.js +352 -0
- package/dist/config.js.map +7 -0
- package/dist/consts.js +127 -0
- package/dist/consts.js.map +7 -0
- package/dist/errors.js +202 -0
- package/dist/errors.js.map +7 -0
- package/dist/index.js +51 -0
- package/dist/index.js.map +7 -0
- package/dist/init.js +50 -0
- package/dist/init.js.map +7 -0
- package/dist/linter/base-linter.js +75 -0
- package/dist/linter/base-linter.js.map +7 -0
- package/dist/linter/base-linter.test.js +187 -0
- package/dist/linter/base-linter.test.js.map +7 -0
- package/dist/linter/bot-linter.js +35 -0
- package/dist/linter/bot-linter.js.map +7 -0
- package/dist/linter/integration-linter.js +35 -0
- package/dist/linter/integration-linter.js.map +7 -0
- package/dist/linter/interface-linter.js +35 -0
- package/dist/linter/interface-linter.js.map +7 -0
- package/dist/linter/ruleset-tests/bot.ruleset.test.js +358 -0
- package/dist/linter/ruleset-tests/bot.ruleset.test.js.map +7 -0
- package/dist/linter/ruleset-tests/common.js +37 -0
- package/dist/linter/ruleset-tests/common.js.map +7 -0
- package/dist/linter/ruleset-tests/integration.ruleset.test.js +887 -0
- package/dist/linter/ruleset-tests/integration.ruleset.test.js.map +7 -0
- package/dist/linter/ruleset-tests/interface.ruleset.test.js +383 -0
- package/dist/linter/ruleset-tests/interface.ruleset.test.js.map +7 -0
- package/dist/linter/rulesets/bot.ruleset.js +191 -0
- package/dist/linter/rulesets/bot.ruleset.js.map +7 -0
- package/dist/linter/rulesets/integration.ruleset.js +378 -0
- package/dist/linter/rulesets/integration.ruleset.js.map +7 -0
- package/dist/linter/rulesets/interface.ruleset.js +157 -0
- package/dist/linter/rulesets/interface.ruleset.js.map +7 -0
- package/dist/linter/spectral-functions.js +36 -0
- package/dist/linter/spectral-functions.js.map +7 -0
- package/dist/logger/base-logger.js +170 -0
- package/dist/logger/base-logger.js.map +7 -0
- package/dist/logger/index.js +86 -0
- package/dist/logger/index.js.map +7 -0
- package/dist/package-ref.js +107 -0
- package/dist/package-ref.js.map +7 -0
- package/dist/package-ref.test.js +109 -0
- package/dist/package-ref.test.js.map +7 -0
- package/dist/register-yargs.js +91 -0
- package/dist/register-yargs.js.map +7 -0
- package/dist/root.js +41 -0
- package/dist/root.js.map +7 -0
- package/dist/sdk/index.js +22 -0
- package/dist/sdk/index.js.map +7 -0
- package/dist/sdk/resolve-bot-interfaces.js +43 -0
- package/dist/sdk/resolve-bot-interfaces.js.map +7 -0
- package/dist/sdk/resolve-integration-interfaces.js +161 -0
- package/dist/sdk/resolve-integration-interfaces.js.map +7 -0
- package/dist/sdk/validate-bot.js +88 -0
- package/dist/sdk/validate-bot.js.map +7 -0
- package/dist/sdk/validate-integration.js +72 -0
- package/dist/sdk/validate-integration.js.map +7 -0
- package/dist/typings.js +17 -0
- package/dist/typings.js.map +7 -0
- package/dist/utils/cache-utils.js +104 -0
- package/dist/utils/cache-utils.js.map +7 -0
- package/dist/utils/case-utils.js +84 -0
- package/dist/utils/case-utils.js.map +7 -0
- package/dist/utils/case-utils.test.js +75 -0
- package/dist/utils/case-utils.test.js.map +7 -0
- package/dist/utils/esbuild-utils.js +92 -0
- package/dist/utils/esbuild-utils.js.map +7 -0
- package/dist/utils/event-emitter.js +63 -0
- package/dist/utils/event-emitter.js.map +7 -0
- package/dist/utils/file-watcher.js +73 -0
- package/dist/utils/file-watcher.js.map +7 -0
- package/dist/utils/guard-utils.js +32 -0
- package/dist/utils/guard-utils.js.map +7 -0
- package/dist/utils/id-utils.js +59 -0
- package/dist/utils/id-utils.js.map +7 -0
- package/dist/utils/index.js +99 -0
- package/dist/utils/index.js.map +7 -0
- package/dist/utils/object-utils.js +32 -0
- package/dist/utils/object-utils.js.map +7 -0
- package/dist/utils/path-utils.js +106 -0
- package/dist/utils/path-utils.js.map +7 -0
- package/dist/utils/path-utils.test.js +72 -0
- package/dist/utils/path-utils.test.js.map +7 -0
- package/dist/utils/pkgjson-utils.js +57 -0
- package/dist/utils/pkgjson-utils.js.map +7 -0
- package/dist/utils/promise-utils.js +36 -0
- package/dist/utils/promise-utils.js.map +7 -0
- package/dist/utils/promise-utils.test.js +14 -0
- package/dist/utils/promise-utils.test.js.map +7 -0
- package/dist/utils/prompt-utils.js +105 -0
- package/dist/utils/prompt-utils.js.map +7 -0
- package/dist/utils/record-utils.js +118 -0
- package/dist/utils/record-utils.js.map +7 -0
- package/dist/utils/record-utils.test.js +38 -0
- package/dist/utils/record-utils.test.js.map +7 -0
- package/dist/utils/require-utils.js +90 -0
- package/dist/utils/require-utils.js.map +7 -0
- package/dist/utils/require-utils.test.js +54 -0
- package/dist/utils/require-utils.test.js.map +7 -0
- package/dist/utils/schema-utils.js +64 -0
- package/dist/utils/schema-utils.js.map +7 -0
- package/dist/utils/schema-utils.test.js +50 -0
- package/dist/utils/schema-utils.test.js.map +7 -0
- package/dist/utils/semver-utils.js +45 -0
- package/dist/utils/semver-utils.js.map +7 -0
- package/dist/utils/string-utils.js +42 -0
- package/dist/utils/string-utils.js.map +7 -0
- package/dist/utils/template-utils.js +51 -0
- package/dist/utils/template-utils.js.map +7 -0
- package/dist/utils/tunnel-utils.js +129 -0
- package/dist/utils/tunnel-utils.js.map +7 -0
- package/dist/utils/type-utils.js +17 -0
- package/dist/utils/type-utils.js.map +7 -0
- package/dist/utils/url-utils.js +67 -0
- package/dist/utils/url-utils.js.map +7 -0
- package/dist/worker/child-entrypoint.js +58 -0
- package/dist/worker/child-entrypoint.js.map +7 -0
- package/dist/worker/child-wrapper.js +119 -0
- package/dist/worker/child-wrapper.js.map +7 -0
- package/dist/worker/config.js +44 -0
- package/dist/worker/config.js.map +7 -0
- package/dist/worker/index.js +32 -0
- package/dist/worker/index.js.map +7 -0
- package/dist/worker/is-child.js +55 -0
- package/dist/worker/is-child.js.map +7 -0
- package/dist/worker/worker-state.js +71 -0
- package/dist/worker/worker-state.js.map +7 -0
- package/dist/worker/worker.js +91 -0
- package/dist/worker/worker.js.map +7 -0
- package/package.json +3 -3
- package/templates/empty-bot/.botpress/implementation/index.ts +50 -0
- package/templates/empty-bot/.botpress/implementation/plugins/index.ts +11 -0
- package/templates/empty-bot/.botpress/implementation/typings/actions/index.ts +6 -0
- package/templates/empty-bot/.botpress/implementation/typings/events/index.ts +6 -0
- package/templates/empty-bot/.botpress/implementation/typings/index.ts +20 -0
- package/templates/empty-bot/.botpress/implementation/typings/integrations/index.ts +6 -0
- package/templates/empty-bot/.botpress/implementation/typings/states/index.ts +6 -0
- package/templates/empty-bot/.botpress/index.ts +5 -0
- package/templates/empty-bot/package.json +2 -2
- package/templates/empty-integration/.botpress/implementation/index.ts +57 -0
- package/templates/empty-integration/.botpress/implementation/typings/actions/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/channels/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/configuration/index.ts +2 -0
- package/templates/empty-integration/.botpress/implementation/typings/configurations/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/entities/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/events/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/index.ts +31 -0
- package/templates/empty-integration/.botpress/implementation/typings/states/index.ts +6 -0
- package/templates/empty-integration/.botpress/index.ts +2 -0
- package/templates/empty-integration/.botpress/secrets/index.ts +6 -0
- package/templates/empty-integration/package.json +2 -2
- package/templates/empty-plugin/.botpress/implementation/index.ts +35 -0
- package/templates/empty-plugin/.botpress/implementation/typings/actions/index.ts +6 -0
- package/templates/empty-plugin/.botpress/implementation/typings/configuration/index.ts +2 -0
- package/templates/empty-plugin/.botpress/implementation/typings/events/index.ts +6 -0
- package/templates/empty-plugin/.botpress/implementation/typings/index.ts +26 -0
- package/templates/empty-plugin/.botpress/implementation/typings/integrations/index.ts +6 -0
- package/templates/empty-plugin/.botpress/implementation/typings/interfaces/index.ts +6 -0
- package/templates/empty-plugin/.botpress/implementation/typings/states/index.ts +6 -0
- package/templates/empty-plugin/.botpress/index.ts +1 -0
- package/templates/empty-plugin/package.json +1 -1
- package/templates/hello-world/.botpress/implementation/index.ts +57 -0
- package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/index.ts +12 -0
- package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/input.ts +5 -0
- package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/output.ts +5 -0
- package/templates/hello-world/.botpress/implementation/typings/actions/index.ts +9 -0
- package/templates/hello-world/.botpress/implementation/typings/channels/index.ts +6 -0
- package/templates/hello-world/.botpress/implementation/typings/configuration/index.ts +2 -0
- package/templates/hello-world/.botpress/implementation/typings/configurations/index.ts +6 -0
- package/templates/hello-world/.botpress/implementation/typings/entities/index.ts +6 -0
- package/templates/hello-world/.botpress/implementation/typings/events/index.ts +6 -0
- package/templates/hello-world/.botpress/implementation/typings/index.ts +31 -0
- package/templates/hello-world/.botpress/implementation/typings/states/index.ts +6 -0
- package/templates/hello-world/.botpress/index.ts +2 -0
- package/templates/hello-world/.botpress/secrets/index.ts +6 -0
- package/templates/hello-world/package.json +2 -2
- package/templates/webhook-message/.botpress/implementation/index.ts +57 -0
- package/templates/webhook-message/.botpress/implementation/typings/actions/index.ts +6 -0
- package/templates/webhook-message/.botpress/implementation/typings/channels/index.ts +9 -0
- package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/index.ts +12 -0
- package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/messages/index.ts +9 -0
- package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/messages/text.ts +5 -0
- package/templates/webhook-message/.botpress/implementation/typings/configuration/index.ts +8 -0
- package/templates/webhook-message/.botpress/implementation/typings/configurations/index.ts +6 -0
- package/templates/webhook-message/.botpress/implementation/typings/entities/index.ts +6 -0
- package/templates/webhook-message/.botpress/implementation/typings/events/index.ts +6 -0
- package/templates/webhook-message/.botpress/implementation/typings/index.ts +31 -0
- package/templates/webhook-message/.botpress/implementation/typings/states/index.ts +6 -0
- package/templates/webhook-message/.botpress/index.ts +2 -0
- package/templates/webhook-message/.botpress/secrets/index.ts +6 -0
- package/templates/webhook-message/package.json +2 -2
- package/e2e/api.ts +0 -25
- package/e2e/defaults.ts +0 -20
- package/e2e/index.ts +0 -118
- package/e2e/tests/create-deploy-bot.ts +0 -51
- package/e2e/tests/create-deploy-integration.ts +0 -62
- package/e2e/tests/dev-bot.ts +0 -59
- package/e2e/tests/install-interfaces.ts +0 -49
- package/e2e/tests/install-package.ts +0 -164
- package/e2e/tests/integration-secrets.ts +0 -102
- package/e2e/tests/manage-workspace-handle.ts +0 -105
- package/e2e/typings.ts +0 -17
- package/e2e/utils.ts +0 -99
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
// This file is generated. Do not edit it manually.
|
|
4
|
+
|
|
5
|
+
import * as integrations from './integrations/index'
|
|
6
|
+
import * as interfaces from './interfaces/index'
|
|
7
|
+
import * as configuration from './configuration/index'
|
|
8
|
+
import * as events from './events'
|
|
9
|
+
import * as states from './states'
|
|
10
|
+
import * as actions from './actions'
|
|
11
|
+
|
|
12
|
+
export * as integrations from './integrations/index'
|
|
13
|
+
export * as interfaces from './interfaces/index'
|
|
14
|
+
export * as configuration from './configuration/index'
|
|
15
|
+
export * as events from './events/index'
|
|
16
|
+
export * as states from './states/index'
|
|
17
|
+
export * as actions from './actions'
|
|
18
|
+
|
|
19
|
+
export type TPlugin = {
|
|
20
|
+
integrations: integrations.Integrations
|
|
21
|
+
interfaces: interfaces.Interfaces
|
|
22
|
+
configuration: configuration.Configuration
|
|
23
|
+
events: events.Events
|
|
24
|
+
states: states.States
|
|
25
|
+
actions: actions.Actions
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './implementation'
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
// This file is generated. Do not edit it manually.
|
|
4
|
+
|
|
5
|
+
import * as sdk from "@botpress/sdk"
|
|
6
|
+
import * as typings from "./typings/index"
|
|
7
|
+
export * from "./typings/index"
|
|
8
|
+
|
|
9
|
+
type TIntegration = sdk.DefaultIntegration<typings.TIntegration>
|
|
10
|
+
|
|
11
|
+
export type IntegrationProps = sdk.IntegrationProps<TIntegration>
|
|
12
|
+
|
|
13
|
+
export class Integration extends sdk.Integration<TIntegration> {}
|
|
14
|
+
|
|
15
|
+
export type Client = sdk.IntegrationSpecificClient<TIntegration>
|
|
16
|
+
|
|
17
|
+
// extra types
|
|
18
|
+
|
|
19
|
+
type Cast<X, Y> = X extends Y ? X : Y
|
|
20
|
+
type ValueOf<T> = T[keyof T]
|
|
21
|
+
type AsyncFunction = (...args: any[]) => Promise<any>
|
|
22
|
+
|
|
23
|
+
export type HandlerProps = Parameters<IntegrationProps['handler']>[0]
|
|
24
|
+
|
|
25
|
+
export type ActionProps = {
|
|
26
|
+
[K in keyof IntegrationProps['actions']]: Parameters<IntegrationProps['actions'][K]>[0]
|
|
27
|
+
}
|
|
28
|
+
export type AnyActionProps = ValueOf<ActionProps>
|
|
29
|
+
|
|
30
|
+
export type MessageProps = {
|
|
31
|
+
[TChannel in keyof IntegrationProps['channels']]: {
|
|
32
|
+
[TMessage in keyof IntegrationProps['channels'][TChannel]['messages']]: Parameters<
|
|
33
|
+
IntegrationProps['channels'][TChannel]['messages'][TMessage]
|
|
34
|
+
>[0]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export type AnyMessageProps = ValueOf<ValueOf<MessageProps>>
|
|
38
|
+
|
|
39
|
+
export type Context = HandlerProps['ctx']
|
|
40
|
+
export type Logger = HandlerProps['logger']
|
|
41
|
+
|
|
42
|
+
export type AckFunctions = {
|
|
43
|
+
[TChannel in keyof MessageProps]: {
|
|
44
|
+
[TMessage in keyof MessageProps[TChannel]]: Cast<MessageProps[TChannel][TMessage], AnyMessageProps>['ack']
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export type AnyAckFunction = ValueOf<ValueOf<AckFunctions>>
|
|
48
|
+
|
|
49
|
+
export type ClientOperation = ValueOf<{
|
|
50
|
+
[K in keyof Client as Client[K] extends AsyncFunction ? K : never]: K
|
|
51
|
+
}>
|
|
52
|
+
export type ClientRequests = {
|
|
53
|
+
[K in ClientOperation]: Parameters<Client[K]>[0]
|
|
54
|
+
}
|
|
55
|
+
export type ClientResponses = {
|
|
56
|
+
[K in ClientOperation]: Awaited<ReturnType<Client[K]>>
|
|
57
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
// This file is generated. Do not edit it manually.
|
|
4
|
+
import * as input from "./input";
|
|
5
|
+
export * as input from "./input";
|
|
6
|
+
import * as output from "./output";
|
|
7
|
+
export * as output from "./output";
|
|
8
|
+
|
|
9
|
+
export type HelloWorld = {
|
|
10
|
+
"input": input.Input;
|
|
11
|
+
"output": output.Output;
|
|
12
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
// This file is generated. Do not edit it manually.
|
|
4
|
+
import * as helloWorld from "./helloWorld/index";
|
|
5
|
+
export * as helloWorld from "./helloWorld/index";
|
|
6
|
+
|
|
7
|
+
export type Actions = {
|
|
8
|
+
"helloWorld": helloWorld.HelloWorld;
|
|
9
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
// This file is generated. Do not edit it manually.
|
|
4
|
+
|
|
5
|
+
import * as configuration from "./configuration/index"
|
|
6
|
+
import * as configurations from "./configurations/index"
|
|
7
|
+
import * as actions from "./actions/index"
|
|
8
|
+
import * as channels from "./channels/index"
|
|
9
|
+
import * as events from "./events/index"
|
|
10
|
+
import * as states from "./states/index"
|
|
11
|
+
import * as entities from "./entities/index"
|
|
12
|
+
export * as configuration from "./configuration/index"
|
|
13
|
+
export * as configurations from "./configurations/index"
|
|
14
|
+
export * as actions from "./actions/index"
|
|
15
|
+
export * as channels from "./channels/index"
|
|
16
|
+
export * as events from "./events/index"
|
|
17
|
+
export * as states from "./states/index"
|
|
18
|
+
export * as entities from "./entities/index"
|
|
19
|
+
|
|
20
|
+
export type TIntegration = {
|
|
21
|
+
name: "hello-world"
|
|
22
|
+
version: "0.0.1"
|
|
23
|
+
user: { "tags": {}, "creation": { "enabled": false, "requiredTags": [] } }
|
|
24
|
+
configuration: configuration.Configuration
|
|
25
|
+
configurations: configurations.Configurations
|
|
26
|
+
actions: actions.Actions
|
|
27
|
+
channels: channels.Channels
|
|
28
|
+
events: events.Events
|
|
29
|
+
states: states.States
|
|
30
|
+
entities: entities.Entities
|
|
31
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
// This file is generated. Do not edit it manually.
|
|
4
|
+
|
|
5
|
+
import * as sdk from "@botpress/sdk"
|
|
6
|
+
import * as typings from "./typings/index"
|
|
7
|
+
export * from "./typings/index"
|
|
8
|
+
|
|
9
|
+
type TIntegration = sdk.DefaultIntegration<typings.TIntegration>
|
|
10
|
+
|
|
11
|
+
export type IntegrationProps = sdk.IntegrationProps<TIntegration>
|
|
12
|
+
|
|
13
|
+
export class Integration extends sdk.Integration<TIntegration> {}
|
|
14
|
+
|
|
15
|
+
export type Client = sdk.IntegrationSpecificClient<TIntegration>
|
|
16
|
+
|
|
17
|
+
// extra types
|
|
18
|
+
|
|
19
|
+
type Cast<X, Y> = X extends Y ? X : Y
|
|
20
|
+
type ValueOf<T> = T[keyof T]
|
|
21
|
+
type AsyncFunction = (...args: any[]) => Promise<any>
|
|
22
|
+
|
|
23
|
+
export type HandlerProps = Parameters<IntegrationProps['handler']>[0]
|
|
24
|
+
|
|
25
|
+
export type ActionProps = {
|
|
26
|
+
[K in keyof IntegrationProps['actions']]: Parameters<IntegrationProps['actions'][K]>[0]
|
|
27
|
+
}
|
|
28
|
+
export type AnyActionProps = ValueOf<ActionProps>
|
|
29
|
+
|
|
30
|
+
export type MessageProps = {
|
|
31
|
+
[TChannel in keyof IntegrationProps['channels']]: {
|
|
32
|
+
[TMessage in keyof IntegrationProps['channels'][TChannel]['messages']]: Parameters<
|
|
33
|
+
IntegrationProps['channels'][TChannel]['messages'][TMessage]
|
|
34
|
+
>[0]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export type AnyMessageProps = ValueOf<ValueOf<MessageProps>>
|
|
38
|
+
|
|
39
|
+
export type Context = HandlerProps['ctx']
|
|
40
|
+
export type Logger = HandlerProps['logger']
|
|
41
|
+
|
|
42
|
+
export type AckFunctions = {
|
|
43
|
+
[TChannel in keyof MessageProps]: {
|
|
44
|
+
[TMessage in keyof MessageProps[TChannel]]: Cast<MessageProps[TChannel][TMessage], AnyMessageProps>['ack']
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export type AnyAckFunction = ValueOf<ValueOf<AckFunctions>>
|
|
48
|
+
|
|
49
|
+
export type ClientOperation = ValueOf<{
|
|
50
|
+
[K in keyof Client as Client[K] extends AsyncFunction ? K : never]: K
|
|
51
|
+
}>
|
|
52
|
+
export type ClientRequests = {
|
|
53
|
+
[K in ClientOperation]: Parameters<Client[K]>[0]
|
|
54
|
+
}
|
|
55
|
+
export type ClientResponses = {
|
|
56
|
+
[K in ClientOperation]: Awaited<ReturnType<Client[K]>>
|
|
57
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
// This file is generated. Do not edit it manually.
|
|
4
|
+
|
|
5
|
+
import { Messages } from './messages/index'
|
|
6
|
+
export * from './messages/index'
|
|
7
|
+
|
|
8
|
+
export type Webhook = {
|
|
9
|
+
messages: Messages
|
|
10
|
+
message: { "tags": {} }
|
|
11
|
+
conversation: { "tags": { "id": { "title": "Conversation ID", "description": "The ID of the conversation" } }, "creation": { "enabled": false, "requiredTags": [] } }
|
|
12
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
// This file is generated. Do not edit it manually.
|
|
4
|
+
|
|
5
|
+
import * as configuration from "./configuration/index"
|
|
6
|
+
import * as configurations from "./configurations/index"
|
|
7
|
+
import * as actions from "./actions/index"
|
|
8
|
+
import * as channels from "./channels/index"
|
|
9
|
+
import * as events from "./events/index"
|
|
10
|
+
import * as states from "./states/index"
|
|
11
|
+
import * as entities from "./entities/index"
|
|
12
|
+
export * as configuration from "./configuration/index"
|
|
13
|
+
export * as configurations from "./configurations/index"
|
|
14
|
+
export * as actions from "./actions/index"
|
|
15
|
+
export * as channels from "./channels/index"
|
|
16
|
+
export * as events from "./events/index"
|
|
17
|
+
export * as states from "./states/index"
|
|
18
|
+
export * as entities from "./entities/index"
|
|
19
|
+
|
|
20
|
+
export type TIntegration = {
|
|
21
|
+
name: "webhook-message"
|
|
22
|
+
version: "0.0.1"
|
|
23
|
+
user: { "tags": { "id": { "title": "User ID", "description": "The ID of the user" } }, "creation": { "enabled": false, "requiredTags": [] } }
|
|
24
|
+
configuration: configuration.Configuration
|
|
25
|
+
configurations: configurations.Configurations
|
|
26
|
+
actions: actions.Actions
|
|
27
|
+
channels: channels.Channels
|
|
28
|
+
events: events.Events
|
|
29
|
+
states: states.States
|
|
30
|
+
entities: entities.Entities
|
|
31
|
+
}
|
package/e2e/api.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Client } from '@botpress/client'
|
|
2
|
-
|
|
3
|
-
export type ApiBot = Awaited<ReturnType<Client['listBots']>>['bots'][0]
|
|
4
|
-
export const fetchAllBots = async (client: Client): Promise<ApiBot[]> => {
|
|
5
|
-
let allBots: ApiBot[] = []
|
|
6
|
-
let nextToken: string | undefined
|
|
7
|
-
do {
|
|
8
|
-
const { bots, meta } = await client.listBots({ nextToken })
|
|
9
|
-
allBots = [...allBots, ...bots]
|
|
10
|
-
nextToken = meta.nextToken
|
|
11
|
-
} while (nextToken)
|
|
12
|
-
return allBots
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export type ApiIntegration = Awaited<ReturnType<Client['listIntegrations']>>['integrations'][0]
|
|
16
|
-
export const fetchAllIntegrations = async (client: Client): Promise<ApiIntegration[]> => {
|
|
17
|
-
let allIntegrations: ApiIntegration[] = []
|
|
18
|
-
let nextToken: string | undefined
|
|
19
|
-
do {
|
|
20
|
-
const { integrations, meta } = await client.listIntegrations({ nextToken })
|
|
21
|
-
allIntegrations = [...allIntegrations, ...integrations]
|
|
22
|
-
nextToken = meta.nextToken
|
|
23
|
-
} while (nextToken)
|
|
24
|
-
return allIntegrations
|
|
25
|
-
}
|
package/e2e/defaults.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
const noBuild = false
|
|
2
|
-
const secrets = [] satisfies string[]
|
|
3
|
-
const sourceMap = false
|
|
4
|
-
const verbose = false
|
|
5
|
-
const confirm = true
|
|
6
|
-
const json = false
|
|
7
|
-
const allowDeprecated = false
|
|
8
|
-
const isPublic = false
|
|
9
|
-
const minify = true
|
|
10
|
-
export default {
|
|
11
|
-
minify,
|
|
12
|
-
noBuild,
|
|
13
|
-
secrets,
|
|
14
|
-
sourceMap,
|
|
15
|
-
verbose,
|
|
16
|
-
confirm,
|
|
17
|
-
json,
|
|
18
|
-
allowDeprecated,
|
|
19
|
-
public: isPublic,
|
|
20
|
-
}
|
package/e2e/index.ts
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { Logger } from '@bpinternal/log4bot'
|
|
2
|
-
import yargs, { YargsConfig, YargsSchema } from '@bpinternal/yargs-extra'
|
|
3
|
-
import * as consts from '../src/consts'
|
|
4
|
-
import { createDeployBot } from './tests/create-deploy-bot'
|
|
5
|
-
import { createDeployIntegration } from './tests/create-deploy-integration'
|
|
6
|
-
import { devBot } from './tests/dev-bot'
|
|
7
|
-
import { installAllInterfaces } from './tests/install-interfaces'
|
|
8
|
-
import { addIntegration } from './tests/install-package'
|
|
9
|
-
import { requiredSecrets } from './tests/integration-secrets'
|
|
10
|
-
import { prependWorkspaceHandle, enforceWorkspaceHandle } from './tests/manage-workspace-handle'
|
|
11
|
-
import { Test } from './typings'
|
|
12
|
-
import { sleep, TmpDirectory } from './utils'
|
|
13
|
-
|
|
14
|
-
const tests: Test[] = [
|
|
15
|
-
createDeployBot,
|
|
16
|
-
createDeployIntegration,
|
|
17
|
-
devBot,
|
|
18
|
-
requiredSecrets,
|
|
19
|
-
prependWorkspaceHandle,
|
|
20
|
-
enforceWorkspaceHandle,
|
|
21
|
-
addIntegration,
|
|
22
|
-
installAllInterfaces,
|
|
23
|
-
]
|
|
24
|
-
|
|
25
|
-
const timeout = (ms: number) =>
|
|
26
|
-
sleep(ms).then(() => {
|
|
27
|
-
throw new Error(`Timeout after ${ms}ms`)
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
const TIMEOUT = 45_000
|
|
31
|
-
|
|
32
|
-
const configSchema = {
|
|
33
|
-
timeout: {
|
|
34
|
-
type: 'number',
|
|
35
|
-
default: TIMEOUT,
|
|
36
|
-
},
|
|
37
|
-
verbose: {
|
|
38
|
-
type: 'boolean',
|
|
39
|
-
default: false,
|
|
40
|
-
alias: 'v',
|
|
41
|
-
},
|
|
42
|
-
filter: {
|
|
43
|
-
type: 'string',
|
|
44
|
-
},
|
|
45
|
-
workspaceId: {
|
|
46
|
-
type: 'string',
|
|
47
|
-
demandOption: true,
|
|
48
|
-
},
|
|
49
|
-
workspaceHandle: {
|
|
50
|
-
type: 'string',
|
|
51
|
-
demandOption: true,
|
|
52
|
-
},
|
|
53
|
-
token: {
|
|
54
|
-
type: 'string',
|
|
55
|
-
demandOption: true,
|
|
56
|
-
},
|
|
57
|
-
apiUrl: {
|
|
58
|
-
type: 'string',
|
|
59
|
-
default: consts.defaultBotpressApiUrl,
|
|
60
|
-
},
|
|
61
|
-
tunnelUrl: {
|
|
62
|
-
type: 'string',
|
|
63
|
-
default: consts.defaultTunnelUrl,
|
|
64
|
-
},
|
|
65
|
-
sdkPath: {
|
|
66
|
-
type: 'string',
|
|
67
|
-
description: 'Path to the Botpress SDK to install; Allows using a version not released on NPM yet.',
|
|
68
|
-
},
|
|
69
|
-
clientPath: {
|
|
70
|
-
type: 'string',
|
|
71
|
-
description: 'Path to the Botpress Client to install; Allows using a version not released on NPM yet.',
|
|
72
|
-
},
|
|
73
|
-
} satisfies YargsSchema
|
|
74
|
-
|
|
75
|
-
const main = async (argv: YargsConfig<typeof configSchema>): Promise<never> => {
|
|
76
|
-
const logger = new Logger('e2e', { level: argv.verbose ? 'debug' : 'info' })
|
|
77
|
-
|
|
78
|
-
const filterRegex = argv.filter ? new RegExp(argv.filter) : null
|
|
79
|
-
const filteredTests = tests.filter(({ name }) => (filterRegex ? filterRegex.test(name) : true))
|
|
80
|
-
logger.info(`Running ${filteredTests.length} / ${tests.length} tests`)
|
|
81
|
-
|
|
82
|
-
const dependencies = { '@botpress/sdk': argv.sdkPath, '@botpress/client': argv.clientPath } satisfies Record<
|
|
83
|
-
string,
|
|
84
|
-
string | undefined
|
|
85
|
-
>
|
|
86
|
-
|
|
87
|
-
for (const { name, handler } of filteredTests) {
|
|
88
|
-
const logLine = `### Running test: "${name}" ###`
|
|
89
|
-
const logPad = '#'.repeat(logLine.length)
|
|
90
|
-
logger.info(logPad)
|
|
91
|
-
logger.info(logLine)
|
|
92
|
-
logger.info(logPad + '\n')
|
|
93
|
-
|
|
94
|
-
const loggerNamespace = name.replace(/ /g, '_').replace(/[^a-zA-Z0-9_]/g, '')
|
|
95
|
-
|
|
96
|
-
const tmpDir = TmpDirectory.create()
|
|
97
|
-
try {
|
|
98
|
-
const t0 = Date.now()
|
|
99
|
-
await Promise.race([
|
|
100
|
-
handler({ tmpDir: tmpDir.path, dependencies, logger: logger.sub(loggerNamespace), ...argv }),
|
|
101
|
-
timeout(argv.timeout),
|
|
102
|
-
])
|
|
103
|
-
const t1 = Date.now()
|
|
104
|
-
logger.info(`SUCCESS: "${name}" (${t1 - t0}ms)`)
|
|
105
|
-
} catch (thrown) {
|
|
106
|
-
const err = thrown instanceof Error ? thrown : new Error(`${thrown}`)
|
|
107
|
-
logger.attachError(err).error(`FAILURE: "${name}"`)
|
|
108
|
-
process.exit(1)
|
|
109
|
-
} finally {
|
|
110
|
-
tmpDir.cleanup()
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
logger.info('All tests passed')
|
|
115
|
-
process.exit(0)
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
void yargs.command('$0', 'Run E2E Tests', configSchema, main).parse()
|