rio-assist-widget 0.1.0

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.
Files changed (38) hide show
  1. package/README.md +57 -0
  2. package/dist/rio-assist.js +1087 -0
  3. package/index.html +46 -0
  4. package/package.json +27 -0
  5. package/playground-preview.png +0 -0
  6. package/src/assets/icons/checkFrame.png +0 -0
  7. package/src/assets/icons/edit.png +0 -0
  8. package/src/assets/icons/expandScreen.png +0 -0
  9. package/src/assets/icons/hamburgerMenuIcon.png +0 -0
  10. package/src/assets/icons/homeIcon.png +0 -0
  11. package/src/assets/icons/iaButtonIcon.png +0 -0
  12. package/src/assets/icons/iaCentralIcon.png +0 -0
  13. package/src/assets/icons/infoFrame.png +0 -0
  14. package/src/assets/icons/plusFileSelection.png +0 -0
  15. package/src/assets/icons/profileFrame.png +0 -0
  16. package/src/assets/icons/searchIcon.png +0 -0
  17. package/src/assets/icons/threePoints.png +0 -0
  18. package/src/assets/icons/trash.png +0 -0
  19. package/src/assets/icons/voiceRecoverIcon.png +0 -0
  20. package/src/components/conversations-panel/conversations-panel.styles.ts +243 -0
  21. package/src/components/conversations-panel/conversations-panel.template.ts +150 -0
  22. package/src/components/floating-button/floating-button.styles.ts +48 -0
  23. package/src/components/floating-button/floating-button.template.ts +16 -0
  24. package/src/components/fullscreen/fullscreen.styles.ts +159 -0
  25. package/src/components/fullscreen/fullscreen.template.ts +71 -0
  26. package/src/components/mini-panel/mini-panel.styles.ts +331 -0
  27. package/src/components/mini-panel/mini-panel.template.ts +167 -0
  28. package/src/components/rio-assist/index.ts +1 -0
  29. package/src/components/rio-assist/rio-assist.styles.ts +33 -0
  30. package/src/components/rio-assist/rio-assist.template.ts +21 -0
  31. package/src/components/rio-assist/rio-assist.ts +478 -0
  32. package/src/main.ts +72 -0
  33. package/src/playground.ts +23 -0
  34. package/src/services/rioWebsocket.ts +167 -0
  35. package/tsconfig.json +26 -0
  36. package/tsconfig.node.json +11 -0
  37. package/vite.config.ts +19 -0
  38. package/widget.png +0 -0
package/README.md ADDED
@@ -0,0 +1,57 @@
1
+ # RIO Assist Widget
2
+
3
+ Widget lateral do RIO Assist embalado como Web Component. Ao receber o token de login do RIO ele abre um websocket direto para `wss://ws.volkswagen.latam-sandbox.rio.cloud?token={TOKEN}` e envia o payload
4
+
5
+ ```json
6
+ {
7
+ "action": "sendMessage",
8
+ "message": "<mensagem do usuario>",
9
+ "agentModel": "claude-3-sonnet"
10
+ }
11
+ ```
12
+
13
+ ## Scripts
14
+ - `npm run dev` - inicia Vite para desenvolvimento.
15
+ - `npm run build` - gera `dist/rio-assist.js` pronto para CDN ou npm.
16
+ - `npm run preview` - serve o bundle de producao localmente.
17
+
18
+ ## Uso rapido no navegador
19
+ ```html
20
+ <script src="https://cdn.exemplo.com/rio-assist.js"></script>
21
+ <script>
22
+ window.RioAssist.init({
23
+ rioToken: '<TOKEN_RIO>',
24
+ title: 'RIO Assist',
25
+ buttonLabel: 'RIO Assist',
26
+ suggestions: [
27
+ 'Veiculos com problemas',
28
+ 'Valor das pecas',
29
+ 'Planos de manutencao'
30
+ ],
31
+ });
32
+ </script>
33
+ ```
34
+
35
+ O metodo `init` adiciona o elemento `<rio-assist-widget>` ao final do `body`. Todos os parametros sao opcionais, mas `rioToken` precisa ser preenchido para conectar ao websocket.
36
+
37
+ ## Integracao com apps (React/Angular/Vanilla)
38
+ 1. Instale:
39
+ ```bash
40
+ npm install rio-assist-widget
41
+ ```
42
+ 2. Importe o bundle no bootstrap (ex.: `main.tsx`):
43
+ ```ts
44
+ import 'rio-assist-widget/dist/rio-assist.js';
45
+
46
+ window.RioAssist?.init({
47
+ rioToken: '<TOKEN_RIO>',
48
+ accentColor: '#008B9A',
49
+ });
50
+ ```
51
+ 3. Se preferir instanciar manualmente, coloque `<rio-assist-widget></rio-assist-widget>` no HTML e defina os atributos `data-*` (`data-title`, `data-button-label`, `data-rio-token` etc.).
52
+
53
+ ## Eventos disponibilizados
54
+ - `rioassist:open` / `rioassist:close` - disparados ao abrir/fechar o painel.
55
+ - `rioassist:send` - disparado quando o usuario envia uma mensagem. O `detail` contem `{ message, apiBaseUrl, token }`.
56
+
57
+ Escute esses eventos caso queira registrar logs ou interceptar mensagens antes/depois de irem para o websocket.