diff --git a/lib/version-checker.ts b/lib/version-checker.ts index ea28ab9..9233929 100644 --- a/lib/version-checker.ts +++ b/lib/version-checker.ts @@ -54,10 +54,20 @@ export function isOutdated(local: string, remote: string): boolean { export async function performUpdate(targetVersion: string, logger?: { info: (component: string, message: string, data?: any) => void }): Promise { const cacheDir = join(homedir(), '.cache', 'opencode') + const bunCacheDir = join(homedir(), '.bun', 'install', 'cache', '@tarquinen') const packageSpec = `${PACKAGE_NAME}@${targetVersion}` logger?.info("version", "Starting auto-update", { targetVersion, cacheDir }) + // Clear bun's install cache for this package to prevent stale versions + try { + const { rmSync } = await import('fs') + rmSync(bunCacheDir, { recursive: true, force: true }) + logger?.info("version", "Cleared bun cache", { bunCacheDir }) + } catch (err) { + logger?.info("version", "Could not clear bun cache", { error: (err as Error).message }) + } + return new Promise((resolve) => { let resolved = false diff --git a/package-lock.json b/package-lock.json index d5f9687..8965d17 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@tarquinen/opencode-dcp", - "version": "0.4.6", + "version": "0.4.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@tarquinen/opencode-dcp", - "version": "0.4.6", + "version": "0.4.7", "license": "MIT", "dependencies": { "@ai-sdk/openai-compatible": "^1.0.28", diff --git a/package.json b/package.json index d308c6c..9f6ae75 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@tarquinen/opencode-dcp", - "version": "0.4.6", + "version": "0.4.7", "type": "module", "description": "OpenCode plugin that optimizes token usage by pruning obsolete tool outputs from conversation context", "main": "./dist/index.js",