@osovv/vv-opencode 0.1.0 → 0.2.2

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 (43) hide show
  1. package/README.md +244 -20
  2. package/dist/commands/doctor.d.ts +1 -7
  3. package/dist/commands/doctor.js +6 -20
  4. package/dist/commands/doctor.js.map +1 -1
  5. package/dist/commands/guardian.js +1 -1
  6. package/dist/commands/guardian.js.map +1 -1
  7. package/dist/commands/install.d.ts +6 -7
  8. package/dist/commands/install.js +17 -17
  9. package/dist/commands/install.js.map +1 -1
  10. package/dist/commands/status.d.ts +1 -1
  11. package/dist/commands/status.js +5 -5
  12. package/dist/commands/status.js.map +1 -1
  13. package/dist/commands/sync.d.ts +2 -8
  14. package/dist/commands/sync.js +7 -16
  15. package/dist/commands/sync.js.map +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.js +1 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/lib/opencode.d.ts +15 -13
  20. package/dist/lib/opencode.js +105 -110
  21. package/dist/lib/opencode.js.map +1 -1
  22. package/dist/lib/vvoc-paths.d.ts +9 -0
  23. package/dist/lib/vvoc-paths.js +48 -0
  24. package/dist/lib/vvoc-paths.js.map +1 -0
  25. package/dist/plugins/guardian.js +20 -21
  26. package/dist/plugins/guardian.js.map +1 -1
  27. package/dist/plugins/memory-store.d.ts +55 -0
  28. package/dist/plugins/memory-store.js +472 -0
  29. package/dist/plugins/memory-store.js.map +1 -0
  30. package/dist/plugins/memory.d.ts +2 -0
  31. package/dist/plugins/memory.js +323 -0
  32. package/dist/plugins/memory.js.map +1 -0
  33. package/package.json +16 -6
  34. package/AGENTS.md +0 -164
  35. package/dist/lib/opencode.test.d.ts +0 -1
  36. package/dist/lib/opencode.test.js +0 -47
  37. package/dist/lib/opencode.test.js.map +0 -1
  38. package/docs/development-plan.xml +0 -155
  39. package/docs/knowledge-graph.xml +0 -42
  40. package/docs/operational-packets.xml +0 -106
  41. package/docs/requirements.xml +0 -66
  42. package/docs/technology.xml +0 -51
  43. package/docs/verification-plan.xml +0 -145
package/dist/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export { GuardianPlugin } from "./plugins/guardian.js";
2
+ export { MemoryPlugin } from "./plugins/memory.js";
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export { GuardianPlugin } from "./plugins/guardian.js";
2
+ export { MemoryPlugin } from "./plugins/memory.js";
2
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,19 +1,20 @@
1
+ import { type MemoryConfigOverrides } from "../plugins/memory-store.js";
1
2
  export declare const CLI_NAME = "vvoc";
2
3
  export declare const PACKAGE_NAME = "@osovv/vv-opencode";
3
4
  export declare const OPENCODE_SCHEMA_URL = "https://opencode.ai/config.json";
4
5
  export type Scope = "global" | "project";
5
- export type PluginInstallSource = "local" | "npm";
6
6
  export type ResolvedPaths = {
7
7
  scope: Scope;
8
8
  cwd: string;
9
+ configHome: string;
9
10
  opencodeBaseDir: string;
10
- guardianBaseDir: string;
11
- pluginBaseDir: string;
11
+ vvocBaseDir: string;
12
12
  opencodeConfigPath: string;
13
13
  opencodeAlternatePaths: string[];
14
14
  guardianConfigPath: string;
15
15
  guardianAlternatePaths: string[];
16
- pluginEntryPath: string;
16
+ memoryConfigPath: string;
17
+ memoryConfigAlternates: string[];
17
18
  };
18
19
  export type GuardianConfigOverrides = {
19
20
  model?: string;
@@ -34,7 +35,7 @@ export type InstallationInspection = {
34
35
  exists: boolean;
35
36
  alternates: string[];
36
37
  parseError?: string;
37
- packageConfigured: boolean;
38
+ pluginConfigured: boolean;
38
39
  plugins: string[];
39
40
  };
40
41
  guardian: {
@@ -45,11 +46,13 @@ export type InstallationInspection = {
45
46
  parseError?: string;
46
47
  overrides?: GuardianConfigOverrides;
47
48
  };
48
- localPlugin: {
49
+ memory: {
49
50
  path: string;
50
51
  exists: boolean;
52
+ alternates: string[];
51
53
  managed: boolean;
52
- target?: string;
54
+ parseError?: string;
55
+ overrides?: MemoryConfigOverrides;
53
56
  };
54
57
  warnings: string[];
55
58
  problems: string[];
@@ -66,21 +69,20 @@ export declare function ensurePackageInstalled(paths: ResolvedPaths): Promise<{
66
69
  path: string;
67
70
  changed: boolean;
68
71
  }>;
69
- export declare function installLocalPlugin(paths: ResolvedPaths, options: {
72
+ export declare function installGuardianConfig(paths: ResolvedPaths, options: {
70
73
  force: boolean;
71
74
  }): Promise<WriteResult>;
72
- export declare function syncLocalPlugin(paths: ResolvedPaths, options: {
75
+ export declare function syncGuardianConfig(paths: ResolvedPaths, options: {
73
76
  force: boolean;
74
77
  }): Promise<WriteResult>;
75
- export declare function installGuardianConfig(paths: ResolvedPaths, options: {
78
+ export declare function writeGuardianConfig(paths: ResolvedPaths, overrides: GuardianConfigOverrides, options: {
76
79
  force: boolean;
77
80
  }): Promise<WriteResult>;
78
- export declare function syncGuardianConfig(paths: ResolvedPaths, options: {
81
+ export declare function installMemoryConfig(paths: ResolvedPaths, options: {
79
82
  force: boolean;
80
83
  }): Promise<WriteResult>;
81
- export declare function writeGuardianConfig(paths: ResolvedPaths, overrides: GuardianConfigOverrides, options: {
84
+ export declare function syncMemoryConfig(paths: ResolvedPaths, options: {
82
85
  force: boolean;
83
86
  }): Promise<WriteResult>;
84
87
  export declare function inspectInstallation(paths: ResolvedPaths): Promise<InstallationInspection>;
85
- export declare function renderLocalPluginShim(): Promise<string>;
86
88
  export declare function describeWriteResult(result: WriteResult): string;
@@ -1,50 +1,43 @@
1
1
  import { applyEdits, format, modify, parse } from "jsonc-parser";
2
- import { access, mkdir, readFile, writeFile } from "node:fs/promises";
3
- import { homedir } from "node:os";
2
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
4
3
  import { dirname, join } from "node:path";
5
- import { fileURLToPath, pathToFileURL } from "node:url";
4
+ import { parseMemoryConfigText, renderMemoryConfig, } from "../plugins/memory-store.js";
5
+ import { getConfigHome, getGlobalOpencodeDir, getGlobalVvocDir, getProjectVvocDir, } from "./vvoc-paths.js";
6
6
  export const CLI_NAME = "vvoc";
7
7
  export const PACKAGE_NAME = "@osovv/vv-opencode";
8
8
  export const OPENCODE_SCHEMA_URL = "https://opencode.ai/config.json";
9
- const DEFAULT_GLOBAL_CONFIG_DIR = join(homedir(), ".config", "opencode");
10
9
  const MANAGED_MARKER = "Managed by vvoc";
11
10
  const DEFAULT_GUARDIAN_TIMEOUT_MS = 90_000;
12
11
  const DEFAULT_GUARDIAN_APPROVAL_RISK_THRESHOLD = 80;
13
- const LOCAL_PLUGIN_FILE_NAME = "vv-opencode.ts";
12
+ const GUARDIAN_CONFIG_FILE_NAMES = ["guardian.jsonc", "guardian.json"];
13
+ const MEMORY_CONFIG_FILE_NAMES = ["memory.jsonc", "memory.json"];
14
+ const OPENCODE_CONFIG_FILE_NAMES = ["opencode.json", "opencode.jsonc"];
14
15
  const JSON_FORMAT = {
15
16
  insertSpaces: true,
16
17
  tabSize: 2,
17
18
  eol: "\n",
18
19
  };
19
20
  export async function resolvePaths(options) {
20
- const opencodeBaseDir = options.scope === "global"
21
- ? options.configDir ?? DEFAULT_GLOBAL_CONFIG_DIR
22
- : options.cwd;
23
- const guardianBaseDir = options.scope === "global"
24
- ? options.configDir ?? DEFAULT_GLOBAL_CONFIG_DIR
25
- : join(options.cwd, ".opencode");
26
- const pluginBaseDir = options.scope === "global"
27
- ? join(options.configDir ?? DEFAULT_GLOBAL_CONFIG_DIR, "plugins")
28
- : join(options.cwd, ".opencode", "plugins");
29
- const opencodeSelection = await selectPrimaryPath([
30
- join(opencodeBaseDir, "opencode.json"),
31
- join(opencodeBaseDir, "opencode.jsonc"),
32
- ]);
33
- const guardianSelection = await selectPrimaryPath([
34
- join(guardianBaseDir, "guardian.jsonc"),
35
- join(guardianBaseDir, "guardian.json"),
36
- ]);
21
+ const configHome = getConfigHome(options.configDir);
22
+ const opencodeBaseDir = options.scope === "global" ? getGlobalOpencodeDir(options.configDir) : options.cwd;
23
+ const vvocBaseDir = options.scope === "global"
24
+ ? getGlobalVvocDir(options.configDir)
25
+ : getProjectVvocDir(options.cwd);
26
+ const opencodeSelection = await selectPrimaryPath(OPENCODE_CONFIG_FILE_NAMES.map((name) => join(opencodeBaseDir, name)));
27
+ const guardianSelection = await selectPrimaryPath(GUARDIAN_CONFIG_FILE_NAMES.map((name) => join(vvocBaseDir, name)));
28
+ const memorySelection = await selectPrimaryPath(MEMORY_CONFIG_FILE_NAMES.map((name) => join(vvocBaseDir, name)));
37
29
  return {
38
30
  scope: options.scope,
39
31
  cwd: options.cwd,
32
+ configHome,
40
33
  opencodeBaseDir,
41
- guardianBaseDir,
42
- pluginBaseDir,
34
+ vvocBaseDir,
43
35
  opencodeConfigPath: opencodeSelection.primary,
44
36
  opencodeAlternatePaths: opencodeSelection.alternates,
45
37
  guardianConfigPath: guardianSelection.primary,
46
38
  guardianAlternatePaths: guardianSelection.alternates,
47
- pluginEntryPath: join(pluginBaseDir, LOCAL_PLUGIN_FILE_NAME),
39
+ memoryConfigPath: memorySelection.primary,
40
+ memoryConfigAlternates: memorySelection.alternates,
48
41
  };
49
42
  }
50
43
  export function ensurePackageConfigText(text) {
@@ -76,8 +69,7 @@ export function parseGuardianConfigText(text, label) {
76
69
  }
77
70
  export function renderGuardianConfig(overrides = {}) {
78
71
  const timeoutMs = overrides.timeoutMs ?? DEFAULT_GUARDIAN_TIMEOUT_MS;
79
- const approvalRiskThreshold = overrides.approvalRiskThreshold
80
- ?? DEFAULT_GUARDIAN_APPROVAL_RISK_THRESHOLD;
72
+ const approvalRiskThreshold = overrides.approvalRiskThreshold ?? DEFAULT_GUARDIAN_APPROVAL_RISK_THRESHOLD;
81
73
  const reviewToastDurationMs = overrides.reviewToastDurationMs ?? timeoutMs;
82
74
  const lines = [
83
75
  "// Managed by vvoc.",
@@ -87,22 +79,22 @@ export function renderGuardianConfig(overrides = {}) {
87
79
  "{",
88
80
  ];
89
81
  if (overrides.model) {
90
- lines.push(` \"model\": ${JSON.stringify(overrides.model)},`);
82
+ lines.push(` "model": ${JSON.stringify(overrides.model)},`);
91
83
  }
92
84
  else {
93
- lines.push(" // \"model\": \"anthropic/claude-sonnet-4-5\",");
85
+ lines.push(' // "model": "anthropic/claude-sonnet-4-5",');
94
86
  }
95
87
  lines.push("");
96
88
  if (overrides.variant) {
97
- lines.push(` \"variant\": ${JSON.stringify(overrides.variant)},`);
89
+ lines.push(` "variant": ${JSON.stringify(overrides.variant)},`);
98
90
  }
99
91
  else {
100
- lines.push(" // \"variant\": \"high\",");
92
+ lines.push(' // "variant": "high",');
101
93
  }
102
94
  lines.push("");
103
- lines.push(` \"timeoutMs\": ${timeoutMs},`);
104
- lines.push(` \"approvalRiskThreshold\": ${approvalRiskThreshold},`);
105
- lines.push(` \"reviewToastDurationMs\": ${reviewToastDurationMs}`);
95
+ lines.push(` "timeoutMs": ${timeoutMs},`);
96
+ lines.push(` "approvalRiskThreshold": ${approvalRiskThreshold},`);
97
+ lines.push(` "reviewToastDurationMs": ${reviewToastDurationMs}`);
106
98
  lines.push("}");
107
99
  return `${lines.join("\n")}\n`;
108
100
  }
@@ -115,29 +107,6 @@ export async function ensurePackageInstalled(paths) {
115
107
  await writeText(paths.opencodeConfigPath, nextText);
116
108
  return { path: paths.opencodeConfigPath, changed: true };
117
109
  }
118
- export async function installLocalPlugin(paths, options) {
119
- const currentText = await readOptionalText(paths.pluginEntryPath);
120
- const nextText = await renderLocalPluginShim();
121
- if (!currentText) {
122
- await writeText(paths.pluginEntryPath, nextText);
123
- return { action: "created", path: paths.pluginEntryPath };
124
- }
125
- if (!options.force && !isManagedFile(currentText)) {
126
- return {
127
- action: "skipped",
128
- path: paths.pluginEntryPath,
129
- reason: "existing plugin file is not managed by vvoc",
130
- };
131
- }
132
- if (currentText === nextText) {
133
- return { action: "kept", path: paths.pluginEntryPath };
134
- }
135
- await writeText(paths.pluginEntryPath, nextText);
136
- return { action: "updated", path: paths.pluginEntryPath };
137
- }
138
- export async function syncLocalPlugin(paths, options) {
139
- return installLocalPlugin(paths, options);
140
- }
141
110
  export async function installGuardianConfig(paths, options) {
142
111
  const currentText = await readOptionalText(paths.guardianConfigPath);
143
112
  if (!currentText) {
@@ -195,6 +164,44 @@ export async function writeGuardianConfig(paths, overrides, options) {
195
164
  path: paths.guardianConfigPath,
196
165
  };
197
166
  }
167
+ export async function installMemoryConfig(paths, options) {
168
+ const currentText = await readOptionalText(paths.memoryConfigPath);
169
+ if (!currentText) {
170
+ await writeText(paths.memoryConfigPath, renderMemoryConfig());
171
+ return { action: "created", path: paths.memoryConfigPath };
172
+ }
173
+ if (!options.force) {
174
+ if (!isManagedFile(currentText)) {
175
+ return {
176
+ action: "skipped",
177
+ path: paths.memoryConfigPath,
178
+ reason: "existing file is not managed by vvoc",
179
+ };
180
+ }
181
+ return { action: "kept", path: paths.memoryConfigPath };
182
+ }
183
+ return syncMemoryConfig(paths, options);
184
+ }
185
+ export async function syncMemoryConfig(paths, options) {
186
+ const currentText = await readOptionalText(paths.memoryConfigPath);
187
+ if (!currentText) {
188
+ await writeText(paths.memoryConfigPath, renderMemoryConfig());
189
+ return { action: "created", path: paths.memoryConfigPath };
190
+ }
191
+ if (!options.force && !isManagedFile(currentText)) {
192
+ return {
193
+ action: "skipped",
194
+ path: paths.memoryConfigPath,
195
+ reason: "existing file is not managed by vvoc",
196
+ };
197
+ }
198
+ const nextText = renderMemoryConfig(parseMemoryConfigText(currentText, paths.memoryConfigPath));
199
+ if (currentText === nextText) {
200
+ return { action: "kept", path: paths.memoryConfigPath };
201
+ }
202
+ await writeText(paths.memoryConfigPath, nextText);
203
+ return { action: "updated", path: paths.memoryConfigPath };
204
+ }
198
205
  export async function inspectInstallation(paths) {
199
206
  const warnings = [];
200
207
  const problems = [];
@@ -204,15 +211,18 @@ export async function inspectInstallation(paths) {
204
211
  if (paths.guardianAlternatePaths.length > 0) {
205
212
  warnings.push(`multiple Guardian config files exist: ${[paths.guardianConfigPath, ...paths.guardianAlternatePaths].join(", ")}`);
206
213
  }
214
+ if (paths.memoryConfigAlternates.length > 0) {
215
+ warnings.push(`multiple Memory config files exist: ${[paths.memoryConfigPath, ...paths.memoryConfigAlternates].join(", ")}`);
216
+ }
207
217
  const opencodeText = await readOptionalText(paths.opencodeConfigPath);
208
218
  let opencodeParseError;
209
219
  let plugins = [];
210
- let packageConfigured = false;
220
+ let pluginConfigured = false;
211
221
  if (opencodeText) {
212
222
  try {
213
223
  const document = parseObjectDocument(opencodeText, paths.opencodeConfigPath);
214
224
  plugins = readPluginList(document, paths.opencodeConfigPath);
215
- packageConfigured = plugins.includes(PACKAGE_NAME);
225
+ pluginConfigured = plugins.includes(PACKAGE_NAME);
216
226
  }
217
227
  catch (error) {
218
228
  opencodeParseError = error instanceof Error ? error.message : String(error);
@@ -232,9 +242,22 @@ export async function inspectInstallation(paths) {
232
242
  problems.push(guardianParseError);
233
243
  }
234
244
  }
235
- const localPluginText = await readOptionalText(paths.pluginEntryPath);
236
- const localPluginManaged = localPluginText ? isManagedFile(localPluginText) : false;
237
- const localPluginTarget = localPluginText ? readLocalPluginTarget(localPluginText) : undefined;
245
+ const memoryText = await readOptionalText(paths.memoryConfigPath);
246
+ let memoryParseError;
247
+ let memoryOverrides;
248
+ const memoryManaged = memoryText ? isManagedFile(memoryText) : false;
249
+ if (memoryText) {
250
+ try {
251
+ memoryOverrides = parseMemoryConfigText(memoryText, paths.memoryConfigPath);
252
+ }
253
+ catch (error) {
254
+ memoryParseError = error instanceof Error ? error.message : String(error);
255
+ problems.push(memoryParseError);
256
+ }
257
+ }
258
+ if (!pluginConfigured) {
259
+ problems.push(`${PACKAGE_NAME} is not configured in ${paths.opencodeConfigPath}`);
260
+ }
238
261
  return {
239
262
  scope: paths.scope,
240
263
  opencode: {
@@ -242,7 +265,7 @@ export async function inspectInstallation(paths) {
242
265
  exists: Boolean(opencodeText),
243
266
  alternates: paths.opencodeAlternatePaths,
244
267
  parseError: opencodeParseError,
245
- packageConfigured,
268
+ pluginConfigured,
246
269
  plugins,
247
270
  },
248
271
  guardian: {
@@ -253,37 +276,35 @@ export async function inspectInstallation(paths) {
253
276
  parseError: guardianParseError,
254
277
  overrides: guardianOverrides,
255
278
  },
256
- localPlugin: {
257
- path: paths.pluginEntryPath,
258
- exists: Boolean(localPluginText),
259
- managed: localPluginManaged,
260
- target: localPluginTarget,
279
+ memory: {
280
+ path: paths.memoryConfigPath,
281
+ exists: Boolean(memoryText),
282
+ alternates: paths.memoryConfigAlternates,
283
+ managed: memoryManaged,
284
+ parseError: memoryParseError,
285
+ overrides: memoryOverrides,
261
286
  },
262
287
  warnings,
263
288
  problems,
264
289
  };
265
290
  }
266
- export async function renderLocalPluginShim() {
267
- const targetPath = await resolveLocalPluginTargetPath();
268
- const targetUrl = pathToFileURL(targetPath).href;
269
- return [
270
- "// Managed by vvoc.",
271
- "// Local development shim for @osovv/vv-opencode.",
272
- `export { GuardianPlugin } from ${JSON.stringify(targetUrl)};`,
273
- "",
274
- ].join("\n");
275
- }
276
291
  export function describeWriteResult(result) {
292
+ let message = "";
277
293
  switch (result.action) {
278
294
  case "created":
279
- return `Created ${result.path}`;
295
+ message = `Created ${result.path}`;
296
+ break;
280
297
  case "updated":
281
- return `Updated ${result.path}`;
298
+ message = `Updated ${result.path}`;
299
+ break;
282
300
  case "kept":
283
- return `Kept ${result.path}`;
301
+ message = `Kept ${result.path}`;
302
+ break;
284
303
  case "skipped":
285
- return `Skipped ${result.path}${result.reason ? ` (${result.reason})` : ""}`;
304
+ message = `Skipped ${result.path}`;
305
+ break;
286
306
  }
307
+ return result.reason ? `${message} (${result.reason})` : message;
287
308
  }
288
309
  function parseObjectDocument(text, label) {
289
310
  const errors = [];
@@ -305,7 +326,7 @@ function readPluginList(document, label) {
305
326
  if (raw === undefined)
306
327
  return [];
307
328
  if (!Array.isArray(raw) || raw.some((entry) => typeof entry !== "string")) {
308
- throw new Error(`${label}: expected \"plugin\" to be an array of strings`);
329
+ throw new Error(`${label}: expected "plugin" to be an array of strings`);
309
330
  }
310
331
  return raw.slice();
311
332
  }
@@ -353,10 +374,6 @@ function readThreshold(value, label) {
353
374
  function isManagedFile(text) {
354
375
  return text.includes(MANAGED_MARKER);
355
376
  }
356
- function readLocalPluginTarget(text) {
357
- const match = text.match(/export\s+\{\s*GuardianPlugin\s*\}\s+from\s+["']([^"']+)["']/);
358
- return match?.[1];
359
- }
360
377
  function renderJson(value) {
361
378
  return `${JSON.stringify(value, null, 2)}\n`;
362
379
  }
@@ -378,23 +395,10 @@ async function writeText(path, text) {
378
395
  await mkdir(dirname(path), { recursive: true });
379
396
  await writeFile(path, text, "utf8");
380
397
  }
381
- async function resolveLocalPluginTargetPath() {
382
- const packageRoot = fileURLToPath(new URL("../../", import.meta.url));
383
- const candidates = [
384
- join(packageRoot, "src", "plugins", "guardian.ts"),
385
- join(packageRoot, "dist", "plugins", "guardian.js"),
386
- ];
387
- for (const candidate of candidates) {
388
- if (await pathExists(candidate)) {
389
- return candidate;
390
- }
391
- }
392
- return candidates[0];
393
- }
394
398
  async function selectPrimaryPath(candidates) {
395
399
  const existing = [];
396
400
  for (const candidate of candidates) {
397
- if (await readOptionalText(candidate) !== undefined) {
401
+ if ((await readOptionalText(candidate)) !== undefined) {
398
402
  existing.push(candidate);
399
403
  }
400
404
  }
@@ -403,13 +407,4 @@ async function selectPrimaryPath(candidates) {
403
407
  alternates: existing.slice(1),
404
408
  };
405
409
  }
406
- async function pathExists(path) {
407
- try {
408
- await access(path);
409
- return true;
410
- }
411
- catch {
412
- return false;
413
- }
414
- }
415
410
  //# sourceMappingURL=opencode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/lib/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/lib/opencode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare const VVOC_DIRECTORY_NAME = ".vvoc";
2
+ export declare function getConfigHome(configHomeOverride?: string): string;
3
+ export declare function getDataHome(dataHomeOverride?: string): string;
4
+ export declare function getGlobalOpencodeDir(configHomeOverride?: string): string;
5
+ export declare function getGlobalVvocDir(configHomeOverride?: string): string;
6
+ export declare function getGlobalVvocDataDir(dataHomeOverride?: string): string;
7
+ export declare function getGlobalVvocProjectDataDir(cwd: string, dataHomeOverride?: string): string;
8
+ export declare function getProjectVvocDir(cwd: string): string;
9
+ export declare function getProjectLegacyOpencodeDir(cwd: string): string;
@@ -0,0 +1,48 @@
1
+ import { homedir } from "node:os";
2
+ import { basename, join, resolve } from "node:path";
3
+ import crypto from "node:crypto";
4
+ export const VVOC_DIRECTORY_NAME = ".vvoc";
5
+ export function getConfigHome(configHomeOverride) {
6
+ if (typeof configHomeOverride === "string" && configHomeOverride.trim()) {
7
+ return configHomeOverride.trim();
8
+ }
9
+ if (typeof process.env.XDG_CONFIG_HOME === "string" && process.env.XDG_CONFIG_HOME.trim()) {
10
+ return process.env.XDG_CONFIG_HOME.trim();
11
+ }
12
+ return join(homedir(), ".config");
13
+ }
14
+ export function getDataHome(dataHomeOverride) {
15
+ if (typeof dataHomeOverride === "string" && dataHomeOverride.trim()) {
16
+ return dataHomeOverride.trim();
17
+ }
18
+ if (typeof process.env.XDG_DATA_HOME === "string" && process.env.XDG_DATA_HOME.trim()) {
19
+ return process.env.XDG_DATA_HOME.trim();
20
+ }
21
+ return join(homedir(), ".local", "share");
22
+ }
23
+ export function getGlobalOpencodeDir(configHomeOverride) {
24
+ return join(getConfigHome(configHomeOverride), "opencode");
25
+ }
26
+ export function getGlobalVvocDir(configHomeOverride) {
27
+ return join(getConfigHome(configHomeOverride), "vvoc");
28
+ }
29
+ export function getGlobalVvocDataDir(dataHomeOverride) {
30
+ return join(getDataHome(dataHomeOverride), "vvoc");
31
+ }
32
+ export function getGlobalVvocProjectDataDir(cwd, dataHomeOverride) {
33
+ const resolved = resolve(cwd);
34
+ const name = sanitizeSegment(basename(resolved) || "project");
35
+ const hash = crypto.createHash("sha256").update(resolved).digest("hex").slice(0, 12);
36
+ return join(getGlobalVvocDataDir(dataHomeOverride), "projects", `${name}-${hash}`);
37
+ }
38
+ export function getProjectVvocDir(cwd) {
39
+ return join(cwd, VVOC_DIRECTORY_NAME);
40
+ }
41
+ export function getProjectLegacyOpencodeDir(cwd) {
42
+ return join(cwd, ".opencode");
43
+ }
44
+ function sanitizeSegment(value) {
45
+ const normalized = value.trim().replace(/[^a-zA-Z0-9._-]+/g, "-");
46
+ return normalized || "project";
47
+ }
48
+ //# sourceMappingURL=vvoc-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vvoc-paths.js","sourceRoot":"","sources":["../../src/lib/vvoc-paths.ts"],"names":[],"mappings":"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"}