mirror of
https://github.com/wu736139669/hapi.git
synced 2026-08-07 06:52:28 +00:00
修复 Codex 会话导入合并后列表为空的问题。 Fix Codex session import merge so a session is not detected as a duplicate of itself and deleted during merge.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import { ListCodexSessionsRpcResponseSchema } from './apiTypes'
|
||||
|
||||
describe('ListCodexSessionsRpcResponseSchema', () => {
|
||||
it('preserves Codex session messages when parsing runner RPC responses', () => {
|
||||
const parsed = ListCodexSessionsRpcResponseSchema.parse({
|
||||
success: true,
|
||||
sessions: [{
|
||||
id: 'codex-session-id',
|
||||
title: 'Codex Session',
|
||||
file: '/home/user/.codex/sessions/session.jsonl',
|
||||
modifiedAt: 1_000,
|
||||
messages: [{
|
||||
role: 'user',
|
||||
content: {
|
||||
type: 'text',
|
||||
text: 'hello'
|
||||
},
|
||||
meta: {
|
||||
sentFrom: 'cli'
|
||||
}
|
||||
}]
|
||||
}]
|
||||
})
|
||||
|
||||
expect(parsed.success).toBe(true)
|
||||
if (parsed.success) {
|
||||
expect(parsed.sessions[0]?.messages).toHaveLength(1)
|
||||
}
|
||||
})
|
||||
})
|
||||
@@ -163,7 +163,7 @@ export const ListCodexSessionsRpcRequestSchema = z.object({
|
||||
})
|
||||
|
||||
export const ListCodexSessionsRpcResponseSchema = z.union([
|
||||
z.object({ success: z.literal(true), sessions: z.array(z.union([CodexLocalSessionSummarySchema, CodexLocalSessionWithMessagesSchema])) }),
|
||||
z.object({ success: z.literal(true), sessions: z.array(z.union([CodexLocalSessionWithMessagesSchema, CodexLocalSessionSummarySchema])) }),
|
||||
z.object({ success: z.literal(false), error: z.string() })
|
||||
])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user