🎯 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
32 lines
1.3 KiB
TypeScript
32 lines
1.3 KiB
TypeScript
|
|
import { ReadableStream, type Response } from "./_shims/index.js";
|
|
export type ServerSentEvent = {
|
|
event: string | null;
|
|
data: string;
|
|
raw: string[];
|
|
};
|
|
export declare class Stream<Item> implements AsyncIterable<Item> {
|
|
private iterator;
|
|
controller: AbortController;
|
|
constructor(iterator: () => AsyncIterator<Item>, controller: AbortController);
|
|
static fromSSEResponse<Item>(response: Response, controller: AbortController): Stream<Item>;
|
|
/**
|
|
* Generates a Stream from a newline-separated ReadableStream
|
|
* where each item is a JSON value.
|
|
*/
|
|
static fromReadableStream<Item>(readableStream: ReadableStream, controller: AbortController): Stream<Item>;
|
|
[Symbol.asyncIterator](): AsyncIterator<Item>;
|
|
/**
|
|
* Splits the stream into two streams which can be
|
|
* independently read from at different speeds.
|
|
*/
|
|
tee(): [Stream<Item>, Stream<Item>];
|
|
/**
|
|
* Converts this stream to a newline-separated ReadableStream of
|
|
* JSON stringified values in the stream
|
|
* which can be turned back into a Stream with `Stream.fromReadableStream()`.
|
|
*/
|
|
toReadableStream(): ReadableStream;
|
|
}
|
|
export declare function _iterSSEMessages(response: Response, controller: AbortController): AsyncGenerator<ServerSentEvent, void, unknown>;
|
|
//# sourceMappingURL=streaming.d.ts.map
|