chore: rebuild CentOS7 release package

This commit is contained in:
shiyue
2026-07-01 09:29:11 +08:00
parent ddd97398e7
commit 75ffdb1c6f
6 changed files with 247 additions and 11 deletions

View File

@@ -515,6 +515,17 @@ function assertFrontendGenerationControlsContract() {
source.includes("send({ type: 'import_codex_session', agent: importAgent"),
'Frontend Codex import modal should pass the selected Codex-like agent'
);
assert(
source.includes('function appendImportVisibilityToggle') &&
source.includes('显示已导入会话') &&
source.includes('cc-web 已存在的会话'),
'Frontend import modal should expose a toggle for already imported sessions'
);
assert(
source.includes('(group.sessions || []).filter((sess) => !sess.alreadyImported)') &&
source.includes('codexItems.filter((sess) => !sess.alreadyImported)'),
'Frontend import modal should hide already imported sessions by default'
);
}
function assertFrontendComposerMcpContract() {
@@ -697,6 +708,32 @@ async function main() {
source: 'vscode',
fileStamp: '2026-03-12T00-00-10',
});
const duplicateSourceConversationId = '11111111-1111-4111-8111-111111111111';
const duplicateSourceConversationTitle = '你能看下 00a7cbc2-d0c3-457f-a262-aa5a5859fa54 这个对话么, 你来评估下,这个对话中';
createFakeCodexHistory(homeDir, {
threadId: 'codexapp-duplicate-thread-a',
cwd: '/tmp/project-c',
userText: `来自「${duplicateSourceConversationTitle}」对话ID: ${duplicateSourceConversationId})的消息:\n\n旧候选`,
answerText: 'duplicate import answer a',
source: 'vscode',
fileStamp: '2026-03-12T00-00-20',
});
createFakeCodexHistory(homeDir, {
threadId: 'codexapp-duplicate-thread-b',
cwd: '/tmp/project-c',
userText: `来自「${duplicateSourceConversationTitle}」对话ID: ${duplicateSourceConversationId})的消息:\n\n新候选`,
answerText: 'duplicate import answer b',
source: 'vscode',
fileStamp: '2026-03-12T00-00-21',
});
const codexAppObjectSourceFixture = createFakeCodexHistory(homeDir, {
threadId: 'codexapp-object-source-thread',
cwd: '/tmp/project-c',
userText: 'Object source import prompt',
answerText: 'Object source import answer',
source: { subagent: { thread_spawn: { parent_thread_id: 'parent-thread', depth: 1 } } },
fileStamp: '2026-03-12T00-00-22',
});
const port = await getFreePort();
const password = 'Regression!234';
@@ -1899,6 +1936,11 @@ async function main() {
assert(codexAppImportItem, 'Codex App session listing failed');
assert(codexAppImportItem.agent === 'codexapp', 'Codex App import listing should echo target agent');
assert(codexAppImportItem.alreadyImported === false, 'Codex App import should not reuse old Codex imported state');
const duplicateSourceItems = codexAppImportSessions.sessions.filter((item) => item.sourceConversationId === duplicateSourceConversationId);
assert(duplicateSourceItems.length === 1, 'Codex App import list should collapse rollout entries from the same cc-web source conversation');
assert(duplicateSourceItems[0].duplicateCount === 2, 'Collapsed Codex App import item should report duplicate rollout count');
const objectSourceItem = codexAppImportSessions.sessions.find((item) => item.threadId === codexAppObjectSourceFixture.threadId);
assert(objectSourceItem?.source === 'subagent', 'Codex App import list should format object source metadata');
ws.send(JSON.stringify({
type: 'import_codex_session',