|
@@ -14,7 +14,7 @@ import loggerFactory from '~/utils/logger';
|
|
|
|
|
|
|
|
import { MessageErrorCode, type StreamErrorCode } from '../../interfaces/message-error';
|
|
import { MessageErrorCode, type StreamErrorCode } from '../../interfaces/message-error';
|
|
|
import { openaiClient } from '../services';
|
|
import { openaiClient } from '../services';
|
|
|
-import { extructPageDataFromMessageEvent } from '../services/extract-page-data-from-message-event';
|
|
|
|
|
|
|
+import { annotationReplacer } from '../services/annotation-replacer';
|
|
|
import { getStreamErrorCode } from '../services/getStreamErrorCode';
|
|
import { getStreamErrorCode } from '../services/getStreamErrorCode';
|
|
|
|
|
|
|
|
import { certifyAiService } from './middlewares/certify-ai-service';
|
|
import { certifyAiService } from './middlewares/certify-ai-service';
|
|
@@ -78,14 +78,14 @@ export const postMessageHandlersFactory: PostMessageHandlersFactory = (crowi) =>
|
|
|
'Cache-Control': 'no-cache, no-transform',
|
|
'Cache-Control': 'no-cache, no-transform',
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- const messageDeltaHandler = (delta: MessageDelta) => {
|
|
|
|
|
|
|
+ const messageDeltaHandler = async(delta: MessageDelta) => {
|
|
|
|
|
+ await annotationReplacer(delta);
|
|
|
res.write(`data: ${JSON.stringify(delta)}\n\n`);
|
|
res.write(`data: ${JSON.stringify(delta)}\n\n`);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
const sendError = (message: string, code?: StreamErrorCode) => {
|
|
const sendError = (message: string, code?: StreamErrorCode) => {
|
|
|
res.write(`error: ${JSON.stringify({ code, message })}\n\n`);
|
|
res.write(`error: ${JSON.stringify({ code, message })}\n\n`);
|
|
|
};
|
|
};
|
|
|
-
|
|
|
|
|
stream.on('event', (delta) => {
|
|
stream.on('event', (delta) => {
|
|
|
if (delta.event === 'thread.run.failed') {
|
|
if (delta.event === 'thread.run.failed') {
|
|
|
const errorMessage = delta.data.last_error?.message;
|
|
const errorMessage = delta.data.last_error?.message;
|
|
@@ -96,10 +96,6 @@ export const postMessageHandlersFactory: PostMessageHandlersFactory = (crowi) =>
|
|
|
sendError(errorMessage, getStreamErrorCode(errorMessage));
|
|
sendError(errorMessage, getStreamErrorCode(errorMessage));
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
- stream.on('messageDone', async(event) => {
|
|
|
|
|
- const pageData = await extructPageDataFromMessageEvent(event);
|
|
|
|
|
- // res.write();
|
|
|
|
|
- });
|
|
|
|
|
stream.on('messageDelta', messageDeltaHandler);
|
|
stream.on('messageDelta', messageDeltaHandler);
|
|
|
stream.once('messageDone', () => {
|
|
stream.once('messageDone', () => {
|
|
|
stream.off('messageDelta', messageDeltaHandler);
|
|
stream.off('messageDelta', messageDeltaHandler);
|