@lvce-editor/chat-debug-view 2.6.0 → 2.8.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.
- package/dist/chatDebugViewWorkerMain.js +75 -13
- package/package.json +1 -1
|
@@ -978,7 +978,9 @@ const createDefaultState = () => {
|
|
|
978
978
|
platform: 0,
|
|
979
979
|
sessionId: '',
|
|
980
980
|
sessionIdIndexName: 'sessionId',
|
|
981
|
+
showEventStreamFinishedEvents: false,
|
|
981
982
|
showInputEvents: false,
|
|
983
|
+
showResponsePartEvents: false,
|
|
982
984
|
uid: 0,
|
|
983
985
|
uri: '',
|
|
984
986
|
width: 0,
|
|
@@ -1014,7 +1016,7 @@ const diff = (oldState, newState) => {
|
|
|
1014
1016
|
if (oldState.initial !== newState.initial) {
|
|
1015
1017
|
return [RenderCss, RenderItems];
|
|
1016
1018
|
}
|
|
1017
|
-
if (oldState.errorMessage !== newState.errorMessage || oldState.events !== newState.events || oldState.filterValue !== newState.filterValue || oldState.sessionId !== newState.sessionId || oldState.showInputEvents !== newState.showInputEvents || oldState.uid !== newState.uid) {
|
|
1019
|
+
if (oldState.errorMessage !== newState.errorMessage || oldState.events !== newState.events || oldState.filterValue !== newState.filterValue || oldState.sessionId !== newState.sessionId || oldState.showEventStreamFinishedEvents !== newState.showEventStreamFinishedEvents || oldState.showInputEvents !== newState.showInputEvents || oldState.showResponsePartEvents !== newState.showResponsePartEvents || oldState.uid !== newState.uid) {
|
|
1018
1020
|
return [RenderItems];
|
|
1019
1021
|
}
|
|
1020
1022
|
return [];
|
|
@@ -1033,7 +1035,9 @@ const getBoolean = value => {
|
|
|
1033
1035
|
};
|
|
1034
1036
|
|
|
1035
1037
|
const Filter = 'filter';
|
|
1038
|
+
const ShowEventStreamFinishedEvents = 'showEventStreamFinishedEvents';
|
|
1036
1039
|
const ShowInputEvents = 'showInputEvents';
|
|
1040
|
+
const ShowResponsePartEvents = 'showResponsePartEvents';
|
|
1037
1041
|
|
|
1038
1042
|
const handleInput = (state, name, value, checked) => {
|
|
1039
1043
|
if (name === Filter) {
|
|
@@ -1042,12 +1046,24 @@ const handleInput = (state, name, value, checked) => {
|
|
|
1042
1046
|
filterValue: value
|
|
1043
1047
|
};
|
|
1044
1048
|
}
|
|
1049
|
+
if (name === ShowEventStreamFinishedEvents) {
|
|
1050
|
+
return {
|
|
1051
|
+
...state,
|
|
1052
|
+
showEventStreamFinishedEvents: getBoolean(checked)
|
|
1053
|
+
};
|
|
1054
|
+
}
|
|
1045
1055
|
if (name === ShowInputEvents) {
|
|
1046
1056
|
return {
|
|
1047
1057
|
...state,
|
|
1048
1058
|
showInputEvents: getBoolean(checked)
|
|
1049
1059
|
};
|
|
1050
1060
|
}
|
|
1061
|
+
if (name === ShowResponsePartEvents) {
|
|
1062
|
+
return {
|
|
1063
|
+
...state,
|
|
1064
|
+
showResponsePartEvents: getBoolean(checked)
|
|
1065
|
+
};
|
|
1066
|
+
}
|
|
1051
1067
|
return state;
|
|
1052
1068
|
};
|
|
1053
1069
|
|
|
@@ -1318,6 +1334,22 @@ const getCss = () => {
|
|
|
1318
1334
|
.TokenBoolean {
|
|
1319
1335
|
color: var(--vscode-debugTokenExpression-boolean, var(--vscode-charts-yellow, #dcdcaa));
|
|
1320
1336
|
}
|
|
1337
|
+
|
|
1338
|
+
.ChatOrderedList{
|
|
1339
|
+
margin:0;
|
|
1340
|
+
padding:0;
|
|
1341
|
+
padding-left:10px;
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1344
|
+
.ChatOrderedListItem{
|
|
1345
|
+
margin:0;
|
|
1346
|
+
padding:0;
|
|
1347
|
+
}
|
|
1348
|
+
|
|
1349
|
+
.ChatToolCalls{
|
|
1350
|
+
margin:0;
|
|
1351
|
+
padding:0;
|
|
1352
|
+
}
|
|
1321
1353
|
`;
|
|
1322
1354
|
};
|
|
1323
1355
|
|
|
@@ -1341,6 +1373,7 @@ const text = data => {
|
|
|
1341
1373
|
};
|
|
1342
1374
|
|
|
1343
1375
|
const HandleInput = 4;
|
|
1376
|
+
const HandleFilterInput = 5;
|
|
1344
1377
|
|
|
1345
1378
|
const numberRegex = /^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/;
|
|
1346
1379
|
const getTokenSegments = json => {
|
|
@@ -1443,7 +1476,7 @@ const getEventNode = event => {
|
|
|
1443
1476
|
type: Pre
|
|
1444
1477
|
}, ...tokenNodes];
|
|
1445
1478
|
};
|
|
1446
|
-
const getChatDebugViewDom = (sessionId, errorMessage, filterValue, showInputEvents, events) => {
|
|
1479
|
+
const getChatDebugViewDom = (sessionId, errorMessage, filterValue, showEventStreamFinishedEvents, showInputEvents, showResponsePartEvents, events) => {
|
|
1447
1480
|
if (errorMessage) {
|
|
1448
1481
|
return [{
|
|
1449
1482
|
childCount: 1,
|
|
@@ -1469,15 +1502,22 @@ const getChatDebugViewDom = (sessionId, errorMessage, filterValue, showInputEven
|
|
|
1469
1502
|
childCount: 0,
|
|
1470
1503
|
className: 'InputBox',
|
|
1471
1504
|
name: Filter,
|
|
1472
|
-
onInput:
|
|
1505
|
+
onInput: HandleFilterInput,
|
|
1473
1506
|
placeholder: 'Filter events',
|
|
1474
1507
|
type: Input,
|
|
1475
1508
|
value: filterValue
|
|
1476
1509
|
}, {
|
|
1477
|
-
childCount:
|
|
1510
|
+
childCount: 6,
|
|
1478
1511
|
className: 'ChatDebugViewToggle',
|
|
1479
1512
|
type: Div
|
|
1480
1513
|
}, {
|
|
1514
|
+
checked: showEventStreamFinishedEvents,
|
|
1515
|
+
childCount: 0,
|
|
1516
|
+
inputType: 'checkbox',
|
|
1517
|
+
name: ShowEventStreamFinishedEvents,
|
|
1518
|
+
onChange: HandleInput,
|
|
1519
|
+
type: Input
|
|
1520
|
+
}, text('Show event stream finished events'), {
|
|
1481
1521
|
checked: showInputEvents,
|
|
1482
1522
|
childCount: 0,
|
|
1483
1523
|
inputType: 'checkbox',
|
|
@@ -1485,6 +1525,13 @@ const getChatDebugViewDom = (sessionId, errorMessage, filterValue, showInputEven
|
|
|
1485
1525
|
onChange: HandleInput,
|
|
1486
1526
|
type: Input
|
|
1487
1527
|
}, text('Show input events'), {
|
|
1528
|
+
checked: showResponsePartEvents,
|
|
1529
|
+
childCount: 0,
|
|
1530
|
+
inputType: 'checkbox',
|
|
1531
|
+
name: ShowResponsePartEvents,
|
|
1532
|
+
onChange: HandleInput,
|
|
1533
|
+
type: Input
|
|
1534
|
+
}, text('Show response part events'), {
|
|
1488
1535
|
childCount: 1,
|
|
1489
1536
|
className: 'ChatDebugViewEventCount',
|
|
1490
1537
|
type: Div
|
|
@@ -1503,14 +1550,22 @@ const getChatDebugViewDom = (sessionId, errorMessage, filterValue, showInputEven
|
|
|
1503
1550
|
}, text(errorMessage || 'No events')] : eventNodes)];
|
|
1504
1551
|
};
|
|
1505
1552
|
|
|
1506
|
-
const getVisibleEvents = (events, showInputEvents) => {
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1553
|
+
const getVisibleEvents = (events, showInputEvents, showResponsePartEvents, showEventStreamFinishedEvents) => {
|
|
1554
|
+
return events.filter(event => {
|
|
1555
|
+
if (!showInputEvents && event.type === 'handle-input') {
|
|
1556
|
+
return false;
|
|
1557
|
+
}
|
|
1558
|
+
if (!showResponsePartEvents && event.type === 'sse-response-part') {
|
|
1559
|
+
return false;
|
|
1560
|
+
}
|
|
1561
|
+
if (!showEventStreamFinishedEvents && event.type === 'event-stream-finished') {
|
|
1562
|
+
return false;
|
|
1563
|
+
}
|
|
1564
|
+
return true;
|
|
1565
|
+
});
|
|
1511
1566
|
};
|
|
1512
|
-
const getFilteredEvents = (events, filterValue, showInputEvents) => {
|
|
1513
|
-
const visibleEvents = getVisibleEvents(events, showInputEvents);
|
|
1567
|
+
const getFilteredEvents = (events, filterValue, showInputEvents, showResponsePartEvents, showEventStreamFinishedEvents) => {
|
|
1568
|
+
const visibleEvents = getVisibleEvents(events, showInputEvents, showResponsePartEvents, showEventStreamFinishedEvents);
|
|
1514
1569
|
const normalizedFilter = filterValue.trim().toLowerCase();
|
|
1515
1570
|
if (!normalizedFilter) {
|
|
1516
1571
|
return visibleEvents;
|
|
@@ -1528,8 +1583,8 @@ const withSessionEventIds = events => {
|
|
|
1528
1583
|
};
|
|
1529
1584
|
const renderItems = (oldState, newState) => {
|
|
1530
1585
|
const eventsWithIds = withSessionEventIds(newState.events);
|
|
1531
|
-
const filteredEvents = getFilteredEvents(eventsWithIds, newState.filterValue, newState.showInputEvents);
|
|
1532
|
-
const dom = getChatDebugViewDom(newState.sessionId, newState.errorMessage, newState.filterValue, newState.showInputEvents, filteredEvents);
|
|
1586
|
+
const filteredEvents = getFilteredEvents(eventsWithIds, newState.filterValue, newState.showInputEvents, newState.showResponsePartEvents, newState.showEventStreamFinishedEvents);
|
|
1587
|
+
const dom = getChatDebugViewDom(newState.sessionId, newState.errorMessage, newState.filterValue, newState.showEventStreamFinishedEvents, newState.showInputEvents, newState.showResponsePartEvents, filteredEvents);
|
|
1533
1588
|
return [SetDom2, newState.uid, dom];
|
|
1534
1589
|
};
|
|
1535
1590
|
|
|
@@ -1567,6 +1622,9 @@ const render2 = (uid, diffResult) => {
|
|
|
1567
1622
|
|
|
1568
1623
|
const renderEventListeners = () => {
|
|
1569
1624
|
return [{
|
|
1625
|
+
name: HandleFilterInput,
|
|
1626
|
+
params: ['handleInput', TargetName, TargetValue]
|
|
1627
|
+
}, {
|
|
1570
1628
|
name: HandleInput,
|
|
1571
1629
|
params: ['handleInput', TargetName, TargetValue, TargetChecked]
|
|
1572
1630
|
}];
|
|
@@ -1588,7 +1646,9 @@ const saveState = state => {
|
|
|
1588
1646
|
filterValue,
|
|
1589
1647
|
height,
|
|
1590
1648
|
sessionId,
|
|
1649
|
+
showEventStreamFinishedEvents,
|
|
1591
1650
|
showInputEvents,
|
|
1651
|
+
showResponsePartEvents,
|
|
1592
1652
|
width,
|
|
1593
1653
|
x,
|
|
1594
1654
|
y
|
|
@@ -1597,7 +1657,9 @@ const saveState = state => {
|
|
|
1597
1657
|
filterValue,
|
|
1598
1658
|
height,
|
|
1599
1659
|
sessionId,
|
|
1660
|
+
showEventStreamFinishedEvents,
|
|
1600
1661
|
showInputEvents,
|
|
1662
|
+
showResponsePartEvents,
|
|
1601
1663
|
width,
|
|
1602
1664
|
x,
|
|
1603
1665
|
y
|