autodev-cli 1.4.148 → 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.
@@ -0,0 +1,267 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ #
4
+ # gimp_mcp_server.py — AutoDev auto-start GIMP 3.x MCP bridge
5
+ #
6
+ # Derived from libreearth/gimp-mcp @49c46dd (GPL-3.0); modified by AutoDev to
7
+ # auto-start as a GIMP 3.x PERSISTENT extension. The upstream plugin registered a
8
+ # manual "<Image>/Filters/Development/ → Start MCP Server" ImageProcedure that the
9
+ # user had to click; this variant registers a PERSISTENT extension so GIMP starts
10
+ # the socket server automatically on launch — no menu click, no open image needed.
11
+ #
12
+ # The socket / command-marshalling logic (start_server, handle_client,
13
+ # execute_command, GLib.idle_add onto GIMP's main thread) is kept from upstream.
14
+ # ONLY the registration + run() model changed to PERSISTENT + defensive ordering.
15
+ #
16
+ # ---------------------------------------------------------------------------
17
+ # GIMP 3.x plugin layout (REQUIRED): this file must live at
18
+ # <gimp-config>/<ver>/plug-ins/gimp_mcp_server/gimp_mcp_server.py
19
+ # i.e. inside a sub-folder whose name == this file's basename. A loose .py is
20
+ # IGNORED by GIMP 3.x. On Linux/macOS it must ALSO be executable (chmod 0o755).
21
+ # ---------------------------------------------------------------------------
22
+ #
23
+ # Copyright (C) 2023 libreearth (upstream, GPL-3.0)
24
+ # Modifications Copyright (C) 2025 AutoDev
25
+ #
26
+ # This program is free software: you can redistribute it and/or modify it under
27
+ # the terms of the GNU General Public License as published by the Free Software
28
+ # Foundation, either version 3 of the License, or (at your option) any later
29
+ # version.
30
+ #
31
+ # This program is distributed in the hope that it will be useful, but WITHOUT ANY
32
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
33
+ # PARTICULAR PURPOSE. See the GNU General Public License for more details.
34
+ #
35
+ # You should have received a copy of the GNU General Public License along with
36
+ # this program. If not, see <https://www.gnu.org/licenses/>. A copy is vendored
37
+ # next to this file as LICENSE.
38
+
39
+ import os
40
+ import sys
41
+ import json
42
+ import socket
43
+ import threading
44
+ import traceback
45
+ import datetime
46
+
47
+ import gi
48
+ gi.require_version('Gimp', '3.0')
49
+ from gi.repository import Gimp
50
+ from gi.repository import GLib
51
+
52
+
53
+ # ---------------------------------------------------------------------------
54
+ # Logging — an auto-start extension has NO console, so every diagnostic goes to
55
+ # a log file the user can read. We resolve it next to this plug-in first (always
56
+ # writable if the plug-in loaded at all), falling back to the GIMP config dir.
57
+ # Nothing here may raise: a logging failure must never stop GIMP from launching.
58
+ # ---------------------------------------------------------------------------
59
+ def _log_path():
60
+ try:
61
+ here = os.path.dirname(os.path.abspath(__file__))
62
+ return os.path.join(here, 'gimp-mcp-server.log')
63
+ except Exception:
64
+ try:
65
+ return os.path.join(GLib.get_user_config_dir(), 'gimp-mcp-server.log')
66
+ except Exception:
67
+ return os.path.join(os.path.expanduser('~'), 'gimp-mcp-server.log')
68
+
69
+
70
+ _LOG_FILE = _log_path()
71
+
72
+
73
+ def log(msg):
74
+ """Best-effort append to the log file AND stderr. Never raises."""
75
+ line = '[%s] %s' % (datetime.datetime.now().isoformat(timespec='seconds'), msg)
76
+ try:
77
+ with open(_LOG_FILE, 'a', encoding='utf-8') as fh:
78
+ fh.write(line + '\n')
79
+ except Exception:
80
+ pass
81
+ try:
82
+ sys.stderr.write(line + '\n')
83
+ except Exception:
84
+ pass
85
+
86
+
87
+ class MCPPlugin(Gimp.PlugIn):
88
+ # ── Registration ──────────────────────────────────────────────────────
89
+ def do_query_procedures(self):
90
+ return ["plug-in-mcp-server-autostart"]
91
+
92
+ def do_create_procedure(self, name):
93
+ # PERSISTENT + no args + no menu = GIMP auto-starts this extension at
94
+ # launch. Adding ANY argument, a menu label, or a menu path would turn
95
+ # it back into a user-invoked plug-in and disable auto-start.
96
+ procedure = Gimp.Procedure.new(
97
+ self, name, Gimp.PDBProcType.PERSISTENT, self.run, None,
98
+ )
99
+ try:
100
+ procedure.set_documentation(
101
+ "AutoDev MCP server (auto-start)",
102
+ "Auto-starts a localhost:9876 socket bridge so external MCP "
103
+ "clients can drive GIMP. Derived from libreearth/gimp-mcp "
104
+ "(GPL-3.0), modified by AutoDev to run as a PERSISTENT extension.",
105
+ name,
106
+ )
107
+ procedure.set_attribution("AutoDev", "AutoDev (GPL-3.0)", "2025")
108
+ except Exception as e:
109
+ # Attribution/doc setters are cosmetic — never let a binding
110
+ # mismatch here prevent the procedure from registering.
111
+ log("do_create_procedure: non-fatal setter error: %s" % e)
112
+ return procedure
113
+
114
+ # ── Extension entry point ─────────────────────────────────────────────
115
+ def run(self, procedure, config, run_data):
116
+ """PERSISTENT extension entry point.
117
+
118
+ DEFENSIVE ORDER (the brick-risk part): call persistent_ready() FIRST.
119
+ Its ABSENCE is what hangs GIMP at startup, so it must run before
120
+ anything that could throw. Everything after it is wrapped so a bind
121
+ failure logs + degrades instead of taking GIMP core down with it.
122
+ """
123
+ # 1) Hand control back to GIMP core IMMEDIATELY so the UI keeps loading.
124
+ try:
125
+ procedure.persistent_ready()
126
+ log("persistent_ready() OK — extension is live")
127
+ except Exception as e:
128
+ # A binding mismatch on this exact call is the known lock-up cause;
129
+ # log it (do NOT re-raise) so GIMP still finishes launching.
130
+ log("persistent_ready() FAILED (non-fatal): %s\n%s"
131
+ % (e, traceback.format_exc()))
132
+
133
+ # 2) Start the socket server on a daemon thread. A bind failure (port in
134
+ # use, sandbox denial) MUST NOT crash the process or block launch.
135
+ try:
136
+ t = threading.Thread(target=self.start_server, daemon=True)
137
+ t.start()
138
+ log("MCP server thread started (listening on localhost:9876)")
139
+ except Exception as e:
140
+ log("failed to start MCP server thread (non-fatal): %s\n%s"
141
+ % (e, traceback.format_exc()))
142
+
143
+ # 3) Keep this extension process alive for the whole GIMP session so the
144
+ # socket stays open and idle_add callbacks can marshal onto core.
145
+ try:
146
+ GLib.MainLoop().run()
147
+ except Exception as e:
148
+ log("main loop exited (non-fatal): %s" % e)
149
+
150
+ # 4) Standard PERSISTENT success return.
151
+ return procedure.new_return_values(Gimp.PDBStatusType.SUCCESS, GLib.Error())
152
+
153
+ # ── Socket server (kept from upstream) ────────────────────────────────
154
+ def start_server(self):
155
+ host = 'localhost'
156
+ port = 9876
157
+ sock = None
158
+ try:
159
+ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
160
+ sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
161
+ sock.bind((host, port))
162
+ sock.listen(1)
163
+ log("server listening on %s:%d" % (host, port))
164
+ except Exception as e:
165
+ # Bind/listen failed (e.g. port already taken by Blender's MCP or a
166
+ # second GIMP). Log + bail out of the thread; GIMP keeps running.
167
+ log("bind/listen failed (non-fatal): %s\n%s" % (e, traceback.format_exc()))
168
+ try:
169
+ if sock is not None:
170
+ sock.close()
171
+ except Exception:
172
+ pass
173
+ return
174
+
175
+ while True:
176
+ try:
177
+ client, addr = sock.accept()
178
+ log("client connected: %s" % (addr,))
179
+ threading.Thread(
180
+ target=self.handle_client, args=(client,), daemon=True,
181
+ ).start()
182
+ except Exception as e:
183
+ log("accept error: %s" % e)
184
+ break
185
+ try:
186
+ sock.close()
187
+ except Exception:
188
+ pass
189
+
190
+ def handle_client(self, client):
191
+ buffer = b''
192
+ while True:
193
+ try:
194
+ data = client.recv(1024)
195
+ if not data:
196
+ break
197
+ buffer += data
198
+ try:
199
+ command = json.loads(buffer.decode('utf-8'))
200
+ buffer = b''
201
+ # Marshal onto GIMP's main thread — the PDB is not thread-safe.
202
+ GLib.idle_add(self.execute_command, command, client)
203
+ except json.JSONDecodeError:
204
+ # Partial frame — keep buffering until it parses.
205
+ continue
206
+ except Exception as e:
207
+ log("client error: %s" % e)
208
+ break
209
+ try:
210
+ client.close()
211
+ except Exception:
212
+ pass
213
+
214
+ def execute_command(self, command, client):
215
+ """Runs on GIMP's main thread via idle_add. Guarded so a bad command or
216
+ a wrong binding logs + returns an error frame rather than hanging."""
217
+ response = {}
218
+ try:
219
+ cmd_type = command.get("type")
220
+ params = command.get("params", {})
221
+
222
+ if cmd_type == "call_api":
223
+ api_path = params["api_path"]
224
+ args = params.get("args", [])
225
+ kwargs = params.get("kwargs", {})
226
+
227
+ module = Gimp
228
+ for part in api_path.split("."):
229
+ module = getattr(module, part)
230
+
231
+ result = module(*args, **kwargs)
232
+
233
+ if hasattr(result, "ID"):
234
+ result = {"id": result.ID}
235
+ elif isinstance(result, list):
236
+ result = [self.serialize_gimp_object(item) for item in result]
237
+ else:
238
+ result = str(result)
239
+
240
+ response = {"status": "success", "result": result}
241
+ else:
242
+ response = {"status": "error", "message": "Unknown command: %s" % cmd_type}
243
+ except Exception as e:
244
+ response = {"status": "error", "message": str(e),
245
+ "traceback": traceback.format_exc()}
246
+
247
+ try:
248
+ client.sendall(json.dumps(response).encode('utf-8'))
249
+ except Exception as e:
250
+ log("failed to send response: %s" % e)
251
+ return False # one-shot idle callback
252
+
253
+ def serialize_gimp_object(self, obj):
254
+ try:
255
+ if hasattr(obj, "ID"):
256
+ return {"id": obj.ID, "type": obj.__class__.__name__}
257
+ except Exception:
258
+ pass
259
+ return str(obj)
260
+
261
+
262
+ try:
263
+ Gimp.main(MCPPlugin.__gtype__, sys.argv)
264
+ except Exception as _e:
265
+ # If GIMP's main dispatch itself fails, log it — never let the plug-in
266
+ # process take the launch down with an unhandled traceback.
267
+ log("Gimp.main failed: %s\n%s" % (_e, traceback.format_exc()))
@@ -47,6 +47,7 @@ const binDetect_1 = require("../core/binDetect");
47
47
  const mcpCatalog_1 = require("../core/mcpCatalog");
48
48
  const settingsLoader_1 = require("../core/settingsLoader");
49
49
  const secureFile_1 = require("../core/secureFile");
50
+ const gimpPluginInstall_1 = require("../core/gimpPluginInstall");
50
51
  // Names autodev treats as built-in MCP servers (toggled via disabledBuiltinMcp,
51
52
  // not via an enabled:false entry in .mcp.json).
52
53
  const BUILTIN_NAMES = new Set([
@@ -100,11 +101,12 @@ function transportOf(e) {
100
101
  }
101
102
  return 'stdio';
102
103
  }
103
- /** Is a prerequisite launcher present on PATH? (uvx / python[3]). */
104
+ /** Is a prerequisite launcher present on PATH? (uv / uvx / git / python[3]). */
104
105
  function prereqInstalled(id, deps) {
105
106
  if (id === 'python') {
106
107
  return !!((0, binDetect_1.detectBinOnPath)('python3', deps) || (0, binDetect_1.detectBinOnPath)('python', deps));
107
108
  }
109
+ // Every other id (uv, uvx, git, …) is a bare launcher name resolved on PATH.
108
110
  return !!(0, binDetect_1.detectBinOnPath)(id, deps);
109
111
  }
110
112
  function buildDetect(root, deps) {
@@ -238,8 +240,10 @@ function enableApp(root, app, opts) {
238
240
  }
239
241
  return 0;
240
242
  }
241
- // gimp — experimental.
242
- logger_1.log.warn('⚠ GIMP MCP is EXPERIMENTAL — upstream ships no packaged launcher; expect manual wiring.');
243
+ // gimp — experimental, but runnable now: the default writes the git-based client
244
+ // that `uv` fetches + launches (no manual clone). --gimp-client stays an OPTIONAL
245
+ // override for a user's local checkout (run via python).
246
+ logger_1.log.warn('⚠ GIMP MCP is EXPERIMENTAL — upstream is a prototype; expect rough edges.');
243
247
  const gimpClient = (opts.gimpClient && opts.gimpClient.trim()) || undefined;
244
248
  const server = (0, mcpCatalog_1.serverSpecFor)('gimp', platform, { gimpClientPath: gimpClient });
245
249
  server._meta = { ...(server._meta || {}), catalogId: 'gimp' };
@@ -248,14 +252,29 @@ function enableApp(root, app, opts) {
248
252
  (0, projectMcp_1.saveProjectUserMcp)(root, user);
249
253
  sync(root);
250
254
  if (gimpClient) {
251
- logger_1.log.success(`Configured GIMP MCP client "${entry.serverName}" → ${gimpClient}`);
255
+ logger_1.log.success(`Configured GIMP MCP client "${entry.serverName}" → local ${gimpClient}`);
256
+ if (!prereqInstalled('python')) {
257
+ logger_1.log.warn('⚠ No python/python3 on PATH (needed to run your local client):');
258
+ logger_1.log.plain(` ${(0, mcpCatalog_1.pythonInstallHint)(platform)}`);
259
+ }
252
260
  }
253
261
  else {
254
- logger_1.log.warn(`Wrote a DISABLED stub "${entry.serverName}" (args: ${mcpCatalog_1.GIMP_CLIENT_PLACEHOLDER}). Provide --gimp-client <path> to complete it.`);
262
+ logger_1.log.success(`Configured GIMP MCP server "${entry.serverName}" (runs from git via uv).`);
263
+ if (!prereqInstalled('uv')) {
264
+ logger_1.log.warn('⚠ `uv` is NOT on PATH — the server is written but will not start until you install uv:');
265
+ logger_1.log.plain(` ${entry.prerequisites[0].installHint}`);
266
+ }
267
+ }
268
+ // Auto-install the GIMP-side AUTO-START plugin so the user copies nothing and
269
+ // the socket opens on GIMP launch (no menu click). Best-effort: a failure here
270
+ // must not fail the client-config write above.
271
+ try {
272
+ const res = (0, gimpPluginInstall_1.installGimpPlugin)();
273
+ printGimpInstall(res);
255
274
  }
256
- if (!prereqInstalled('python')) {
257
- logger_1.log.warn('⚠ No python/python3 on PATH:');
258
- logger_1.log.plain(` ${entry.prerequisites[0].installHint}`);
275
+ catch (e) {
276
+ logger_1.log.warn(`⚠ Could not auto-install the GIMP plugin: ${e.message}`);
277
+ logger_1.log.gray(' You can retry with: autodev mcp gimp-install-plugin');
259
278
  }
260
279
  logger_1.log.section('Manual steps');
261
280
  for (const s of entry.postSetup) {
@@ -266,6 +285,22 @@ function enableApp(root, app, opts) {
266
285
  }
267
286
  return 0;
268
287
  }
288
+ /** Pretty-print an installGimpPlugin() result (shared by --enable + standalone). */
289
+ function printGimpInstall(res) {
290
+ if (res.installed) {
291
+ logger_1.log.success(`Installed the AUTO-START GIMP MCP plugin (GIMP ${res.version}).`);
292
+ for (const p of res.paths) {
293
+ logger_1.log.plain(` ${p}`);
294
+ }
295
+ logger_1.log.plain(' Restart GIMP — the MCP server auto-starts on launch (localhost:9876). No menu click needed.');
296
+ }
297
+ else {
298
+ logger_1.log.warn('⚠ The GIMP MCP plugin was NOT installed.');
299
+ }
300
+ for (const w of res.warnings) {
301
+ logger_1.log.gray(` ! ${w}`);
302
+ }
303
+ }
269
304
  // ---------------------------------------------------------------------------
270
305
  // Command wiring
271
306
  // ---------------------------------------------------------------------------
@@ -401,6 +436,17 @@ function mcpCommand(program) {
401
436
  logger_1.log.gray(' Built-ins are the always-applied baseline (toggle via mcp enable/disable).');
402
437
  logger_1.log.gray(' Add a common/creative one with: autodev mcp add <name> --command <c> --arg <a>');
403
438
  });
439
+ // autodev mcp gimp-install-plugin [dir]
440
+ cmd
441
+ .command('gimp-install-plugin [dir]')
442
+ .description('Install the AUTO-START GIMP 3.x MCP plugin (localhost:9876 opens on GIMP launch — no menu click)')
443
+ .action((dir) => {
444
+ const res = (0, gimpPluginInstall_1.installGimpPlugin)(dir ? { targetDir: path.resolve(dir) } : undefined);
445
+ printGimpInstall(res);
446
+ if (!res.installed) {
447
+ process.exit(1);
448
+ }
449
+ });
404
450
  // autodev mcp detect [path] [--json] [--enable <app>] [--gimp-client <path>]
405
451
  cmd
406
452
  .command('detect [path]')
@@ -446,7 +492,7 @@ function mcpCommand(program) {
446
492
  }
447
493
  logger_1.log.plain('');
448
494
  logger_1.log.gray(' Enable one with: autodev mcp detect --enable blender');
449
- logger_1.log.gray(' GIMP (experimental): autodev mcp detect --enable gimp --gimp-client <gimp_mcp_client.py>');
495
+ logger_1.log.gray(' GIMP (experimental): autodev mcp detect --enable gimp (or --gimp-client <path> for a local checkout)');
450
496
  });
451
497
  }
452
498
  /** Flip enabled state for a user entry, or toggle disabledBuiltinMcp for a built-in. */
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { type DetectAppResult } from './binDetect';
2
+ export interface GimpInstallDeps {
3
+ platform: NodeJS.Platform;
4
+ env: NodeJS.ProcessEnv;
5
+ homedir: () => string;
6
+ fileExists: (p: string) => boolean;
7
+ listDir: (p: string) => string[];
8
+ mkdirp: (p: string) => void;
9
+ writeFile: (p: string, data: string) => void;
10
+ chmod: (p: string, mode: number) => void;
11
+ copyFile: (src: string, dst: string) => void;
12
+ /** The vendored auto-start plugin source (media/gimp/gimp_mcp_server.py). */
13
+ readPluginSource: () => string;
14
+ /** GIMP detection (to gate on major < 3). Defaults to detectApp('gimp'). */
15
+ detectGimp: () => DetectAppResult;
16
+ }
17
+ export interface GimpInstallResult {
18
+ installed: boolean;
19
+ /** Absolute path(s) of the written gimp_mcp_server.py file(s). */
20
+ paths: string[];
21
+ /** The GIMP minor-version dir chosen (e.g. "3.2"), or null when not installed. */
22
+ version: string | null;
23
+ warnings: string[];
24
+ }
25
+ export interface GimpInstallOpts {
26
+ /**
27
+ * Explicit versioned GIMP config dir to target (e.g. `~/.config/GIMP/3.2`),
28
+ * bypassing the auto-resolver. Same semantics as GIMP3_DIRECTORY.
29
+ */
30
+ targetDir?: string;
31
+ }
32
+ /** Absolute path to the vendored auto-start plugin shipped in the tarball. */
33
+ export declare function vendoredPluginSourcePath(): string;
34
+ /** Extract the GIMP MAJOR version from a launcher path (e.g. gimp-2.10 → 2). */
35
+ export declare function gimpMajorFromPath(p: string | null): number | null;
36
+ /**
37
+ * Install the auto-start GIMP MCP plugin. Resolves the target plug-ins dir(s)
38
+ * per-OS and writes the vendored plugin so GIMP opens the localhost:9876 socket
39
+ * on launch. Does NOT install when a clearly < 3 GIMP is the only one detected.
40
+ */
41
+ export declare function installGimpPlugin(opts?: GimpInstallOpts, deps?: Partial<GimpInstallDeps>): GimpInstallResult;