Preserve partial creation replies on stream failure
Some checks failed
CI / verify (push) Has been cancelled
Some checks failed
CI / verify (push) Has been cancelled
This commit is contained in:
8
src/services/square-hole-creation/index.ts
Normal file
8
src/services/square-hole-creation/index.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
export {
|
||||
createSquareHoleCreationSession,
|
||||
executeSquareHoleCreationAction,
|
||||
getSquareHoleCreationSession,
|
||||
sendSquareHoleCreationMessage,
|
||||
squareHoleCreationClient,
|
||||
streamSquareHoleCreationMessage,
|
||||
} from './squareHoleCreationClient';
|
||||
@@ -0,0 +1,87 @@
|
||||
import type {
|
||||
CreateSquareHoleSessionRequest,
|
||||
ExecuteSquareHoleActionRequest,
|
||||
SendSquareHoleMessageRequest,
|
||||
SquareHoleActionResponse,
|
||||
SquareHoleSessionResponse,
|
||||
SquareHoleSessionSnapshot,
|
||||
} from '../../../packages/shared/src/contracts/squareHoleAgent';
|
||||
import type { TextStreamOptions } from '../aiTypes';
|
||||
import { createCreationAgentClient } from '../creation-agent';
|
||||
|
||||
const SQUARE_HOLE_AGENT_API_BASE = '/api/creation/square-hole/sessions';
|
||||
|
||||
const squareHoleAgentHttpClient = createCreationAgentClient<
|
||||
CreateSquareHoleSessionRequest,
|
||||
SquareHoleSessionResponse,
|
||||
SquareHoleSessionResponse,
|
||||
SquareHoleSessionSnapshot,
|
||||
SendSquareHoleMessageRequest,
|
||||
SquareHoleSessionResponse,
|
||||
ExecuteSquareHoleActionRequest,
|
||||
SquareHoleActionResponse
|
||||
>({
|
||||
apiBase: SQUARE_HOLE_AGENT_API_BASE,
|
||||
messages: {
|
||||
createSession: '创建方洞挑战共创会话失败',
|
||||
getSession: '读取方洞挑战共创会话失败',
|
||||
sendMessage: '发送方洞挑战共创消息失败',
|
||||
streamIncomplete: '方洞挑战共创消息流式结果不完整',
|
||||
executeAction: '执行方洞挑战共创操作失败',
|
||||
},
|
||||
});
|
||||
|
||||
/**
|
||||
* 创建方洞挑战 Agent 共创会话。
|
||||
*/
|
||||
export function createSquareHoleCreationSession(
|
||||
payload: CreateSquareHoleSessionRequest = {},
|
||||
) {
|
||||
return squareHoleAgentHttpClient.createSession(payload);
|
||||
}
|
||||
|
||||
/**
|
||||
* 读取方洞挑战 Agent 会话快照。
|
||||
*/
|
||||
export function getSquareHoleCreationSession(sessionId: string) {
|
||||
return squareHoleAgentHttpClient.getSession(sessionId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 非流式发送方洞挑战 Agent 消息,保留为 SSE 降级入口。
|
||||
*/
|
||||
export function sendSquareHoleCreationMessage(
|
||||
sessionId: string,
|
||||
payload: SendSquareHoleMessageRequest,
|
||||
) {
|
||||
return squareHoleAgentHttpClient.sendMessage(sessionId, payload);
|
||||
}
|
||||
|
||||
/**
|
||||
* 流式发送方洞挑战 Agent 消息。
|
||||
*/
|
||||
export function streamSquareHoleCreationMessage(
|
||||
sessionId: string,
|
||||
payload: SendSquareHoleMessageRequest,
|
||||
options: TextStreamOptions = {},
|
||||
) {
|
||||
return squareHoleAgentHttpClient.streamMessage(sessionId, payload, options);
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行方洞挑战创作操作,例如生成草稿作品。
|
||||
*/
|
||||
export function executeSquareHoleCreationAction(
|
||||
sessionId: string,
|
||||
payload: ExecuteSquareHoleActionRequest,
|
||||
) {
|
||||
return squareHoleAgentHttpClient.executeAction(sessionId, payload);
|
||||
}
|
||||
|
||||
export const squareHoleCreationClient = {
|
||||
createSession: createSquareHoleCreationSession,
|
||||
getSession: getSquareHoleCreationSession,
|
||||
sendMessage: sendSquareHoleCreationMessage,
|
||||
streamMessage: streamSquareHoleCreationMessage,
|
||||
executeAction: executeSquareHoleCreationAction,
|
||||
};
|
||||
Reference in New Issue
Block a user