brainferno-mcp-bridge 0.2.2 → 0.3.1

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/README.md +66 -22
  3. package/dist/config.d.ts +17 -0
  4. package/dist/config.js +16 -1
  5. package/dist/config.js.map +1 -1
  6. package/dist/install/cli.js +41 -22
  7. package/dist/install/cli.js.map +1 -1
  8. package/dist/install/lib.d.ts +35 -0
  9. package/dist/install/lib.js +86 -0
  10. package/dist/install/lib.js.map +1 -1
  11. package/dist/server.js +7 -4
  12. package/dist/server.js.map +1 -1
  13. package/dist/tools/after-effects.d.ts +64 -1
  14. package/dist/tools/after-effects.js +384 -12
  15. package/dist/tools/after-effects.js.map +1 -1
  16. package/dist/tools/jobs.d.ts +11 -1
  17. package/dist/tools/jobs.js +16 -3
  18. package/dist/tools/jobs.js.map +1 -1
  19. package/dist/tools/media-encoder.d.ts +2 -0
  20. package/dist/tools/media-encoder.js +3 -3
  21. package/dist/tools/media-encoder.js.map +1 -1
  22. package/dist/tools/photoshop.js +80 -0
  23. package/dist/tools/photoshop.js.map +1 -1
  24. package/dist/tools/pipelines.d.ts +2 -0
  25. package/dist/tools/pipelines.js +3 -3
  26. package/dist/tools/pipelines.js.map +1 -1
  27. package/dist/tools/premiere.d.ts +2 -0
  28. package/dist/tools/premiere.js +22 -3
  29. package/dist/tools/premiere.js.map +1 -1
  30. package/dist/tools/result.d.ts +5 -0
  31. package/dist/tools/result.js +13 -7
  32. package/dist/tools/result.js.map +1 -1
  33. package/package.json +2 -2
  34. package/panels/panel-cep/CSXS/manifest.xml +2 -2
  35. package/panels/panel-cep/main.js +1 -1
  36. package/panels/panel-uxp/commands.js +220 -0
  37. package/panels/panel-uxp/main.js +1 -1
  38. package/panels/panel-uxp/manifest.json +1 -1
  39. package/panels/panel-uxp-ppro/commands.js +45 -0
  40. package/panels/panel-uxp-ppro/main.js +1 -1
  41. package/panels/panel-uxp-ppro/manifest.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,75 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.3.1 — 2026-09-27
4
+
5
+ - **Codex CLI and Gemini CLI are first-class clients.** The installer registers the
6
+ server with every MCP client CLI it finds (Claude Code, Codex CLI, Gemini CLI; filter
7
+ with `--clients`), each with the env defaults that suit it. Three new env vars carry
8
+ the differences: `BRAINFERNO_MCP_DEFAULT_WAIT` (false = long tools return a jobId at
9
+ once, for Codex's 60-second tool timeout — the advertised `wait` parameter now states
10
+ the live default), `BRAINFERNO_MCP_PREVIEW` (`path` returns previews as file paths for
11
+ clients that cannot show the model images; `inline`, `both`), and
12
+ `BRAINFERNO_MCP_JOB_WAIT_SECONDS` (the default `cc_job_wait` timeout, set to 50 for
13
+ Codex so each poll returns inside its limit). Claude Code keeps exactly the old
14
+ behavior. In shared mode the installer prints per-client connection snippets — Codex
15
+ reads the bearer token from an env var, Gemini from a headers block.
16
+ - **Panel versions can no longer drift.** `npm run panels:stamp` writes the package
17
+ version into the three panel manifests and each panel's `PANEL_VERSION`, and a test
18
+ fails when a bump forgets it. v0.3.0 shipped with its panels still reporting 0.2.0
19
+ (Photoshop, After Effects/Audition) and 0.1.0 (Premiere); from this release on they
20
+ carry the package version.
21
+
22
+ Found while building a lower-third .mogrt skill end to end (Illustrator → Photoshop →
23
+ After Effects → Premiere):
24
+
25
+ - After Effects `ae_apply_effect` takes an optional `name` and renames the effect once
26
+ applied. Essential Graphics labels a control with its effect name, so a Slider Control
27
+ named `Speed` now shows as "Speed" in Premiere instead of "Slider Control".
28
+ - After Effects `ae_import_as_comp` takes optional `duration` and `frameRate`. Without them
29
+ the imported comp came in at the project default (241 s) and every layer with it.
30
+ Giving a duration also trims the layers to it, so outPoint-anchored outros land at the end.
31
+ - New After Effects tool `ae_set_comp_props`: name, duration, frameRate, width, height on an
32
+ existing comp; a shorter duration trims layers the same way.
33
+ - After Effects `ae_add_layer` (text) and `ae_set_text` take `anchor: "center" | "origin"`.
34
+ The default keeps the anchor at the text's visual centre; `origin` leaves it at [0, 0] so
35
+ position is the left baseline — what a left-justified lower third wants. (Before, text
36
+ placed by its left edge rendered half its width too far left.)
37
+ - After Effects `ae_add_layer_style` retries the Layer Styles menu command up to three times
38
+ with a short pause, reselecting the layer each time. Seen live: the command did not take
39
+ when other scripts were queued behind it and the tool failed with "menu command did not
40
+ take".
41
+ - Known limit, not fixed: Premiere `pp_set_effect_param` cannot set a .mogrt text field
42
+ (`Graphic Parameters` → text control); the UXP API rejects strings ("Illegal Parameter
43
+ type") and reads the value back as null. Numbers (sliders) work.
44
+
45
+ ## v0.3.0 — 2026-09-05
46
+
47
+ - After Effects `ae_import_as_comp`: import a layered Photoshop (.psd) or Illustrator (.ai)
48
+ file as a composition — each source layer becomes its own AE layer, keeping blend modes,
49
+ positions, and (for PSD) editable layer styles. `cropped` chooses Composition - Cropped
50
+ Layers. Verified live: a PSD came in as three layers with its drop shadow editable in AE.
51
+ (Illustrator maps top-level layers to AE layers, so put objects on separate layers to keep
52
+ them separate; the file must be RGB and saved PDF-compatible.)
53
+ - After Effects Essential Graphics: `ae_add_to_essential_graphics` exposes a layer property
54
+ (transform channel, a text layer's source text, or any property via propertyPath) as a
55
+ control, and `ae_export_mogrt` exports the composition as a Motion Graphics template
56
+ (.mogrt). Verified live against AE 26.3.
57
+ - Photoshop gradient overlay: `ps_set_layer_style` now takes `style: "gradientOverlay"` with
58
+ `colors` (two or more hex stops), `gradientStyle` (linear/radial/angle/reflected/diamond),
59
+ `angle`, `scale`, `reverse`, `alignWithLayer`, and `dither`.
60
+ - After Effects `ae_set_expression` now rolls the property back to its previous expression
61
+ when the new one fails to compile (it used to leave the broken source assigned).
62
+ - Layer styles for Photoshop and After Effects. Photoshop: `ps_set_layer_style` (add or edit
63
+ a drop shadow, inner shadow, glow, bevel & emboss, satin, color overlay, or stroke — other
64
+ styles on the layer are kept), `ps_get_layer_styles`, `ps_remove_layer_style`. After
65
+ Effects: `ae_add_layer_style`, `ae_set_layer_style_param`, `ae_get_layer_styles`,
66
+ `ae_remove_layer_style` — friendly names map to AE's match names (satin → `chromeFX`,
67
+ colorOverlay → `solidFill`, stroke → `frameFX`).
68
+ - New Premiere Pro tool `pp_insert_mogrt`: drop a Motion Graphics template (.mogrt) on the
69
+ timeline at a time, like dragging it from the Essential Graphics panel. Without
70
+ `videoTrackIndex` it lands on the first track above every video clip playing at that time,
71
+ so the graphic sits over the picture.
72
+
3
73
  ## v0.2.2 — 2026-08-30
4
74
 
5
75
  - The server reported itself as **0.1.0** to every MCP client and every panel, whatever
package/README.md CHANGED
@@ -25,8 +25,9 @@ the way. Every action is one undo step in the app, so you can always step back.
25
25
  - **Runs on your machine.** Nothing leaves your computer unless you turn on *shared* mode
26
26
  for other computers on your network (token-protected).
27
27
 
28
- > Status: v0.2 — every tool verified live on Windows and macOS, the two platforms Adobe
29
- > ships Creative Cloud for (Adobe 2026 apps). See [Status](#status).
28
+ > Status: every tool verified live on Windows and macOS, the two platforms Adobe ships
29
+ > Creative Cloud for (Adobe 2026 apps). The npm badge above is the current version.
30
+ > See [Status](#status).
30
31
 
31
32
  The companion panel inside each app — here in Adobe After Effects and Adobe Photoshop —
32
33
  shows the connection, a live log, and a kill switch:
@@ -77,22 +78,28 @@ Ideas people build with it:
77
78
  Counts are the tools registered per app. Each family has a live-run write-up in
78
79
  `docs/spikes/` with the quirks found on real installs.
79
80
 
80
- ### Photoshop — 18 tools
81
+ ### Photoshop — 21 tools
81
82
  Documents (list, create, open, save, export PNG/JPEG, preview image), layers (create,
82
- text layers with font/size/color, properties, move, duplicate, delete), place an image as a
83
- smart object, fill, filters (Gaussian/motion/unsharp…), resize, crop.
84
-
85
- ### After Effects — 24 tools
86
- Project info and file, compositions and footage (list, create, import), layers of every
87
- kind (footage, solid, text, null, adjustment), keyframes with easing, expressions, effects
88
- and their parameters, text content/font/color/justification, markers, single-frame preview,
89
- render queue, and headless rendering through `aerender` (the UI stays free).
90
-
91
- ### Premiere Pro — 28 tools
83
+ text layers with font/size/color, properties, move, duplicate, delete), layer styles
84
+ (drop shadow, glows, bevel, satin, color and gradient overlay, stroke… — add, adjust, read,
85
+ remove), place an image as a smart object, fill, filters (Gaussian/motion/unsharp…),
86
+ resize, crop.
87
+
88
+ ### After Effects — 31 tools
89
+ Project info and file, compositions and footage (list, create, import), import a layered
90
+ PSD or AI file as a composition (one layer each, with PSD layer styles editable), layers of
91
+ every kind (footage, solid, text, null, adjustment), keyframes with easing, expressions,
92
+ effects and their parameters, layer styles (drop shadow, glows, bevel, stroke… — add, adjust,
93
+ read, remove), text content/font/color/justification, markers, Essential Graphics (expose a
94
+ control, export a Motion Graphics template), single-frame preview, render queue, and
95
+ headless rendering through `aerender` (the UI stays free).
96
+
97
+ ### Premiere Pro — 29 tools
92
98
  Project, sequences and items, a full sequence read (every track and clip with times),
93
- import, create a sequence from media, insert/overwrite, ripple remove, move, trim, rename,
94
- transitions, effects and keyframes (Motion, Opacity, any applied effect), markers, frame
95
- preview, export preset search, and export (in Premiere or handed to Media Encoder).
99
+ import, create a sequence from media, insert/overwrite, Motion Graphics templates (.mogrt)
100
+ dropped over the picture, ripple remove, move, trim, rename, transitions, effects and
101
+ keyframes (Motion, Opacity, any applied effect), markers, frame preview, export preset
102
+ search, and export (in Premiere or handed to Media Encoder).
96
103
 
97
104
  ### Illustrator — 7 tools + Adobe's own 46
98
105
  Create documents, draw shapes (rect, ellipse, line, polygon, star) and text, save `.ai`,
@@ -137,7 +144,7 @@ The full tool table is in [Tool reference](#tool-reference).
137
144
  a name. See `docs/spikes/13-macos-live.md`.
138
145
  - The Adobe apps you want to control (2024 or newer; Premiere Pro 25.6+ for its panel).
139
146
  - [Node.js](https://nodejs.org) 20 or newer.
140
- - [Claude Code](https://claude.com/claude-code) (or another MCP client).
147
+ - An MCP client: [Claude Code](https://claude.com/claude-code), [Codex CLI](https://developers.openai.com/codex/cli), [Gemini CLI](https://github.com/google-gemini/gemini-cli), or any other. The installer registers the server with all three CLIs it finds; see [Other MCP clients](#other-mcp-clients-codex-cli-gemini-cli-and-more) for what differs outside Claude Code.
141
148
  - Optional: [ffmpeg](https://ffmpeg.org) on your PATH for the audio tools
142
149
  (`winget install ffmpeg` / `brew install ffmpeg`). It is never bundled — the server runs the
143
150
  copy you install; see [FFmpeg licensing](#ffmpeg).
@@ -178,7 +185,7 @@ Then it: writes `~/.brainferno-mcp-bridge/config.json`, asks for your Illustrato
178
185
  chose Illustrator (paste the line Illustrator shows; it is checked on the spot), links the
179
186
  After Effects/Audition panel, sets Media Encoder's service address, opens or closes the
180
187
  firewall port, prints the Photoshop/Premiere panel steps, and offers to register the server
181
- with Claude Code. On macOS it asks one more question when both Illustrator and Illustrator
188
+ with every MCP client CLI it finds — Claude Code, Codex CLI, Gemini CLI. On macOS it asks one more question when both Illustrator and Illustrator
182
189
  (Beta) are installed — see below.
183
190
 
184
191
  Non-interactive examples (from a source checkout, replace `brainferno-mcp-bridge-install`
@@ -192,7 +199,8 @@ brainferno-mcp-bridge-install --apps ppro,ame --mode shared --yes # Premier
192
199
 
193
200
  App names: `ps ae ppro ai au ame` or `all`. Re-run the installer any time to change apps
194
201
  or mode. Other flags: `--token`, `--port`, `--host`, `--illustrator-key`, `--illustrator-url`,
195
- `--illustrator-app`, `--no-panels`, `--no-ame`, `--no-firewall`, `--no-illustrator`, `--register`.
202
+ `--illustrator-app`, `--no-panels`, `--no-ame`, `--no-firewall`, `--no-illustrator`, `--register`,
203
+ `--clients claude,codex,gemini`.
196
204
 
197
205
  #### On macOS
198
206
 
@@ -234,6 +242,36 @@ Open it once per app; it connects on its own and shows a log and a kill switch.
234
242
  In Claude Code: `/mcp` shows **brainferno** connected. Try: *"Which Adobe apps are
235
243
  connected?"* (`cc_connected_apps`), then anything from the examples above.
236
244
 
245
+ ### Other MCP clients: Codex CLI, Gemini CLI, and more
246
+
247
+ The installer registers the server with every client CLI it finds. To do it by hand
248
+ (replace the path with your install's `dist/index.js` — the installer prints the exact
249
+ line):
250
+
251
+ ```bash
252
+ codex mcp add brainferno --env BRAINFERNO_MCP_DEFAULT_WAIT=false \
253
+ --env BRAINFERNO_MCP_PREVIEW=path --env BRAINFERNO_MCP_JOB_WAIT_SECONDS=50 \
254
+ -- node "<path>/dist/index.js"
255
+ gemini mcp add -s user -e BRAINFERNO_MCP_DEFAULT_WAIT=false brainferno node "<path>/dist/index.js"
256
+ ```
257
+
258
+ The env vars adapt the server to each client — Claude Code runs without them:
259
+
260
+ - **Codex CLI kills any tool call at 60 seconds** (`tool_timeout_sec`).
261
+ `BRAINFERNO_MCP_DEFAULT_WAIT=false` makes renders, exports and pipelines return a
262
+ `jobId` immediately instead of blocking; the agent polls `cc_job_wait`, whose default
263
+ timeout `BRAINFERNO_MCP_JOB_WAIT_SECONDS=50` keeps each poll inside Codex's limit.
264
+ Alternatively raise `tool_timeout_sec` for this server in `~/.codex/config.toml`.
265
+ - **Codex cannot show the model MCP image blocks**, so `BRAINFERNO_MCP_PREVIEW=path`
266
+ returns previews as file paths (its own `view_image` tool reads them). Gemini CLI
267
+ renders images, so it keeps inline previews.
268
+
269
+ Any other MCP client works the same way: stdio `node <path>/dist/index.js`, plus whichever
270
+ of the three env vars its timeouts and image support call for. In *shared* mode the server
271
+ also speaks Streamable HTTP with a bearer token (next section); Codex takes the token from
272
+ an env var named by `bearer_token_env_var` in `~/.codex/config.toml`, Gemini from a
273
+ `headers` block in `~/.gemini/settings.json` — the installer prints both snippets.
274
+
237
275
  ### Using it from another computer
238
276
 
239
277
  In *shared* mode the server also speaks MCP over HTTP on port 7898 and refuses every
@@ -342,6 +380,9 @@ override it:
342
380
  | `BRAINFERNO_MCP_AME_WEBSERVICE` | *(auto-detect)* | Path to Media Encoder's `ame_webservice_console` |
343
381
  | `BRAINFERNO_MCP_AME_PORT` / `_AME_IDLE_MS` | *(from its ini)* / `600000` | Media Encoder service port; idle time before it is stopped |
344
382
  | `BRAINFERNO_MCP_HTTP_PORT` / `_HTTP_HOST` / `_HTTP_TOKEN` | *(off)* / `127.0.0.1` / *(none)* | Remote mode (set by the installer's *shared* choice) |
383
+ | `BRAINFERNO_MCP_DEFAULT_WAIT` | `true` | Whether long tools (renders, exports, pipelines) block when `wait` is not passed; `false` returns a jobId at once — for clients with short tool timeouts ([Codex](#other-mcp-clients-codex-cli-gemini-cli-and-more)) |
384
+ | `BRAINFERNO_MCP_PREVIEW` | `both` | Preview tools return `inline` (image only), `path` (file path only — for clients that can't show the model images), or `both` |
385
+ | `BRAINFERNO_MCP_JOB_WAIT_SECONDS` | `300` | Default `cc_job_wait` timeout; keep it below the client's own tool timeout |
345
386
  | `BRAINFERNO_MCP_LOG_LEVEL` | `info` | `error` \| `warn` \| `info` \| `debug` |
346
387
 
347
388
  ## Security
@@ -412,11 +453,14 @@ docs/ build plan, protocol, live-run notes (spikes/), Audition AP
412
453
 
413
454
  - **Working, verified live on Windows and macOS (Adobe 2026 apps)**: all six application
414
455
  lanes and their v1 tool sets, the ffmpeg lane, the job registry, the four pipelines, remote
415
- mode, and the installer. Write-ups with the quirks found: `docs/spikes/05`–`13` (`13` is the
416
- macOS run: aerender path, Media Encoder's config file and renderer).
456
+ mode, and the installer. Write-ups with the quirks found: `docs/spikes/05`–`14` (`13` is the
457
+ macOS run: aerender path, Media Encoder's config file and renderer; `14` is the release
458
+ process and what npm actually does after a publish).
417
459
  - **Not yet**: double-click panel installs (`.ccx`/`.zxp`) so the UXP Developer
418
460
  Tool is not needed; a single signed installer; TLS for shared mode; Audition multitrack
419
- writes; Media Encoder queue control.
461
+ writes; Media Encoder queue control. The Codex CLI / Gemini CLI lanes are built and
462
+ unit-tested but not yet verified against the live CLIs — that run is
463
+ `docs/spikes/15-multi-client-lanes.md`.
420
464
  - Roadmap: `docs/BUILD_PLAN.md` (Phase 6).
421
465
 
422
466
  ## License
package/dist/config.d.ts CHANGED
@@ -1,6 +1,12 @@
1
1
  /** Runtime configuration, read once at startup from the environment. */
2
2
  export declare const DEFAULT_ILLUSTRATOR_MCP_URL = "http://localhost:18412/v1/mcp";
3
3
  export type LogLevel = "error" | "warn" | "info" | "debug";
4
+ /**
5
+ * How preview tools return images: "both" (image block + file path, the
6
+ * default), "inline" (image block only), or "path" (file path only — for MCP
7
+ * clients that cannot show the model image content, e.g. Codex CLI).
8
+ */
9
+ export type PreviewMode = "inline" | "path" | "both";
4
10
  /** Read BRAINFERNO_MCP_X, falling back to the pre-rename ADOBE_CC_MCP_X with a one-time warning. */
5
11
  export declare function envValue(name: string): string | undefined;
6
12
  /** Settings live in ~/.brainferno-mcp-bridge; copy config.json from the pre-rename ~/.adobe-cc-mcp once. */
@@ -73,6 +79,17 @@ export interface Config {
73
79
  /** Which applications get their tools registered (installer choice; env BRAINFERNO_MCP_APPS overrides). */
74
80
  enabledApps: InstallableApp[];
75
81
  logLevel: LogLevel;
82
+ /**
83
+ * Whether long tools (renders, exports, pipelines) block until done when the
84
+ * caller does not pass `wait`. False suits clients with short tool timeouts
85
+ * (Codex CLI kills calls at 60s by default): tools return a jobId at once and
86
+ * the client polls cc_job_wait. Set per client in its MCP registration env.
87
+ */
88
+ defaultWait: boolean;
89
+ /** How preview tools return images; see {@link PreviewMode}. */
90
+ preview: PreviewMode;
91
+ /** Default cc_job_wait timeout, seconds. Keep below the client's tool timeout. */
92
+ jobWaitSeconds: number;
76
93
  }
77
94
  /** Keys the installer may write to `~/.brainferno-mcp-bridge/config.json` (mode 600). */
78
95
  /** Everything the installer can switch on or off. */
package/dist/config.js CHANGED
@@ -5,6 +5,7 @@ import { join } from "node:path";
5
5
  import { defaultHandshakePath } from "./bridge/handshake.js";
6
6
  export const DEFAULT_ILLUSTRATOR_MCP_URL = "http://localhost:18412/v1/mcp";
7
7
  const LOG_LEVELS = ["error", "warn", "info", "debug"];
8
+ const PREVIEW_MODES = ["inline", "path", "both"];
8
9
  const LEGACY_ENV_PREFIX = "ADOBE_CC_MCP_";
9
10
  const warnedLegacy = new Set();
10
11
  /** Read BRAINFERNO_MCP_X, falling back to the pre-rename ADOBE_CC_MCP_X with a one-time warning. */
@@ -127,10 +128,21 @@ function intFromEnv(name, fallback, { allowZero = false } = {}) {
127
128
  }
128
129
  return parsed;
129
130
  }
130
- function boolFromEnv(name) {
131
+ function boolFromEnv(name, fallback = false) {
131
132
  const raw = envValue(name);
133
+ if (raw === undefined || raw === "")
134
+ return fallback;
132
135
  return raw === "1" || raw === "true";
133
136
  }
137
+ function previewFromEnv() {
138
+ const raw = envValue("BRAINFERNO_MCP_PREVIEW");
139
+ if (raw === undefined || raw === "")
140
+ return "both";
141
+ if (!PREVIEW_MODES.includes(raw)) {
142
+ throw new Error(`BRAINFERNO_MCP_PREVIEW must be one of ${PREVIEW_MODES.join(", ")}, got ${raw}`);
143
+ }
144
+ return raw;
145
+ }
134
146
  function logLevelFromEnv() {
135
147
  const raw = envValue("BRAINFERNO_MCP_LOG_LEVEL");
136
148
  if (raw === undefined || raw === "")
@@ -170,6 +182,9 @@ export function loadConfig() {
170
182
  httpToken: envValue("BRAINFERNO_MCP_HTTP_TOKEN") ?? file.httpToken ?? "",
171
183
  enabledApps: parseApps(envValue("BRAINFERNO_MCP_APPS"), file.enabledApps ?? INSTALLABLE_APPS),
172
184
  logLevel: logLevelFromEnv(),
185
+ defaultWait: boolFromEnv("BRAINFERNO_MCP_DEFAULT_WAIT", true),
186
+ preview: previewFromEnv(),
187
+ jobWaitSeconds: intFromEnv("BRAINFERNO_MCP_JOB_WAIT_SECONDS", 300),
173
188
  };
174
189
  }
175
190
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,11 @@ import { basename, dirname, join, resolve } from "node:path";
6
6
  import { createInterface } from "node:readline/promises";
7
7
  import { fileURLToPath } from "node:url";
8
8
  import { DEFAULT_ILLUSTRATOR_MCP_URL, migrateLegacyUserDir, readUserConfig, userConfigPath } from "../config.js";
9
- import { AME_INI_SEED, APP_CHOICES, DEFAULT_HTTP_PORT, appsNeed, checkIllustratorKey, detectInstalledApps, extractIllustratorKey, extractIllustratorUrl, finderCopyScript, findIllustratorApps, firewallCommands, lanAddresses, mcpAddCommands, mergeUserConfig, pickApps, platformPaths, rewriteAmeIni } from "./lib.js";
9
+ import { AME_INI_SEED, APP_CHOICES, DEFAULT_HTTP_PORT, appsNeed, checkIllustratorKey, detectInstalledApps, extractIllustratorKey, extractIllustratorUrl, finderCopyScript, findIllustratorApps, firewallCommands, lanAddresses, mergeUserConfig, parseClients, pickApps, platformPaths, registrationPlans, rewriteAmeIni } from "./lib.js";
10
10
  /**
11
11
  * Interactive installer:
12
12
  * node dist/install/cli.js [--apps ps,ae,ppro,ai,au,ame|all] [--mode local|shared] [--token T] [--port N] [--yes] [--no-panels] [--no-ame] [--no-firewall] [--register]
13
- * [--illustrator-key K|"claude mcp add … line"] [--illustrator-url U] [--no-illustrator]
13
+ * [--clients claude,codex,gemini] [--illustrator-key K|"claude mcp add … line"] [--illustrator-url U] [--no-illustrator]
14
14
  *
15
15
  * Asks one question — "only this computer" or "shared on my network" — and
16
16
  * sets every switch that depends on it: the remote MCP listener + token, the
@@ -35,7 +35,7 @@ for (let i = 2; i < process.argv.length; i++) {
35
35
  const [k, v] = a.slice(2).split("=", 2);
36
36
  if (v !== undefined)
37
37
  args.set(k, v);
38
- else if (process.argv[i + 1] && !process.argv[i + 1].startsWith("--") && ["mode", "token", "port", "host", "illustrator-key", "illustrator-url", "apps"].includes(k))
38
+ else if (process.argv[i + 1] && !process.argv[i + 1].startsWith("--") && ["mode", "token", "port", "host", "illustrator-key", "illustrator-url", "apps", "clients"].includes(k))
39
39
  args.set(k, process.argv[++i]);
40
40
  else
41
41
  args.set(k, true);
@@ -59,8 +59,8 @@ function run(cmd, opts = {}) {
59
59
  const r = spawnSync("powershell", ["-NoProfile", "-Command", `$p = Start-Process -FilePath powershell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File "${ps}"' -Verb RunAs -Wait -PassThru; exit $p.ExitCode`], { encoding: "utf8" });
60
60
  return { code: r.status ?? 1, out: (r.stdout ?? "") + (r.stderr ?? "") };
61
61
  }
62
- // `claude` is a shell shim on Windows; run it through the shell as one string. Everything else is a real exe.
63
- const viaShell = process.platform === "win32" && cmd[0] === "claude";
62
+ // The MCP client CLIs are shell shims on Windows; run them through the shell as one string. Everything else is a real exe.
63
+ const viaShell = process.platform === "win32" && ["claude", "codex", "gemini"].includes(cmd[0]);
64
64
  const r = viaShell
65
65
  ? spawnSync(cmd.map((c) => (/\s/.test(c) ? `"${c}"` : c)).join(" "), { encoding: "utf8", shell: true })
66
66
  : spawnSync(cmd[0], cmd.slice(1), { encoding: "utf8" });
@@ -327,33 +327,52 @@ async function main() {
327
327
  if (apps.includes("after_effects") || apps.includes("audition"))
328
328
  say(` ${[apps.includes("after_effects") ? "After Effects" : "", apps.includes("audition") ? "Audition" : ""].filter(Boolean).join(" / ")}: Window → Extensions → Brainferno MCP Bridge.`);
329
329
  }
330
- // ---- 7. register with Claude Code ---------------------------------------
331
- const cmds = mcpAddCommands({ mode, distIndex, port: next.httpPort ?? port, token: next.httpToken ?? "", addresses: lanAddresses() });
330
+ // ---- 7. register with MCP clients (Claude Code, Codex CLI, Gemini CLI) ---
331
+ const plans = registrationPlans({
332
+ mode,
333
+ distIndex,
334
+ port: next.httpPort ?? port,
335
+ token: next.httpToken ?? "",
336
+ addresses: lanAddresses(),
337
+ ...(str("clients") !== undefined ? { clients: parseClients(str("clients")) } : {}),
338
+ });
332
339
  say("");
333
- say("Claude Code on this computer:");
334
- say(` ${cmds.local}`);
335
- const wantRegister = flag("register") || (!flag("yes") && (await ask("Run that now? (y/n)", "y")).toLowerCase().startsWith("y"));
340
+ say("MCP clients on this computer:");
341
+ const detectedClients = [];
342
+ for (const p of plans) {
343
+ const found = run(p.probe).code === 0;
344
+ if (found)
345
+ detectedClients.push(p);
346
+ say(` ${p.label}${found ? "" : " (not found — run this yourself if you install it)"}:`);
347
+ say(` ${p.addLine}`);
348
+ }
349
+ const wantRegister = detectedClients.length > 0 && (flag("register") || (!flag("yes") && (await ask(`Register with ${detectedClients.map((p) => p.label).join(", ")} now? (y/n)`, "y")).toLowerCase().startsWith("y")));
336
350
  if (wantRegister) {
337
- // Replace our own entry, and retire the pre-rename alias in both scopes.
338
- for (const scope of ["user", "local"]) {
339
- run(["claude", "mcp", "remove", "--scope", scope, "brainferno"]);
340
- run(["claude", "mcp", "remove", "--scope", scope, "adobe-cc"]);
351
+ for (const p of detectedClients) {
352
+ // Replace our own entry, and retire stale or pre-rename names; removal failures are fine.
353
+ for (const r of p.removals)
354
+ run(r);
355
+ const res = run(p.add);
356
+ if (res.code === 0)
357
+ ok(`${p.label}: registered as 'brainferno'`);
358
+ else
359
+ warn(`${p.label}: registration failed (${res.out.trim().split("\n")[0] ?? ""}) — run the line above yourself`);
341
360
  }
342
- const r2 = run(["claude", "mcp", "add", "--scope", "user", "brainferno", "--", "node", distIndex]);
343
- if (r2.code === 0)
344
- ok("registered as 'brainferno' (user scope)");
345
- else
346
- warn(`claude mcp add failed: ${r2.out.trim().split("\n")[0] ?? ""} — run the line above yourself`);
347
361
  }
348
362
  if (mode === "shared") {
349
363
  say("");
350
364
  say(`Other computers (this machine is "${hostname()}"; the token is in ${userConfigPath()}):`);
351
- for (const c of cmds.remote)
352
- say(` ${c}`);
365
+ for (const p of plans) {
366
+ if (p.remoteLines.length === 0)
367
+ continue;
368
+ say(` ${p.label}:`);
369
+ for (const line of p.remoteLines)
370
+ say(` ${line}`);
371
+ }
353
372
  say(" The wire is plain HTTP: use it on a trusted LAN, a VPN, or Tailscale.");
354
373
  }
355
374
  say("");
356
- say("Done. Start or restart the server (in Claude Code: /mcp → brainferno → reconnect) to apply.");
375
+ say("Done. Restart the server to apply (Claude Code: /mcp → brainferno → reconnect; Codex/Gemini: start a new session).");
357
376
  rl.close();
358
377
  }
359
378
  main().catch((e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"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"}
@@ -99,3 +99,38 @@ export declare function mcpAddCommands(o: {
99
99
  local: string;
100
100
  remote: string[];
101
101
  };
102
+ export type McpClient = "claude" | "codex" | "gemini";
103
+ export declare const MCP_CLIENTS: readonly McpClient[];
104
+ export declare function parseClients(raw: string): McpClient[];
105
+ /**
106
+ * Env overrides each client's registration carries. Claude Code gets none
107
+ * (blocking waits, inline previews — today's behavior). Codex CLI kills tool
108
+ * calls at 60 seconds by default and cannot show the model MCP image blocks,
109
+ * so long tools return a jobId at once, cc_job_wait polls in 50-second slices,
110
+ * and previews come back as file paths (Codex's view_image reads them).
111
+ * Gemini CLI renders images and has a long tool timeout; only waits change.
112
+ */
113
+ export declare const CLIENT_ENV: Record<McpClient, Record<string, string>>;
114
+ export interface ClientPlan {
115
+ client: McpClient;
116
+ label: string;
117
+ /** Probe argv: exit 0 means the CLI is installed. */
118
+ probe: string[];
119
+ /** Run before `add`; failures are ignored (stale or renamed entries). */
120
+ removals: string[][];
121
+ /** Registration argv. */
122
+ add: string[];
123
+ /** The same registration as one printable line. */
124
+ addLine: string;
125
+ /** Shared mode: how another computer connects to this server (print-only). */
126
+ remoteLines: string[];
127
+ }
128
+ /** One registration plan per MCP client CLI (Claude Code, Codex CLI, Gemini CLI). */
129
+ export declare function registrationPlans(o: {
130
+ mode: InstallMode;
131
+ distIndex: string;
132
+ port: number;
133
+ token: string;
134
+ addresses: string[];
135
+ clients?: readonly McpClient[];
136
+ }): ClientPlan[];