File size: 1,071 Bytes
abcf568 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import type { CustomApiConfig } from '../../../../types'
import { buildDraftAssistantMessage, buildDraftRun } from '../session-runner-helpers'
import type { StudioAssistantMessage, StudioRun, StudioSession } from '../../../domain/types'
import type { StudioSessionRunnerDependencies } from './dependency-center'
export async function createAssistantMessage(
deps: Pick<StudioSessionRunnerDependencies, 'messageStore'>,
session: StudioSession,
runId?: string,
): Promise<StudioAssistantMessage> {
const message = buildDraftAssistantMessage(session, runId)
return deps.messageStore.createAssistantMessage(message)
}
export function createRun(
session: StudioSession,
inputText: string,
metadata?: Record<string, unknown>,
): StudioRun {
return buildDraftRun(session, inputText, metadata)
}
export function hasUsableCustomApiConfig(config?: CustomApiConfig): config is CustomApiConfig {
if (!config) {
return false
}
return [config.apiUrl, config.apiKey, config.model].every((value) => typeof value === 'string' && value.trim().length > 0)
}
|