feat: add guarded image generation controls
This commit is contained in:
@@ -15,6 +15,7 @@ import {
|
||||
} from '../api/client';
|
||||
import type { AgentRun } from '../api/client';
|
||||
import type { ChatState, Message, MindSpaceChatContext, PortalUser, Session, SessionEvent } from '../types';
|
||||
import type { ImageGenerationMode } from '../utils/imageGeneration';
|
||||
import { buildContextPrefix } from '../utils/mindspaceChatContext';
|
||||
import { buildUserAddressPrefix } from '../utils/userAddress';
|
||||
import {
|
||||
@@ -307,7 +308,7 @@ export function usePageEditSubChat({
|
||||
const submit = useCallback(
|
||||
async (
|
||||
text: string,
|
||||
context: MindSpaceChatContext & { messageId?: string },
|
||||
context: MindSpaceChatContext & { messageId?: string; imageGenerationMode?: ImageGenerationMode },
|
||||
imageUrls?: string[],
|
||||
previewImageUrls?: string[],
|
||||
) => {
|
||||
@@ -335,6 +336,15 @@ export function usePageEditSubChat({
|
||||
imageUrls: normalizedImageUrls,
|
||||
previewImageUrls: normalizedPreviewImageUrls,
|
||||
});
|
||||
userMessage.metadata = {
|
||||
...userMessage.metadata,
|
||||
memindRun: {
|
||||
...(userMessage.metadata?.memindRun && typeof userMessage.metadata.memindRun === 'object'
|
||||
? userMessage.metadata.memindRun
|
||||
: {}),
|
||||
imageGenerationMode: context.imageGenerationMode ?? 'auto',
|
||||
},
|
||||
};
|
||||
const requestId = crypto.randomUUID();
|
||||
activeRequestId.current = requestId;
|
||||
messagesRef.current = [...messagesRef.current, userMessage];
|
||||
|
||||
@@ -35,6 +35,7 @@ import {
|
||||
readStoredSessionId,
|
||||
writeStoredSessionId,
|
||||
} from '../utils/sessionStorage';
|
||||
import type { ImageGenerationMode } from '../utils/imageGeneration';
|
||||
import type {
|
||||
CapabilityMap,
|
||||
ChatFileAttachment,
|
||||
@@ -1396,6 +1397,7 @@ export function useTKMindChat(
|
||||
messageId?: string;
|
||||
forceDeepReasoning?: boolean;
|
||||
pgRequired?: boolean;
|
||||
imageGenerationMode?: ImageGenerationMode;
|
||||
selectedChatSkill?: string;
|
||||
fileAttachments?: ChatFileAttachment[];
|
||||
},
|
||||
@@ -1446,6 +1448,7 @@ export function useTKMindChat(
|
||||
: {}),
|
||||
sessionMessageCount: priorMessageCount,
|
||||
...(options?.pgRequired ? { pgRequired: true } : {}),
|
||||
imageGenerationMode: options?.imageGenerationMode ?? 'auto',
|
||||
...(options?.selectedChatSkill ? { selectedChatSkill: options.selectedChatSkill } : {}),
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user