autodev-cli 1.4.149 → 1.4.150
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/media/gimp/LICENSE +674 -0
- package/media/gimp/gimp_mcp_server.py +267 -0
- package/out/commands/mcp.js +39 -0
- package/out/commands/mcp.js.map +1 -1
- package/out/core/gimpPluginInstall.d.ts +41 -0
- package/out/core/gimpPluginInstall.js +224 -0
- package/out/core/gimpPluginInstall.js.map +1 -0
- package/out/core/mcpCatalog.js +4 -4
- package/out/core/mcpCatalog.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// gimpPluginInstall — drop the vendored AUTO-START GIMP MCP plugin into the
|
|
4
|
+
// correct GIMP 3.x user plug-ins folder so the socket bridge opens on GIMP
|
|
5
|
+
// launch (no manual copy, no menu click).
|
|
6
|
+
//
|
|
7
|
+
// GROUNDED RULES (see AutoDev research):
|
|
8
|
+
// - GIMP 3.x user config is MINOR-versioned: GIMP 3.2 → .../GIMP/3.2/ (NOT 3.0).
|
|
9
|
+
// Bases: linux $XDG_CONFIG_HOME/GIMP or ~/.config/GIMP; win32 %APPDATA%\GIMP;
|
|
10
|
+
// darwin ~/Library/Application Support/GIMP. Honor GIMP3_DIRECTORY (overrides
|
|
11
|
+
// the WHOLE versioned dir). Glob GIMP/3.* and pick the HIGHEST minor; if none
|
|
12
|
+
// exists, create 3.0 and warn (user should launch GIMP once).
|
|
13
|
+
// - GIMP 3.x layout: plug-ins/gimp_mcp_server/gimp_mcp_server.py — the .py MUST
|
|
14
|
+
// sit in a sub-folder whose name == the .py basename (a loose .py is ignored).
|
|
15
|
+
// On non-Windows the .py must be executable (0o755).
|
|
16
|
+
// - Windows Store (MSIX) GIMP reads the REAL %APPDATA%\GIMP\<ver>. As a safety
|
|
17
|
+
// net we ALSO write the virtualized path when a package dir exists:
|
|
18
|
+
// %LOCALAPPDATA%\Packages\GIMP.<...>_*\LocalCache\Roaming\GIMP\<ver>\plug-ins.
|
|
19
|
+
//
|
|
20
|
+
// Everything is dependency-injected (platform/env/homedir/fileExists/listDir/
|
|
21
|
+
// mkdirp/writeFile/chmod/copyFile/readPluginSource/detectGimp) so the resolver is
|
|
22
|
+
// unit-testable without a real GIMP or filesystem.
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
27
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
28
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
29
|
+
}
|
|
30
|
+
Object.defineProperty(o, k2, desc);
|
|
31
|
+
}) : (function(o, m, k, k2) {
|
|
32
|
+
if (k2 === undefined) k2 = k;
|
|
33
|
+
o[k2] = m[k];
|
|
34
|
+
}));
|
|
35
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
36
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
37
|
+
}) : function(o, v) {
|
|
38
|
+
o["default"] = v;
|
|
39
|
+
});
|
|
40
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
41
|
+
var ownKeys = function(o) {
|
|
42
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
43
|
+
var ar = [];
|
|
44
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
45
|
+
return ar;
|
|
46
|
+
};
|
|
47
|
+
return ownKeys(o);
|
|
48
|
+
};
|
|
49
|
+
return function (mod) {
|
|
50
|
+
if (mod && mod.__esModule) return mod;
|
|
51
|
+
var result = {};
|
|
52
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
53
|
+
__setModuleDefault(result, mod);
|
|
54
|
+
return result;
|
|
55
|
+
};
|
|
56
|
+
})();
|
|
57
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
|
+
exports.vendoredPluginSourcePath = vendoredPluginSourcePath;
|
|
59
|
+
exports.gimpMajorFromPath = gimpMajorFromPath;
|
|
60
|
+
exports.installGimpPlugin = installGimpPlugin;
|
|
61
|
+
const fs = __importStar(require("fs"));
|
|
62
|
+
const path = __importStar(require("path"));
|
|
63
|
+
const os = __importStar(require("os"));
|
|
64
|
+
const binDetect_1 = require("./binDetect");
|
|
65
|
+
/** Absolute path to the vendored auto-start plugin shipped in the tarball. */
|
|
66
|
+
function vendoredPluginSourcePath() {
|
|
67
|
+
// Compiled to out/core/gimpPluginInstall.js → package root is ../../ .
|
|
68
|
+
return path.join(__dirname, '..', '..', 'media', 'gimp', 'gimp_mcp_server.py');
|
|
69
|
+
}
|
|
70
|
+
function realDeps() {
|
|
71
|
+
return {
|
|
72
|
+
platform: process.platform,
|
|
73
|
+
env: process.env,
|
|
74
|
+
homedir: os.homedir,
|
|
75
|
+
fileExists: (p) => { try {
|
|
76
|
+
return fs.existsSync(p);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return false;
|
|
80
|
+
} },
|
|
81
|
+
listDir: (p) => { try {
|
|
82
|
+
return fs.readdirSync(p);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return [];
|
|
86
|
+
} },
|
|
87
|
+
mkdirp: (p) => { fs.mkdirSync(p, { recursive: true }); },
|
|
88
|
+
writeFile: (p, data) => { fs.writeFileSync(p, data); },
|
|
89
|
+
chmod: (p, mode) => { try {
|
|
90
|
+
fs.chmodSync(p, mode);
|
|
91
|
+
}
|
|
92
|
+
catch { /* non-POSIX fs */ } },
|
|
93
|
+
copyFile: (src, dst) => { fs.copyFileSync(src, dst); },
|
|
94
|
+
readPluginSource: () => fs.readFileSync(vendoredPluginSourcePath(), 'utf8'),
|
|
95
|
+
detectGimp: () => (0, binDetect_1.detectApp)('gimp'),
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/** GIMP user-config BASE dir (the folder that CONTAINS the 3.x version dirs). */
|
|
99
|
+
function gimpConfigBase(d) {
|
|
100
|
+
const home = d.homedir();
|
|
101
|
+
if (d.platform === 'win32') {
|
|
102
|
+
const appData = d.env.APPDATA || path.join(home, 'AppData', 'Roaming');
|
|
103
|
+
return path.join(appData, 'GIMP');
|
|
104
|
+
}
|
|
105
|
+
if (d.platform === 'darwin') {
|
|
106
|
+
return path.join(home, 'Library', 'Application Support', 'GIMP');
|
|
107
|
+
}
|
|
108
|
+
const xdg = d.env.XDG_CONFIG_HOME && d.env.XDG_CONFIG_HOME.trim();
|
|
109
|
+
const cfg = xdg ? xdg : path.join(home, '.config');
|
|
110
|
+
return path.join(cfg, 'GIMP');
|
|
111
|
+
}
|
|
112
|
+
/** Parse the numeric minor from a `3.<minor>` dir name; null if not `3.*`. */
|
|
113
|
+
function minorOf(name) {
|
|
114
|
+
const m = /^3\.(\d+)$/.exec(name);
|
|
115
|
+
return m ? parseInt(m[1], 10) : null;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Pick the HIGHEST-minor `3.*` version dir under base. Returns the chosen
|
|
119
|
+
* version string and whether it already existed. When none exist, defaults to
|
|
120
|
+
* "3.0" (created + warned by the caller).
|
|
121
|
+
*/
|
|
122
|
+
function chooseVersion(base, d) {
|
|
123
|
+
const kids = d.listDir(base)
|
|
124
|
+
.map((n) => ({ name: n, minor: minorOf(n) }))
|
|
125
|
+
.filter((x) => x.minor !== null);
|
|
126
|
+
if (kids.length === 0) {
|
|
127
|
+
return { version: '3.0', existed: false };
|
|
128
|
+
}
|
|
129
|
+
kids.sort((a, b) => b.minor - a.minor);
|
|
130
|
+
return { version: kids[0].name, existed: true };
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Windows Store virtualized fallback plug-ins dir(s) for a given version. Only
|
|
134
|
+
* returned when a `GIMP.*` package dir actually exists under %LOCALAPPDATA%\Packages.
|
|
135
|
+
*/
|
|
136
|
+
function storeVirtualizedPluginDirs(version, d) {
|
|
137
|
+
if (d.platform !== 'win32') {
|
|
138
|
+
return [];
|
|
139
|
+
}
|
|
140
|
+
const home = d.homedir();
|
|
141
|
+
const localAppData = d.env.LOCALAPPDATA || path.join(home, 'AppData', 'Local');
|
|
142
|
+
const packagesDir = path.join(localAppData, 'Packages');
|
|
143
|
+
const pkgs = d.listDir(packagesDir).filter((n) => /^GIMP\./i.test(n));
|
|
144
|
+
return pkgs.map((pkg) => path.join(packagesDir, pkg, 'LocalCache', 'Roaming', 'GIMP', version, 'plug-ins'));
|
|
145
|
+
}
|
|
146
|
+
/** Extract the GIMP MAJOR version from a launcher path (e.g. gimp-2.10 → 2). */
|
|
147
|
+
function gimpMajorFromPath(p) {
|
|
148
|
+
if (!p) {
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
const base = p.replace(/\\/g, '/').split('/').pop() || p;
|
|
152
|
+
const m = /gimp[-_]?(\d+)/i.exec(base);
|
|
153
|
+
return m ? parseInt(m[1], 10) : null;
|
|
154
|
+
}
|
|
155
|
+
/** Write the vendored plugin into one plug-ins dir (backing up any existing copy). */
|
|
156
|
+
function installInto(pluginsDir, source, d) {
|
|
157
|
+
const sub = path.join(pluginsDir, 'gimp_mcp_server');
|
|
158
|
+
const py = path.join(sub, 'gimp_mcp_server.py');
|
|
159
|
+
d.mkdirp(sub);
|
|
160
|
+
if (d.fileExists(py)) {
|
|
161
|
+
d.copyFile(py, py + '.bak');
|
|
162
|
+
}
|
|
163
|
+
d.writeFile(py, source);
|
|
164
|
+
if (d.platform !== 'win32') {
|
|
165
|
+
d.chmod(py, 0o755);
|
|
166
|
+
}
|
|
167
|
+
return py;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Install the auto-start GIMP MCP plugin. Resolves the target plug-ins dir(s)
|
|
171
|
+
* per-OS and writes the vendored plugin so GIMP opens the localhost:9876 socket
|
|
172
|
+
* on launch. Does NOT install when a clearly < 3 GIMP is the only one detected.
|
|
173
|
+
*/
|
|
174
|
+
function installGimpPlugin(opts, deps) {
|
|
175
|
+
const d = { ...realDeps(), ...deps };
|
|
176
|
+
const warnings = [];
|
|
177
|
+
// Gate: if a GIMP is detected and is clearly < 3, do not install.
|
|
178
|
+
const det = d.detectGimp();
|
|
179
|
+
const major = gimpMajorFromPath(det.path);
|
|
180
|
+
if (det.installed && major !== null && major < 3) {
|
|
181
|
+
warnings.push(`Detected GIMP ${major}.x at ${det.path}. GIMP MCP needs GIMP 3.x — ` +
|
|
182
|
+
'the auto-start plugin uses the GIMP 3.0 Python API and was NOT installed. ' +
|
|
183
|
+
'Install GIMP 3 and re-run.');
|
|
184
|
+
return { installed: false, paths: [], version: null, warnings };
|
|
185
|
+
}
|
|
186
|
+
const source = d.readPluginSource();
|
|
187
|
+
// Resolve the versioned config dir(s). GIMP3_DIRECTORY / opts.targetDir
|
|
188
|
+
// override the WHOLE versioned dir.
|
|
189
|
+
const override = (opts?.targetDir && opts.targetDir.trim()) || (d.env.GIMP3_DIRECTORY && d.env.GIMP3_DIRECTORY.trim());
|
|
190
|
+
const targets = [];
|
|
191
|
+
let version;
|
|
192
|
+
if (override) {
|
|
193
|
+
version = path.basename(override) || 'custom';
|
|
194
|
+
if (!d.fileExists(override)) {
|
|
195
|
+
warnings.push(`GIMP dir ${override} does not exist yet — creating it. Launch GIMP once so it initialises its config.`);
|
|
196
|
+
}
|
|
197
|
+
targets.push(path.join(override, 'plug-ins'));
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
const base = gimpConfigBase(d);
|
|
201
|
+
const chosen = chooseVersion(base, d);
|
|
202
|
+
version = chosen.version;
|
|
203
|
+
if (!chosen.existed) {
|
|
204
|
+
warnings.push(`No GIMP 3.x config dir found under ${base} — creating ${version}. ` +
|
|
205
|
+
'Launch GIMP 3 at least once (so it creates its real config dir), then re-run to be sure it lands in the right place.');
|
|
206
|
+
}
|
|
207
|
+
targets.push(path.join(base, version, 'plug-ins'));
|
|
208
|
+
// Windows Store virtualized safety net (only when a package dir exists).
|
|
209
|
+
for (const vdir of storeVirtualizedPluginDirs(version, d)) {
|
|
210
|
+
targets.push(vdir);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
const paths = [];
|
|
214
|
+
for (const pluginsDir of targets) {
|
|
215
|
+
try {
|
|
216
|
+
paths.push(installInto(pluginsDir, source, d));
|
|
217
|
+
}
|
|
218
|
+
catch (e) {
|
|
219
|
+
warnings.push(`Failed to write plugin into ${pluginsDir}: ${e.message}`);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return { installed: paths.length > 0, paths, version, warnings };
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=gimpPluginInstall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gimpPluginInstall.js","sourceRoot":"","sources":["../../src/core/gimpPluginInstall.ts"],"names":[],"mappings":"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"}
|
package/out/core/mcpCatalog.js
CHANGED
|
@@ -136,7 +136,7 @@ function getCatalog(platform) {
|
|
|
136
136
|
prerequisites: [{ id: 'uv', installHint: uvInstallHint(platform) }],
|
|
137
137
|
postSetup: [
|
|
138
138
|
'The MCP client runs from git automatically (uv fetches it) — no manual download of the client.',
|
|
139
|
-
`
|
|
139
|
+
`The GIMP-side AUTO-START plugin is installed for you into your GIMP 3.x plug-ins folder (${gimpPluginDir(platform)}) — just restart GIMP and the server auto-starts on localhost:9876 (no menu click). Re-run any time with: autodev mcp gimp-install-plugin`,
|
|
140
140
|
'Requires GIMP 3.0+ (the plugin uses the GIMP 3.0 API).',
|
|
141
141
|
"Port 9876 collides with Blender — don't run both MCP servers at once.",
|
|
142
142
|
],
|
|
@@ -150,10 +150,10 @@ function getCatalog(platform) {
|
|
|
150
150
|
/** GIMP 3.0 plug-ins directory, per OS (where the server-side plugin lives). */
|
|
151
151
|
function gimpPluginDir(platform) {
|
|
152
152
|
return platform === 'win32'
|
|
153
|
-
? '%APPDATA%\\GIMP\\3.
|
|
153
|
+
? '%APPDATA%\\GIMP\\3.x\\plug-ins\\'
|
|
154
154
|
: platform === 'darwin'
|
|
155
|
-
? '~/Library/Application Support/GIMP/3.
|
|
156
|
-
: '~/.config/GIMP/3.
|
|
155
|
+
? '~/Library/Application Support/GIMP/3.x/plug-ins/'
|
|
156
|
+
: '~/.config/GIMP/3.x/plug-ins/';
|
|
157
157
|
}
|
|
158
158
|
/** Lookup a single catalog entry. */
|
|
159
159
|
function catalogEntry(app, platform) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpCatalog.js","sourceRoot":"","sources":["../../src/core/mcpCatalog.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,gFAAgF;AAChF,2EAA2E;AAC3E,gFAAgF;AAChF,wEAAwE;AACxE,EAAE;AACF,uEAAuE;AACvE,+EAA+E;AAC/E,gFAAgF;AAChF,8EAA8E;;;AAkD9E,sCAQC;AAGD,8CAIC;AAGD,wCAIC;AA2BD,sCAmBC;AAGD,gCAwCC;AAYD,oCAIC;AAtJD;;;;GAIG;AACU,QAAA,uBAAuB,GAAG,sBAAsB,CAAC;AAE9D;;;;;;;;GAQG;AACU,QAAA,eAAe,GAAG,0CAA0C,CAAC;AAC7D,QAAA,mBAAmB,GAC9B,yDAAyD,uBAAe,qBAAqB,CAAC;AACnF,QAAA,YAAY,GAAG,YAAY,CAAC;AACzC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,oBAAY,EAAE,2BAAmB,CAAC,CAAC;AAE3E,uFAAuF;AACvF,SAAgB,aAAa,CAAC,QAAyB;IACrD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,oFAAoF,CAAC;IAC9F,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,yEAAyE,CAAC;IACnF,CAAC;IACD,OAAO,iDAAiD,CAAC;AAC3D,CAAC;AAED,8CAA8C;AAC9C,SAAgB,iBAAiB,CAAC,QAAyB;IACzD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAAC,OAAO,8EAA8E,CAAC;IAAC,CAAC;IACpH,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAAC,OAAO,gEAAgE,CAAC;IAAC,CAAC;IACvG,OAAO,qEAAqE,CAAC;AAC/E,CAAC;AAED,4FAA4F;AAC5F,SAAgB,cAAc,CAAC,QAAyB;IACtD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAAC,OAAO,wEAAwE,CAAC;IAAC,CAAC;IAC9G,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAAC,OAAO,iDAAiD,CAAC;IAAC,CAAC;IACxF,OAAO,6DAA6D,CAAC;AACvE,CAAC;AAED;;;;;;;;GAQG;AACU,QAAA,gBAAgB,GAC3B,8EAA8E,CAAC;AACjF,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,wBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AAExF;;;;;;;;;;;GAWG;AACH,SAAgB,aAAa,CAC3B,GAAkB,EAClB,QAAyB,EACzB,IAAkC;IAElC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,+EAA+E;QAC/E,kDAAkD;QAClD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACzD,CAAC;IACD,gFAAgF;IAChF,4EAA4E;IAC5E,MAAM,KAAK,GAAG,IAAI,EAAE,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACjE,IAAI,KAAK,IAAI,KAAK,KAAK,+BAAuB,EAAE,CAAC;QAC/C,OAAO,EAAE,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IACjF,CAAC;IACD,+EAA+E;IAC/E,wEAAwE;IACxE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,oFAAoF;AACpF,SAAgB,UAAU,CAAC,QAAyB;IAClD,OAAO;QACL;YACE,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,SAAS;YACrB,aAAa,EAAE;gBACb,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE;gBACnD,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE;aACrD;YACD,SAAS,EAAE;gBACT,2KAA2K;gBAC3K,0NAA0N;gBAC1N,0RAA0R;gBAC1R,mDAAmD;aACpD;YACD,KAAK,EAAE;gBACL,+VAA+V;gBAC/V,mMAAmM;aACpM;SACF;QACD;YACE,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,MAAM;YAClB,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnE,SAAS,EAAE;gBACT,gGAAgG;gBAChG,
|
|
1
|
+
{"version":3,"file":"mcpCatalog.js","sourceRoot":"","sources":["../../src/core/mcpCatalog.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "autodev-cli",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.150",
|
|
4
4
|
"description": "AutoAIDev CLI — autonomous AI task loop with VS Code / Cursor launcher",
|
|
5
5
|
"author": "Peter Ivanov <peter@microweber.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"start": "node bin/autodev.js",
|
|
34
34
|
"test:coverage": "c8 npm test",
|
|
35
35
|
"coverage:html": "c8 --reporter=html npm test",
|
|
36
|
-
"test": "node test/smoke.mjs && node test/liveNarration.smoke.mjs && node test/liveNarration.edge.smoke.mjs && node test/normalizer.parity.smoke.mjs && node test/providerConfig.smoke.mjs && node test/providers.services.smoke.mjs && node test/providers.dummy.smoke.mjs && node test/mcpOnlyOperator.smoke.mjs && node test/opencodeEventFilter.smoke.mjs && node test/copilotMcpIsolation.smoke.mjs && node test/grokSpawnError.smoke.mjs && node test/initTemplate.smoke.mjs && node test/settingsAliases.smoke.mjs && node test/setupWritesOfficeMcp.smoke.mjs && node test/provisionNoGlobalMcp.smoke.mjs && node test/deprovisionCleans.smoke.mjs && node test/hooksElectronSafe.smoke.mjs && node test/claudePermissions.smoke.mjs && node test/claudeMcpAllowList.smoke.mjs && node test/presenceGuard.smoke.mjs && node test/cliExitHardFail.smoke.mjs && node test/redactSecrets.smoke.mjs && node test/claudeUsage.smoke.mjs && node test/graphStore.smoke.mjs && node test/programReminder.smoke.mjs && node test/agentBackup.smoke.mjs && node test/persona.smoke.mjs && node test/soulUpdate.smoke.mjs && node test/sessionsGlobal.smoke.mjs && node test/resumeSessionLoopDefault.smoke.mjs && node test/secureFilePerms.smoke.mjs && node test/providers.dummy.office.smoke.mjs && node test/mcpDetect.smoke.mjs && node test/mcpCatalog.smoke.mjs && node test/mcpCatalogMigrate.smoke.mjs && node test/mcpStartupTimeout.smoke.mjs"
|
|
36
|
+
"test": "node test/smoke.mjs && node test/liveNarration.smoke.mjs && node test/liveNarration.edge.smoke.mjs && node test/normalizer.parity.smoke.mjs && node test/providerConfig.smoke.mjs && node test/providers.services.smoke.mjs && node test/providers.dummy.smoke.mjs && node test/mcpOnlyOperator.smoke.mjs && node test/opencodeEventFilter.smoke.mjs && node test/copilotMcpIsolation.smoke.mjs && node test/grokSpawnError.smoke.mjs && node test/initTemplate.smoke.mjs && node test/settingsAliases.smoke.mjs && node test/setupWritesOfficeMcp.smoke.mjs && node test/provisionNoGlobalMcp.smoke.mjs && node test/deprovisionCleans.smoke.mjs && node test/hooksElectronSafe.smoke.mjs && node test/claudePermissions.smoke.mjs && node test/claudeMcpAllowList.smoke.mjs && node test/presenceGuard.smoke.mjs && node test/cliExitHardFail.smoke.mjs && node test/redactSecrets.smoke.mjs && node test/claudeUsage.smoke.mjs && node test/graphStore.smoke.mjs && node test/programReminder.smoke.mjs && node test/agentBackup.smoke.mjs && node test/persona.smoke.mjs && node test/soulUpdate.smoke.mjs && node test/sessionsGlobal.smoke.mjs && node test/resumeSessionLoopDefault.smoke.mjs && node test/secureFilePerms.smoke.mjs && node test/providers.dummy.office.smoke.mjs && node test/mcpDetect.smoke.mjs && node test/gimpPluginInstall.smoke.mjs && node test/mcpCatalog.smoke.mjs && node test/mcpCatalogMigrate.smoke.mjs && node test/mcpStartupTimeout.smoke.mjs"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@opencode-ai/sdk": "^1.14.41",
|