From 16dfc64bc4f41076c079d0643d511cc3939915db Mon Sep 17 00:00:00 2001 From: Gustavo Beauregard Date: Tue, 28 Nov 2023 13:12:24 -0600 Subject: [PATCH 01/79] docker-compose & Dockerfile --- .env.sample | 8 ++++++++ .gitignore | 2 ++ Dockerfile | 40 ++++++++++++++++++++++++++++++++++++++-- docker-compose.yml | 26 ++++++++++++++++++++++++++ 4 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 .env.sample create mode 100644 docker-compose.yml diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000000..89df46cae3 --- /dev/null +++ b/.env.sample @@ -0,0 +1,8 @@ +# Container vars +CHATO_STUDIO_WEB_PORT= +CHATO_STUDIO_DATABASE_PORT= + +# BP env vars, full reference: +# https://v12.botpress.com/going-to-production/environment-variables +EXTERNAL_URL= +DATABASE_URL= \ No newline at end of file diff --git a/.gitignore b/.gitignore index 16d8c20a0d..73b1253a74 100644 --- a/.gitignore +++ b/.gitignore @@ -72,3 +72,5 @@ modules/*/assets/web/* modules/*/assets/config.schema.json **/out/** **/dist/** + +.env diff --git a/Dockerfile b/Dockerfile index 19c83828b8..59ae4a2b20 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,2 +1,38 @@ -FROM botpress/server:latest -CMD ["./bp", "&" ,"./duckling"] +FROM ubuntu:20.04 + +# Set environment variables +ENV BP_WORKDIR=/botpress +ENV BP_USER=botpress +ENV BP_GROUP=botpress +ENV BP_DATA_PATH $BP_WORKDIR/data + +# Install dependencies +RUN dpkg --add-architecture arm64 && \ + apt-get update && \ + apt-get install -y chromium-browser:arm64 + +# Install curl and Node.js +RUN apt-get update && apt-get install -y curl g++ make ca-certificates curl gnupg +RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && \ + apt-get install -y nodejs + +# Install yarn +RUN npm install -g yarn + +# Set working directory +WORKDIR $BP_WORKDIR + +# Copy package.json and yarn.lock files +COPY package.json yarn.lock ./ + +# Install dependencies +RUN yarn install + +# Copy the rest of the code +COPY . . + +# Build the application +RUN yarn build + +# Start the application +CMD ["yarn", "start"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000..00c821fc50 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,26 @@ +version: '3' +services: + chato-db: + image: 'ankane/pgvector:v0.4.4' + container_name: 'chato-db' + ports: + - '${DOCKER_DATABASE_PORT}:5432' + volumes: + - ./tmp/pgdata:/var/lib/postgresql/data + environment: + POSTGRES_HOST_AUTH_METHOD: trust + chato-studio: + build: . + container_name: chato-studio + command: bash -c "yarn start" + ports: + - '${CHATO_STUDIO_WEB_PORT}:3000' + volumes: + - ./bench:/botpress/bench + - ./config:/botpress/config + - ./modules:/botpress/modules + - ./packages:/botpress/packages + depends_on: + - 'chato-db' + env_file: + - .env From d5faba0506d8ae6c1a8cebea293fe2116ff3ea87 Mon Sep 17 00:00:00 2001 From: Giovanni Estrada Date: Tue, 28 Nov 2023 13:59:17 -0600 Subject: [PATCH 02/79] feature chat color --- modules/channel-web/assets/default.css | 12 +++++++----- .../channel-web/src/views/lite/components/Footer.tsx | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/channel-web/assets/default.css b/modules/channel-web/assets/default.css index 14f22d4415..ce4a7e8708 100644 --- a/modules/channel-web/assets/default.css +++ b/modules/channel-web/assets/default.css @@ -28,7 +28,7 @@ body { } .bpw-from-user .bpw-chat-bubble .bpw-chat-bubble-content { - background-color: #000000; + background-color: #913bff; } .bpw-from-bot .bpw-chat-bubble .bpw-chat-bubble-content { @@ -49,7 +49,7 @@ body { } .bpw-widget-btn { - background-color: #000000; + background-color: #913bff; } .bpw-message-read-more { @@ -67,7 +67,7 @@ body { .bpw-widget-btn:focus, .bpw-widget-btn:hover { - background-color: #333; + background-color: #06f; } .bpw-chat-container { @@ -729,6 +729,7 @@ body { border-bottom: 1px solid #ccc; padding: 0 1rem; overflow: hidden; + background-color: #913bff; } .bpw-header-title-flexbox { @@ -764,6 +765,7 @@ body { display: -webkit-box; display: -ms-flexbox; display: flex; + color: white; } .bpw-header-subtitle { @@ -772,7 +774,7 @@ body { text-overflow: ellipsis; font-size: 0.75rem; font-weight: 500; - color: #9a9a9a; + color: white; vertical-align: middle; margin-top: 0px; } @@ -823,7 +825,7 @@ body { .bpw-header-icon svg, .bpw-header-icon svg path { - fill: #1a1e22; + fill: white; transition: fill 0.3s; } diff --git a/modules/channel-web/src/views/lite/components/Footer.tsx b/modules/channel-web/src/views/lite/components/Footer.tsx index e63f1c4493..647f1b08d3 100644 --- a/modules/channel-web/src/views/lite/components/Footer.tsx +++ b/modules/channel-web/src/views/lite/components/Footer.tsx @@ -24,8 +24,8 @@ const Footer = () => { ), link: ( - - {'Botpress'} + + {'ChatO'} ) }} From 7265d3fcabc24e94f4b14673f569e02a9ead6a8e Mon Sep 17 00:00:00 2001 From: EddSj Date: Tue, 28 Nov 2023 16:09:15 -0600 Subject: [PATCH 03/79] change logos and deleting docs references to botpress --- docs/docusaurus.config.js | 360 +++++++++--------- docs/src/css/custom.css | 2 +- docs/static/img/bp-logo-white.png | Bin 8654 -> 6737 bytes docs/static/img/logo.svg | 26 +- .../complete-module/assets/logo.png | Bin 6439 -> 6737 bytes .../src/views/lite/components/Footer.tsx | 4 +- modules/nlu/yarn.lock | 2 +- packages/ui-admin/src/app/Header/index.tsx | 2 - packages/ui-admin/src/app/Menu/index.tsx | 7 - packages/ui-admin/src/app/Menu/logo-icon.svg | 26 +- packages/ui-admin/src/app/routes/index.tsx | 1 - packages/ui-admin/src/auth/LoginContainer.tsx | 2 +- .../ui-admin/src/auth/media/bp-logo-white.png | Bin 8654 -> 6737 bytes packages/ui-shared/src/Commander/shortcuts.ts | 5 - 14 files changed, 236 insertions(+), 201 deletions(-) diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 80a3e98886..35361fcc96 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -23,196 +23,198 @@ const config = { lastVersion: "current", versions: { current: { - label: "Latest", - }, + label: "Latest" + } }, - editUrl: 'https://github.com/botpress/v12/edit/master/docs', + editUrl: "https://github.com/botpress/v12/edit/master/docs" }, blog: { - showReadingTime: true, + showReadingTime: true }, theme: { - customCss: require.resolve("./src/css/custom.css"), + customCss: require.resolve("./src/css/custom.css") }, gtag: { trackingID: "GTM-5ZGHFCL", - anonymizeIP: false, - }, - }), - ], + anonymizeIP: false + } + }) + ] ], - themeConfig: - ({ - announcementBar: { - id: 'announcementBar-3', // Increment on change - content: `You can find the latest Botpress Cloud documentation through this link!`, - backgroundColor: "#3276ea", - textColor: "#fff" - }, - metadata: [ - { name: 'robots', content: 'noindex' }, - { name: 'botpress, chatbot', content: 'documentation, docs' }, - { name: 'docsearch:docusaurus_tag', content: 'docs-default-current' }, - ], - algolia: { - apiKey: process.env.ALGOLIA_API_KEY || "empty", - appId: process.env.ALGOLIA_APP_ID || "empty", - indexName: process.env.ALGOLIA_INDEX || "empty", - contextualSearch: false, //leave it as is. For some reason, activating this adds docusaurus tag facets, thus algolia returns 0 hits. - searchPagePath: 'search', - }, - prism: { - theme: require("./src/utils/prism/lightTheme.js"), - // additionalLanguages: ["bash", "javascript", "jsx", "tsx", "json"], - }, - colorMode: { - defaultMode: "light", - respectPrefersColorScheme: false, - disableSwitch: true - }, - tableOfContents: { - minHeadingLevel: 2, - maxHeadingLevel: 6, + themeConfig: ({ + announcementBar: { + id: "announcementBar-3", // Increment on change + content: `You can find the latest Botpress Cloud documentation through this link!`, + backgroundColor: "#3276ea", + textColor: "#fff" + }, + metadata: [ + { name: "robots", content: "noindex" }, + { name: "botpress, chatbot", content: "documentation, docs" }, + { name: "docsearch:docusaurus_tag", content: "docs-default-current" } + ], + algolia: { + apiKey: process.env.ALGOLIA_API_KEY || "empty", + appId: process.env.ALGOLIA_APP_ID || "empty", + indexName: process.env.ALGOLIA_INDEX || "empty", + contextualSearch: false, //leave it as is. For some reason, activating this adds docusaurus tag facets, thus algolia returns 0 hits. + searchPagePath: "search" + }, + prism: { + theme: require("./src/utils/prism/lightTheme.js") + // additionalLanguages: ["bash", "javascript", "jsx", "tsx", "json"], + }, + colorMode: { + defaultMode: "light", + respectPrefersColorScheme: false, + disableSwitch: true + }, + tableOfContents: { + minHeadingLevel: 2, + maxHeadingLevel: 6 + }, + navbar: { + title: "Docs", + logo: { + alt: "Botpress logo", + src: "img/bp-logo-white.svg", + srcDark: "img/bp-logo-white.png" }, - navbar: { - title: "Docs", - logo: { - alt: "Botpress logo", - src: "img/bp-logo-black.svg", - srcDark: "img/bp-logo-white.png", + hideOnScroll: true, + items: [ + { + type: "doc", + docId: "overview/home", + position: "left", + label: "Home" }, - hideOnScroll: true, - items: [ - { - type: "doc", - docId: "overview/home", - position: "left", - label: "Home", - }, - { - type: "doc", - docId: "building-chatbots/creating-a-new-bot", - position: "left", - label: "Building Chatbots", - }, - { - type: "doc", - docId: "messaging-channels/supported-channels", - position: "left", - label: "Messaging Channels", - }, - { - type: "doc", - docId: "going-to-production/deploy/deploy", - position: "left", - label: "Going to Production", - }, - { - type: "doc", - docId: "chatbot-management/language-understanding/misunderstood", - position: "left", - label: "Chatbot Management", - }, - { - href: "https://botpress.com/reference/", - position: "right", - label: "SDK", - }, - { - type: "docsVersionDropdown", - position: "right", - dropdownItemsAfter: [ - { - label: "Botpress Cloud", - href: "https://botpress.com/docs" - }, - { - href: "http://botpress-docs.s3-website-us-east-1.amazonaws.com/docs/installation/", - label: "v12.26.7", - }, - { - href: "http://botpress-docs.s3-website-us-east-1.amazonaws.com/docs/11.9.6/installation/", - label: "v11.9.6", - }, - { - href: "http://botpress-docs.s3-website-us-east-1.amazonaws.com/versions", - label: "(Older docs) 11.0 to v12.26", - }, - ], - dropdownActiveClassDisabled: true, - }, - { - type: "search", - position: "right", - }, - ], - }, - footer: { - style: "light", - links: [ - { - title: "Docs", - items: [ - { - label: "Botpress Cloud Docs", - href: "https://botpress.com/docs", - }, - { - label: "Overview", - to: "/", - }, - { - label: "Building Chatbots", - to: "building-chatbots/creating-a-new-bot", - }, - { - label: "Messaging Channels", - to: "messaging-channels/supported-channels", - }, - { - label: "Going to Production", - to: "going-to-production/deploy", - }, - { - label: "Chatbot Management", - to: "chatbot-management/language-understanding/misunderstood", - }, - ], - }, - { - title: "Community", - items: [ - { - label: "Botpress Community", - href: "https://community.botpress.com/", - }, - { - label: "Stack Overflow", - href: "https://stackoverflow.com/questions/tagged/botpress", - }, - { - label: "Twitter", - href: "https://twitter.com/getbotpress", - }, - ], - }, - { - title: "More", - items: [ - { - label: "GitHub", - href: "https://github.com/botpress/v12", - }, - { - label: "Solutions", - href: "https://github.com/botpress/solutions", - }, - ], - }, - ], - copyright: `Copyright © ${new Date().getFullYear()} Botpress, Inc.`, - }, - }), + { + type: "doc", + docId: "building-chatbots/creating-a-new-bot", + position: "left", + label: "Building Chatbots" + }, + { + type: "doc", + docId: "messaging-channels/supported-channels", + position: "left", + label: "Messaging Channels" + }, + { + type: "doc", + docId: "going-to-production/deploy/deploy", + position: "left", + label: "Going to Production" + }, + { + type: "doc", + docId: "chatbot-management/language-understanding/misunderstood", + position: "left", + label: "Chatbot Management" + }, + { + href: "https://botpress.com/reference/", + position: "right", + label: "SDK" + }, + { + type: "docsVersionDropdown", + position: "right", + dropdownItemsAfter: [ + { + label: "Botpress Cloud", + href: "https://botpress.com/docs" + }, + { + href: + "http://botpress-docs.s3-website-us-east-1.amazonaws.com/docs/installation/", + label: "v12.26.7" + }, + { + href: + "http://botpress-docs.s3-website-us-east-1.amazonaws.com/docs/11.9.6/installation/", + label: "v11.9.6" + }, + { + href: + "http://botpress-docs.s3-website-us-east-1.amazonaws.com/versions", + label: "(Older docs) 11.0 to v12.26" + } + ], + dropdownActiveClassDisabled: true + }, + { + type: "search", + position: "right" + } + ] + }, + footer: { + style: "light", + links: [ + { + title: "Docs", + items: [ + { + label: "Botpress Cloud Docs", + href: "https://botpress.com/docs" + }, + { + label: "Overview", + to: "/" + }, + { + label: "Building Chatbots", + to: "building-chatbots/creating-a-new-bot" + }, + { + label: "Messaging Channels", + to: "messaging-channels/supported-channels" + }, + { + label: "Going to Production", + to: "going-to-production/deploy" + }, + { + label: "Chatbot Management", + to: "chatbot-management/language-understanding/misunderstood" + } + ] + }, + { + title: "Community", + items: [ + { + label: "Botpress Community", + href: "https://community.botpress.com/" + }, + { + label: "Stack Overflow", + href: "https://stackoverflow.com/questions/tagged/botpress" + }, + { + label: "Twitter", + href: "https://twitter.com/getbotpress" + } + ] + }, + { + title: "More", + items: [ + { + label: "GitHub", + href: "https://github.com/botpress/v12" + }, + { + label: "Solutions", + href: "https://github.com/botpress/solutions" + } + ] + } + ], + copyright: `Copyright © ${new Date().getFullYear()} Botpress, Inc.` + } + }) } module.exports = config diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css index 0c49667c36..4357c2c016 100644 --- a/docs/src/css/custom.css +++ b/docs/src/css/custom.css @@ -61,7 +61,7 @@ main li > a:hover { .hero { align-items: center; - background-color: #000; + background-color: red; color: #f5f6f8; display: flex; padding: 4rem 2rem; diff --git a/docs/static/img/bp-logo-white.png b/docs/static/img/bp-logo-white.png index 42700ac322400bc3e104b05d4e37ac96d91574d4..49a380d2ff61bee85962f4a1d55e2928cdfaf49d 100644 GIT binary patch literal 6737 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 \ No newline at end of file + + + + + + diff --git a/examples/module-templates/complete-module/assets/logo.png b/examples/module-templates/complete-module/assets/logo.png index 199e2d7f9bddd13f453a20b98ac29edaaea1b491..49a380d2ff61bee85962f4a1d55e2928cdfaf49d 100644 GIT binary patch literal 6737 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 { ), link: ( - - {'Botpress'} + + {'ChatO'} ) }} diff --git a/modules/nlu/yarn.lock b/modules/nlu/yarn.lock index 58eced629d..4ed42eeda9 100644 --- a/modules/nlu/yarn.lock +++ b/modules/nlu/yarn.lock @@ -673,7 +673,7 @@ minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -minipass@^2.6.0, minipass@^2.9.0: +minipass@<=2.9.0, minipass@^2.6.0, minipass@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== diff --git a/packages/ui-admin/src/app/Header/index.tsx b/packages/ui-admin/src/app/Header/index.tsx index 5e94acf20a..adc89ea999 100644 --- a/packages/ui-admin/src/app/Header/index.tsx +++ b/packages/ui-admin/src/app/Header/index.tsx @@ -33,8 +33,6 @@ const Header: FC = props => { - - {lang.tr('bottomPanel.label')}}>