From 2a93f0886ff1d0edc5ae6008f51aa917b104e5c8 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodriguez Date: Fri, 23 Aug 2024 17:23:22 -0300 Subject: [PATCH 1/2] fix(all): New templates. --- boot.mjs | 5 ++- package.json | 2 + .../basic.gblib/services/DebuggerService.ts | 2 +- .../basic.gblib/services/SystemKeywords.ts | 2 +- packages/kb.gbapp/services/KBService.ts | 2 +- packages/{gpt.gblib => llm.gblib}/README.md | 0 packages/{gpt.gblib => llm.gblib}/index.ts | 0 .../{gpt.gblib => llm.gblib}/models/Model.ts | 0 .../services/ChatServices.ts | 0 .../services/CodeServices.ts | 0 .../services/ImageServices.ts | 0 packages/{gpt.gblib => llm.gblib}/strings.ts | 0 .../services/WhatsappDirectLine.ts | 2 +- src/webapp.ts | 37 +++++++++++-------- .../api-server.gbai/api.gbdialog/start.bas | 8 ++-- .../store.gbdialog/{start.vbs => start.bas} | 0 .../whatsapp.gbdialog/{start => start.bas} | 0 17 files changed, 35 insertions(+), 25 deletions(-) rename packages/{gpt.gblib => llm.gblib}/README.md (100%) rename packages/{gpt.gblib => llm.gblib}/index.ts (100%) rename packages/{gpt.gblib => llm.gblib}/models/Model.ts (100%) rename packages/{gpt.gblib => llm.gblib}/services/ChatServices.ts (100%) rename packages/{gpt.gblib => llm.gblib}/services/CodeServices.ts (100%) rename packages/{gpt.gblib => llm.gblib}/services/ImageServices.ts (100%) rename packages/{gpt.gblib => llm.gblib}/strings.ts (100%) rename templates/store.gbai/store.gbdialog/{start.vbs => start.bas} (100%) rename templates/whatsapp.gbai/whatsapp.gbdialog/{start => start.bas} (100%) diff --git a/boot.mjs b/boot.mjs index 3f5afe03..16a0a519 100644 --- a/boot.mjs +++ b/boot.mjs @@ -6,6 +6,7 @@ import Path from 'path'; import { exec } from 'child_process'; import pjson from './package.json' assert { type: 'json' }; + // Displays version of Node JS being used at runtime and others attributes. process.stdout.write(`General Bots. BotServer@${pjson.version}, botlib@${pjson.dependencies.botlib}, node@${process.version.replace('v', '')}, ${process.platform} ${process.arch} `); @@ -15,8 +16,8 @@ var __dirname = process.env.PWD || process.cwd(); try { var run = () => { - import('./dist/src/app.js').then((gb)=> { - gb.GBServer.run() + import('./dist/src/webapp.js').then((gb)=> { + gb.GBUI.run() }); }; var processDist = () => { diff --git a/package.json b/package.json index a5aa46a5..4b62c639 100644 --- a/package.json +++ b/package.json @@ -124,11 +124,13 @@ "cli-progress": "3.12.0", "cli-spinner": "0.2.10", "core-js": "3.37.1", + "csv-database": "^0.9.2", "data-forge": "1.10.2", "date-diff": "1.0.2", "docximager": "0.0.4", "docxtemplater": "3.47.4", "dotenv-extended": "2.9.0", + "electron": "32.0.1", "exceljs": "4.4.0", "express": "4.19.2", "express-remove-route": "1.0.0", diff --git a/packages/basic.gblib/services/DebuggerService.ts b/packages/basic.gblib/services/DebuggerService.ts index bc079acb..41eab551 100644 --- a/packages/basic.gblib/services/DebuggerService.ts +++ b/packages/basic.gblib/services/DebuggerService.ts @@ -35,7 +35,7 @@ import { GBServer } from '../../../src/app.js'; import Fs from 'fs'; import SwaggerClient from 'swagger-client'; import { spawn } from 'child_process'; -import { CodeServices } from '../../gpt.gblib/services/CodeServices.js'; +import { CodeServices } from '../../llm.gblib/services/CodeServices.js'; import { GBLogEx } from '../../core.gbapp/services/GBLogEx.js'; import { GBUtil } from '../../../src/util.js'; diff --git a/packages/basic.gblib/services/SystemKeywords.ts b/packages/basic.gblib/services/SystemKeywords.ts index 94cdd66f..99a316c0 100644 --- a/packages/basic.gblib/services/SystemKeywords.ts +++ b/packages/basic.gblib/services/SystemKeywords.ts @@ -61,7 +61,7 @@ import ImageModule from 'open-docxtemplater-image-module'; import { GBConversationalService } from '../../core.gbapp/services/GBConversationalService.js'; import { WebAutomationServices } from './WebAutomationServices.js'; import { KeywordsExpressions } from './KeywordsExpressions.js'; -import { ChatServices } from '../../gpt.gblib/services/ChatServices.js'; +import { ChatServices } from '../../llm.gblib/services/ChatServices.js'; import mime from 'mime-types'; import exts from '../../../extensions.json' assert { type: 'json' }; import { SecService } from '../../security.gbapp/services/SecService.js'; diff --git a/packages/kb.gbapp/services/KBService.ts b/packages/kb.gbapp/services/KBService.ts index 42fb29e1..4671ad7c 100644 --- a/packages/kb.gbapp/services/KBService.ts +++ b/packages/kb.gbapp/services/KBService.ts @@ -83,7 +83,7 @@ import { GBAdminService } from '../../admin.gbapp/services/GBAdminService.js'; import { GBVMService } from '../../basic.gblib/services/GBVMService.js'; import { DialogKeywords } from '../../basic.gblib/services/DialogKeywords.js'; import { GBMinService } from '../../core.gbapp/services/GBMinService.js'; -import { ChatServices } from '../../gpt.gblib/services/ChatServices.js'; +import { ChatServices } from '../../llm.gblib/services/ChatServices.js'; import { GBUtil } from '../../../src/util.js'; /** diff --git a/packages/gpt.gblib/README.md b/packages/llm.gblib/README.md similarity index 100% rename from packages/gpt.gblib/README.md rename to packages/llm.gblib/README.md diff --git a/packages/gpt.gblib/index.ts b/packages/llm.gblib/index.ts similarity index 100% rename from packages/gpt.gblib/index.ts rename to packages/llm.gblib/index.ts diff --git a/packages/gpt.gblib/models/Model.ts b/packages/llm.gblib/models/Model.ts similarity index 100% rename from packages/gpt.gblib/models/Model.ts rename to packages/llm.gblib/models/Model.ts diff --git a/packages/gpt.gblib/services/ChatServices.ts b/packages/llm.gblib/services/ChatServices.ts similarity index 100% rename from packages/gpt.gblib/services/ChatServices.ts rename to packages/llm.gblib/services/ChatServices.ts diff --git a/packages/gpt.gblib/services/CodeServices.ts b/packages/llm.gblib/services/CodeServices.ts similarity index 100% rename from packages/gpt.gblib/services/CodeServices.ts rename to packages/llm.gblib/services/CodeServices.ts diff --git a/packages/gpt.gblib/services/ImageServices.ts b/packages/llm.gblib/services/ImageServices.ts similarity index 100% rename from packages/gpt.gblib/services/ImageServices.ts rename to packages/llm.gblib/services/ImageServices.ts diff --git a/packages/gpt.gblib/strings.ts b/packages/llm.gblib/strings.ts similarity index 100% rename from packages/gpt.gblib/strings.ts rename to packages/llm.gblib/strings.ts diff --git a/packages/whatsapp.gblib/services/WhatsappDirectLine.ts b/packages/whatsapp.gblib/services/WhatsappDirectLine.ts index 6fb0d9be..8eb45a10 100644 --- a/packages/whatsapp.gblib/services/WhatsappDirectLine.ts +++ b/packages/whatsapp.gblib/services/WhatsappDirectLine.ts @@ -47,7 +47,7 @@ import { GBSSR } from '../../core.gbapp/services/GBSSR.js'; import pkg from 'whatsapp-web.js'; import fetch from 'node-fetch'; import { DialogKeywords } from '../../basic.gblib/services/DialogKeywords.js'; -import { ChatServices } from '../../gpt.gblib/services/ChatServices.js'; +import { ChatServices } from '../../llm.gblib/services/ChatServices.js'; import { GBAdminService } from '../../admin.gbapp/services/GBAdminService.js'; import { GBUtil } from '../../../src/util.js'; const { WAState, Client, MessageMedia } = pkg; diff --git a/src/webapp.ts b/src/webapp.ts index 615ef80f..5955c154 100644 --- a/src/webapp.ts +++ b/src/webapp.ts @@ -1,21 +1,28 @@ -import { GBConfigService } from "../packages/core.gbapp/services/GBConfigService"; -import { app, BrowserWindow } from 'electron'; +import { GBConfigService } from '../packages/core.gbapp/services/GBConfigService.js'; +const {app} = (await import('electron')).default; + import path from 'path'; import url from 'url'; - - export function runUI() { - + +export function runUI() { // Create the browser window. - const win = new BrowserWindow({ width: 800, height: 600, title: 'General Bots Studio' }); + const win = null;// new BrowserWindow({ width: 800, height: 600, title: 'General Bots Studio' }); - // and load the index.html of the app. - win.loadURL( - url.format({ - pathname: path.join(__dirname, `http://localhost:${GBConfigService.get('PORT')}`), - protocol: 'file:', - slashes: true - }) - ); + import('./app.js').then(gb => { + gb.GBServer.run(); + // and load the index.html of the app. + win.loadURL( + url.format({ + pathname: path.join(__dirname, `http://localhost:${GBConfigService.get('PORT')}`), + protocol: 'file:', + slashes: true + }) + ); + }); } -app.on('ready', runUI); +export class GBUI { + static run() { + app.on('ready', runUI); + } +} diff --git a/templates/api-server.gbai/api.gbdialog/start.bas b/templates/api-server.gbai/api.gbdialog/start.bas index a60abdf6..28e4ad82 100644 --- a/templates/api-server.gbai/api.gbdialog/start.bas +++ b/templates/api-server.gbai/api.gbdialog/start.bas @@ -23,7 +23,7 @@ FOR EACH item IN data[0].itens produto.detalhe = item.detalhe produto.acompanhamentos = item.gruposAcompanhamento - produtos.push(produto) + produtos.push(produto) END IF NEXT @@ -43,7 +43,7 @@ Segue o exemplo do JSON do Pedido, apague os itens e mande um com o pedido feito item: { id: 23872, valor: 20, - nome: Caipirinha Limão + nome: Guaraná }, itensAcompanhamento: [ { @@ -59,7 +59,7 @@ Segue o exemplo do JSON do Pedido, apague os itens e mande um com o pedido feito item: { id: 25510, valor: 12, - nome: Heineken Lata 350ml + nome: Laranja Lata 350ml }, itensAcompanhamento: [], quantidade: 1, @@ -68,7 +68,7 @@ Segue o exemplo do JSON do Pedido, apague os itens e mande um com o pedido feito ], barracaId: ${barraca}, usuarioId: ${operador}, - identificadorConta: Rafael, + identificadorConta: Areia, tipoEntregaId: 2, camposTipoEntrega: { Mesa: 5 diff --git a/templates/store.gbai/store.gbdialog/start.vbs b/templates/store.gbai/store.gbdialog/start.bas similarity index 100% rename from templates/store.gbai/store.gbdialog/start.vbs rename to templates/store.gbai/store.gbdialog/start.bas diff --git a/templates/whatsapp.gbai/whatsapp.gbdialog/start b/templates/whatsapp.gbai/whatsapp.gbdialog/start.bas similarity index 100% rename from templates/whatsapp.gbai/whatsapp.gbdialog/start rename to templates/whatsapp.gbai/whatsapp.gbdialog/start.bas From 26f5fcec7ce48bd4ad02c9c5d09547b642f2a6b1 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodriguez Date: Fri, 23 Aug 2024 17:54:47 -0300 Subject: [PATCH 2/2] fix(all): New templates. --- package.json | 1 - .../services/ImageProcessingServices.ts | 17 +---------------- packages/basic.gblib/services/SystemKeywords.ts | 9 ++++----- packages/kb.gbapp/services/KBService.ts | 17 ++++++++--------- 4 files changed, 13 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 4b62c639..c10b241f 100644 --- a/package.json +++ b/package.json @@ -200,7 +200,6 @@ "sequelize": "6.28.2", "sequelize-cli": "6.6.0", "sequelize-typescript": "2.1.5", - "sharp": "0.33.4", "simple-git": "3.24.0", "speakingurl": "14.0.1", "sqlite3": "5.1.7", diff --git a/packages/basic.gblib/services/ImageProcessingServices.ts b/packages/basic.gblib/services/ImageProcessingServices.ts index 8ad1553c..7be7aea7 100644 --- a/packages/basic.gblib/services/ImageProcessingServices.ts +++ b/packages/basic.gblib/services/ImageProcessingServices.ts @@ -39,7 +39,6 @@ import { GBAdminService } from '../../admin.gbapp/services/GBAdminService.js'; import urlJoin from 'url-join'; import { GBServer } from '../../../src/app.js'; import { GBLogEx } from '../../core.gbapp/services/GBLogEx.js'; -import sharp from 'sharp'; /** * Image processing services of conversation to be called by BASIC. @@ -55,22 +54,8 @@ export class ImageProcessingServices { GBLogEx.info(min, `BASIC: Image Processing SHARPEN ${file}.`); const gbfile = DialogKeywords.getFileByHandle(file); - const data = await sharp(gbfile.data) - .sharpen({ - sigma: 2, - m1: 0, - m2: 3, - x1: 3, - y2: 15, - y3: 15 - }) - .toBuffer(); - const newFile = { - filename: gbfile.filename, - data: data - - }; + // TODO: sharp. return; } diff --git a/packages/basic.gblib/services/SystemKeywords.ts b/packages/basic.gblib/services/SystemKeywords.ts index 99a316c0..d9a016cc 100644 --- a/packages/basic.gblib/services/SystemKeywords.ts +++ b/packages/basic.gblib/services/SystemKeywords.ts @@ -56,7 +56,6 @@ import Docxtemplater from 'docxtemplater'; import pptxTemplaterModule from 'pptxtemplater'; import _ from 'lodash'; import { pdfToPng, PngPageOutput } from 'pdf-to-png-converter'; -import sharp from 'sharp'; import ImageModule from 'open-docxtemplater-image-module'; import { GBConversationalService } from '../../core.gbapp/services/GBConversationalService.js'; import { WebAutomationServices } from './WebAutomationServices.js'; @@ -1998,11 +1997,11 @@ export class SystemKeywords { return (orientation || 0) >= 5 ? [height, width] : [width, height]; }; - const metadata = await sharp(buf).metadata(); + // TODO: sharp. const metadata = await sharp(buf).metadata(); const size = getNormalSize({ - width: metadata['width'], - height: metadata['height'], - orientation: metadata['orientation'] + width: 400, + height: 400, + orientation: '0' }); url = urlJoin(GBServer.globals.publicAddress, min.botId, 'cache', Path.basename(imageName)); images[index++] = { url: url, size: size, buf: buf }; diff --git a/packages/kb.gbapp/services/KBService.ts b/packages/kb.gbapp/services/KBService.ts index 4671ad7c..76c346aa 100644 --- a/packages/kb.gbapp/services/KBService.ts +++ b/packages/kb.gbapp/services/KBService.ts @@ -53,7 +53,6 @@ import puppeteer, { Page } from 'puppeteer'; import { RecursiveCharacterTextSplitter } from 'langchain/text_splitter'; import { Document } from 'langchain/document'; import getColors from 'get-image-colors'; -import sharp from 'sharp'; import { GBDialogStep, @@ -1070,14 +1069,14 @@ export class KBService implements IGBKBService { const logoBinary = await page.goto(logo); const buffer = await logoBinary.buffer(); const logoFilename = Path.basename(logo); - sharp(buffer) - .resize({ - width: 48, - height: 48, - fit: 'inside', // Resize the image to fit within the specified dimensions - withoutEnlargement: true // Don't enlarge the image if its dimensions are already smaller - }) - .toFile(Path.join(logoPath, logoFilename)); + // TODO: sharp(buffer) + // .resize({ + // width: 48, + // height: 48, + // fit: 'inside', // Resize the image to fit within the specified dimensions + // withoutEnlargement: true // Don't enlarge the image if its dimensions are already smaller + // }) + // .toFile(Path.join(logoPath, logoFilename)); await min.core['setConfig'](min, 'Logo', logoFilename); } catch (error) { GBLogEx.debug(min, error);