code7-leia 0.1.95 → 0.1.98
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/dist/code7-leia.cjs.development.js +149 -52
- package/dist/code7-leia.cjs.development.js.map +1 -1
- package/dist/code7-leia.cjs.production.min.js +1 -1
- package/dist/code7-leia.cjs.production.min.js.map +1 -1
- package/dist/code7-leia.esm.js +150 -53
- package/dist/code7-leia.esm.js.map +1 -1
- package/dist/components/Select/index.d.ts +1 -1
- package/dist/contexts/SharedPropsProvider.d.ts +4 -0
- package/dist/store/index.d.ts +1 -0
- package/dist/store/modules/{Files/Files.actions.d.ts → actions.d.ts} +15 -0
- package/dist/store/modules/{Files/Files.reducer.d.ts → reducer.d.ts} +2 -0
- package/dist/store/modules/{Files/Files.sagas.d.ts → sagas.d.ts} +8 -0
- package/dist/store/modules/{Files/Files.types.d.ts → types.d.ts} +2 -0
- package/package.json +1 -1
- package/src/Leia.tsx +3 -2
- package/src/components/FileArea/index.tsx +4 -4
- package/src/components/Select/index.tsx +1 -1
- package/src/components/TestArea/index.tsx +48 -67
- package/src/contexts/SharedPropsProvider.tsx +18 -0
- package/src/store/index.ts +4 -4
- package/src/store/modules/{Files/Files.actions.ts → actions.ts} +15 -1
- package/src/store/modules/{Files/Files.reducer.ts → reducer.ts} +6 -2
- package/src/store/modules/{Files/Files.sagas.ts → sagas.ts} +16 -5
- package/src/store/modules/{Files/Files.types.ts → types.ts} +3 -1
|
@@ -17,6 +17,7 @@ var md = require('react-icons/md');
|
|
|
17
17
|
var reactDropzone = require('react-dropzone');
|
|
18
18
|
var axios = _interopDefault(require('axios'));
|
|
19
19
|
var pi = require('react-icons/pi');
|
|
20
|
+
var actions = require('src/store/modules/actions');
|
|
20
21
|
var redux = require('redux');
|
|
21
22
|
var createSagaMiddleware = _interopDefault(require('redux-saga'));
|
|
22
23
|
var immer = require('immer');
|
|
@@ -1020,6 +1021,9 @@ var SharedPropsProvider = function SharedPropsProvider(_ref) {
|
|
|
1020
1021
|
var _useState = React.useState(null),
|
|
1021
1022
|
tags = _useState[0],
|
|
1022
1023
|
setTags = _useState[1];
|
|
1024
|
+
var _useState2 = React.useState(null),
|
|
1025
|
+
personas = _useState2[0],
|
|
1026
|
+
setPersonas = _useState2[1];
|
|
1023
1027
|
React.useEffect(function () {
|
|
1024
1028
|
var fetchData = /*#__PURE__*/function () {
|
|
1025
1029
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
@@ -1054,10 +1058,45 @@ var SharedPropsProvider = function SharedPropsProvider(_ref) {
|
|
|
1054
1058
|
return _ref2.apply(this, arguments);
|
|
1055
1059
|
};
|
|
1056
1060
|
}();
|
|
1061
|
+
var personas = /*#__PURE__*/function () {
|
|
1062
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
1063
|
+
var _yield$api$get2, data;
|
|
1064
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1065
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1066
|
+
case 0:
|
|
1067
|
+
_context2.prev = 0;
|
|
1068
|
+
_context2.next = 3;
|
|
1069
|
+
return api.get("/personas");
|
|
1070
|
+
case 3:
|
|
1071
|
+
_yield$api$get2 = _context2.sent;
|
|
1072
|
+
data = _yield$api$get2.data;
|
|
1073
|
+
if (data) {
|
|
1074
|
+
setPersonas(data);
|
|
1075
|
+
} else {
|
|
1076
|
+
console.error('Erro ao fazer a solicitação');
|
|
1077
|
+
}
|
|
1078
|
+
_context2.next = 11;
|
|
1079
|
+
break;
|
|
1080
|
+
case 8:
|
|
1081
|
+
_context2.prev = 8;
|
|
1082
|
+
_context2.t0 = _context2["catch"](0);
|
|
1083
|
+
console.error('Erro ao fazer a solicitação:', _context2.t0);
|
|
1084
|
+
case 11:
|
|
1085
|
+
case "end":
|
|
1086
|
+
return _context2.stop();
|
|
1087
|
+
}
|
|
1088
|
+
}, _callee2, null, [[0, 8]]);
|
|
1089
|
+
}));
|
|
1090
|
+
return function personas() {
|
|
1091
|
+
return _ref3.apply(this, arguments);
|
|
1092
|
+
};
|
|
1093
|
+
}();
|
|
1057
1094
|
fetchData();
|
|
1095
|
+
personas();
|
|
1058
1096
|
}, [id]);
|
|
1059
1097
|
var sharedProps = _extends({}, props, {
|
|
1060
|
-
propTags: tags
|
|
1098
|
+
propTags: tags,
|
|
1099
|
+
personas: personas
|
|
1061
1100
|
});
|
|
1062
1101
|
return React__default.createElement(SharedPropsContext.Provider, {
|
|
1063
1102
|
value: {
|
|
@@ -1070,7 +1109,9 @@ var Types = {
|
|
|
1070
1109
|
GET_FILES_REQUEST: '@files/GET_FILES_REQUEST',
|
|
1071
1110
|
GET_FILES_SUCCESS: '@files/GET_FILES_SUCCESS',
|
|
1072
1111
|
DELETE_FILES_REQUEST: '@files/DELETE_FILES_REQUEST',
|
|
1073
|
-
DELETE_FILES_SUCCESS: '@files/DELETE_FILES_SUCCESS'
|
|
1112
|
+
DELETE_FILES_SUCCESS: '@files/DELETE_FILES_SUCCESS',
|
|
1113
|
+
TEST_REQUEST: '@files/TEST_REQUEST',
|
|
1114
|
+
TEST_SUCCESS: '@files/TEST_SUCCESS'
|
|
1074
1115
|
};
|
|
1075
1116
|
|
|
1076
1117
|
var getFilesAction = function getFilesAction(id) {
|
|
@@ -1108,12 +1149,22 @@ var deleteFilesActionSuccess = function deleteFilesActionSuccess(_ref2) {
|
|
|
1108
1149
|
}
|
|
1109
1150
|
};
|
|
1110
1151
|
};
|
|
1152
|
+
var testActionSuccess = function testActionSuccess(_ref3) {
|
|
1153
|
+
var message = _ref3.message;
|
|
1154
|
+
return {
|
|
1155
|
+
type: Types.TEST_SUCCESS,
|
|
1156
|
+
payload: {
|
|
1157
|
+
message: message
|
|
1158
|
+
}
|
|
1159
|
+
};
|
|
1160
|
+
};
|
|
1111
1161
|
|
|
1112
1162
|
var FileArea = function FileArea() {
|
|
1113
1163
|
var _useSharedProps = useSharedProps(),
|
|
1114
1164
|
id = _useSharedProps.id,
|
|
1115
1165
|
language = _useSharedProps.language,
|
|
1116
|
-
propTags = _useSharedProps.propTags
|
|
1166
|
+
propTags = _useSharedProps.propTags,
|
|
1167
|
+
personas = _useSharedProps.personas;
|
|
1117
1168
|
var _useState = React.useState([]),
|
|
1118
1169
|
files = _useState[0],
|
|
1119
1170
|
setFiles = _useState[1];
|
|
@@ -1137,9 +1188,7 @@ var FileArea = function FileArea() {
|
|
|
1137
1188
|
var initFiles = reactRedux.useSelector(function (state) {
|
|
1138
1189
|
return state.files;
|
|
1139
1190
|
});
|
|
1140
|
-
var tags = propTags ? propTags.tags
|
|
1141
|
-
return item.tag;
|
|
1142
|
-
}) : [];
|
|
1191
|
+
var tags = propTags ? propTags.tags : [];
|
|
1143
1192
|
React.useEffect(function () {
|
|
1144
1193
|
dispatch(getFilesAction(id));
|
|
1145
1194
|
}, [id]);
|
|
@@ -1269,7 +1318,8 @@ var FileArea = function FileArea() {
|
|
|
1269
1318
|
language: language,
|
|
1270
1319
|
propTags: {
|
|
1271
1320
|
tags: []
|
|
1272
|
-
}
|
|
1321
|
+
},
|
|
1322
|
+
personas: personas
|
|
1273
1323
|
}, React__default.createElement(Container, null, renderFiles()));
|
|
1274
1324
|
};
|
|
1275
1325
|
|
|
@@ -1301,32 +1351,26 @@ var InputTest = function InputTest(_ref) {
|
|
|
1301
1351
|
};
|
|
1302
1352
|
|
|
1303
1353
|
var TestArea = function TestArea() {
|
|
1304
|
-
var
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1354
|
+
var _useSharedProps = useSharedProps(),
|
|
1355
|
+
id = _useSharedProps.id,
|
|
1356
|
+
language = _useSharedProps.language,
|
|
1357
|
+
personas = _useSharedProps.personas,
|
|
1358
|
+
propTags = _useSharedProps.propTags;
|
|
1359
|
+
var t = getLanguage(language);
|
|
1360
|
+
var results = reactRedux.useSelector(function (state) {
|
|
1361
|
+
return state.message;
|
|
1362
|
+
});
|
|
1363
|
+
var _useState = React.useState(''),
|
|
1364
|
+
search = _useState[0],
|
|
1365
|
+
setSearch = _useState[1];
|
|
1310
1366
|
var _useState2 = React.useState(''),
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
var
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
"description": "Abordagem descontraída, direto ao ponto. Linguagem simples, exemplos práticos para facilitar compreensão rápida.",
|
|
1319
|
-
"name": "School Teacher"
|
|
1320
|
-
}, {
|
|
1321
|
-
"description": "Estilo descontraído, senso de humor único. Piadas e trocadilhos até em assuntos sérios.",
|
|
1322
|
-
"name": "Humorist"
|
|
1323
|
-
}, {
|
|
1324
|
-
"description": "Postura centrada, comunicação direta e focada em resultados. Prioriza eficiência e precisão.",
|
|
1325
|
-
"name": "Military"
|
|
1326
|
-
}, {
|
|
1327
|
-
"description": "Estilo único e carismático. Usa linguagem moderna, compartilha informações cativantes de forma descontraída.",
|
|
1328
|
-
"name": "Digital Influencer"
|
|
1329
|
-
}];
|
|
1367
|
+
profile = _useState2[0],
|
|
1368
|
+
setProfile = _useState2[1];
|
|
1369
|
+
var _useState3 = React.useState(''),
|
|
1370
|
+
presset = _useState3[0],
|
|
1371
|
+
setPresset = _useState3[1];
|
|
1372
|
+
var dispatch = reactRedux.useDispatch();
|
|
1373
|
+
var tags = propTags ? propTags.tags : [];
|
|
1330
1374
|
var optionsPersona = personas.map(function (persona) {
|
|
1331
1375
|
return {
|
|
1332
1376
|
label: persona.name,
|
|
@@ -1339,22 +1383,29 @@ var TestArea = function TestArea() {
|
|
|
1339
1383
|
value: tag
|
|
1340
1384
|
};
|
|
1341
1385
|
});
|
|
1342
|
-
var
|
|
1343
|
-
|
|
1386
|
+
var handleSelectPersona = function handleSelectPersona(value) {
|
|
1387
|
+
setProfile(value);
|
|
1388
|
+
};
|
|
1389
|
+
var handleSelectPresset = function handleSelectPresset(value) {
|
|
1390
|
+
setPresset(value);
|
|
1344
1391
|
};
|
|
1345
1392
|
var handleSearch = function handleSearch(value) {
|
|
1346
|
-
console.log(search);
|
|
1347
1393
|
setSearch(value);
|
|
1348
1394
|
};
|
|
1349
1395
|
var handleRecordAudio = function handleRecordAudio() {
|
|
1350
1396
|
console.log('Iniciando gravação de áudio...');
|
|
1351
1397
|
};
|
|
1352
1398
|
var handleTest = function handleTest() {
|
|
1353
|
-
|
|
1354
|
-
"message": "Você precisa seguir algumas etapas importantes para ter um chatbot perfeito. Primeiro, defina claramente o objetivo do seu chatbot. Em seguida, crie uma mensagem de saudação cativante para atrair a atenção dos usuários. Não se esqueça de pedir feedbacks para melhorar constantemente o desempenho do seu chatbot. Além disso, construa um fluxo de conversa simples e utilize respostas curtas para manter a interação rápida e eficiente. Também é importante incorporar inteligência artificial para tornar o seu chatbot especialista em determinado assunto. Teste o seu bot antes de lançá-lo e personalize-o de acordo com as necessidades dos usuários. Por fim, direcione os usuários para um atendimento humano quando necessário. Seguindo essas dicas, você estará no caminho certo para ter um chatbot perfeito!"
|
|
1355
|
-
});
|
|
1399
|
+
dispatch(actions.testAction(search, profile, presset, id));
|
|
1356
1400
|
};
|
|
1357
|
-
return React__default.createElement(
|
|
1401
|
+
return React__default.createElement(SharedPropsProvider, {
|
|
1402
|
+
id: id,
|
|
1403
|
+
language: language,
|
|
1404
|
+
propTags: {
|
|
1405
|
+
tags: []
|
|
1406
|
+
},
|
|
1407
|
+
personas: personas
|
|
1408
|
+
}, React__default.createElement(Container$4, null, React__default.createElement(Header$1, null, React__default.createElement("div", {
|
|
1358
1409
|
className: 'infos'
|
|
1359
1410
|
}, React__default.createElement("h2", null, t.test), React__default.createElement("p", null, t.testArea.description))), React__default.createElement(Inputs, null, React__default.createElement(InputTest, {
|
|
1360
1411
|
placeholder: t.testArea.typeSentence,
|
|
@@ -1363,11 +1414,11 @@ var TestArea = function TestArea() {
|
|
|
1363
1414
|
}), React__default.createElement(Select, {
|
|
1364
1415
|
placeholder: t.testArea.selectPersona,
|
|
1365
1416
|
options: optionsPersona,
|
|
1366
|
-
onSelect:
|
|
1417
|
+
onSelect: handleSelectPersona
|
|
1367
1418
|
}), React__default.createElement(Select, {
|
|
1368
1419
|
placeholder: t.testArea.selectPresset,
|
|
1369
1420
|
options: optionsPresset,
|
|
1370
|
-
onSelect:
|
|
1421
|
+
onSelect: handleSelectPresset
|
|
1371
1422
|
}), React__default.createElement("button", {
|
|
1372
1423
|
onClick: handleTest
|
|
1373
1424
|
}, React__default.createElement(pi.PiWaveformBold, null), " ", t.buttons.test)), results.message === '' ? React__default.createElement(EmptyState, {
|
|
@@ -1379,7 +1430,7 @@ var TestArea = function TestArea() {
|
|
|
1379
1430
|
className: 'icon'
|
|
1380
1431
|
}, React__default.createElement(md.MdPerson2, null)), React__default.createElement("div", {
|
|
1381
1432
|
className: 'text'
|
|
1382
|
-
}, results.message)));
|
|
1433
|
+
}, results.message))));
|
|
1383
1434
|
};
|
|
1384
1435
|
|
|
1385
1436
|
var Leia = function Leia(props) {
|
|
@@ -1387,11 +1438,18 @@ var Leia = function Leia(props) {
|
|
|
1387
1438
|
var _useLocation = reactRouterDom.useLocation(),
|
|
1388
1439
|
pathname = _useLocation.pathname;
|
|
1389
1440
|
var history = reactRouterDom.useHistory();
|
|
1441
|
+
var _useSharedProps = useSharedProps(),
|
|
1442
|
+
personas = _useSharedProps.personas;
|
|
1390
1443
|
var t = getLanguage(props.language);
|
|
1391
1444
|
var activeTab = React.useMemo(function () {
|
|
1392
1445
|
return pathname.split('/')[5] || 'files';
|
|
1393
1446
|
}, [pathname]);
|
|
1394
|
-
return React__default.createElement(SharedPropsProvider, Object.assign({
|
|
1447
|
+
return React__default.createElement(SharedPropsProvider, Object.assign({
|
|
1448
|
+
propTags: {
|
|
1449
|
+
tags: []
|
|
1450
|
+
},
|
|
1451
|
+
personas: personas
|
|
1452
|
+
}, props), React__default.createElement(React__default.Fragment, null, React__default.createElement(Tabs, {
|
|
1395
1453
|
value: activeTab,
|
|
1396
1454
|
onChange: function onChange(value) {
|
|
1397
1455
|
return history.push(match.url + "/" + value);
|
|
@@ -1416,7 +1474,8 @@ var Leia = function Leia(props) {
|
|
|
1416
1474
|
};
|
|
1417
1475
|
|
|
1418
1476
|
var INITIAL_STATE = {
|
|
1419
|
-
files: []
|
|
1477
|
+
files: [],
|
|
1478
|
+
message: ''
|
|
1420
1479
|
};
|
|
1421
1480
|
function filesReducer(state, action) {
|
|
1422
1481
|
if (state === void 0) {
|
|
@@ -1430,6 +1489,9 @@ function filesReducer(state, action) {
|
|
|
1430
1489
|
case Types.DELETE_FILES_SUCCESS:
|
|
1431
1490
|
draft.files = action.payload.files;
|
|
1432
1491
|
break;
|
|
1492
|
+
case Types.TEST_SUCCESS:
|
|
1493
|
+
draft.message = action.payload.message;
|
|
1494
|
+
break;
|
|
1433
1495
|
default:
|
|
1434
1496
|
return action.payload;
|
|
1435
1497
|
}
|
|
@@ -1438,7 +1500,8 @@ function filesReducer(state, action) {
|
|
|
1438
1500
|
|
|
1439
1501
|
var _marked = /*#__PURE__*/_regeneratorRuntime().mark(getFilesSaga),
|
|
1440
1502
|
_marked2 = /*#__PURE__*/_regeneratorRuntime().mark(deleteFilesSaga),
|
|
1441
|
-
_marked3 = /*#__PURE__*/_regeneratorRuntime().mark(
|
|
1503
|
+
_marked3 = /*#__PURE__*/_regeneratorRuntime().mark(testSaga),
|
|
1504
|
+
_marked4 = /*#__PURE__*/_regeneratorRuntime().mark(filesSagas);
|
|
1442
1505
|
function getFilesSaga(action) {
|
|
1443
1506
|
var id, _yield$call, data;
|
|
1444
1507
|
return _regeneratorRuntime().wrap(function getFilesSaga$(_context) {
|
|
@@ -1493,24 +1556,58 @@ function deleteFilesSaga(action) {
|
|
|
1493
1556
|
case 12:
|
|
1494
1557
|
_context2.prev = 12;
|
|
1495
1558
|
_context2.t0 = _context2["catch"](0);
|
|
1496
|
-
console.log('-----------
|
|
1559
|
+
console.log('-----------deleteFilesSaga.error------------------->', _context2.t0);
|
|
1497
1560
|
case 15:
|
|
1498
1561
|
case "end":
|
|
1499
1562
|
return _context2.stop();
|
|
1500
1563
|
}
|
|
1501
1564
|
}, _marked2, null, [[0, 12]]);
|
|
1502
1565
|
}
|
|
1503
|
-
function
|
|
1504
|
-
|
|
1566
|
+
function testSaga(action) {
|
|
1567
|
+
var _action$payload2, question, profile, presset, files_directory, _yield$call3, data;
|
|
1568
|
+
return _regeneratorRuntime().wrap(function testSaga$(_context3) {
|
|
1505
1569
|
while (1) switch (_context3.prev = _context3.next) {
|
|
1506
1570
|
case 0:
|
|
1507
|
-
_context3.
|
|
1508
|
-
|
|
1509
|
-
|
|
1571
|
+
_context3.prev = 0;
|
|
1572
|
+
_action$payload2 = action.payload, question = _action$payload2.question, profile = _action$payload2.profile, presset = _action$payload2.presset, files_directory = _action$payload2.files_directory;
|
|
1573
|
+
_context3.next = 4;
|
|
1574
|
+
return effects.call(api.post, "/ask", {
|
|
1575
|
+
question: question,
|
|
1576
|
+
profile: profile,
|
|
1577
|
+
presset: presset,
|
|
1578
|
+
files_directory: files_directory
|
|
1579
|
+
});
|
|
1580
|
+
case 4:
|
|
1581
|
+
_yield$call3 = _context3.sent;
|
|
1582
|
+
data = _yield$call3.data;
|
|
1583
|
+
_context3.next = 8;
|
|
1584
|
+
return effects.put(testActionSuccess({
|
|
1585
|
+
message: data.message
|
|
1586
|
+
}));
|
|
1587
|
+
case 8:
|
|
1588
|
+
_context3.next = 13;
|
|
1589
|
+
break;
|
|
1590
|
+
case 10:
|
|
1591
|
+
_context3.prev = 10;
|
|
1592
|
+
_context3.t0 = _context3["catch"](0);
|
|
1593
|
+
console.log('-----------testSaga.error------------------->', _context3.t0);
|
|
1594
|
+
case 13:
|
|
1510
1595
|
case "end":
|
|
1511
1596
|
return _context3.stop();
|
|
1512
1597
|
}
|
|
1513
|
-
}, _marked3);
|
|
1598
|
+
}, _marked3, null, [[0, 10]]);
|
|
1599
|
+
}
|
|
1600
|
+
function filesSagas() {
|
|
1601
|
+
return _regeneratorRuntime().wrap(function filesSagas$(_context4) {
|
|
1602
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
1603
|
+
case 0:
|
|
1604
|
+
_context4.next = 2;
|
|
1605
|
+
return effects.all([effects.takeLatest(Types.GET_FILES_REQUEST, getFilesSaga), effects.takeLatest(Types.DELETE_FILES_REQUEST, deleteFilesSaga), effects.takeLatest(Types.TEST_REQUEST, testSaga)]);
|
|
1606
|
+
case 2:
|
|
1607
|
+
case "end":
|
|
1608
|
+
return _context4.stop();
|
|
1609
|
+
}
|
|
1610
|
+
}, _marked4);
|
|
1514
1611
|
}
|
|
1515
1612
|
|
|
1516
1613
|
var sagaMiddleware = /*#__PURE__*/createSagaMiddleware();
|