Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@tarquinen/opencode-auth-provider

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tarquinen/opencode-auth-provider - npm Package Compare versions

Comparing version
0.1.4
to
0.1.5
+29
-6
dist/global.js

@@ -29,7 +29,25 @@ import fs from "fs/promises";

]);
const CACHE_VERSION = "9";
const version = await fs
.readFile(path.join(Global.Path.cache, "version"), "utf8")
.catch(() => "0");
if (version !== CACHE_VERSION) {
const CACHE_VERSION = "11";
// Minimum cache version we're compatible with (don't clear if version is >= this)
// This prevents cache thrashing when multiple packages with different CACHE_VERSION
// values are loaded in the same process (e.g., OpenCode + plugins)
const MIN_COMPATIBLE_VERSION = 9;
// Don't clear cache if it was modified very recently (within this many ms)
// This prevents race conditions where OpenCode just set up the cache
const CACHE_AGE_THRESHOLD_MS = 5000;
const versionFile = path.join(Global.Path.cache, "version");
const { version, mtime } = await fs
.readFile(versionFile, "utf8")
.then(async (content) => {
const stat = await fs.stat(versionFile).catch(() => null);
return { version: content.trim(), mtime: stat?.mtime };
})
.catch(() => ({ version: "0", mtime: undefined }));
const versionNum = parseInt(version, 10) || 0;
const cacheAge = mtime ? Date.now() - mtime.getTime() : Infinity;
// Only clear cache if:
// 1. Version is below minimum compatible version, AND
// 2. Cache wasn't just created/modified (prevents race with OpenCode)
const shouldClearCache = versionNum < MIN_COMPATIBLE_VERSION && cacheAge > CACHE_AGE_THRESHOLD_MS;
if (shouldClearCache) {
try {

@@ -43,4 +61,9 @@ const contents = await fs.readdir(Global.Path.cache);

catch (e) { }
await fs.writeFile(path.join(Global.Path.cache, "version"), CACHE_VERSION);
await fs.writeFile(versionFile, CACHE_VERSION);
}
else if (version !== CACHE_VERSION && cacheAge > CACHE_AGE_THRESHOLD_MS) {
// Update version file without clearing cache if we're compatible
// but only if cache isn't freshly created (to avoid race conditions)
await fs.writeFile(versionFile, CACHE_VERSION).catch(() => { });
}
//# sourceMappingURL=global.js.map
+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"global.js","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"global.js","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"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"}
{
"name": "@tarquinen/opencode-auth-provider",
"version": "0.1.4",
"version": "0.1.5",
"description": "Reuse OpenCode authentication & provider logic for clean AI calls in plugins",

@@ -5,0 +5,0 @@ "type": "module",