feat: refine codex live chat flow

This commit is contained in:
2026-04-24 21:02:01 +09:00
parent d53532508b
commit 63e5d263a7
18 changed files with 1747 additions and 297 deletions

View File

@@ -4,6 +4,7 @@ import {
buildChatConversationRequestPatchFromMessage,
isVisibleConversationMessage,
mergeChatConversationRequestStatus,
resolveNextConversationChatTypeId,
shouldClearConversationJobState,
selectChatConversationResponseCandidate,
} from './chat-room-service.js';
@@ -15,6 +16,17 @@ test('mergeChatConversationRequestStatus keeps terminal states from being downgr
assert.equal(mergeChatConversationRequestStatus('accepted', 'completed'), 'completed');
});
test('resolveNextConversationChatTypeId prefers the requested chat type over the stored one', () => {
assert.equal(resolveNextConversationChatTypeId('general-request', 'api-request-template'), 'api-request-template');
assert.equal(resolveNextConversationChatTypeId('general-request', ' api-request-template '), 'api-request-template');
});
test('resolveNextConversationChatTypeId falls back to the stored chat type when the request is empty', () => {
assert.equal(resolveNextConversationChatTypeId('general-request', null), 'general-request');
assert.equal(resolveNextConversationChatTypeId('general-request', ' '), 'general-request');
assert.equal(resolveNextConversationChatTypeId(null, null), null);
});
test('buildChatConversationRequestPatchFromMessage ignores system progress messages', () => {
assert.equal(
buildChatConversationRequestPatchFromMessage({