Files
agent-desktop/console/src/utils/clientMessageId.ts
T
Pine 9b30f681c6 feat: 智能体控制台前端(console)
- React+antd+zustand,注册表驱动路由/菜单/权限
- Tauri 桌面壳、后端托管 SPA、跨标签页消息队列
2026-08-23 22:43:18 +08:00

31 lines
809 B
TypeScript

export const QWENPAW_CLIENT_MESSAGE_ID_KEY = "qwenpaw_client_message_id";
function randomBase36(length: number): string {
const bytes = new Uint8Array(length);
crypto.getRandomValues(bytes);
let value = "";
for (const byte of bytes) value += (byte % 36).toString(36);
return value;
}
export function createClientMessageId(): string {
return crypto.randomUUID?.() ?? `${Date.now()}-${randomBase36(16)}`;
}
export function attachClientMessageId(
message: Record<string, unknown>,
clientMessageId: string,
): Record<string, unknown> {
const metadata =
typeof message.metadata === "object" && message.metadata !== null
? message.metadata
: {};
return {
...message,
metadata: {
...metadata,
[QWENPAW_CLIENT_MESSAGE_ID_KEY]: clientMessageId,
},
};
}