diff --git a/package.json b/package.json index 9136c8c..f3f56a1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opencode-mem", - "version": "2.25.0", + "version": "2.26.0", "description": "OpenCode plugin that gives coding agents persistent memory using local Turso/libSQL vector search", "type": "module", "main": "dist/plugin.js", diff --git a/src/index.ts b/src/index.ts index 70deb4b..326a69d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1079,10 +1079,6 @@ function formatMemoriesForCompaction(memories: any[]): string { memories.forEach((m, i) => { const tags = Array.isArray(m.tags) ? m.tags : []; - // Auto-capture stores the same tags as a trailing "Tags: …" footer in the - // body (#131). Strip that footer only when it matches the structured tags - // so a later canonical line does not duplicate them. Unrelated user-authored - // "Tags:" lines (manual / API / import) stay in the body. const body = tags.length > 0 ? stripMatchingEmbeddedTagsFooter(m.memory ?? "", tags) : (m.memory ?? ""); diff --git a/src/services/tags.ts b/src/services/tags.ts index 2e21088..cf7588e 100644 --- a/src/services/tags.ts +++ b/src/services/tags.ts @@ -78,18 +78,11 @@ function resolveTrustedWindowsShell(untrustedRoot: string): string | null { accessSync(path, constants.X_OK); const candidate = canonicalPath(path); if (!isPathInside(untrustedRoot, candidate)) return candidate; - } catch { - // Try the next trusted system-shell location. - } + } catch {} } return null; } -/** - * Resolve Git only from absolute PATH entries outside the repository being - * inspected. In particular, never let Windows resolve a repository-local - * git.exe/git.cmd/git.bat from the child process working directory. - */ function resolveTrustedGitCommand(directory: string): GitCommand | null { const untrustedRoot = findUntrustedProjectRoot(directory); const executableNames = @@ -112,9 +105,7 @@ function resolveTrustedGitCommand(directory: string): GitCommand | null { const shell = resolveTrustedWindowsShell(untrustedRoot); if (shell) return { executable, shell }; - } catch { - // Continue searching PATH. Missing Git uses the existing null fallbacks. - } + } catch {} } } diff --git a/src/services/user-profile/ai-cleanup.ts b/src/services/user-profile/ai-cleanup.ts index d81dc55..bf131d0 100644 --- a/src/services/user-profile/ai-cleanup.ts +++ b/src/services/user-profile/ai-cleanup.ts @@ -248,8 +248,6 @@ async function callViaExternalAPI( applySafeExtraParams(requestBody, CONFIG.memoryExtraParams); } - // Cleanup relies on these fields for deterministic JSON output. Assign them after optional - // provider parameters so callers cannot replace cleanup semantics through extra params. Object.assign(requestBody, { model: CONFIG.memoryModel, messages: [ diff --git a/src/services/web-server.ts b/src/services/web-server.ts index 2caf229..82cd7be 100644 --- a/src/services/web-server.ts +++ b/src/services/web-server.ts @@ -171,7 +171,6 @@ function serveFetch(opts: { // rebind after a crashed predecessor left orphaned sockets behind. server.listen({ port: opts.port, host: opts.hostname, reuseAddr: true, exclusive: false }); server.unref(); - // Keep the outer transport alive longer than the longest profile-cleanup deadline. server.timeout = NODE_HTTP_IDLE_TIMEOUT_MS; server.keepAliveTimeout = 10000; server.headersTimeout = 11000;