@mcowger/opencode-plexus 0.8.3 → 0.8.4

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.
Files changed (2) hide show
  1. package/dist/index.js +6 -26
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -74,35 +74,21 @@ async function fetchPlexusModels(apiKey, modelsUrl, timeoutMs = DEFAULT_MODELS_F
74
74
  }
75
75
  }
76
76
  // src/cache.ts
77
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
78
77
  import { mkdir, readFile, writeFile } from "fs/promises";
79
78
  import { homedir } from "os";
80
79
  import { join } from "path";
81
80
  var PLUGIN_SUBDIR = join("plugins", "plexus");
82
81
  var CACHE_FILE = "models-cache.json";
83
82
  var RAW_FILE = "models-raw.json";
84
- var resolvedDir = null;
85
83
  function fallbackDir() {
86
84
  return join(homedir(), ".local", "share", "opencode", PLUGIN_SUBDIR);
87
85
  }
88
- async function getDir(client) {
89
- if (resolvedDir)
90
- return resolvedDir;
91
- try {
92
- const res = await client.path.get();
93
- const data = res?.data;
94
- const state = typeof data?.state === "string" && data.state ? data.state : undefined;
95
- if (state) {
96
- resolvedDir = join(state, PLUGIN_SUBDIR);
97
- return resolvedDir;
98
- }
99
- } catch {}
100
- resolvedDir = fallbackDir();
101
- return resolvedDir;
86
+ function getDir() {
87
+ return fallbackDir();
102
88
  }
103
- async function readCachedModels(client) {
89
+ async function readCachedModels(_client) {
104
90
  try {
105
- const dir = await getDir(client);
91
+ const dir = getDir();
106
92
  const content = await readFile(join(dir, CACHE_FILE), "utf8");
107
93
  const parsed = JSON.parse(content);
108
94
  if (parsed && typeof parsed.models === "object" && !Array.isArray(parsed.models)) {
@@ -113,9 +99,9 @@ async function readCachedModels(client) {
113
99
  return null;
114
100
  }
115
101
  }
116
- async function writeCache(client, models, raw) {
102
+ async function writeCache(_client, models, raw) {
117
103
  try {
118
- const dir = await getDir(client);
104
+ const dir = getDir();
119
105
  await mkdir(dir, { recursive: true });
120
106
  const cache = { models, timestamp: Date.now() };
121
107
  await writeFile(join(dir, CACHE_FILE), JSON.stringify(cache, null, 2) + `
@@ -124,12 +110,6 @@ async function writeCache(client, models, raw) {
124
110
  await writeFile(join(dir, RAW_FILE), JSON.stringify(raw, null, 2) + `
125
111
  `, "utf8");
126
112
  }
127
- try {
128
- const syncDir = fallbackDir();
129
- mkdirSync(syncDir, { recursive: true });
130
- writeFileSync(join(syncDir, CACHE_FILE), JSON.stringify(cache, null, 2) + `
131
- `, "utf8");
132
- } catch {}
133
113
  } catch {}
134
114
  }
135
115
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcowger/opencode-plexus",
3
- "version": "0.8.3",
3
+ "version": "0.8.4",
4
4
  "description": "OpenCode plugin: Plexus provider with dynamic model discovery",
5
5
  "type": "module",
6
6
  "module": "./dist/index.js",