2068
2069
async addCompleteRequest(sessionResource: URI, message: IParsedChatRequest | string, variableData: IChatRequestVariableData | undefined, attempt: number | undefined, response: IChatCompleteResponse): Promise<void> {
2071
>
2072
>
const model = this._sessionModels.get(sessionResource);
2073
>
if (!model) {
2074
throw new Error(`Unknown session: ${sessionResource}`);
2075
}
2077
>
const parsedRequest = typeof message === 'string' ?
2078
>
this.instantiationService.createInstance(ChatRequestParser).parseChatRequest(sessionResource, message) :
2079
message;
2080
>
const request = model.addRequest(parsedRequest, variableData || { variables: [] }, attempt ?? 0, undefined, undefined, undefined, undefined, undefined, undefined, true);
chatServiceImpl.ts
2081
>
if (typeof response.message === 'string') {
2082
>
// TODO is this possible?
2083
>
model.acceptResponseProgress(request, { content: new MarkdownString(response.message), kind: 'markdownContent' });
2084
>
} else {
2085
for (const part of response.message) {
2086
model.acceptResponseProgress(request, part, true);
2087
}
2088
}
2090
>
if (response.followups !== undefined) {
2091
model.setFollowups(request, response.followups);
2092
}
2094
>
}
2095
2096
async cancelCurrentRequestForSession(sessionResource: URI, source?: string): Promise<void> {