fix: verify Cursor chat store before reopen (#1037)

* test: reproduce issue #841

* test: cover Cursor chat store discovery

* fix: verify Cursor chat store before resume (closes #841)

* test: preserve non-Cursor resume behavior

* test: cover conservative Cursor resume gating

* fix: gate Cursor reopen until store verification

* test: cover legacy Cursor drawer fallback

* fix: scan unique legacy Cursor store drawer

* test: preserve raw Cursor workspace path hashing

* fix: hash raw Cursor workspace path

* test: pin Cursor probe owner and machine

* fix: probe Cursor store on recorded owner

* test: normalize Cursor probe owner home

* fix: normalize Cursor probe owner home
This commit is contained in:
SSU-WEI HUANG
2026-07-16 12:34:41 +08:00
committed by GitHub
parent adb6f41858
commit 520c3f511a
27 changed files with 955 additions and 34 deletions
+7
View File
@@ -27,6 +27,7 @@ import type {
CodexModelsResponse,
CursorMigrateOutcome,
CursorMigrateToAcpRequest,
CursorChatStoreStatus,
CursorModelsResponse,
DeleteUploadResponse,
FileReadResponse,
@@ -389,6 +390,12 @@ export class ApiClient {
return response.sessionId
}
async getCursorChatStoreStatus(sessionId: string): Promise<CursorChatStoreStatus> {
return await this.request<CursorChatStoreStatus>(
`/api/sessions/${encodeURIComponent(sessionId)}/cursor-chat-store`
)
}
async sendMessage(sessionId: string, text: string, localId?: string | null, attachments?: AttachmentMetadata[], scheduledAt?: number | null): Promise<void> {
await this.request(`/api/sessions/${encodeURIComponent(sessionId)}/messages`, {
method: 'POST',