feat: implement task management store with IPC integration

- Added a new task store in `src-react/stores/task.ts` to manage tasks and their statuses.
- Implemented functions for creating, executing, and retrying tasks, along with handling task progress and completion.
- Introduced persistence for tasks using IPC.
- Created utility functions for normalizing room types and building subtasks.
- Added a new CSS file for global styles in `src-react/styles.css`.
- Created runtime types in `src-react/types/runtime.ts` and exported them.
- Updated the main entry points for Vue and React applications to support dynamic framework loading.
- Refactored chat model interfaces and utility functions into `src/shared/chat-model.ts`.
- Updated TypeScript configuration to include paths for React components and types.
- Enhanced Vite configuration to support both Vue and React frameworks.
This commit is contained in:
duanshuwen
2026-04-17 07:09:56 +08:00
parent d233b94b2a
commit b1dea9a5c2
68 changed files with 5910 additions and 397 deletions

View File

@@ -1,4 +1,4 @@
import type { RawMessage } from '@src/pages/home/model/ChatModel';
import type { RawMessage } from '@shared/chat-model';
/// Gateway 向 Renderer 推送的事件类型
export type GatewayEvent =
@@ -47,6 +47,9 @@ export interface GatewayRpcParams {
sessionKey: string;
};
'session.list': Record<string, never>;
'session.delete': {
sessionKey: string;
};
'provider.list': Record<string, never>;
'provider.getDefault': Record<string, never>;
}
@@ -57,6 +60,7 @@ export interface GatewayRpcReturns {
'chat.history': RawMessage[];
'chat.abort': void;
'session.list': string[];
'session.delete': { success: boolean };
'provider.list': { accounts: any[]; defaultAccountId: string | null };
'provider.getDefault': { accountId: string | null };
}