diff --git a/packages/memory-service/src/index.js b/packages/memory-service/src/index.js index d2788e9..43e48e7 100644 --- a/packages/memory-service/src/index.js +++ b/packages/memory-service/src/index.js @@ -43,11 +43,18 @@ app.get('/sessions', (req, res) => { res.json(sessions); }); -app.get('/sessions', (req, res) => { - const {limit = EPISODIC.DEFAULT_PAGE_SIZE, offset = EPISODIC.DEFAULT_OFFSET, projectId } = req.query; - const sessions = episodic.getSessions(Number(limit), Number(offset, projectId ?? null)); - res.json(sessions); -}) +app.post('/sessions', (req, res) => { + const { externalId, metadata } = req.body; + if (!externalId) { + return res.status(400).json({ error: 'externalId is required' }); + } + try { + const session = episodic.createSession(externalId, metadata); + res.status(201).json(session); + } catch (err) { + res.status(409).json({ error: 'Session already exists', detail: err.message }); + } +}); // Retrieves a session by its external ID app.get('/sessions/by-external/:externalId', (req, res) => { diff --git a/packages/source.zip b/packages/source.zip new file mode 100644 index 0000000..b4689c7 Binary files /dev/null and b/packages/source.zip differ