sessionSuggestedFixesApi.patchScript(sessionId, fixId, script, params?) hits the new PATCH /script endpoint. scriptBuilder.createSession accepts an optional options bag with origin + aiSessionId, defaulting to standalone when omitted so legacy callers stay behavior-preserving. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
60 lines
1.7 KiB
TypeScript
60 lines
1.7 KiB
TypeScript
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<ScriptBuilderSessionDetail> {
|
|
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<ScriptBuilderSessionSummary[]> {
|
|
const { data } = await apiClient.get('/scripts/builder/sessions', {
|
|
params: { limit, offset },
|
|
})
|
|
return data
|
|
},
|
|
|
|
async getSession(sessionId: string): Promise<ScriptBuilderSessionDetail> {
|
|
const { data } = await apiClient.get(`/scripts/builder/sessions/${sessionId}`)
|
|
return data
|
|
},
|
|
|
|
async sendMessage(sessionId: string, content: string): Promise<ScriptBuilderMessageResponse> {
|
|
const { data } = await apiClient.post(
|
|
`/scripts/builder/sessions/${sessionId}/messages`,
|
|
{ content }
|
|
)
|
|
return data
|
|
},
|
|
|
|
async deleteSession(sessionId: string): Promise<void> {
|
|
await apiClient.delete(`/scripts/builder/sessions/${sessionId}`)
|
|
},
|
|
|
|
async saveToLibrary(sessionId: string, req: SaveToLibraryRequest): Promise<ScriptTemplateDetail> {
|
|
const { data } = await apiClient.post(
|
|
`/scripts/builder/sessions/${sessionId}/save`,
|
|
req
|
|
)
|
|
return data
|
|
},
|
|
}
|