fix(tui): calculate v2 assistant duration from user prompt
This commit is contained in:
parent
a1bfbd7852
commit
d46b22c281
1 changed files with 7 additions and 1 deletions
|
|
@ -44,6 +44,10 @@ function View(props: { api: TuiPluginApi; sessionID: string }) {
|
||||||
const messages = createMemo(() => sync.data.messages[props.sessionID] ?? [])
|
const messages = createMemo(() => sync.data.messages[props.sessionID] ?? [])
|
||||||
const renderedMessages = createMemo(() => messages().toReversed())
|
const renderedMessages = createMemo(() => messages().toReversed())
|
||||||
const lastAssistant = createMemo(() => renderedMessages().findLast((message) => message.type === "assistant"))
|
const lastAssistant = createMemo(() => renderedMessages().findLast((message) => message.type === "assistant"))
|
||||||
|
const lastUserCreated = (index: number) =>
|
||||||
|
renderedMessages()
|
||||||
|
.slice(0, index)
|
||||||
|
.findLast((message) => message.type === "user")?.time.created
|
||||||
|
|
||||||
createEffect(() => {
|
createEffect(() => {
|
||||||
void sync.session.message.sync(props.sessionID)
|
void sync.session.message.sync(props.sessionID)
|
||||||
|
|
@ -83,6 +87,7 @@ function View(props: { api: TuiPluginApi; sessionID: string }) {
|
||||||
last={lastAssistant()?.id === message.id}
|
last={lastAssistant()?.id === message.id}
|
||||||
syntax={syntax()}
|
syntax={syntax()}
|
||||||
subtleSyntax={subtleSyntax()}
|
subtleSyntax={subtleSyntax()}
|
||||||
|
start={lastUserCreated(index())}
|
||||||
/>
|
/>
|
||||||
</Match>
|
</Match>
|
||||||
<Match when={message.type === "synthetic"}>
|
<Match when={message.type === "synthetic"}>
|
||||||
|
|
@ -294,12 +299,13 @@ function AssistantMessage(props: {
|
||||||
last: boolean
|
last: boolean
|
||||||
syntax: SyntaxStyle
|
syntax: SyntaxStyle
|
||||||
subtleSyntax: SyntaxStyle
|
subtleSyntax: SyntaxStyle
|
||||||
|
start?: number
|
||||||
}) {
|
}) {
|
||||||
const { theme } = useTheme()
|
const { theme } = useTheme()
|
||||||
const local = useLocal()
|
const local = useLocal()
|
||||||
const duration = createMemo(() => {
|
const duration = createMemo(() => {
|
||||||
if (!props.message.time.completed) return 0
|
if (!props.message.time.completed) return 0
|
||||||
return props.message.time.completed - props.message.time.created
|
return props.message.time.completed - (props.start ?? props.message.time.created)
|
||||||
})
|
})
|
||||||
const model = createMemo(() => {
|
const model = createMemo(() => {
|
||||||
const variant = props.message.model.variant ? `/${props.message.model.variant}` : ""
|
const variant = props.message.model.variant ? `/${props.message.model.variant}` : ""
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue