@osovv/vv-opencode 0.12.0 → 0.14.0
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 +38 -34
- package/dist/commands/agent.js +23 -87
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/config-validate.d.ts +4 -24
- package/dist/commands/config-validate.js +52 -242
- package/dist/commands/config-validate.js.map +1 -1
- package/dist/commands/doctor.js +10 -9
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/guardian.js +6 -13
- package/dist/commands/guardian.js.map +1 -1
- package/dist/commands/init.js +11 -15
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.d.ts +1 -16
- package/dist/commands/install.js +8 -44
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/status.js +9 -9
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/sync.d.ts +1 -1
- package/dist/commands/sync.js +8 -10
- package/dist/commands/sync.js.map +1 -1
- package/dist/lib/opencode.d.ts +19 -52
- package/dist/lib/opencode.js +86 -336
- package/dist/lib/opencode.js.map +1 -1
- package/dist/lib/package.d.ts +2 -0
- package/dist/lib/package.js +14 -10
- package/dist/lib/package.js.map +1 -1
- package/dist/lib/vvoc-config.d.ts +209 -0
- package/dist/lib/vvoc-config.js +642 -0
- package/dist/lib/vvoc-config.js.map +1 -0
- package/dist/lib/vvoc-paths.d.ts +2 -0
- package/dist/lib/vvoc-paths.js +9 -3
- package/dist/lib/vvoc-paths.js.map +1 -1
- package/dist/plugins/guardian/index.js +24 -206
- package/dist/plugins/guardian/index.js.map +1 -1
- package/dist/plugins/memory/index.js +1 -1
- package/dist/plugins/memory/index.js.map +1 -1
- package/dist/plugins/memory-store.d.ts +2 -9
- package/dist/plugins/memory-store.js +20 -127
- package/dist/plugins/memory-store.js.map +1 -1
- package/dist/plugins/secrets-redaction/config.d.ts +3 -20
- package/dist/plugins/secrets-redaction/config.js +33 -134
- package/dist/plugins/secrets-redaction/config.js.map +1 -1
- package/dist/plugins/secrets-redaction/engine.js +20 -60
- package/dist/plugins/secrets-redaction/engine.js.map +1 -1
- package/package.json +3 -1
- package/schemas/vvoc/v1.json +94 -0
package/dist/commands/install.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// FILE: src/commands/install.ts
|
|
2
|
-
// VERSION: 0.
|
|
2
|
+
// VERSION: 0.3.0
|
|
3
3
|
// START_MODULE_CONTRACT
|
|
4
|
-
// PURPOSE: Install vv-opencode into OpenCode config and bootstrap vvoc
|
|
5
|
-
// SCOPE: Scope parsing, path resolution, pinned plugin registration, managed OpenCode agent registration, managed agent prompt scaffolding, and
|
|
4
|
+
// PURPOSE: Install vv-opencode into OpenCode config and bootstrap the canonical vvoc.json config plus managed prompts.
|
|
5
|
+
// SCOPE: Scope parsing, path resolution, pinned plugin registration, managed OpenCode agent registration, managed agent prompt scaffolding, and canonical vvoc config creation.
|
|
6
6
|
// DEPENDS: [citty, src/lib/opencode.ts]
|
|
7
7
|
// LINKS: [M-CLI-COMMANDS, M-CLI-CONFIG]
|
|
8
8
|
// ROLE: RUNTIME
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
// END_MODULE_MAP
|
|
15
15
|
//
|
|
16
16
|
// START_CHANGE_SUMMARY
|
|
17
|
-
// LAST_CHANGE: [v0.
|
|
17
|
+
// LAST_CHANGE: [v0.3.0 - Replaced per-feature vvoc config scaffolding with canonical vvoc.json creation.]
|
|
18
18
|
// END_CHANGE_SUMMARY
|
|
19
19
|
import { defineCommand } from "citty";
|
|
20
|
-
import { describeWriteResult, ensurePackageInstalled,
|
|
20
|
+
import { describeWriteResult, ensurePackageInstalled, installManagedAgentPrompts, installVvocConfig, resolvePaths, syncManagedAgentRegistrations, } from "../lib/opencode.js";
|
|
21
21
|
export default defineCommand({
|
|
22
22
|
meta: {
|
|
23
23
|
name: "install",
|
|
@@ -36,22 +36,7 @@ export default defineCommand({
|
|
|
36
36
|
},
|
|
37
37
|
force: {
|
|
38
38
|
type: "boolean",
|
|
39
|
-
description: "Allow overwriting
|
|
40
|
-
},
|
|
41
|
-
"guardian-config": {
|
|
42
|
-
type: "boolean",
|
|
43
|
-
default: true,
|
|
44
|
-
description: "Create guardian.jsonc when missing.",
|
|
45
|
-
},
|
|
46
|
-
"memory-config": {
|
|
47
|
-
type: "boolean",
|
|
48
|
-
default: true,
|
|
49
|
-
description: "Create memory.jsonc when missing.",
|
|
50
|
-
},
|
|
51
|
-
"secrets-redaction-config": {
|
|
52
|
-
type: "boolean",
|
|
53
|
-
default: true,
|
|
54
|
-
description: "Create secrets-redaction.config.json when missing.",
|
|
39
|
+
description: "Allow overwriting managed prompt files when needed.",
|
|
55
40
|
},
|
|
56
41
|
},
|
|
57
42
|
async run({ args }) {
|
|
@@ -72,29 +57,8 @@ export default defineCommand({
|
|
|
72
57
|
})) {
|
|
73
58
|
console.log(describeWriteResult(result));
|
|
74
59
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
const guardian = await installGuardianConfig(paths, { force: Boolean(args.force) });
|
|
80
|
-
console.log(describeWriteResult(guardian));
|
|
81
|
-
}
|
|
82
|
-
if (args["memory-config"] === false) {
|
|
83
|
-
console.log(`Skipped ${paths.memoryConfigPath} (memory config disabled)`);
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
const memory = await installMemoryConfig(paths, { force: Boolean(args.force) });
|
|
87
|
-
console.log(describeWriteResult(memory));
|
|
88
|
-
}
|
|
89
|
-
if (args["secrets-redaction-config"] === false) {
|
|
90
|
-
console.log(`Skipped ${paths.secretsRedactionConfigPath} (secrets-redaction config disabled)`);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
const secretsRedaction = await installSecretsRedactionConfig(paths, {
|
|
94
|
-
force: Boolean(args.force),
|
|
95
|
-
});
|
|
96
|
-
console.log(describeWriteResult(secretsRedaction));
|
|
97
|
-
}
|
|
60
|
+
const vvocConfig = await installVvocConfig(paths);
|
|
61
|
+
console.log(describeWriteResult(vvocConfig));
|
|
98
62
|
// END_BLOCK_APPLY_INSTALL_COMMAND
|
|
99
63
|
},
|
|
100
64
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,iBAAiB;AACjB,wBAAwB;AACxB
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,iBAAiB;AACjB,wBAAwB;AACxB,yHAAyH;AACzH,kLAAkL;AAClL,0CAA0C;AAC1C,0CAA0C;AAC1C,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,4FAA4F;AAC5F,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,4GAA4G;AAC5G,qBAAqB;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,iBAAiB,EACjB,YAAY,EACZ,6BAA6B,GAE9B,MAAM,oBAAoB,CAAC;AAE5B,eAAe,aAAa,CAAC;IAC3B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,2CAA2C;KACzD;IACD,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC9B,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,oCAAoC;SAClD;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+DAA+D;SAC7E;QACD,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,qDAAqD;SACnE;KACF;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAChB,oCAAoC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9D,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;YAC/B,KAAK,EAAE,KAAc;YACrB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,SAAS;SACV,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,MAAM,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAEjE,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CACT,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,mBAAmB,CACvF,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,MAAM,0BAA0B,CAAC,KAAK,EAAE;YAC3D,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;SAC3B,CAAC,EAAE,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7C,kCAAkC;IACpC,CAAC;CACF,CAAC,CAAC"}
|
package/dist/commands/status.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// FILE: src/commands/status.ts
|
|
2
|
-
// VERSION: 0.
|
|
2
|
+
// VERSION: 0.3.0
|
|
3
3
|
// START_MODULE_CONTRACT
|
|
4
4
|
// PURPOSE: Show the current vv-opencode installation status.
|
|
5
|
-
// SCOPE: Scope parsing, inspection lookup, and human-readable status output for OpenCode
|
|
5
|
+
// SCOPE: Scope parsing, inspection lookup, and human-readable status output for OpenCode and the canonical vvoc.json config.
|
|
6
6
|
// DEPENDS: [citty, src/lib/opencode.ts]
|
|
7
7
|
// LINKS: [M-CLI-COMMANDS, M-CLI-CONFIG]
|
|
8
8
|
// ROLE: RUNTIME
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// END_MODULE_MAP
|
|
15
15
|
//
|
|
16
16
|
// START_CHANGE_SUMMARY
|
|
17
|
-
// LAST_CHANGE: [v0.
|
|
17
|
+
// LAST_CHANGE: [v0.3.0 - Updated status reporting for the canonical vvoc.json config file.]
|
|
18
18
|
// END_CHANGE_SUMMARY
|
|
19
19
|
import { defineCommand } from "citty";
|
|
20
20
|
import { inspectInstallation, resolvePaths } from "../lib/opencode.js";
|
|
@@ -49,12 +49,12 @@ export default defineCommand({
|
|
|
49
49
|
console.log(`OpenCode config: ${inspection.opencode.path}`);
|
|
50
50
|
console.log(`OpenCode config exists: ${inspection.opencode.exists ? "yes" : "no"}`);
|
|
51
51
|
console.log(`Package configured: ${inspection.opencode.pluginConfigured ? "yes" : "no"}`);
|
|
52
|
-
console.log(`
|
|
53
|
-
console.log(`
|
|
54
|
-
console.log(`
|
|
55
|
-
console.log(`
|
|
56
|
-
console.log(`Memory
|
|
57
|
-
console.log(`
|
|
52
|
+
console.log(`vvoc config: ${inspection.vvoc.path}`);
|
|
53
|
+
console.log(`vvoc config exists: ${inspection.vvoc.exists ? "yes" : "no"}`);
|
|
54
|
+
console.log(`vvoc config version: ${inspection.vvoc.version ?? "missing"}`);
|
|
55
|
+
console.log(`Guardian model: ${inspection.guardian.config ? (inspection.guardian.config.model ?? "default") : "unknown"}`);
|
|
56
|
+
console.log(`Memory enabled: ${inspection.memory.config ? (inspection.memory.config.enabled ? "yes" : "no") : "unknown"}`);
|
|
57
|
+
console.log(`Secrets Redaction enabled: ${inspection.secretsRedaction.config ? (inspection.secretsRedaction.config.enabled ? "yes" : "no") : "unknown"}`);
|
|
58
58
|
if (inspection.warnings.length > 0) {
|
|
59
59
|
console.log("Warnings:");
|
|
60
60
|
for (const warning of inspection.warnings) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,iBAAiB;AACjB,wBAAwB;AACxB,+DAA+D;AAC/D
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/sync.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ declare const _default: import("citty").CommandDef<{
|
|
|
11
11
|
};
|
|
12
12
|
readonly force: {
|
|
13
13
|
readonly type: "boolean";
|
|
14
|
-
readonly description: "Allow rewriting unmanaged
|
|
14
|
+
readonly description: "Allow rewriting unmanaged managed-prompt files.";
|
|
15
15
|
};
|
|
16
16
|
}>;
|
|
17
17
|
export default _default;
|
package/dist/commands/sync.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// FILE: src/commands/sync.ts
|
|
2
|
-
// VERSION: 0.
|
|
2
|
+
// VERSION: 0.3.0
|
|
3
3
|
// START_MODULE_CONTRACT
|
|
4
|
-
// PURPOSE: Sync
|
|
5
|
-
// SCOPE: Scope parsing, path resolution, pinned plugin sync, managed OpenCode agent sync, managed agent prompt sync, and
|
|
4
|
+
// PURPOSE: Sync the canonical vvoc.json config file, managed prompts, and keep the OpenCode plugin specifier current.
|
|
5
|
+
// SCOPE: Scope parsing, path resolution, pinned plugin sync, managed OpenCode agent sync, managed agent prompt sync, and canonical vvoc config rewrite.
|
|
6
6
|
// DEPENDS: [citty, src/lib/opencode.ts]
|
|
7
7
|
// LINKS: [M-CLI-COMMANDS, M-CLI-CONFIG]
|
|
8
8
|
// ROLE: RUNTIME
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
// END_MODULE_MAP
|
|
15
15
|
//
|
|
16
16
|
// START_CHANGE_SUMMARY
|
|
17
|
-
// LAST_CHANGE: [v0.
|
|
17
|
+
// LAST_CHANGE: [v0.3.0 - Replaced per-feature vvoc config syncing with canonical vvoc.json refresh.]
|
|
18
18
|
// END_CHANGE_SUMMARY
|
|
19
19
|
import { defineCommand } from "citty";
|
|
20
|
-
import { describeWriteResult, ensurePackageInstalled, resolvePaths, syncManagedAgentPrompts, syncManagedAgentRegistrations,
|
|
20
|
+
import { describeWriteResult, ensurePackageInstalled, resolvePaths, syncManagedAgentPrompts, syncManagedAgentRegistrations, syncVvocConfig, } from "../lib/opencode.js";
|
|
21
21
|
export default defineCommand({
|
|
22
22
|
meta: {
|
|
23
23
|
name: "sync",
|
|
@@ -36,7 +36,7 @@ export default defineCommand({
|
|
|
36
36
|
},
|
|
37
37
|
force: {
|
|
38
38
|
type: "boolean",
|
|
39
|
-
description: "Allow rewriting unmanaged
|
|
39
|
+
description: "Allow rewriting unmanaged managed-prompt files.",
|
|
40
40
|
},
|
|
41
41
|
},
|
|
42
42
|
async run({ args }) {
|
|
@@ -51,15 +51,13 @@ export default defineCommand({
|
|
|
51
51
|
const opencode = await ensurePackageInstalled(paths);
|
|
52
52
|
const managedAgents = await syncManagedAgentRegistrations(paths);
|
|
53
53
|
const managedPrompts = await syncManagedAgentPrompts(paths, { force: Boolean(args.force) });
|
|
54
|
-
const
|
|
55
|
-
const memory = await syncMemoryConfig(paths, { force: Boolean(args.force) });
|
|
54
|
+
const vvocConfig = await syncVvocConfig(paths);
|
|
56
55
|
console.log(`${opencode.changed ? "Updated" : "Kept"} ${opencode.path}`);
|
|
57
56
|
console.log(`${managedAgents.changed ? "Updated" : "Kept"} ${managedAgents.path} (managed agents)`);
|
|
58
57
|
for (const result of managedPrompts) {
|
|
59
58
|
console.log(describeWriteResult(result));
|
|
60
59
|
}
|
|
61
|
-
console.log(describeWriteResult(
|
|
62
|
-
console.log(describeWriteResult(memory));
|
|
60
|
+
console.log(describeWriteResult(vvocConfig));
|
|
63
61
|
// END_BLOCK_APPLY_SYNC_COMMAND
|
|
64
62
|
},
|
|
65
63
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,iBAAiB;AACjB,wBAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,iBAAiB;AACjB,wBAAwB;AACxB,wHAAwH;AACxH,0JAA0J;AAC1J,0CAA0C;AAC1C,0CAA0C;AAC1C,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,qEAAqE;AACrE,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,uGAAuG;AACvG,qBAAqB;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,EACZ,uBAAuB,EACvB,6BAA6B,EAC7B,cAAc,GAEf,MAAM,oBAAoB,CAAC;AAE5B,eAAe,aAAa,CAAC;IAC3B,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,wCAAwC;KACtD;IACD,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC9B,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,gCAAgC;SAC9C;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+DAA+D;SAC7E;QACD,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,iDAAiD;SAC/D;KACF;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAChB,iCAAiC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9D,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;YAC/B,KAAK,EAAE,KAAc;YACrB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,SAAS;SACV,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,MAAM,6BAA6B,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5F,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;QAE/C,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CACT,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,mBAAmB,CACvF,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7C,+BAA+B;IACjC,CAAC;CACF,CAAC,CAAC"}
|
package/dist/lib/opencode.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ManagedOpenCodeAgentName } from "./managed-agents.js";
|
|
2
|
-
import { type MemoryConfigOverrides } from "
|
|
2
|
+
import { type GuardianConfig, type GuardianConfigOverrides, type MemoryConfig, type MemoryConfigOverrides, type SecretsRedactionConfig, type VvocConfig } from "./vvoc-config.js";
|
|
3
3
|
import { PACKAGE_NAME } from "./package.js";
|
|
4
4
|
export declare const CLI_NAME = "vvoc";
|
|
5
5
|
export { PACKAGE_NAME };
|
|
@@ -11,22 +11,10 @@ export type ResolvedPaths = {
|
|
|
11
11
|
configHome: string;
|
|
12
12
|
opencodeBaseDir: string;
|
|
13
13
|
vvocBaseDir: string;
|
|
14
|
+
vvocConfigPath: string;
|
|
14
15
|
managedAgentsDirPath: string;
|
|
15
16
|
opencodeConfigPath: string;
|
|
16
17
|
opencodeAlternatePaths: string[];
|
|
17
|
-
guardianConfigPath: string;
|
|
18
|
-
guardianAlternatePaths: string[];
|
|
19
|
-
memoryConfigPath: string;
|
|
20
|
-
memoryConfigAlternates: string[];
|
|
21
|
-
secretsRedactionConfigPath: string;
|
|
22
|
-
secretsRedactionConfigAlternates: string[];
|
|
23
|
-
};
|
|
24
|
-
export type GuardianConfigOverrides = {
|
|
25
|
-
model?: string;
|
|
26
|
-
variant?: string;
|
|
27
|
-
timeoutMs?: number;
|
|
28
|
-
approvalRiskThreshold?: number;
|
|
29
|
-
reviewToastDurationMs?: number;
|
|
30
18
|
};
|
|
31
19
|
export type WriteResult = {
|
|
32
20
|
action: "created" | "updated" | "kept" | "skipped";
|
|
@@ -44,28 +32,21 @@ export type InstallationInspection = {
|
|
|
44
32
|
pluginConfigured: boolean;
|
|
45
33
|
plugins: string[];
|
|
46
34
|
};
|
|
47
|
-
|
|
35
|
+
vvoc: {
|
|
48
36
|
path: string;
|
|
49
37
|
exists: boolean;
|
|
50
|
-
alternates: string[];
|
|
51
|
-
managed: boolean;
|
|
52
38
|
parseError?: string;
|
|
53
|
-
|
|
39
|
+
schema?: string;
|
|
40
|
+
version?: number;
|
|
41
|
+
};
|
|
42
|
+
guardian: {
|
|
43
|
+
config?: GuardianConfig;
|
|
54
44
|
};
|
|
55
45
|
memory: {
|
|
56
|
-
|
|
57
|
-
exists: boolean;
|
|
58
|
-
alternates: string[];
|
|
59
|
-
managed: boolean;
|
|
60
|
-
parseError?: string;
|
|
61
|
-
overrides?: MemoryConfigOverrides;
|
|
46
|
+
config?: MemoryConfig;
|
|
62
47
|
};
|
|
63
48
|
secretsRedaction: {
|
|
64
|
-
|
|
65
|
-
exists: boolean;
|
|
66
|
-
alternates: string[];
|
|
67
|
-
managed: boolean;
|
|
68
|
-
parseError?: string;
|
|
49
|
+
config?: SecretsRedactionConfig;
|
|
69
50
|
};
|
|
70
51
|
warnings: string[];
|
|
71
52
|
problems: string[];
|
|
@@ -97,36 +78,22 @@ export declare function writeManagedAgentModel(paths: Pick<ResolvedPaths, "manag
|
|
|
97
78
|
model?: string;
|
|
98
79
|
ensureEntry: boolean;
|
|
99
80
|
}): Promise<WriteResult>;
|
|
100
|
-
export
|
|
101
|
-
export declare function renderGuardianConfig(overrides?: GuardianConfigOverrides): string;
|
|
81
|
+
export { parseGuardianConfigText, renderGuardianConfig, type GuardianConfigOverrides, } from "./vvoc-config.js";
|
|
102
82
|
export declare function ensurePackageInstalled(paths: ResolvedPaths): Promise<{
|
|
103
83
|
path: string;
|
|
104
84
|
changed: boolean;
|
|
105
85
|
}>;
|
|
106
86
|
export declare function ensureProviderBaseUrlConfigText(text: string | undefined, providerID: string, baseURL: string): string;
|
|
107
87
|
export declare function writeProviderBaseUrl(paths: Pick<ResolvedPaths, "opencodeConfigPath">, providerID: string, baseURL: string): Promise<WriteResult>;
|
|
108
|
-
export declare function
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
export declare function
|
|
112
|
-
|
|
88
|
+
export declare function readVvocConfig(paths: Pick<ResolvedPaths, "vvocConfigPath">): Promise<VvocConfig | undefined>;
|
|
89
|
+
export declare function installVvocConfig(paths: Pick<ResolvedPaths, "vvocConfigPath">): Promise<WriteResult>;
|
|
90
|
+
export declare function syncVvocConfig(paths: Pick<ResolvedPaths, "vvocConfigPath">): Promise<WriteResult>;
|
|
91
|
+
export declare function writeGuardianConfig(paths: Pick<ResolvedPaths, "vvocConfigPath">, overrides: GuardianConfigOverrides, options?: {
|
|
92
|
+
merge?: boolean;
|
|
113
93
|
}): Promise<WriteResult>;
|
|
114
|
-
export
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
export declare function installMemoryConfig(paths: ResolvedPaths, options: {
|
|
118
|
-
force: boolean;
|
|
119
|
-
}): Promise<WriteResult>;
|
|
120
|
-
export declare function syncMemoryConfig(paths: ResolvedPaths, options: {
|
|
121
|
-
force: boolean;
|
|
122
|
-
}): Promise<WriteResult>;
|
|
123
|
-
export declare function renderSecretsRedactionConfig(): string;
|
|
124
|
-
export declare function parseSecretsRedactionConfigText(text: string, _filePath: string): Record<string, unknown>;
|
|
125
|
-
export declare function installSecretsRedactionConfig(paths: ResolvedPaths, options: {
|
|
126
|
-
force: boolean;
|
|
127
|
-
}): Promise<WriteResult>;
|
|
128
|
-
export declare function syncSecretsRedactionConfig(paths: ResolvedPaths, options: {
|
|
129
|
-
force: boolean;
|
|
94
|
+
export { type MemoryConfigOverrides } from "./vvoc-config.js";
|
|
95
|
+
export declare function writeMemoryConfig(paths: Pick<ResolvedPaths, "vvocConfigPath">, overrides: MemoryConfigOverrides, options?: {
|
|
96
|
+
merge?: boolean;
|
|
130
97
|
}): Promise<WriteResult>;
|
|
131
98
|
export declare function inspectInstallation(paths: ResolvedPaths): Promise<InstallationInspection>;
|
|
132
99
|
export declare function describeWriteResult(result: WriteResult): string;
|