Skip to content

Commit b30a2ee

Browse files
authored
Merge pull request #71 from iceljc/features/delete-logs-with-message
add delete log
2 parents eae6d0b + 6dbb4a0 commit b30a2ee

File tree

3 files changed

+44
-2
lines changed

3 files changed

+44
-2
lines changed

src/routes/chat/[agentId]/[conversationId]/chat-box.svelte

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@
9393
let isLite = false;
9494
let isFrame = false;
9595
96+
/** @type {any} */
97+
let contentLogComponent;
98+
/** @type {any} */
99+
let stateLogComponent;
96100
97101
onMount(async () => {
98102
dialogs = await GetDialogs(params.conversationId);
@@ -532,10 +536,22 @@
532536
const foundIdx = dialogs.findIndex(x => x.message_id === messageId);
533537
if (foundIdx < 0) return false;
534538
dialogs = dialogs.filter((x, idx) => idx < foundIdx);
539+
truncateLogs(messageId);
535540
refresh();
536541
return true;
537542
}
538543
544+
/** @param {string} messageId */
545+
function truncateLogs(messageId) {
546+
if (contentLogComponent && contentLogComponent.onDeleteMessage) {
547+
contentLogComponent.onDeleteMessage(messageId);
548+
}
549+
550+
if (stateLogComponent && stateLogComponent.onDeleteMessage) {
551+
stateLogComponent.onDeleteMessage(messageId);
552+
}
553+
}
554+
539555
/** @param {string} messageId */
540556
function directToLog(messageId) {
541557
if (!!!messageId || isLite) return;
@@ -610,7 +626,12 @@
610626
<Splitpanes>
611627
{#if isLoadStateLog}
612628
<Pane size={30} minSize={20} maxSize={50} >
613-
<StateLog stateLogs={stateLogs} closeWindow={toggleStateLog} cleanScreen={cleanStateLogScreen} />
629+
<StateLog
630+
bind:this={stateLogComponent}
631+
stateLogs={stateLogs}
632+
closeWindow={toggleStateLog}
633+
cleanScreen={cleanStateLogScreen}
634+
/>
614635
</Pane>
615636
{/if}
616637
<Pane minSize={20}>
@@ -813,7 +834,12 @@
813834
</Pane>
814835
{#if isLoadContentLog}
815836
<Pane size={30} minSize={20} maxSize={50}>
816-
<ContentLog contentLogs={contentLogs} closeWindow={toggleContentLog} cleanScreen={cleanContentLogScreen} />
837+
<ContentLog
838+
bind:this={contentLogComponent}
839+
contentLogs={contentLogs}
840+
closeWindow={toggleContentLog}
841+
cleanScreen={cleanContentLogScreen}
842+
/>
817843
</Pane>
818844
{/if}
819845
</Splitpanes>

src/routes/chat/[agentId]/[conversationId]/contentLogs/content-log.svelte

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@
1515
/** @type {() => void} */
1616
export let cleanScreen;
1717
18+
export const onDeleteMessage = (/** @type {string} */ messageId) => {
19+
const targetIdx = allLogs.findIndex(x => x.message_id === messageId);
20+
allLogs = allLogs.filter((x, idx) => idx < targetIdx);
21+
}
22+
1823
// @ts-ignore
1924
let scrollbar;
2025
/** @type {import('$types').ConversationContentLogModel[]} */
@@ -67,6 +72,12 @@
6772
cleanLogs();
6873
cleanScreen && cleanScreen();
6974
}
75+
76+
// /** @param {string} messageId */
77+
// function onDeleteMessage(messageId) {
78+
// const targetIdx = allLogs.findIndex(x => x.message_id === messageId);
79+
// allLogs = allLogs.filter((x, idx) => idx < targetIdx);
80+
// }
7081
</script>
7182

7283
<div class="chat-log">

src/routes/chat/[agentId]/[conversationId]/stateLogs/state-log.svelte

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@
1515
/** @type {() => void} */
1616
export let cleanScreen;
1717
18+
export const onDeleteMessage = (/** @type {string} */ messageId) => {
19+
const targetIdx = allLogs.findIndex(x => x.message_id === messageId);
20+
allLogs = allLogs.filter((x, idx) => idx < targetIdx);
21+
}
22+
1823
// @ts-ignore
1924
let scrollbar;
2025
/** @type {any[]} */

0 commit comments

Comments
 (0)