memctx 1.3.5 → 1.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,9 +14,13 @@ exports.forceEndSessionRouter.post('/:sessionId', async (req, res) => {
14
14
  if (!session) {
15
15
  return res.status(404).json({ error: 'Session not found' });
16
16
  }
17
- // Allow force end if session is active OR if summary is still in progress
17
+ // Allow force end if:
18
+ // 1. Session is active, OR
19
+ // 2. Session is completed but has no summary (summary_title is null), OR
20
+ // 3. Summary is still in progress
21
+ const hasSummary = session.summary_title !== null;
18
22
  const summaryInProgress = session.summary_status && session.summary_status.toLowerCase() === 'in_progress';
19
- if (session.status === 'completed' && !summaryInProgress) {
23
+ if (session.status === 'completed' && hasSummary && !summaryInProgress) {
20
24
  return res.status(400).json({ error: 'Session already completed with summary' });
21
25
  }
22
26
  console.log(`[ForceEndSession] Forcing session end: ${sessionId.slice(0, 8)}`);
@@ -31,8 +35,8 @@ exports.forceEndSessionRouter.post('/:sessionId', async (req, res) => {
31
35
  const project = queries_1.queries.getProject(session.project_id);
32
36
  if (project && project.root_path) {
33
37
  // Convert root path to Claude projects directory format
34
- // Replace / with - and spaces with -
35
- const projectDirName = project.root_path.replace(/\//g, '-').replace(/ /g, '-');
38
+ // Replace any non-alphanumeric character with -
39
+ const projectDirName = project.root_path.replace(/[^a-zA-Z0-9]/g, '-');
36
40
  const claudeProjectsDir = path.join(homedir(), '.claude', 'projects', projectDirName);
37
41
  const possiblePath = path.join(claudeProjectsDir, `${sessionId}.jsonl`);
38
42
  if (fs.existsSync(possiblePath)) {
@@ -1 +1 @@
1
- {"version":3,"file":"force-end-session.js","sourceRoot":"","sources":["../../../src/api/force-end-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"force-end-session.js","sourceRoot":"","sources":["../../../src/api/force-end-session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memctx",
3
- "version": "1.3.5",
3
+ "version": "1.3.7",
4
4
  "description": "Autonomous session memory for Claude Code - automatically captures, analyzes, and summarizes your development sessions",
5
5
  "author": "Fahad Aziz Qureshi <info@memctx.dev> (https://memctx.dev)",
6
6
  "license": "MIT",