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,13 +1,9 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import { APIResource } from "../../../core/resource.mjs";
import { APIResource } from "../../../resource.mjs";
import { isRequestOptions } from "../../../core.mjs";
import * as MessagesAPI from "./messages.mjs";
import { Messages } from "./messages.mjs";
import { CursorPage } from "../../../core/pagination.mjs";
import { path } from "../../../internal/utils/path.mjs";
import { ChatCompletionRunner } from "../../../lib/ChatCompletionRunner.mjs";
import { ChatCompletionStreamingRunner } from "../../../lib/ChatCompletionStreamingRunner.mjs";
import { ChatCompletionStream } from "../../../lib/ChatCompletionStream.mjs";
import { parseChatCompletion, validateInputTools } from "../../../lib/parser.mjs";
import { CursorPage } from "../../../pagination.mjs";
export class Completions extends APIResource {
constructor() {
super(...arguments);
@@ -26,8 +22,8 @@ export class Completions extends APIResource {
* await client.chat.completions.retrieve('completion_id');
* ```
*/
retrieve(completionID, options) {
return this._client.get(path `/chat/completions/${completionID}`, options);
retrieve(completionId, options) {
return this._client.get(`/chat/completions/${completionId}`, options);
}
/**
* Modify a stored chat completion. Only Chat Completions that have been created
@@ -42,23 +38,14 @@ export class Completions extends APIResource {
* );
* ```
*/
update(completionID, body, options) {
return this._client.post(path `/chat/completions/${completionID}`, { body, ...options });
update(completionId, body, options) {
return this._client.post(`/chat/completions/${completionId}`, { body, ...options });
}
/**
* List stored Chat Completions. Only Chat Completions that have been stored with
* the `store` parameter set to `true` will be returned.
*
* @example
* ```ts
* // Automatically fetches more pages as needed.
* for await (const chatCompletion of client.chat.completions.list()) {
* // ...
* }
* ```
*/
list(query = {}, options) {
return this._client.getAPIList('/chat/completions', (CursorPage), { query, ...options });
if (isRequestOptions(query)) {
return this.list({}, query);
}
return this._client.getAPIList('/chat/completions', ChatCompletionsPage, { query, ...options });
}
/**
* Delete a stored chat completion. Only Chat Completions that have been created
@@ -67,40 +54,17 @@ export class Completions extends APIResource {
* @example
* ```ts
* const chatCompletionDeleted =
* await client.chat.completions.delete('completion_id');
* await client.chat.completions.del('completion_id');
* ```
*/
delete(completionID, options) {
return this._client.delete(path `/chat/completions/${completionID}`, options);
}
parse(body, options) {
validateInputTools(body.tools);
return this._client.chat.completions
.create(body, {
...options,
headers: {
...options?.headers,
'X-Stainless-Helper-Method': 'chat.completions.parse',
},
})
._thenUnwrap((completion) => parseChatCompletion(completion, body));
}
runTools(body, options) {
if (body.stream) {
return ChatCompletionStreamingRunner.runTools(this._client, body, options);
}
return ChatCompletionRunner.runTools(this._client, body, options);
}
/**
* Creates a chat completion stream
*/
stream(body, options) {
return ChatCompletionStream.createChatCompletion(this._client, body, options);
del(completionId, options) {
return this._client.delete(`/chat/completions/${completionId}`, options);
}
}
export { ChatCompletionStreamingRunner } from "../../../lib/ChatCompletionStreamingRunner.mjs";
export { ParsingToolFunction, } from "../../../lib/RunnableFunction.mjs";
export { ChatCompletionStream } from "../../../lib/ChatCompletionStream.mjs";
export { ChatCompletionRunner } from "../../../lib/ChatCompletionRunner.mjs";
export class ChatCompletionsPage extends CursorPage {
}
export class ChatCompletionStoreMessagesPage extends CursorPage {
}
Completions.ChatCompletionsPage = ChatCompletionsPage;
Completions.Messages = Messages;
//# sourceMappingURL=completions.mjs.map