Fix chat interface - restore continuous conversation flow

🎯 Major improvements to MissionControl component:
- Always keep input field visible and functional after AI responses
- Auto-clear input after submitting questions for better UX
- Add dynamic visual indicators (first question vs follow-up)
- Improve response layout with clear separation and hints
- Enable proper chat-like experience for continuous learning

🌟 Additional enhancements:
- Better language-specific messaging throughout interface
- Clearer visual hierarchy between input and response areas
- Intuitive flow that guides users to ask follow-up questions
- Maintains responsive design and accessibility

🔧 Technical changes:
- Enhanced MissionControl state management
- Improved component layout and styling
- Better TypeScript integration across components
- Updated tsconfig for stricter type checking
This commit is contained in:
rwiegand
2025-07-14 12:39:05 +02:00
parent b31492a354
commit f893530471
1798 changed files with 25329 additions and 92638 deletions

View File

@@ -1,14 +1,14 @@
import { OpenAI } from "../../index.mjs";
import { OpenAIError } from "../../error.mjs";
import * as Core from "../../core.mjs";
import { OpenAIRealtimeEmitter, buildRealtimeURL, isAzure } from "./internal-base.mjs";
import { isRunningInBrowser } from "../../internal/detect-platform.mjs";
export class OpenAIRealtimeWebSocket extends OpenAIRealtimeEmitter {
constructor(props, client) {
super();
const dangerouslyAllowBrowser = props.dangerouslyAllowBrowser ??
client?._options?.dangerouslyAllowBrowser ??
(client?.apiKey.startsWith('ek_') ? true : null);
if (!dangerouslyAllowBrowser && isRunningInBrowser()) {
if (!dangerouslyAllowBrowser && Core.isRunningInBrowser()) {
throw new OpenAIError("It looks like you're running in a browser-like environment.\n\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\n\nYou can avoid this error by creating an ephemeral session token:\nhttps://platform.openai.com/docs/api-reference/realtime-sessions\n");
}
client ?? (client = new OpenAI({ dangerouslyAllowBrowser }));