@kisev/agentomatic 11.0.2-dev.87.g5a92e74c6754 → 11.0.2-dev.89.g40768ae03b15
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/dist/cli.js +3 -1
- package/dist/doctor.js +2 -1
- package/dist/opencode-config.js +25 -3
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -321,6 +321,7 @@ function contextualHelp(arguments_) {
|
|
|
321
321
|
"--fragments <list|none>",
|
|
322
322
|
`Select fragments: ${CONFIG_FRAGMENTS.map((item) => item.name).join(", ")}.`,
|
|
323
323
|
],
|
|
324
|
+
["--no-dependency", "Skip provisioning the persistent npm dependency for the core plugin."],
|
|
324
325
|
["--json", "Emit stable machine-readable output."],
|
|
325
326
|
["--help", "Show this command help and exit."],
|
|
326
327
|
], [
|
|
@@ -1210,12 +1211,13 @@ async function run(arguments_) {
|
|
|
1210
1211
|
}));
|
|
1211
1212
|
}
|
|
1212
1213
|
else {
|
|
1213
|
-
const preview = await previewConfigSetup(selection, options.scope);
|
|
1214
|
+
const preview = await previewConfigSetup(selection, options.scope, process.cwd(), undefined, !options.noDependency);
|
|
1214
1215
|
if (!options.yes) {
|
|
1215
1216
|
process.stdout.write(renderConfigSetup(preview, { applied: false }));
|
|
1216
1217
|
await confirmSummary();
|
|
1217
1218
|
}
|
|
1218
1219
|
const plan = await applyConfigSetup(selection, options.scope, process.cwd(), undefined, {
|
|
1220
|
+
provisionDependency: !options.noDependency,
|
|
1219
1221
|
receipt: preview.receipt,
|
|
1220
1222
|
});
|
|
1221
1223
|
if (options.json)
|
package/dist/doctor.js
CHANGED
|
@@ -126,7 +126,8 @@ function redactedConfig(value) {
|
|
|
126
126
|
})
|
|
127
127
|
: [];
|
|
128
128
|
const knownPlugins = new Set([packageName, ...CATALOG.plugins]);
|
|
129
|
-
const
|
|
129
|
+
const normalizePlugin = (plugin) => plugin === packageName || plugin.startsWith(`${packageName}@`) ? packageName : plugin;
|
|
130
|
+
const plugins = rawPlugins.map(normalizePlugin).filter((plugin) => knownPlugins.has(plugin));
|
|
130
131
|
const enabled = plugins.filter((plugin) => plugin === packageName ||
|
|
131
132
|
CATALOG.plugins.includes(plugin));
|
|
132
133
|
return {
|
package/dist/opencode-config.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JsoncError } from "./jsonc.js";
|
|
2
|
+
import { requirePackageVersion } from "./package-metadata.js";
|
|
2
3
|
const effects = new Set(["allow", "ask", "deny"]);
|
|
3
4
|
const aliases = {
|
|
4
5
|
bash: "shell",
|
|
@@ -115,10 +116,19 @@ function plugins(value, legacy) {
|
|
|
115
116
|
throw new JsoncError("conflict", "Invalid plugin entry; use a package string or V2 package/options object");
|
|
116
117
|
});
|
|
117
118
|
}
|
|
119
|
+
const OUR_PACKAGE = /^@kisev\/(?:agentomatic|skills-opencode)(?:@|$)/;
|
|
120
|
+
function ourEntry(entry) {
|
|
121
|
+
if (typeof entry === "string")
|
|
122
|
+
return OUR_PACKAGE.test(entry);
|
|
123
|
+
return object(entry) && typeof entry.package === "string" && OUR_PACKAGE.test(entry.package);
|
|
124
|
+
}
|
|
118
125
|
export function corePluginEdits(config) {
|
|
119
126
|
const edits = [
|
|
120
127
|
{ kind: "set-if-absent", path: ["$schema"], value: "https://opencode.ai/config.json" },
|
|
121
128
|
];
|
|
129
|
+
// V2 resolves a bare package name through the registry "latest" dist-tag, which
|
|
130
|
+
// can differ from the installed build; pin the exact running version instead.
|
|
131
|
+
const pinned = `@kisev/agentomatic@${requirePackageVersion()}`;
|
|
122
132
|
const native = "plugins" in config ? plugins(config.plugins, false) : undefined;
|
|
123
133
|
const legacy = "plugin" in config ? plugins(config.plugin, true) : undefined;
|
|
124
134
|
if (native && legacy) {
|
|
@@ -128,9 +138,21 @@ export function corePluginEdits(config) {
|
|
|
128
138
|
}
|
|
129
139
|
else if (legacy)
|
|
130
140
|
edits.push({ kind: "rename-key", path: ["plugin"], to: "plugins" });
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
141
|
+
const normalized = [];
|
|
142
|
+
let pinnedPresent = false;
|
|
143
|
+
for (const entry of native ?? legacy ?? []) {
|
|
144
|
+
if (!ourEntry(entry)) {
|
|
145
|
+
normalized.push(entry);
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
if (pinnedPresent)
|
|
149
|
+
continue;
|
|
150
|
+
normalized.push(object(entry) ? { ...entry, package: pinned } : pinned);
|
|
151
|
+
pinnedPresent = true;
|
|
152
|
+
}
|
|
153
|
+
const entries = normalized;
|
|
154
|
+
if (!pinnedPresent)
|
|
155
|
+
entries.push(pinned);
|
|
134
156
|
edits.push({ kind: "set-value", path: ["plugins"], value: entries });
|
|
135
157
|
return edits;
|
|
136
158
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kisev/agentomatic",
|
|
3
|
-
"version": "11.0.2-dev.
|
|
3
|
+
"version": "11.0.2-dev.89.g40768ae03b15",
|
|
4
4
|
"description": "OpenCode integration and opt-in installer for portable Agent Skills.",
|
|
5
5
|
"homepage": "https://github.com/kisev/skills#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@clack/prompts": "^1.8.1",
|
|
49
|
-
"@kisev/safe-fs": "1.0.0-dev.
|
|
49
|
+
"@kisev/safe-fs": "1.0.0-dev.89.g40768ae03b15",
|
|
50
50
|
"commander": "15.0.0",
|
|
51
51
|
"zod": "4.1.8"
|
|
52
52
|
},
|