@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.
@@ -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: HandleInput,
1505
+ onInput: HandleFilterInput,
1473
1506
  placeholder: 'Filter events',
1474
1507
  type: Input,
1475
1508
  value: filterValue
1476
1509
  }, {
1477
- childCount: 2,
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
- if (showInputEvents) {
1508
- return events;
1509
- }
1510
- return events.filter(event => event.type !== 'handle-input');
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/chat-debug-view",
3
- "version": "2.6.0",
3
+ "version": "2.8.0",
4
4
  "description": "Chat Debug View Worker",
5
5
  "repository": {
6
6
  "type": "git",