{"version":3,"file":"storage/DatabaseStorageProvider.mjs","sources":["webpack://@agent-tars/server/./src/storage/DatabaseStorageProvider.ts"],"sourcesContent":["/*\n * Copyright (c) 2025 Bytedance, Inc. and its affiliates.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AgentEventStream } from '@agent-tars/core';\nimport { StorageProvider, SessionMetadata, ServerStorageOptions } from './types';\n\n/**\n * Abstract database storage provider\n * Base class for implementing database-specific storage providers\n * Extend this class to implement storage with MongoDB, PostgreSQL, etc.\n */\nexport abstract class DatabaseStorageProvider implements StorageProvider {\n  protected config: ServerStorageOptions['database'];\n\n  constructor(config?: ServerStorageOptions['database']) {\n    this.config = config || { url: '' };\n  }\n\n  abstract initialize(): Promise<void>;\n  abstract createSession(metadata: SessionMetadata): Promise<SessionMetadata>;\n  abstract updateSessionMetadata(\n    sessionId: string,\n    metadata: Partial<Omit<SessionMetadata, 'id'>>,\n  ): Promise<SessionMetadata>;\n  abstract getSessionMetadata(sessionId: string): Promise<SessionMetadata | null>;\n  abstract getAllSessions(): Promise<SessionMetadata[]>;\n  abstract deleteSession(sessionId: string): Promise<boolean>;\n  abstract saveEvent(sessionId: string, event: AgentEventStream.Event): Promise<void>;\n  abstract getSessionEvents(sessionId: string): Promise<AgentEventStream.Event[]>;\n  abstract close(): Promise<void>;\n}\n"],"names":["DatabaseStorageProvider","config"],"mappings":";;;;AAGC;;;;;;;;;;AAUM,MAAeA;IAGpB,YAAYC,MAAyC,CAAE;QAFvD,uBAAU,UAAV;QAGE,IAAI,CAAC,MAAM,GAAGA,UAAU;YAAE,KAAK;QAAG;IACpC;AAcF"}