{"version":3,"file":"storage/MemoryStorageProvider.mjs","sources":["webpack://@agent-tars/server/./src/storage/MemoryStorageProvider.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 } from './types';\n\n/**\n * In-memory storage provider\n * Simple implementation that stores data in memory\n * Useful for testing and development\n * Note: Data will be lost when the server restarts\n */\nexport class MemoryStorageProvider implements StorageProvider {\n  private sessions: Map<string, SessionMetadata> = new Map();\n  private events: Map<string, AgentEventStream.Event[]> = new Map();\n\n  async initialize(): Promise<void> {\n    // No initialization needed for memory storage\n  }\n\n  async createSession(metadata: SessionMetadata): Promise<SessionMetadata> {\n    this.sessions.set(metadata.id, {\n      ...metadata,\n      createdAt: metadata.createdAt || Date.now(),\n      updatedAt: metadata.updatedAt || Date.now(),\n    });\n    this.events.set(metadata.id, []);\n    return this.sessions.get(metadata.id)!;\n  }\n\n  async updateSessionMetadata(\n    sessionId: string,\n    metadata: Partial<Omit<SessionMetadata, 'id'>>,\n  ): Promise<SessionMetadata> {\n    const session = this.sessions.get(sessionId);\n    if (!session) {\n      throw new Error(`Session not found: ${sessionId}`);\n    }\n\n    const updatedSession = {\n      ...session,\n      ...metadata,\n      updatedAt: Date.now(),\n    };\n\n    this.sessions.set(sessionId, updatedSession);\n    return updatedSession;\n  }\n\n  async getSessionMetadata(sessionId: string): Promise<SessionMetadata | null> {\n    return this.sessions.get(sessionId) || null;\n  }\n\n  async getAllSessions(): Promise<SessionMetadata[]> {\n    return Array.from(this.sessions.values());\n  }\n\n  async deleteSession(sessionId: string): Promise<boolean> {\n    const deleted = this.sessions.delete(sessionId);\n    this.events.delete(sessionId);\n    return deleted;\n  }\n\n  async saveEvent(sessionId: string, event: AgentEventStream.Event): Promise<void> {\n    if (!this.sessions.has(sessionId)) {\n      throw new Error(`Session not found: ${sessionId}`);\n    }\n\n    const sessionEvents = this.events.get(sessionId) || [];\n    sessionEvents.push(event);\n    this.events.set(sessionId, sessionEvents);\n\n    // Update the session's updatedAt timestamp\n    await this.updateSessionMetadata(sessionId, { updatedAt: Date.now() });\n  }\n\n  async getSessionEvents(sessionId: string): Promise<AgentEventStream.Event[]> {\n    if (!this.sessions.has(sessionId)) {\n      throw new Error(`Session not found: ${sessionId}`);\n    }\n    return this.events.get(sessionId) || [];\n  }\n\n  async close(): Promise<void> {\n    // No cleanup needed for memory storage\n  }\n}\n"],"names":["MemoryStorageProvider","metadata","Date","sessionId","session","Error","updatedSession","Array","deleted","event","sessionEvents","Map"],"mappings":";;;;AAGC;;;;;;;;;;AAWM,MAAMA;IAIX,MAAM,aAA4B,CAElC;IAEA,MAAM,cAAcC,QAAyB,EAA4B;QACvE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,SAAS,EAAE,EAAE;YAC7B,GAAGA,QAAQ;YACX,WAAWA,SAAS,SAAS,IAAIC,KAAK,GAAG;YACzC,WAAWD,SAAS,SAAS,IAAIC,KAAK,GAAG;QAC3C;QACA,IAAI,CAAC,MAAM,CAAC,GAAG,CAACD,SAAS,EAAE,EAAE,EAAE;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,SAAS,EAAE;IACtC;IAEA,MAAM,sBACJE,SAAiB,EACjBF,QAA8C,EACpB;QAC1B,MAAMG,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACD;QAClC,IAAI,CAACC,SACH,MAAM,IAAIC,MAAM,CAAC,mBAAmB,EAAEF,WAAW;QAGnD,MAAMG,iBAAiB;YACrB,GAAGF,OAAO;YACV,GAAGH,QAAQ;YACX,WAAWC,KAAK,GAAG;QACrB;QAEA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACC,WAAWG;QAC7B,OAAOA;IACT;IAEA,MAAM,mBAAmBH,SAAiB,EAAmC;QAC3E,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,cAAc;IACzC;IAEA,MAAM,iBAA6C;QACjD,OAAOI,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;IACxC;IAEA,MAAM,cAAcJ,SAAiB,EAAoB;QACvD,MAAMK,UAAU,IAAI,CAAC,QAAQ,CAAC,MAAM,CAACL;QACrC,IAAI,CAAC,MAAM,CAAC,MAAM,CAACA;QACnB,OAAOK;IACT;IAEA,MAAM,UAAUL,SAAiB,EAAEM,KAA6B,EAAiB;QAC/E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACN,YACrB,MAAM,IAAIE,MAAM,CAAC,mBAAmB,EAAEF,WAAW;QAGnD,MAAMO,gBAAgB,IAAI,CAAC,MAAM,CAAC,GAAG,CAACP,cAAc,EAAE;QACtDO,cAAc,IAAI,CAACD;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAACN,WAAWO;QAG3B,MAAM,IAAI,CAAC,qBAAqB,CAACP,WAAW;YAAE,WAAWD,KAAK,GAAG;QAAG;IACtE;IAEA,MAAM,iBAAiBC,SAAiB,EAAqC;QAC3E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,YACrB,MAAM,IAAIE,MAAM,CAAC,mBAAmB,EAAEF,WAAW;QAEnD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAACA,cAAc,EAAE;IACzC;IAEA,MAAM,QAAuB,CAE7B;;QAxEA,uBAAQ,YAAyC,IAAIQ;QACrD,uBAAQ,UAAgD,IAAIA;;AAwE9D"}