fix: load optional persistence errors only with its service

This commit is contained in:
07akioni committed 2026-09-16 15:19:09 +08:00
1 parent e0f170b8d0
commit eb57fdb9c6
2 files changed
+17 -4

No files matched your search

+7 -4
View File
@@ -10,7 +10,7 @@ import type {} from '@deepseek-ai/dsh-agent-default-model'
import type {} from '@deepseek-ai/dsh-agent-presets'
import { ReasoningEffortId } from '@deepseek-ai/dsh-llm'
import type { Session, SessionId } from '@deepseek-ai/dsh-session'
import { SessionAlreadyOwnedError, type SessionInspection } from '@deepseek-ai/dsh-session-persistence'
import type { SessionInspection } from '@deepseek-ai/dsh-session-persistence'
import { SessionQueryError, type SessionObservation } from '@deepseek-ai/dsh-session-query'
import { RemoteError } from '@deepseek-ai/dsh-typert-protocol'
import type {} from '@deepseek-ai/dsh-typert-registry'
@@ -215,9 +215,12 @@ export class ApiSessionAgentController {
if (racedSession !== undefined && hasApiSessionSubagentOwner(this.ctx, racedSession, undefined)) {
return { error: apiSessionSubagentOwnershipError(sessionId) }
}
if (error instanceof SessionAlreadyOwnedError) {
return {
error: new RemoteError('session/agent-busy', error.message, { reason: 'session-already-owned' }),
if (this.ctx.get('sessionPersistence') !== undefined) {
const { SessionAlreadyOwnedError } = await import('@deepseek-ai/dsh-session-persistence')
if (error instanceof SessionAlreadyOwnedError) {
return {
error: new RemoteError('session/agent-busy', error.message, { reason: 'session-already-owned' }),
}
}
}
return {