import { apiClient } from './client' import type { ScriptBuilderSessionSummary, ScriptBuilderSessionDetail, ScriptBuilderMessageResponse, SaveToLibraryRequest, } from '@/types' import type { ScriptTemplateDetail } from '@/types' export interface CreateSessionOptions { origin?: 'standalone' | 'pilot_inline' aiSessionId?: string } export const scriptBuilderApi = { async createSession( language: string, options?: CreateSessionOptions, ): Promise { const { data } = await apiClient.post('/scripts/builder/sessions', { language, origin: options?.origin, ai_session_id: options?.aiSessionId, }) return data }, async listSessions(limit = 20, offset = 0): Promise { const { data } = await apiClient.get('/scripts/builder/sessions', { params: { limit, offset }, }) return data }, async getSession(sessionId: string): Promise { const { data } = await apiClient.get(`/scripts/builder/sessions/${sessionId}`) return data }, async sendMessage(sessionId: string, content: string): Promise { const { data } = await apiClient.post( `/scripts/builder/sessions/${sessionId}/messages`, { content } ) return data }, async deleteSession(sessionId: string): Promise { await apiClient.delete(`/scripts/builder/sessions/${sessionId}`) }, async saveToLibrary(sessionId: string, req: SaveToLibraryRequest): Promise { const { data } = await apiClient.post( `/scripts/builder/sessions/${sessionId}/save`, req ) return data }, }