✅ 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:
18
node_modules/openai/lib/EventEmitter.js
generated
vendored
18
node_modules/openai/lib/EventEmitter.js
generated
vendored
@@ -1,8 +1,12 @@
|
||||
"use strict";
|
||||
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
||||
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
||||
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
||||
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
||||
};
|
||||
var _EventEmitter_listeners;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.EventEmitter = void 0;
|
||||
const tslib_1 = require("../internal/tslib.js");
|
||||
class EventEmitter {
|
||||
constructor() {
|
||||
_EventEmitter_listeners.set(this, {});
|
||||
@@ -15,7 +19,7 @@ class EventEmitter {
|
||||
* @returns this, so that calls can be chained
|
||||
*/
|
||||
on(event, listener) {
|
||||
const listeners = tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] || (tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] = []);
|
||||
const listeners = __classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] || (__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] = []);
|
||||
listeners.push({ listener });
|
||||
return this;
|
||||
}
|
||||
@@ -27,7 +31,7 @@ class EventEmitter {
|
||||
* @returns this, so that calls can be chained
|
||||
*/
|
||||
off(event, listener) {
|
||||
const listeners = tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event];
|
||||
const listeners = __classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event];
|
||||
if (!listeners)
|
||||
return this;
|
||||
const index = listeners.findIndex((l) => l.listener === listener);
|
||||
@@ -41,7 +45,7 @@ class EventEmitter {
|
||||
* @returns this, so that calls can be chained
|
||||
*/
|
||||
once(event, listener) {
|
||||
const listeners = tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] || (tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] = []);
|
||||
const listeners = __classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] || (__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] = []);
|
||||
listeners.push({ listener, once: true });
|
||||
return this;
|
||||
}
|
||||
@@ -63,14 +67,14 @@ class EventEmitter {
|
||||
});
|
||||
}
|
||||
_emit(event, ...args) {
|
||||
const listeners = tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event];
|
||||
const listeners = __classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event];
|
||||
if (listeners) {
|
||||
tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] = listeners.filter((l) => !l.once);
|
||||
__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event] = listeners.filter((l) => !l.once);
|
||||
listeners.forEach(({ listener }) => listener(...args));
|
||||
}
|
||||
}
|
||||
_hasListener(event) {
|
||||
const listeners = tslib_1.__classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event];
|
||||
const listeners = __classPrivateFieldGet(this, _EventEmitter_listeners, "f")[event];
|
||||
return listeners && listeners.length > 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user