@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.
- package/README.md +244 -20
- package/dist/commands/doctor.d.ts +1 -7
- package/dist/commands/doctor.js +6 -20
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/guardian.js +1 -1
- package/dist/commands/guardian.js.map +1 -1
- package/dist/commands/install.d.ts +6 -7
- package/dist/commands/install.js +17 -17
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/status.d.ts +1 -1
- package/dist/commands/status.js +5 -5
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/sync.d.ts +2 -8
- package/dist/commands/sync.js +7 -16
- package/dist/commands/sync.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/opencode.d.ts +15 -13
- package/dist/lib/opencode.js +105 -110
- package/dist/lib/opencode.js.map +1 -1
- package/dist/lib/vvoc-paths.d.ts +9 -0
- package/dist/lib/vvoc-paths.js +48 -0
- package/dist/lib/vvoc-paths.js.map +1 -0
- package/dist/plugins/guardian.js +20 -21
- package/dist/plugins/guardian.js.map +1 -1
- package/dist/plugins/memory-store.d.ts +55 -0
- package/dist/plugins/memory-store.js +472 -0
- package/dist/plugins/memory-store.js.map +1 -0
- package/dist/plugins/memory.d.ts +2 -0
- package/dist/plugins/memory.js +323 -0
- package/dist/plugins/memory.js.map +1 -0
- package/package.json +16 -6
- package/AGENTS.md +0 -164
- package/dist/lib/opencode.test.d.ts +0 -1
- package/dist/lib/opencode.test.js +0 -47
- package/dist/lib/opencode.test.js.map +0 -1
- package/docs/development-plan.xml +0 -155
- package/docs/knowledge-graph.xml +0 -42
- package/docs/operational-packets.xml +0 -106
- package/docs/requirements.xml +0 -66
- package/docs/technology.xml +0 -51
- package/docs/verification-plan.xml +0 -145
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
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"}
|
package/dist/lib/opencode.d.ts
CHANGED
|
@@ -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
|
-
|
|
11
|
-
pluginBaseDir: string;
|
|
11
|
+
vvocBaseDir: string;
|
|
12
12
|
opencodeConfigPath: string;
|
|
13
13
|
opencodeAlternatePaths: string[];
|
|
14
14
|
guardianConfigPath: string;
|
|
15
15
|
guardianAlternatePaths: string[];
|
|
16
|
-
|
|
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
|
-
|
|
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
|
-
|
|
49
|
+
memory: {
|
|
49
50
|
path: string;
|
|
50
51
|
exists: boolean;
|
|
52
|
+
alternates: string[];
|
|
51
53
|
managed: boolean;
|
|
52
|
-
|
|
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
|
|
72
|
+
export declare function installGuardianConfig(paths: ResolvedPaths, options: {
|
|
70
73
|
force: boolean;
|
|
71
74
|
}): Promise<WriteResult>;
|
|
72
|
-
export declare function
|
|
75
|
+
export declare function syncGuardianConfig(paths: ResolvedPaths, options: {
|
|
73
76
|
force: boolean;
|
|
74
77
|
}): Promise<WriteResult>;
|
|
75
|
-
export declare function
|
|
78
|
+
export declare function writeGuardianConfig(paths: ResolvedPaths, overrides: GuardianConfigOverrides, options: {
|
|
76
79
|
force: boolean;
|
|
77
80
|
}): Promise<WriteResult>;
|
|
78
|
-
export declare function
|
|
81
|
+
export declare function installMemoryConfig(paths: ResolvedPaths, options: {
|
|
79
82
|
force: boolean;
|
|
80
83
|
}): Promise<WriteResult>;
|
|
81
|
-
export declare function
|
|
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;
|
package/dist/lib/opencode.js
CHANGED
|
@@ -1,50 +1,43 @@
|
|
|
1
1
|
import { applyEdits, format, modify, parse } from "jsonc-parser";
|
|
2
|
-
import {
|
|
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 {
|
|
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
|
|
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
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(`
|
|
82
|
+
lines.push(` "model": ${JSON.stringify(overrides.model)},`);
|
|
91
83
|
}
|
|
92
84
|
else {
|
|
93
|
-
lines.push(
|
|
85
|
+
lines.push(' // "model": "anthropic/claude-sonnet-4-5",');
|
|
94
86
|
}
|
|
95
87
|
lines.push("");
|
|
96
88
|
if (overrides.variant) {
|
|
97
|
-
lines.push(`
|
|
89
|
+
lines.push(` "variant": ${JSON.stringify(overrides.variant)},`);
|
|
98
90
|
}
|
|
99
91
|
else {
|
|
100
|
-
lines.push(
|
|
92
|
+
lines.push(' // "variant": "high",');
|
|
101
93
|
}
|
|
102
94
|
lines.push("");
|
|
103
|
-
lines.push(`
|
|
104
|
-
lines.push(`
|
|
105
|
-
lines.push(`
|
|
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
|
|
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
|
-
|
|
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
|
|
236
|
-
|
|
237
|
-
|
|
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
|
-
|
|
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
|
-
|
|
257
|
-
path: paths.
|
|
258
|
-
exists: Boolean(
|
|
259
|
-
|
|
260
|
-
|
|
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
|
-
|
|
295
|
+
message = `Created ${result.path}`;
|
|
296
|
+
break;
|
|
280
297
|
case "updated":
|
|
281
|
-
|
|
298
|
+
message = `Updated ${result.path}`;
|
|
299
|
+
break;
|
|
282
300
|
case "kept":
|
|
283
|
-
|
|
301
|
+
message = `Kept ${result.path}`;
|
|
302
|
+
break;
|
|
284
303
|
case "skipped":
|
|
285
|
-
|
|
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
|
|
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
|
package/dist/lib/opencode.js.map
CHANGED
|
@@ -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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"}
|