@alisaitteke/photoshop-mcp 1.6.0 → 1.7.2

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 (65) hide show
  1. package/AGENTS.md +117 -0
  2. package/LICENSE +21 -0
  3. package/README.de.md +1 -1
  4. package/README.es.md +1 -1
  5. package/README.ja.md +1 -1
  6. package/README.md +37 -8
  7. package/README.tr.md +1 -1
  8. package/README.zh-CN.md +1 -1
  9. package/dist/api/extendscript.d.ts +54 -0
  10. package/dist/api/extendscript.d.ts.map +1 -1
  11. package/dist/api/extendscript.js +535 -0
  12. package/dist/api/extendscript.js.map +1 -1
  13. package/dist/core/server.d.ts.map +1 -1
  14. package/dist/core/server.js +10 -0
  15. package/dist/core/server.js.map +1 -1
  16. package/dist/platform/connection.d.ts +2 -0
  17. package/dist/platform/connection.d.ts.map +1 -1
  18. package/dist/platform/connection.js +17 -7
  19. package/dist/platform/connection.js.map +1 -1
  20. package/dist/prompts/registry.d.ts +1 -1
  21. package/dist/prompts/registry.d.ts.map +1 -1
  22. package/dist/prompts/registry.js +2 -0
  23. package/dist/prompts/registry.js.map +1 -1
  24. package/dist/prompts/templates/csv-to-cards.d.ts +3 -0
  25. package/dist/prompts/templates/csv-to-cards.d.ts.map +1 -0
  26. package/dist/prompts/templates/csv-to-cards.js +43 -0
  27. package/dist/prompts/templates/csv-to-cards.js.map +1 -0
  28. package/dist/tools/color-adjustment-tools.d.ts +4 -0
  29. package/dist/tools/color-adjustment-tools.d.ts.map +1 -0
  30. package/dist/tools/color-adjustment-tools.js +147 -0
  31. package/dist/tools/color-adjustment-tools.js.map +1 -0
  32. package/dist/tools/data-tools.d.ts +4 -0
  33. package/dist/tools/data-tools.d.ts.map +1 -0
  34. package/dist/tools/data-tools.js +132 -0
  35. package/dist/tools/data-tools.js.map +1 -0
  36. package/dist/tools/export-tools.d.ts +4 -0
  37. package/dist/tools/export-tools.d.ts.map +1 -0
  38. package/dist/tools/export-tools.js +62 -0
  39. package/dist/tools/export-tools.js.map +1 -0
  40. package/dist/tools/recipes/csv-to-cards.d.ts +4 -0
  41. package/dist/tools/recipes/csv-to-cards.d.ts.map +1 -0
  42. package/dist/tools/recipes/csv-to-cards.js +257 -0
  43. package/dist/tools/recipes/csv-to-cards.js.map +1 -0
  44. package/dist/tools/recipes/index.d.ts +1 -1
  45. package/dist/tools/recipes/index.d.ts.map +1 -1
  46. package/dist/tools/recipes/index.js +3 -0
  47. package/dist/tools/recipes/index.js.map +1 -1
  48. package/dist/tools/stack-tools.d.ts +4 -0
  49. package/dist/tools/stack-tools.d.ts.map +1 -0
  50. package/dist/tools/stack-tools.js +72 -0
  51. package/dist/tools/stack-tools.js.map +1 -0
  52. package/dist/tools/style-tools.d.ts +4 -0
  53. package/dist/tools/style-tools.d.ts.map +1 -0
  54. package/dist/tools/style-tools.js +75 -0
  55. package/dist/tools/style-tools.js.map +1 -0
  56. package/dist/utils/js-string.d.ts.map +1 -1
  57. package/dist/utils/js-string.js +1 -0
  58. package/dist/utils/js-string.js.map +1 -1
  59. package/examples/claude-code-mcp.json +12 -0
  60. package/examples/claude-desktop-config.json +12 -0
  61. package/examples/cursor-config.json +11 -0
  62. package/llms.txt +72 -0
  63. package/package.json +14 -5
  64. package/uxp-plugin/main.js +1 -1
  65. package/uxp-plugin/manifest.json +3 -2
package/AGENTS.md ADDED
@@ -0,0 +1,117 @@
1
+ # AGENTS.md — photoshop-mcp
2
+
3
+ > **Navigation map, not a reference manual.**
4
+ > Start with [llms.txt](llms.txt) or the site index [llms.txt](https://alisaitteke.github.io/photoshop-mcp/llms.txt), then follow links as needed.
5
+
6
+ ## Entry strategy
7
+
8
+ | Scenario | Path |
9
+ | -------- | ---- |
10
+ | Cursor / Claude Desktop / VS Code | Configure `mcpServers` → `npx -y @alisaitteke/photoshop-mcp` (stdio) |
11
+ | Claude Code | `claude mcp add photoshop -- npx -y @alisaitteke/photoshop-mcp` |
12
+ | Standalone chat UI (no IDE) | `npx -p @alisaitteke/photoshop-mcp photoshop-mcp-ui` |
13
+ | Local development | `npm install && npm run build && node dist/index.js` — see [docs/development.md](docs/development.md) |
14
+
15
+ **Prerequisites:** Photoshop running on Windows or macOS, Node.js 18+. This is unofficial and not affiliated with Adobe.
16
+
17
+ ## Architecture (agent view)
18
+
19
+ ```
20
+ AI host (Cursor / Claude / UI)
21
+ │ MCP stdio
22
+ ▼
23
+ PhotoshopMCPServer (Node.js)
24
+ │ ExtendScript via AppleScript (macOS) or COM (Windows)
25
+ ▼
26
+ Adobe Photoshop
27
+
28
+ Optional: UXP bridge plugin (uxp-plugin/) on 127.0.0.1:38452 for Neural Filters only.
29
+ ```
30
+
31
+ Deep dive: [docs/architecture.md](docs/architecture.md).
32
+
33
+ ## Recommended workflow
34
+
35
+ Follow the server `instructions` advertised on MCP `initialize` ([src/prompts/instructions.ts](src/prompts/instructions.ts)):
36
+
37
+ ```
38
+ 1. DISCOVER: tools/list + prompts/list (or get_capabilities once per session)
39
+ 2. STATE: photoshop_get_state before mutating; photoshop_get_preview after major steps
40
+ 3. ACT: prefer photoshop_recipe_* for multi-step outcomes (single undo step)
41
+ 4. RECOVER: on error, read structured envelope (code, suggested_next_tool) → get_state → retry one step
42
+ ```
43
+
44
+ ### Tool selection
45
+
46
+ | Need | Use |
47
+ | ---- | --- |
48
+ | Multi-step outcome (remove BG, export for web, portrait enhance) | `photoshop_recipe_*` |
49
+ | Single precise edit | atomic `photoshop_*` |
50
+ | Vague user intent | MCP prompt `prompts/get` (e.g. `ps.remove_background`) then call linked recipe/tool |
51
+ | Generative AI (Fill, Remove, Expand) | `photoshop_generative_*` — requires Adobe account + credits |
52
+ | Neural Filters (skin smooth, colorize, …) | `photoshop_neural_filter` — requires UXP bridge loaded |
53
+ | Version / feature check | `photoshop_get_capabilities` |
54
+
55
+ Full catalog: [docs/available-tools.md](docs/available-tools.md). Prompt layer: [docs/prompt-layer.md](docs/prompt-layer.md).
56
+
57
+ ## MCP client configuration
58
+
59
+ ```json
60
+ {
61
+ "mcpServers": {
62
+ "photoshop": {
63
+ "command": "npx",
64
+ "args": ["-y", "@alisaitteke/photoshop-mcp"],
65
+ "env": { "LOG_LEVEL": "1" }
66
+ }
67
+ }
68
+ }
69
+ ```
70
+
71
+ Examples: [examples/cursor-config.json](examples/cursor-config.json), [examples/claude-desktop-config.json](examples/claude-desktop-config.json).
72
+
73
+ ### Environment variables
74
+
75
+ | Variable | Purpose |
76
+ | -------- | ------- |
77
+ | `LOG_LEVEL` | `0`=DEBUG, `1`=INFO, `2`=WARN, `3`=ERROR |
78
+ | `PHOTOSHOP_PATH` | Optional custom Photoshop install path |
79
+ | `PSMCP_UI_TOKEN` | Pin standalone UI API token (see README) |
80
+
81
+ ## Troubleshooting (common agent blockers)
82
+
83
+ | Symptom | Fix |
84
+ | ------- | --- |
85
+ | Photoshop not found | Start Photoshop; set `PHOTOSHOP_PATH` if non-standard install |
86
+ | Tool times out | Large operations may need retries; check `get_state` for partial progress |
87
+ | `generative_unavailable` / `version_unsupported` | Call `get_capabilities`; feature may need newer Photoshop or Adobe login |
88
+ | Neural filter fails | **Add Plugin** → `uxp-plugin/manifest.json` → **Load** in UXP Developer Tools — see [docs/development.md](docs/development.md#uxp-bridge-plugin-neural-filters) |
89
+ | No active document | Ask user to open/create a document, then `get_state` |
90
+
91
+ More: [docs/troubleshooting.md](docs/troubleshooting.md).
92
+
93
+ ## Distribution
94
+
95
+ | Channel | Identifier |
96
+ | ------- | ---------- |
97
+ | npm | `@alisaitteke/photoshop-mcp` |
98
+ | MCP Registry | `io.github.alisaitteke/photoshop-mcp` |
99
+ | GitHub | https://github.com/alisaitteke/photoshop-mcp |
100
+
101
+ ## Key files
102
+
103
+ | File | Purpose |
104
+ | ---- | ------- |
105
+ | [llms.txt](llms.txt) | LLM-oriented project summary |
106
+ | [README.md](README.md) | Human docs, install, example prompts |
107
+ | [server.json](server.json) | MCP Registry metadata |
108
+ | [src/core/server.ts](src/core/server.ts) | MCP server entry |
109
+ | [src/tools/](src/tools/) | Tool implementations |
110
+ | [src/prompts/](src/prompts/) | MCP prompt templates |
111
+ | [CONTRIBUTING.md](CONTRIBUTING.md) | PR and release workflow |
112
+
113
+ ## Contributing (agents editing this repo)
114
+
115
+ - Canonical language for code, comments, commits, and PRs: **English**.
116
+ - Before PR: `npm run lint`, `npm run build:server`, `npm run verify:photoshop-prompts`.
117
+ - Do not add AI-attribution footers to commits or PR descriptions.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ali Sait Teke
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.de.md CHANGED
@@ -6,7 +6,7 @@
6
6
  </a>
7
7
  </p>
8
8
 
9
- **Sprachen:** [English](README.md) · [简体中文](README.zh-CN.md) · [Español](README.es.md) · Deutsch · [日本語](README.ja.md) · [Türkçe](README.tr.md)
9
+ **Sprachen:** [English](README.md) · [简体中文](README.zh-CN.md) · [Español](README.es.md) · Deutsch · [日本語](README.ja.md) · [Türkçe](README.tr.md) · **[Website](https://alisaitteke.github.io/photoshop-mcp/)**
10
10
 
11
11
  *v1.1+ — Rezept-Workflows, weniger Round-Trips, flinkere Sitzungen. Die eigenständige UI liefert **Action Plan (Beta)** für Plan-dann-Ausführen-Abläufe.*
12
12
 
package/README.es.md CHANGED
@@ -6,7 +6,7 @@
6
6
  </a>
7
7
  </p>
8
8
 
9
- **Idiomas:** [English](README.md) · [简体中文](README.zh-CN.md) · Español · [Deutsch](README.de.md) · [日本語](README.ja.md) · [Türkçe](README.tr.md)
9
+ **Idiomas:** [English](README.md) · [简体中文](README.zh-CN.md) · Español · [Deutsch](README.de.md) · [日本語](README.ja.md) · [Türkçe](README.tr.md) · **[Sitio web](https://alisaitteke.github.io/photoshop-mcp/)**
10
10
 
11
11
  *v1.1+ — flujos de trabajo con recetas, menos intercambios, sesiones más ágiles. La UI independiente incluye **Action Plan (beta)** para ejecuciones de planificar-y-ejecutar.*
12
12
 
package/README.ja.md CHANGED
@@ -6,7 +6,7 @@
6
6
  </a>
7
7
  </p>
8
8
 
9
- **言語:** [English](README.md) · [简体中文](README.zh-CN.md) · [Español](README.es.md) · [Deutsch](README.de.md) · [日本語](README.ja.md) · [Türkçe](README.tr.md)
9
+ **言語:** [English](README.md) · [简体中文](README.zh-CN.md) · [Español](README.es.md) · [Deutsch](README.de.md) · [日本語](README.ja.md) · [Türkçe](README.tr.md) · **[ウェブサイト](https://alisaitteke.github.io/photoshop-mcp/)**
10
10
 
11
11
  *v1.1+ — レシピワークフロー、ラウンドトリップ削減、軽快なセッション。スタンドアロンUIには計画→実行を担う **Action Plan(ベータ)** が付属しています。*
12
12
 
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  </a>
7
7
  </p>
8
8
 
9
- **Languages:** English · [简体中文](README.zh-CN.md) · [Español](README.es.md) · [Deutsch](README.de.md) · [日本語](README.ja.md) · [Türkçe](README.tr.md)
9
+ **Languages:** English · [简体中文](README.zh-CN.md) · [Español](README.es.md) · [Deutsch](README.de.md) · [日本語](README.ja.md) · [Türkçe](README.tr.md) · **[Website](https://alisaitteke.github.io/photoshop-mcp/)**
10
10
 
11
11
  *v1.1+ — recipe workflows, fewer round-trips, snappier sessions. Standalone UI ships **Action Plan (beta)** for plan-then-execute runs.*
12
12
 
@@ -18,6 +18,8 @@
18
18
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
19
19
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue.svg)](https://www.typescriptlang.org/)
20
20
  [![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20macOS-lightgrey.svg)]()
21
+ [![MCP Registry](https://img.shields.io/badge/MCP%20Registry-io.github.alisaitteke%2Fphotoshop--mcp-purple.svg)](https://registry.modelcontextprotocol.io)
22
+ [![Website](https://img.shields.io/badge/website-photoshop--mcp-cyan.svg)](https://alisaitteke.github.io/photoshop-mcp/)
21
23
 
22
24
  A Model Context Protocol (MCP) server that enables AI assistants like Claude and Cursor to control Adobe Photoshop programmatically. This allows you to create designs, manipulate images, and automate Photoshop workflows through natural language commands while working in your IDE — or through the bundled **standalone web UI**, which supports both API keys and CLI subscription accounts (Claude Code / Gemini CLI). The UI also offers an opt-in **Action Plan (beta)** mode that plans every Photoshop step in one LLM call, then runs them in a single pass.
23
25
 
@@ -171,16 +173,16 @@ requests into reliable Photoshop actions:
171
173
  - **Server `instructions`** — workflow contract advertised on MCP `initialize`
172
174
  (ping once, state-before-action, prefer recipes, error recovery). See
173
175
  [`src/prompts/instructions.ts`](src/prompts/instructions.ts).
174
- - **MCP `prompts` primitive** — 22 pre-engineered templates (15 recipe + 7 guide:
176
+ - **MCP `prompts` primitive** — 23 pre-engineered templates (16 recipe + 7 guide:
175
177
  `ps.enhance_portrait`, `ps.remove_background`, `ps.generative_fill`, …)
176
178
  via `prompts/list` and `prompts/get`.
177
- - **Recipe tools** — 15 outcome-oriented `photoshop_recipe_*` tools (remove
179
+ - **Recipe tools** — 16 outcome-oriented `photoshop_recipe_*` tools (remove
178
180
  background, enhance portrait, prepare for web, export social variants, color
179
181
  grade, frequency separation, batch mockup, organize layers, gradient fade,
180
182
  sky blend, dodge & burn, remove distraction, split carousel, batch watermark,
181
- passport photo). Each wraps steps in a single
182
- Photoshop history state (one Undo reverts all). **89 tools total** (74 atomic
183
- + 15 recipe).
183
+ passport photo, csv to cards). Each wraps steps in a single
184
+ Photoshop history state (one Undo reverts all). **102 tools total** (86 atomic
185
+ + 16 recipe).
184
186
  - **Generative AI** — `photoshop_generative_fill`, `photoshop_generative_remove`,
185
187
  `photoshop_generative_expand`, `photoshop_generative_upscale`, `photoshop_sky_replacement`,
186
188
  `photoshop_generate_image` (Firefly via ExtendScript; Adobe account + credits required).
@@ -387,6 +389,17 @@ Note: framing is approximated from subject bounds — official acceptance is not
387
389
 
388
390
  Equivalent MCP prompt template: `ps.passport_photo` with `{ spec: "us_2x2", make_sheet: "true" }`.
389
391
 
392
+ #### 🪪 CSV → cards (data-driven graphics)
393
+
394
+ <img src="./images/recipe-csv-cards.svg" alt="CSV rows become data sets; one personalized card exported per row" width="640" />
395
+
396
+ ```
397
+ Generate a name card for every row in ~/cards/speakers.csv using the open template PSD.
398
+ PNG output to ~/cards/out — one file per row, named after the row.
399
+ ```
400
+
401
+ Equivalent MCP prompt template: `ps.csv_to_cards` with `{ csv_path: "~/cards/speakers.csv", output_dir: "~/cards/out", format: "PNG" }`.
402
+
390
403
  ### More examples
391
404
 
392
405
  <details>
@@ -585,15 +598,20 @@ Never guess — read get_state after a failure and propose the next single step.
585
598
  - **Supports Photoshop 2012-2025+**
586
599
  - **ExtendScript API**: Universal compatibility via AppleScript/COM automation
587
600
  - **Auto-Detection**: Automatically finds Photoshop installation on your system
588
- - **89 Tools**: 74 atomic `photoshop_*` + 15 recipe `photoshop_recipe_*`
589
- - **AI/Prompt Layer**: 22 MCP prompt templates (15 recipe + 7 guide), server instructions, state/preview/capabilities tools
601
+ - **102 Tools**: 86 atomic `photoshop_*` + 16 recipe `photoshop_recipe_*`
602
+ - **AI/Prompt Layer**: 23 MCP prompt templates (16 recipe + 7 guide), server instructions, state/preview/capabilities tools
590
603
  - **Document Management**: Create, open, save, close, crop documents
591
604
  - **Layer Operations**: Create, delete, duplicate, merge, transform layers
592
605
  - **Layer Properties**: Opacity, blend modes, visibility, locking
606
+ - **Layer Styles**: Drop shadow, outer glow, stroke, bevel & emboss
593
607
  - **Text Formatting**: Font, size, color, alignment controls
594
608
  - **Image Placement**: Place images, open files, fit to document
595
609
  - **Filters**: Gaussian Blur, Sharpen, Noise, Motion Blur
596
610
  - **Color Adjustments**: Brightness/Contrast, Hue/Saturation, Curves, Auto Levels/Contrast
611
+ - **Color Grading**: 3D LUT (Color Lookup) layers, Vibrance, Exposure, Photo Filter, Gradient Map
612
+ - **Data-Driven Graphics**: CSV/variables XML → one image per row ("mail merge for images")
613
+ - **Image Stacking**: Mean/median stack modes for tourist removal & noise reduction
614
+ - **Modern Export**: PNG/JPEG plus WebP/AVIF (native, PS 23.2+)
597
615
  - **Selections & Masks**: Rectangular selections, select subject, content-aware fill, gradient mask, layer masks
598
616
  - **History Control**: Undo/Redo operations, view history states
599
617
  - **Actions**: Play recorded actions, execute custom scripts
@@ -602,6 +620,17 @@ Never guess — read get_state after a failure and propose the next single step.
602
620
 
603
621
  ## Installation
604
622
 
623
+ ### One-click install
624
+
625
+ [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=photoshop&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBhbGlzYWl0dGVrZS9waG90b3Nob3AtbWNwIl19)
626
+ [![Install in VS Code](https://img.shields.io/badge/Install%20in-VS%20Code-0098FF)](https://vscode.dev/redirect/mcp/install?name=photoshop&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40alisaitteke%2Fphotoshop-mcp%22%5D%7D)
627
+
628
+ Or from a terminal — Claude Code:
629
+
630
+ ```bash
631
+ claude mcp add photoshop -- npx -y @alisaitteke/photoshop-mcp
632
+ ```
633
+
605
634
  ### Using NPX (Recommended)
606
635
 
607
636
  No installation required! Just configure your MCP client:
package/README.tr.md CHANGED
@@ -6,7 +6,7 @@
6
6
  </a>
7
7
  </p>
8
8
 
9
- **Diller:** [English](README.md) · [简体中文](README.zh-CN.md) · [Español](README.es.md) · [Deutsch](README.de.md) · [日本語](README.ja.md) · Türkçe
9
+ **Diller:** [English](README.md) · [简体中文](README.zh-CN.md) · [Español](README.es.md) · [Deutsch](README.de.md) · [日本語](README.ja.md) · Türkçe · **[Website](https://alisaitteke.github.io/photoshop-mcp/)**
10
10
 
11
11
  *v1.1+ — tarif iş akışları, daha az gidiş-dönüş, daha hızlı oturumlar. Bağımsız UI, plan-sonra-uygula çalıştırmaları için **Action Plan (beta)** sunar.*
12
12
 
package/README.zh-CN.md CHANGED
@@ -6,7 +6,7 @@
6
6
  </a>
7
7
  </p>
8
8
 
9
- **语言:** [English](README.md) · 简体中文 · [Español](README.es.md) · [Deutsch](README.de.md) · [日本語](README.ja.md) · [Türkçe](README.tr.md)
9
+ **语言:** [English](README.md) · 简体中文 · [Español](README.es.md) · [Deutsch](README.de.md) · [日本語](README.ja.md) · [Türkçe](README.tr.md) · **[网站](https://alisaitteke.github.io/photoshop-mcp/)**
10
10
 
11
11
  *v1.1+ — 配方工作流、更少的往返调用、更流畅的会话。独立 UI 附带 **Action Plan(测试版)**,支持先规划后执行的运行模式。*
12
12
 
@@ -314,6 +314,60 @@ export declare const ExtendScriptSnippets: {
314
314
  generativeUpscale: (targetScale: number) => string;
315
315
  skyReplacement: (skyImagePath: string) => string;
316
316
  generateImage: (prompt: string, width: number, height: number) => string;
317
+ /**
318
+ * Apply a layer style (drop shadow / outer glow / stroke / bevel) via Action Manager layerEffects.
319
+ */
320
+ applyLayerStyle: (options: {
321
+ style: "drop_shadow" | "outer_glow" | "stroke" | "bevel_emboss";
322
+ red: number;
323
+ green: number;
324
+ blue: number;
325
+ opacity: number;
326
+ size: number;
327
+ distance: number;
328
+ angle: number;
329
+ }) => string;
330
+ /**
331
+ * Color Lookup (3D LUT) adjustment layer — cinematic grades via built-in or file-based LUTs.
332
+ */
333
+ applyLut: (lut: string) => string;
334
+ /**
335
+ * Vibrance adjustment layer.
336
+ */
337
+ adjustVibrance: (vibrance: number, saturation: number) => string;
338
+ /**
339
+ * Exposure adjustment layer.
340
+ */
341
+ adjustExposure: (exposure: number, offset: number, gamma: number) => string;
342
+ /**
343
+ * Photo Filter adjustment layer (warming/cooling/tint with density).
344
+ */
345
+ applyPhotoFilter: (red: number, green: number, blue: number, density: number, preserveLuminosity: boolean) => string;
346
+ /**
347
+ * Gradient Map adjustment layer (black→white custom gradient by default).
348
+ */
349
+ applyGradientMap: (reverse: boolean) => string;
350
+ /**
351
+ * List data sets defined on the active document (data-driven graphics).
352
+ */
353
+ listDataSets: () => string;
354
+ /**
355
+ * Import variables/data sets XML (Image > Variables > Data Sets > Import).
356
+ */
357
+ importDataSets: (xmlPath: string) => string;
358
+ /**
359
+ * Batch-export one file per data set: applies each data set then saves a copy.
360
+ */
361
+ applyDataSetsExport: (outputDir: string, format: "JPEG" | "PNG" | "PSD", datasetNames: string[]) => string;
362
+ /**
363
+ * Load image files into one document, convert to a smart object and apply a stack mode.
364
+ * Classic "remove tourists with median stack" without any generative AI.
365
+ */
366
+ imageStackMode: (files: string[], mode: string) => string;
367
+ /**
368
+ * Export a copy of the active document as PNG/JPEG (Save for Web) or WebP/AVIF (native, PS 23.2+).
369
+ */
370
+ exportAs: (filePath: string, format: "PNG" | "JPEG" | "WEBP" | "AVIF", quality: number) => string;
317
371
  };
318
372
  /**
319
373
  * Generate ExtendScript code with error handling
@@ -1 +1 @@
1
- {"version":3,"file":"extendscript.d.ts","sourceRoot":"","sources":["../../src/api/extendscript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extendscript.d.ts","sourceRoot":"","sources":["../../src/api/extendscript.ts"],"names":[],"mappings":"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"}