Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
9d7826a
feat: implement user service and hooks for user creation and login
enzosakamoto Aug 24, 2025
752ac25
feat: enhance login functionality with user mutation and loading state
enzosakamoto Aug 24, 2025
5270673
feat: implement user creation logic and loading state in sign-up page
enzosakamoto Aug 24, 2025
16a455c
feat: update navbar login button to conditionally navigate based on u…
enzosakamoto Aug 24, 2025
73bd642
fix: update logout logic to remove access token and redirect to home
enzosakamoto Aug 24, 2025
8b986da
feat: add getAuthHeader function to retrieve authorization header wit…
enzosakamoto Aug 24, 2025
26f8121
feat: add uuidv4 package for unique identifier generation
enzosakamoto Aug 24, 2025
fff5fcf
fix: update status color for active state in KnowledgeBaseDetailModal
enzosakamoto Aug 24, 2025
fab181d
fix: prevent double execution of effect in CreateBasePipeline component
enzosakamoto Aug 24, 2025
b444e8a
feat: append unique identifier to slug in CreateBase component
enzosakamoto Aug 24, 2025
adc73db
fix: add authorization headers to API requests in knowledgeBaseService
enzosakamoto Aug 24, 2025
8766b4a
Merge branch 'dev' into feature/auth
enzosakamoto Sep 15, 2025
672f70d
feat: limit maximum width of chat container in PlaygroundPage
enzosakamoto Sep 16, 2025
7a11058
feat: add user query and context hooks for user management
enzosakamoto Oct 7, 2025
49782c3
feat: update model identifiers to use constant values
enzosakamoto Oct 7, 2025
6b98078
feat: update document type values to use constant identifiers
enzosakamoto Oct 7, 2025
07bf122
feat: add User type definition for user domain model
enzosakamoto Oct 7, 2025
b50007c
fix: update token retrieval in getAuthHeader to use correct localStor…
enzosakamoto Oct 7, 2025
043c9a8
feat: wrap PageWithSidebar component in UserProvider for context mana…
enzosakamoto Oct 7, 2025
0d83485
feat: implement UserContext and UserProvider for user state management
enzosakamoto Oct 7, 2025
0cf960c
feat: add user response type and implement getUser method in userService
enzosakamoto Oct 7, 2025
d1857dc
refactor: rename fields in userInfoSchema for consistency and clarity
enzosakamoto Oct 7, 2025
a2f06d2
style: adjust padding for message content in PlaygroundPage component
enzosakamoto Oct 7, 2025
60f75fb
fix: update token storage key from 'access_token' to 'token' in Login…
enzosakamoto Oct 7, 2025
d13e6cb
refactor: replace mock user with useUser hook and update form fields …
enzosakamoto Oct 7, 2025
7a486c2
feat: Add environment variables for AWS deployment
Rubiozito Oct 7, 2025
061dd4a
feat: add useUpdateUserMutation hook to handle user updates
enzosakamoto Oct 7, 2025
372ca61
feat: integrate user update functionality with loading state and erro…
enzosakamoto Oct 7, 2025
6746cf5
feat: add updateUser method and adjust birthdate conversion in user s…
enzosakamoto Oct 7, 2025
4c508f0
feat: add refetch functionality to UserContext for improved user data…
enzosakamoto Oct 7, 2025
21df693
Merge pull request #63 from knowlyai/feature/auth
enzosakamoto Oct 7, 2025
8b77b08
feat: add API key management to KnowledgeBaseDetailModal and update K…
enzosakamoto Oct 20, 2025
6d1524e
fix: update token retrieval in Navbar component for user login status
enzosakamoto Oct 20, 2025
61ed2a4
feat: add apiChat for handling chat requests and update environment c…
enzosakamoto Oct 20, 2025
b261d5c
fix: update language attribute in HTML to Portuguese (pt-BR)
enzosakamoto Oct 20, 2025
aeb300e
fix: add missing VITE_API_CHAT_URL to ImportMetaEnv interface
enzosakamoto Oct 20, 2025
b40d033
feat: pass first available API key to PlaygroundPage on navigation
enzosakamoto Oct 20, 2025
dc6cab8
feat: enhance CreateBasePipeline to skip already completed steps and …
enzosakamoto Oct 20, 2025
8a7027f
fix: remove console log for user data fetching
enzosakamoto Oct 20, 2025
f8f3f49
feat: add "Remember Email" checkbox functionality to login form
enzosakamoto Oct 20, 2025
04c685f
fix: update logout function to remove correct token from localStorage
enzosakamoto Oct 20, 2025
61267f3
fix: ensure refresh token is stored in localStorage upon successful l…
enzosakamoto Oct 20, 2025
d88cbca
fix: remove commented-out refresh token implementation from user service
enzosakamoto Oct 20, 2025
c20be1c
fix: ensure tokens are removed from localStorage on logout and clarif…
enzosakamoto Oct 20, 2025
6c4743f
fix: implement Axios interceptor to handle 401 errors and manage toke…
enzosakamoto Oct 20, 2025
29b41e2
fix: update team member images and roles with new URLs
enzosakamoto Oct 21, 2025
59e015a
Merge pull request #64 from knowlyai/feature/enchantments
enzosakamoto Oct 21, 2025
95972f9
feat: enhance LogoCarousel to include 'coming soon' labels for specif…
enzosakamoto Oct 21, 2025
50196a6
fix: adjust font size for 'coming soon' label in LogoCarousel
enzosakamoto Oct 21, 2025
36862d8
Checkpoint from VS Code for coding agent session
enzosakamoto Oct 21, 2025
17f17e8
Create documentation interface with sidebar navigation
Copilot Oct 21, 2025
4568c89
Enhance documentation styling with modern design patterns
Copilot Oct 21, 2025
6d09a04
Add mobile responsive design and fix collapsed sidebar icons
Copilot Oct 21, 2025
01a60eb
Add top spacing on mobile to separate menu button from content
Copilot Oct 21, 2025
53fe8e9
Remove dump directory and add documentation link to navbar
Copilot Oct 21, 2025
ed9e751
Fix sidebar z-index for improved layering on mobile
enzosakamoto Oct 22, 2025
cac3d7b
Merge pull request #65 from knowlyai/copilot/vscode1761008427494
enzosakamoto Oct 22, 2025
e91f940
Merge pull request #66 from knowlyai/feature/docs
enzosakamoto Oct 22, 2025
148dec3
Implement refresh token logic in Axios interceptor for 401 errors
enzosakamoto Oct 22, 2025
3c505bc
Improve error handling in message sending by providing detailed feedback
enzosakamoto Oct 22, 2025
444f1fd
Add code snippet examples and clipboard functionality to KnowledgeBas…
enzosakamoto Oct 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/aws-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ jobs:
npm run build
env:
VITE_STAGE: ${{ github.ref_name }}
VITE_API_URL: ${{vars.API_URL}}
VITE_BUCKET_NAME: ${{vars.BUCKET_NAME}}
- name: Setup envs
run: |
echo AWS_REGION=${{ vars.AWS_REGION }} >> $GITHUB_ENV
Expand Down
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!doctype html>
<html lang="en">
<html lang="pt-BR">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="src/assets/brain.png" />
Expand Down
27 changes: 27 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
"react-icons": "^5.5.0",
"react-router-dom": "^7.5.3",
"tailwindcss": "^4.1.5",
"uuidv4": "^6.2.13",
"zod": "^3.25.28"
},
"devDependencies": {
Expand Down
Binary file removed src/assets/berti.jfif
Binary file not shown.
Binary file removed src/assets/izabel.jfif
Binary file not shown.
Binary file removed src/assets/julia.jfif
Binary file not shown.
Binary file removed src/assets/rubio.jfif
Binary file not shown.
Binary file removed src/assets/sakamoto.jfif
Binary file not shown.
6 changes: 6 additions & 0 deletions src/domain/knowledge-base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,16 @@ export type KnowledgeBase = {
status: STATUS
files: KnowledgeBaseFile[]
totalSizeMB: number
keys: KnowledgeBaseKey[]
}

export type KnowledgeBaseFile = {
fileName: string
sizeMB: number
url: string
}

export type KnowledgeBaseKey = {
kbKey: string
kbKeyAlias: string
}
57 changes: 57 additions & 0 deletions src/features/docs/pages/about-project.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import { motion } from 'framer-motion'
import { h1, h2, p } from '@/shared/components/typography'

export function AboutProjectPage() {
return (
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.5 }}
>
{h1({ children: 'Sobre o Projeto' })}

{h2({ children: 'Por que criamos o Knowly?' })}
{p({
children: (
<>
A inteligência artificial está mudando a forma como empresas
trabalham, trazendo mais agilidade e eficiência para o dia a dia.
Mas, para a maioria dos negócios, usar IA ainda é caro e complicado:
exige conhecimento técnico, tempo e investimento alto em tecnologia.
</>
)
})}
{p({
children: (
<>
O Knowly nasceu para simplificar esse cenário. Queremos que qualquer
empresa consiga aproveitar o poder dos grandes modelos de linguagem
para responder dúvidas, organizar informações e automatizar tarefas,
sem precisar se preocupar com detalhes técnicos ou infraestrutura.
</>
)
})}
{p({
children: (
<>
Nossa plataforma permite que você envie seus próprios documentos e,
em poucos cliques, já tenha uma base de conhecimento inteligente
pronta para ser usada no seu atendimento, site ou operação interna.
Tudo isso com segurança, praticidade e custos acessíveis.
</>
)
})}
{p({
children: (
<>
O objetivo é ajudar empresas a inovar, ganhar tempo e focar no que
realmente importa: crescer e atender melhor seus clientes, usando IA
de verdade no dia a dia.
</>
)
})}
</motion.div>
)
}

export default AboutProjectPage
129 changes: 129 additions & 0 deletions src/features/docs/pages/foundation-models.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
import { motion } from 'framer-motion'
import { h1, h2, p, ul, li } from '@/shared/components/typography'

export function FoundationModelsPage() {
return (
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.5 }}
>
{h1({ children: 'Modelos de Fundação AWS' })}

{h2({ children: 'O que são modelos de fundação?' })}
{p({
children: (
<>
Modelos de fundação são inteligências artificiais treinadas para
entender e gerar textos, responder perguntas, resumir informações e
até criar conteúdos. Eles servem como base para várias aplicações de
IA, desde chatbots até análise de documentos.
</>
)
})}

{h2({ children: 'Principais modelos disponíveis na AWS' })}
{ul({
children: (
<>
{li({
children: (
<>
<strong>Amazon Titan:</strong> Modelo versátil para tarefas do
dia a dia, como responder perguntas, resumir textos e
organizar informações. É uma ótima escolha para quem busca
equilíbrio entre custo e desempenho.
</>
)
})}
{li({
children: (
<>
<strong>Anthropic Claude:</strong> Ideal para conversas mais
longas, respostas detalhadas e situações que exigem mais
segurança e controle. Muito usado em chatbots avançados e
assistentes virtuais.
</>
)
})}
{li({
children: (
<>
<strong>AI21 Labs:</strong> Especialista em geração de textos
criativos, artigos, e até mesmo conteúdos técnicos. Indicado
para quem precisa de textos mais elaborados ou criativos.
</>
)
})}
{li({
children: (
<>
<strong>Cohere:</strong> Focado em análise de linguagem,
classificação de textos e extração de informações. Bom para
automação de processos e análise de grandes volumes de dados.
</>
)
})}
</>
)
})}

{h2({ children: 'Quando usar cada modelo?' })}
{ul({
children: (
<>
{li({
children: (
<>
<strong>Precisa de respostas rápidas e gerais?</strong> Use o{' '}
<strong>Amazon Titan</strong>.
</>
)
})}
{li({
children: (
<>
<strong>
Vai criar um chatbot ou assistente virtual que precisa
conversar bastante?
</strong>{' '}
O <strong>Claude</strong> é uma ótima opção.
</>
)
})}
{li({
children: (
<>
<strong>Quer gerar textos criativos ou técnicos?</strong>{' '}
Experimente o <strong>AI21 Labs</strong>.
</>
)
})}
{li({
children: (
<>
<strong>
Precisa analisar, classificar ou organizar muitos textos?
</strong>{' '}
O <strong>Cohere</strong> pode ajudar.
</>
)
})}
</>
)
})}

{p({
children: (
<>
Com esses modelos, você pode escolher a solução que mais combina com
o seu projeto, sem se preocupar com a complexidade técnica. Basta
selecionar o modelo e começar a usar!
</>
)
})}
</motion.div>
)
}

export default FoundationModelsPage
83 changes: 83 additions & 0 deletions src/features/docs/pages/integration.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
import { motion } from 'framer-motion'
import { h1, h2, p, ul, li, pre } from '@/shared/components/typography'

export function IntegrationPage() {
return (
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.5 }}
>
{h1({ children: 'Como integrar com sua base de conhecimento' })}

{h2({ children: 'Integração simples via API' })}
{p({
children: (
<>
Depois de criar sua base de conhecimento no Knowly, você pode
integrá-la facilmente ao seu sistema usando nossa API. O
funcionamento é parecido com a API da OpenAI, muito usada em
chatbots de atendimento, como no WhatsApp.
</>
)
})}

{h2({ children: 'Como funciona?' })}
{ul({
children: (
<>
{li({
children: (
<>
Você envia um <strong>prompt</strong> (mensagem ou pergunta)
para a API, junto com sua chave de acesso.
</>
)
})}
{li({
children: (
<>
A API responde com a melhor resposta baseada nos documentos
que você enviou para sua base.
</>
)
})}
{li({
children: (
<>
É possível usar essa integração em sites, sistemas internos,
chatbots e muito mais.
</>
)
})}
</>
)
})}

{h2({ children: 'Exemplo de requisição' })}
{pre({
children: `POST https://api.knowly.ai/v1/query
Headers:
Authorization: Bearer SUA_CHAVE_DE_API
Body:
{
"prompt": "Como faço para atualizar meus dados cadastrais?",
"baseId": "sua-base-id"
}`
})}

{p({
children: (
<>
A resposta virá em formato JSON, com o texto gerado pela IA usando o
conhecimento da sua base. Assim, você pode automatizar atendimentos,
responder dúvidas de clientes ou integrar a IA ao seu sistema de
forma simples e eficiente.
</>
)
})}
</motion.div>
)
}

export default IntegrationPage
Loading