jan/web/utils/createMessage.ts
Louis f3a808cb89
feat: simplify remote providers and tool use capability (#4970)
* feat: built-in remote providers go to tokenjs

* fix: error handling

* fix: extend models

* chore: error handling

* chore: update advanced settings of built-in providers

* chore: clean up message creation

* chore: fix import

* fix: engine name

* fix: error handling
2025-05-15 17:10:58 +07:00

46 lines
1014 B
TypeScript

import {
ChatCompletionRole,
ContentType,
MessageStatus,
ThreadContent,
ThreadMessage,
} from '@janhq/core'
import { ulid } from 'ulidx'
export const emptyMessageContent: ThreadContent[] = [
{
type: ContentType.Text,
text: {
value: '',
annotations: [],
},
},
]
export const createMessageContent = (text: string): ThreadContent[] => {
return [
{
type: ContentType.Text,
text: {
value: text,
annotations: [],
},
},
]
}
export const createMessage = (opts: Partial<ThreadMessage>): ThreadMessage => {
return {
id: opts.id ?? ulid(),
object: 'message',
thread_id: opts.thread_id ?? '',
assistant_id: opts.assistant_id ?? '',
role: opts.role ?? ChatCompletionRole.Assistant,
content: opts.content ?? [],
metadata: opts.metadata ?? {},
status: opts.status ?? MessageStatus.Pending,
created_at: opts.created_at ?? Date.now() / 1000,
completed_at: opts.completed_at ?? Date.now() / 1000,
}
}