@lvce-editor/chat-debug-view 7.0.0 → 7.2.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 +141 -95
- package/package.json +1 -1
|
@@ -1128,6 +1128,7 @@ const Text = 12;
|
|
|
1128
1128
|
const Th = 13;
|
|
1129
1129
|
const THead = 14;
|
|
1130
1130
|
const Tr = 15;
|
|
1131
|
+
const Section = 41;
|
|
1131
1132
|
const Search = 42;
|
|
1132
1133
|
const Label = 66;
|
|
1133
1134
|
const Reference = 100;
|
|
@@ -1286,6 +1287,41 @@ const terminate = () => {
|
|
|
1286
1287
|
globalThis.close();
|
|
1287
1288
|
};
|
|
1288
1289
|
|
|
1290
|
+
const appendEvent = async event => {
|
|
1291
|
+
return invoke$1('ChatStorage.appendEvent', event);
|
|
1292
|
+
};
|
|
1293
|
+
const listChatViewEvents$1 = async sessionId => {
|
|
1294
|
+
return invoke$1('ChatStorage.listChatViewEvents', sessionId);
|
|
1295
|
+
};
|
|
1296
|
+
const loadSelectedEvent$1 = async (sessionId, eventId, type) => {
|
|
1297
|
+
return invoke$1('ChatStorage.loadSelectedEvent', sessionId, eventId, type);
|
|
1298
|
+
};
|
|
1299
|
+
|
|
1300
|
+
const appendStoredEventForTestDependencies = {
|
|
1301
|
+
appendEvent: appendEvent
|
|
1302
|
+
};
|
|
1303
|
+
const appendStoredEventForTest = async (state, event) => {
|
|
1304
|
+
await appendStoredEventForTestDependencies.appendEvent(event);
|
|
1305
|
+
return state;
|
|
1306
|
+
};
|
|
1307
|
+
|
|
1308
|
+
const Response = 'response';
|
|
1309
|
+
const Preview = 'preview';
|
|
1310
|
+
const Timing = 'timing';
|
|
1311
|
+
const detailTabs = [Preview, Response, Timing];
|
|
1312
|
+
const isDetailTab = value => {
|
|
1313
|
+
return value === Response || value === Preview || value === Timing;
|
|
1314
|
+
};
|
|
1315
|
+
const getDetailTabLabel = value => {
|
|
1316
|
+
if (value === Preview) {
|
|
1317
|
+
return 'Preview';
|
|
1318
|
+
}
|
|
1319
|
+
if (value === Timing) {
|
|
1320
|
+
return 'Timing';
|
|
1321
|
+
}
|
|
1322
|
+
return 'Response';
|
|
1323
|
+
};
|
|
1324
|
+
|
|
1289
1325
|
const createEventCategoryFilterOptions = () => {
|
|
1290
1326
|
return [{
|
|
1291
1327
|
label: 'All',
|
|
@@ -1345,6 +1381,34 @@ const parseFilterValue = filterValue => {
|
|
|
1345
1381
|
};
|
|
1346
1382
|
};
|
|
1347
1383
|
|
|
1384
|
+
const validEventCategoryFilters = new Set([All, Network, Stream, Tools, Ui]);
|
|
1385
|
+
const isSavedState = value => {
|
|
1386
|
+
return typeof value === 'object' && value !== null;
|
|
1387
|
+
};
|
|
1388
|
+
const getRestoredEventCategoryFilter = (savedState, currentEventCategoryFilter) => {
|
|
1389
|
+
if (typeof savedState.eventCategoryFilter === 'string' && validEventCategoryFilters.has(savedState.eventCategoryFilter)) {
|
|
1390
|
+
return savedState.eventCategoryFilter;
|
|
1391
|
+
}
|
|
1392
|
+
if (typeof savedState.filterValue === 'string') {
|
|
1393
|
+
return parseFilterValue(savedState.filterValue).eventCategoryFilter;
|
|
1394
|
+
}
|
|
1395
|
+
return currentEventCategoryFilter;
|
|
1396
|
+
};
|
|
1397
|
+
const restoreSavedState = (state, savedState) => {
|
|
1398
|
+
if (!isSavedState(savedState)) {
|
|
1399
|
+
return state;
|
|
1400
|
+
}
|
|
1401
|
+
return {
|
|
1402
|
+
...state,
|
|
1403
|
+
eventCategoryFilter: getRestoredEventCategoryFilter(savedState, state.eventCategoryFilter),
|
|
1404
|
+
filterValue: typeof savedState.filterValue === 'string' ? savedState.filterValue : state.filterValue,
|
|
1405
|
+
selectedDetailTab: typeof savedState.selectedDetailTab === 'string' && isDetailTab(savedState.selectedDetailTab) ? savedState.selectedDetailTab : state.selectedDetailTab,
|
|
1406
|
+
selectedEventId: typeof savedState.selectedEventId === 'number' || savedState.selectedEventId === null ? savedState.selectedEventId : state.selectedEventId,
|
|
1407
|
+
timelineEndSeconds: typeof savedState.timelineEndSeconds === 'string' ? savedState.timelineEndSeconds : state.timelineEndSeconds,
|
|
1408
|
+
timelineStartSeconds: typeof savedState.timelineStartSeconds === 'string' ? savedState.timelineStartSeconds : state.timelineStartSeconds
|
|
1409
|
+
};
|
|
1410
|
+
};
|
|
1411
|
+
|
|
1348
1412
|
const {
|
|
1349
1413
|
get,
|
|
1350
1414
|
getCommandIds,
|
|
@@ -1354,23 +1418,6 @@ const {
|
|
|
1354
1418
|
wrapGetter
|
|
1355
1419
|
} = create$1();
|
|
1356
1420
|
|
|
1357
|
-
const Response = 'response';
|
|
1358
|
-
const Preview = 'preview';
|
|
1359
|
-
const Timing = 'timing';
|
|
1360
|
-
const detailTabs = [Preview, Response, Timing];
|
|
1361
|
-
const isDetailTab = value => {
|
|
1362
|
-
return value === Response || value === Preview || value === Timing;
|
|
1363
|
-
};
|
|
1364
|
-
const getDetailTabLabel = value => {
|
|
1365
|
-
if (value === Preview) {
|
|
1366
|
-
return 'Preview';
|
|
1367
|
-
}
|
|
1368
|
-
if (value === Timing) {
|
|
1369
|
-
return 'Timing';
|
|
1370
|
-
}
|
|
1371
|
-
return 'Response';
|
|
1372
|
-
};
|
|
1373
|
-
|
|
1374
1421
|
const defaultTableWidth = 480;
|
|
1375
1422
|
const minTableWidth = 240;
|
|
1376
1423
|
const minDetailsWidth = 280;
|
|
@@ -1436,43 +1483,19 @@ const createDefaultState = () => {
|
|
|
1436
1483
|
};
|
|
1437
1484
|
};
|
|
1438
1485
|
|
|
1439
|
-
const validEventCategoryFilters = new Set([All, Network, Stream, Tools, Ui]);
|
|
1440
|
-
const getRestoredEventCategoryFilter = savedState => {
|
|
1441
|
-
if (typeof savedState.eventCategoryFilter === 'string' && validEventCategoryFilters.has(savedState.eventCategoryFilter)) {
|
|
1442
|
-
return savedState.eventCategoryFilter;
|
|
1443
|
-
}
|
|
1444
|
-
if (typeof savedState.filterValue === 'string') {
|
|
1445
|
-
return parseFilterValue(savedState.filterValue).eventCategoryFilter;
|
|
1446
|
-
}
|
|
1447
|
-
return All;
|
|
1448
|
-
};
|
|
1449
1486
|
const create = (uid, uri, x, y, width, height, platform, assetDir, sessionId = '', databaseName = 'lvce-chat-view-sessions', dataBaseVersion = 2, eventStoreName = 'chat-view-events', sessionIdIndexName = 'sessionId', savedState = {}) => {
|
|
1450
1487
|
const defaultState = createDefaultState();
|
|
1451
|
-
const {
|
|
1452
|
-
filterValue,
|
|
1453
|
-
selectedEventId,
|
|
1454
|
-
tableWidth,
|
|
1455
|
-
timelineEndSeconds,
|
|
1456
|
-
timelineStartSeconds
|
|
1457
|
-
} = savedState;
|
|
1458
|
-
const restoredEventCategoryFilter = getRestoredEventCategoryFilter(savedState);
|
|
1459
1488
|
const state = {
|
|
1460
|
-
...defaultState,
|
|
1489
|
+
...restoreSavedState(defaultState, savedState),
|
|
1461
1490
|
assetDir,
|
|
1462
1491
|
databaseName,
|
|
1463
1492
|
dataBaseVersion,
|
|
1464
|
-
eventCategoryFilter: restoredEventCategoryFilter,
|
|
1465
1493
|
eventStoreName,
|
|
1466
|
-
filterValue: filterValue ?? defaultState.filterValue,
|
|
1467
1494
|
height,
|
|
1468
1495
|
initial: true,
|
|
1469
1496
|
platform,
|
|
1470
|
-
selectedEventId: selectedEventId ?? defaultState.selectedEventId,
|
|
1471
1497
|
sessionId,
|
|
1472
1498
|
sessionIdIndexName,
|
|
1473
|
-
tableWidth: tableWidth ?? defaultState.tableWidth,
|
|
1474
|
-
timelineEndSeconds: timelineEndSeconds ?? defaultState.timelineEndSeconds,
|
|
1475
|
-
timelineStartSeconds: timelineStartSeconds ?? defaultState.timelineStartSeconds,
|
|
1476
1499
|
uid,
|
|
1477
1500
|
uri,
|
|
1478
1501
|
width,
|
|
@@ -1556,29 +1579,10 @@ const getEndedTimestamp = event => {
|
|
|
1556
1579
|
return getTimestamp(event.ended) ?? getTimestamp(event.endTime) ?? getTimestamp(event.endTimestamp) ?? getTimestamp(event.timestamp);
|
|
1557
1580
|
};
|
|
1558
1581
|
|
|
1559
|
-
const eventStableIds = new WeakMap();
|
|
1560
|
-
const eventStableIdState = {
|
|
1561
|
-
nextStableEventId: 1
|
|
1562
|
-
};
|
|
1563
|
-
|
|
1564
|
-
const getOrCreateStableEventId = event => {
|
|
1565
|
-
const existingStableEventId = eventStableIds.get(event);
|
|
1566
|
-
if (existingStableEventId) {
|
|
1567
|
-
return existingStableEventId;
|
|
1568
|
-
}
|
|
1569
|
-
const stableEventId = `event-${eventStableIdState.nextStableEventId++}`;
|
|
1570
|
-
eventStableIds.set(event, stableEventId);
|
|
1571
|
-
return stableEventId;
|
|
1572
|
-
};
|
|
1573
|
-
|
|
1574
1582
|
const getStartedTimestamp = event => {
|
|
1575
1583
|
return getTimestamp(event.started) ?? getTimestamp(event.startTime) ?? getTimestamp(event.startTimestamp) ?? getTimestamp(event.timestamp);
|
|
1576
1584
|
};
|
|
1577
1585
|
|
|
1578
|
-
const setStableEventId = (event, stableEventId) => {
|
|
1579
|
-
eventStableIds.set(event, stableEventId);
|
|
1580
|
-
};
|
|
1581
|
-
|
|
1582
1586
|
const mergeToolExecutionEvents = (startedEvent, finishedEvent) => {
|
|
1583
1587
|
const ended = getEndedTimestamp(finishedEvent);
|
|
1584
1588
|
const {
|
|
@@ -1599,15 +1603,9 @@ const mergeToolExecutionEvents = (startedEvent, finishedEvent) => {
|
|
|
1599
1603
|
}),
|
|
1600
1604
|
type: mergedEventType
|
|
1601
1605
|
};
|
|
1602
|
-
const stableEventId = `${getOrCreateStableEventId(startedEvent)}:${getOrCreateStableEventId(finishedEvent)}`;
|
|
1603
|
-
setStableEventId(mergedEvent, stableEventId);
|
|
1604
1606
|
return mergedEvent;
|
|
1605
1607
|
};
|
|
1606
1608
|
|
|
1607
|
-
const getStableEventId = event => {
|
|
1608
|
-
return getOrCreateStableEventId(event);
|
|
1609
|
-
};
|
|
1610
|
-
|
|
1611
1609
|
const collapseToolExecutionEvents = events => {
|
|
1612
1610
|
const collapsedEvents = [];
|
|
1613
1611
|
for (let i = 0; i < events.length; i++) {
|
|
@@ -1861,13 +1859,6 @@ const getTimelineInfo = (events, startValue, endValue) => {
|
|
|
1861
1859
|
};
|
|
1862
1860
|
};
|
|
1863
1861
|
|
|
1864
|
-
const listChatViewEvents$1 = async sessionId => {
|
|
1865
|
-
return invoke$1('ChatStorage.listChatViewEvents', sessionId);
|
|
1866
|
-
};
|
|
1867
|
-
const loadSelectedEvent$1 = async (sessionId, eventId, type) => {
|
|
1868
|
-
return invoke$1('ChatStorage.loadSelectedEvent', sessionId, eventId, type);
|
|
1869
|
-
};
|
|
1870
|
-
|
|
1871
1862
|
const listChatViewEventsDependencies = {
|
|
1872
1863
|
listChatViewEventsFromWorker: listChatViewEvents$1
|
|
1873
1864
|
};
|
|
@@ -2095,8 +2086,7 @@ const getCurrentEvents$2 = state => {
|
|
|
2095
2086
|
return filterEventsByTimelineRange(filteredEvents, state.timelineStartSeconds, state.timelineEndSeconds);
|
|
2096
2087
|
};
|
|
2097
2088
|
const getEventIndexByStableId$1 = (events, event) => {
|
|
2098
|
-
|
|
2099
|
-
return events.findIndex(candidate => getStableEventId(candidate) === stableEventId);
|
|
2089
|
+
return events.findIndex(candidate => candidate.eventId === event.eventId);
|
|
2100
2090
|
};
|
|
2101
2091
|
const getSelectedEventIndex$1 = state => {
|
|
2102
2092
|
const {
|
|
@@ -2249,8 +2239,7 @@ const parseTimelineRangePreset$1 = value => {
|
|
|
2249
2239
|
};
|
|
2250
2240
|
};
|
|
2251
2241
|
const getEventIndexByStableId = (events, event) => {
|
|
2252
|
-
|
|
2253
|
-
return events.findIndex(candidate => getStableEventId(candidate) === stableEventId);
|
|
2242
|
+
return events.findIndex(candidate => candidate.eventId === event.eventId);
|
|
2254
2243
|
};
|
|
2255
2244
|
const getSelectedEventIndex = state => {
|
|
2256
2245
|
const {
|
|
@@ -2631,8 +2620,8 @@ const handleShowResponsePartEvents = (state, checked) => {
|
|
|
2631
2620
|
return withPreservedSelection$1(state, nextState);
|
|
2632
2621
|
};
|
|
2633
2622
|
|
|
2634
|
-
const loadContent = async state => {
|
|
2635
|
-
return loadEventsFromUri(state);
|
|
2623
|
+
const loadContent = async (state, savedState) => {
|
|
2624
|
+
return loadEventsFromUri(restoreSavedState(state, savedState));
|
|
2636
2625
|
};
|
|
2637
2626
|
|
|
2638
2627
|
const getCss = state => {
|
|
@@ -2656,9 +2645,58 @@ const getCss = state => {
|
|
|
2656
2645
|
contain: strict;
|
|
2657
2646
|
}
|
|
2658
2647
|
|
|
2648
|
+
.ChatDebugViewDetailsBottom {
|
|
2649
|
+
display: flex;
|
|
2650
|
+
contain: strict;
|
|
2651
|
+
flex:1
|
|
2652
|
+
|
|
2653
|
+
}
|
|
2659
2654
|
.ChatDebugViewEvent {
|
|
2660
2655
|
contain: content
|
|
2661
2656
|
}
|
|
2657
|
+
|
|
2658
|
+
.row {
|
|
2659
|
+
flex-shrink: 0;
|
|
2660
|
+
}
|
|
2661
|
+
|
|
2662
|
+
.ChatDebugViewRefreshButton {
|
|
2663
|
+
display: inline-flex;
|
|
2664
|
+
align-items: center;
|
|
2665
|
+
justify-content: center;
|
|
2666
|
+
flex: none;
|
|
2667
|
+
min-height: 28px;
|
|
2668
|
+
padding: 0 10px;
|
|
2669
|
+
border: 1px solid rgba(255, 255, 255, 0.16);
|
|
2670
|
+
border-radius: 6px;
|
|
2671
|
+
background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04));
|
|
2672
|
+
color: inherit;
|
|
2673
|
+
font: inherit;
|
|
2674
|
+
font-size: 12px;
|
|
2675
|
+
font-weight: 500;
|
|
2676
|
+
line-height: 1;
|
|
2677
|
+
white-space: nowrap;
|
|
2678
|
+
cursor: pointer;
|
|
2679
|
+
transition: background-color 120ms ease, border-color 120ms ease, transform 120ms ease;
|
|
2680
|
+
}
|
|
2681
|
+
|
|
2682
|
+
.ChatDebugViewRefreshButton:hover {
|
|
2683
|
+
background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.08));
|
|
2684
|
+
border-color: rgba(255, 255, 255, 0.24);
|
|
2685
|
+
}
|
|
2686
|
+
|
|
2687
|
+
.ChatDebugViewRefreshButton:active {
|
|
2688
|
+
transform: translateY(1px);
|
|
2689
|
+
}
|
|
2690
|
+
|
|
2691
|
+
.ChatDebugViewRefreshButton:focus-visible {
|
|
2692
|
+
outline: 2px solid rgba(255, 255, 255, 0.4);
|
|
2693
|
+
outline-offset: 1px;
|
|
2694
|
+
}
|
|
2695
|
+
|
|
2696
|
+
.ChatDebugViewEventRow:hover {
|
|
2697
|
+
background: var(--ListHoverBackground);
|
|
2698
|
+
color: var(--ListHoverForeground);
|
|
2699
|
+
}
|
|
2662
2700
|
`;
|
|
2663
2701
|
};
|
|
2664
2702
|
|
|
@@ -2997,6 +3035,7 @@ const ChatDebugViewTable = 'ChatDebugViewTable';
|
|
|
2997
3035
|
const ChatDebugViewTableBody = 'ChatDebugViewTableBody';
|
|
2998
3036
|
const ChatDebugViewTableHeader = 'ChatDebugViewTableHeader';
|
|
2999
3037
|
const ChatDebugViewTableHeaderRow = 'ChatDebugViewTableHeaderRow';
|
|
3038
|
+
const TableRowEven = 'TableRowEven';
|
|
3000
3039
|
const ChatDebugViewTimeline = 'ChatDebugViewTimeline';
|
|
3001
3040
|
const ChatDebugViewTimelineBucket = 'ChatDebugViewTimelineBucket';
|
|
3002
3041
|
const ChatDebugViewTimelineBucketBar = 'ChatDebugViewTimelineBucketBar';
|
|
@@ -3221,7 +3260,7 @@ const getDetailsDom = (previewEventNodes, responseEventNodes = previewEventNodes
|
|
|
3221
3260
|
return [{
|
|
3222
3261
|
childCount: 2,
|
|
3223
3262
|
className: ChatDebugViewDetails,
|
|
3224
|
-
type:
|
|
3263
|
+
type: Section
|
|
3225
3264
|
}, {
|
|
3226
3265
|
childCount: 2,
|
|
3227
3266
|
className: ChatDebugViewDetailsTop,
|
|
@@ -3334,12 +3373,13 @@ const getStatusText = event => {
|
|
|
3334
3373
|
|
|
3335
3374
|
const getDevtoolsRows = (events, selectedEventIndex) => {
|
|
3336
3375
|
return events.flatMap((event, i) => {
|
|
3376
|
+
const isEvenRow = i % 2 === 1;
|
|
3337
3377
|
const isSelected = selectedEventIndex === i;
|
|
3338
3378
|
const isErrorStatus = hasErrorStatus(event);
|
|
3339
3379
|
const rowIndex = String(i);
|
|
3340
3380
|
return [{
|
|
3341
3381
|
childCount: 3,
|
|
3342
|
-
className: joinClassNames(ChatDebugViewEventRow, isSelected && ChatDebugViewEventRowSelected),
|
|
3382
|
+
className: joinClassNames(ChatDebugViewEventRow, isEvenRow && TableRowEven, isSelected && ChatDebugViewEventRowSelected),
|
|
3343
3383
|
'data-index': rowIndex,
|
|
3344
3384
|
type: Tr
|
|
3345
3385
|
}, {
|
|
@@ -3784,7 +3824,7 @@ const getTimelineNodes = (timelineEvents, timelineStartSeconds, timelineEndSecon
|
|
|
3784
3824
|
return [{
|
|
3785
3825
|
childCount: 2,
|
|
3786
3826
|
className: ChatDebugViewTimeline,
|
|
3787
|
-
type:
|
|
3827
|
+
type: Section
|
|
3788
3828
|
}, {
|
|
3789
3829
|
childCount: 1,
|
|
3790
3830
|
className: ChatDebugViewTimelineTop,
|
|
@@ -3825,10 +3865,12 @@ const getDevtoolsDom = (events, selectedEvent, selectedEventIndex, timelineEvent
|
|
|
3825
3865
|
return [{
|
|
3826
3866
|
childCount: mainChildCount,
|
|
3827
3867
|
className: ChatDebugViewDevtoolsMain,
|
|
3868
|
+
role: 'none',
|
|
3828
3869
|
type: Div
|
|
3829
3870
|
}, ...timelineNodes, {
|
|
3830
3871
|
childCount: splitChildCount,
|
|
3831
3872
|
className: ChatDebugViewDevtoolsSplit,
|
|
3873
|
+
role: 'none',
|
|
3832
3874
|
type: Div
|
|
3833
3875
|
}, {
|
|
3834
3876
|
childCount: 1,
|
|
@@ -3988,12 +4030,20 @@ const render2 = (uid, diffResult) => {
|
|
|
3988
4030
|
|
|
3989
4031
|
const renderEventListeners = () => {
|
|
3990
4032
|
return [{
|
|
4033
|
+
name: HandleHeaderContextMenu,
|
|
4034
|
+
params: ['handleHeaderContextMenu'],
|
|
4035
|
+
preventDefault: true
|
|
4036
|
+
}, {
|
|
3991
4037
|
name: HandleEventRowClick,
|
|
3992
4038
|
params: ['handleEventRowClick', 'event.target.dataset.index', Button]
|
|
3993
4039
|
}, {
|
|
3994
4040
|
name: HandleTableBodyContextMenu,
|
|
3995
4041
|
params: ['handleTableBodyContextMenu', ClientX, ClientY],
|
|
3996
4042
|
preventDefault: true
|
|
4043
|
+
}, {
|
|
4044
|
+
name: HandleDetailsContextMenu,
|
|
4045
|
+
params: ['handleDetailsContextMenu'],
|
|
4046
|
+
preventDefault: true
|
|
3997
4047
|
}, {
|
|
3998
4048
|
name: HandleFilterInput,
|
|
3999
4049
|
params: ['handleInput', TargetName, TargetValue]
|
|
@@ -4012,6 +4062,9 @@ const renderEventListeners = () => {
|
|
|
4012
4062
|
}, {
|
|
4013
4063
|
name: HandleClickRefresh,
|
|
4014
4064
|
params: ['handleClickRefresh']
|
|
4065
|
+
}, {
|
|
4066
|
+
name: HandleTableKeyDown,
|
|
4067
|
+
params: ['handleTableKeyDown', 'event.key']
|
|
4015
4068
|
}, {
|
|
4016
4069
|
name: HandleSashPointerDown,
|
|
4017
4070
|
params: ['handleSashPointerDown', ClientX, ClientY],
|
|
@@ -4067,28 +4120,20 @@ const saveState = state => {
|
|
|
4067
4120
|
const {
|
|
4068
4121
|
eventCategoryFilter,
|
|
4069
4122
|
filterValue,
|
|
4070
|
-
|
|
4123
|
+
selectedDetailTab,
|
|
4071
4124
|
selectedEventId,
|
|
4072
4125
|
sessionId,
|
|
4073
|
-
tableWidth,
|
|
4074
4126
|
timelineEndSeconds,
|
|
4075
|
-
timelineStartSeconds
|
|
4076
|
-
width,
|
|
4077
|
-
x,
|
|
4078
|
-
y
|
|
4127
|
+
timelineStartSeconds
|
|
4079
4128
|
} = state;
|
|
4080
4129
|
return {
|
|
4081
4130
|
eventCategoryFilter,
|
|
4082
4131
|
filterValue,
|
|
4083
|
-
|
|
4132
|
+
selectedDetailTab,
|
|
4084
4133
|
selectedEventId,
|
|
4085
4134
|
sessionId,
|
|
4086
|
-
tableWidth,
|
|
4087
4135
|
timelineEndSeconds,
|
|
4088
|
-
timelineStartSeconds
|
|
4089
|
-
width,
|
|
4090
|
-
x,
|
|
4091
|
-
y
|
|
4136
|
+
timelineStartSeconds
|
|
4092
4137
|
};
|
|
4093
4138
|
};
|
|
4094
4139
|
|
|
@@ -4137,6 +4182,7 @@ const setSessionId = async (state, sessionId) => {
|
|
|
4137
4182
|
};
|
|
4138
4183
|
|
|
4139
4184
|
const commandMap = {
|
|
4185
|
+
'ChatDebug.appendStoredEventForTest': wrapCommand(appendStoredEventForTest),
|
|
4140
4186
|
'ChatDebug.create': create,
|
|
4141
4187
|
'ChatDebug.diff2': diff2,
|
|
4142
4188
|
'ChatDebug.getCommandIds': getCommandIds,
|