|
|
@@ -221,6 +221,16 @@ export class RealDialogueAPI implements DialogueAPI {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ async completeSession(sessionId: string): Promise<void> {
|
|
|
+ const res = await fetch(`${API_BASE}/session/${encodeURIComponent(sessionId)}/complete`, {
|
|
|
+ method: 'POST',
|
|
|
+ credentials: 'include',
|
|
|
+ })
|
|
|
+ if (!res.ok) {
|
|
|
+ throw new DialogueApiError(`completeSession failed: ${res.status}`, res.status)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
async generateGreeting(sessionId: string, signal?: AbortSignal): Promise<GreetingInfo> {
|
|
|
const res = await fetch(`${API_BASE}/session/${sessionId}/greeting`, {
|
|
|
method: 'POST',
|
|
|
@@ -297,6 +307,10 @@ export class MockDialogueAPI implements DialogueAPI {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ async completeSession(_sessionId: string): Promise<void> {
|
|
|
+ return undefined
|
|
|
+ }
|
|
|
+
|
|
|
async generateGreeting(_sessionId: string, signal?: AbortSignal): Promise<GreetingInfo> {
|
|
|
await delay(300, signal)
|
|
|
return { aiMessage: "Hi! What's your favorite animal?" }
|