@alisaitteke/photoshop-mcp 1.7.28 → 1.7.30
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/AGENTS.md +1 -0
- package/README.de.md +1 -0
- package/README.es.md +1 -0
- package/README.ja.md +1 -0
- package/README.tr.md +1 -0
- package/README.zh-CN.md +1 -0
- package/dist/core/server.d.ts.map +1 -1
- package/dist/core/server.js +7 -2
- package/dist/core/server.js.map +1 -1
- package/dist/core/tool-annotations.d.ts +12 -0
- package/dist/core/tool-annotations.d.ts.map +1 -0
- package/dist/core/tool-annotations.js +148 -0
- package/dist/core/tool-annotations.js.map +1 -0
- package/dist/feedback/nudge.d.ts +5 -1
- package/dist/feedback/nudge.d.ts.map +1 -1
- package/dist/feedback/nudge.js +17 -6
- package/dist/feedback/nudge.js.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/prompts/instructions.d.ts.map +1 -1
- package/dist/prompts/instructions.js +5 -0
- package/dist/prompts/instructions.js.map +1 -1
- package/dist/tools/action-tools.d.ts.map +1 -1
- package/dist/tools/action-tools.js +6 -1
- package/dist/tools/action-tools.js.map +1 -1
- package/dist/tools/adjustment-tools.d.ts.map +1 -1
- package/dist/tools/adjustment-tools.js +29 -6
- package/dist/tools/adjustment-tools.js.map +1 -1
- package/dist/tools/document-tools.d.ts.map +1 -1
- package/dist/tools/document-tools.js +6 -1
- package/dist/tools/document-tools.js.map +1 -1
- package/dist/tools/filter-tools.d.ts.map +1 -1
- package/dist/tools/filter-tools.js +17 -3
- package/dist/tools/filter-tools.js.map +1 -1
- package/dist/tools/history-tools.d.ts.map +1 -1
- package/dist/tools/history-tools.js +11 -2
- package/dist/tools/history-tools.js.map +1 -1
- package/dist/tools/image-tools.d.ts.map +1 -1
- package/dist/tools/image-tools.js +13 -2
- package/dist/tools/image-tools.js.map +1 -1
- package/dist/tools/layer-ordering-tools.d.ts.map +1 -1
- package/dist/tools/layer-ordering-tools.js +7 -1
- package/dist/tools/layer-ordering-tools.js.map +1 -1
- package/dist/tools/layer-properties-tools.d.ts.map +1 -1
- package/dist/tools/layer-properties-tools.js +30 -5
- package/dist/tools/layer-properties-tools.js.map +1 -1
- package/dist/tools/layer-tools.d.ts.map +1 -1
- package/dist/tools/layer-tools.js +14 -2
- package/dist/tools/layer-tools.js.map +1 -1
- package/dist/tools/layer-transform-tools.d.ts.map +1 -1
- package/dist/tools/layer-transform-tools.js +18 -3
- package/dist/tools/layer-transform-tools.js.map +1 -1
- package/dist/tools/selection-tools.d.ts.map +1 -1
- package/dist/tools/selection-tools.js +24 -4
- package/dist/tools/selection-tools.js.map +1 -1
- package/dist/tools/text-tools.d.ts.map +1 -1
- package/dist/tools/text-tools.js +19 -3
- package/dist/tools/text-tools.js.map +1 -1
- package/dist/update/check.d.ts +64 -0
- package/dist/update/check.d.ts.map +1 -0
- package/dist/update/check.js +217 -0
- package/dist/update/check.js.map +1 -0
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -86,6 +86,7 @@ Examples: [examples/cursor-config.json](examples/cursor-config.json), [examples/
|
|
|
86
86
|
| `PHOTOSHOP_SCRIPT_TIMEOUT` | Default ExtendScript timeout in ms (default `30000`, max `600000`) |
|
|
87
87
|
| `PSMCP_UI_TOKEN` | Pin standalone UI API token (see README) |
|
|
88
88
|
| `PSMCP_FEEDBACK` | Set `0` to disable the product-feedback ping question (on by default) |
|
|
89
|
+
| `PSMCP_UPDATE_CHECK` | Set `0` to disable the daily npm version check and the `UPDATE_AVAILABLE` ping notice (on by default; also off with `NO_UPDATE_NOTIFIER` or `CI`) |
|
|
89
90
|
|
|
90
91
|
## Troubleshooting (common agent blockers)
|
|
91
92
|
|
package/README.de.md
CHANGED
|
@@ -644,6 +644,7 @@ Zur Claude Desktop-Konfiguration hinzufügen (`~/Library/Application Support/Cla
|
|
|
644
644
|
- `PHOTOSHOP_SCRIPT_TIMEOUT`: Standard-ExtendScript-Timeout in Millisekunden (Standard `30000`, max. `600000`)
|
|
645
645
|
- `LOG_LEVEL`: Protokollierungsstufe (0=DEBUG, 1=INFO, 2=WARN, 3=ERROR)
|
|
646
646
|
- `PSMCP_FEEDBACK`: `0` / `false` / `no` deaktiviert die Produkt-Feedback-Ping-Frage (standardmäßig an)
|
|
647
|
+
- `PSMCP_UPDATE_CHECK`: `0` / `false` / `no` deaktiviert die tägliche npm-Versionsprüfung und den Update-Hinweis beim Ping (standardmäßig an)
|
|
647
648
|
- `ANALYTICS_DISABLED`: Auf `1` oder `true` setzen, um anonyme Nutzungsanalysen vollständig zu deaktivieren
|
|
648
649
|
- `POSTHOG_DISABLED`: Veralteter Alias für `ANALYTICS_DISABLED`
|
|
649
650
|
- `RYBBIT_API_KEY`: (Optional) Rybbit-Ingest-Schlüssel — umgeht Bot-Erkennung für Server-Events
|
package/README.es.md
CHANGED
|
@@ -599,6 +599,7 @@ Añada a su configuración de Claude Desktop (`~/Library/Application Support/Cla
|
|
|
599
599
|
- `PHOTOSHOP_SCRIPT_TIMEOUT`: Timeout ExtendScript por defecto en milisegundos (por defecto `30000`, máx. `600000`)
|
|
600
600
|
- `LOG_LEVEL`: Nivel de registro (0=DEBUG, 1=INFO, 2=WARN, 3=ERROR)
|
|
601
601
|
- `PSMCP_FEEDBACK`: Establezca `0` / `false` / `no` para desactivar la pregunta de feedback en ping (activada por defecto)
|
|
602
|
+
- `PSMCP_UPDATE_CHECK`: Establezca `0` / `false` / `no` para desactivar la comprobación diaria de versión en npm y el aviso de actualización en ping (activada por defecto)
|
|
602
603
|
- `ANALYTICS_DISABLED`: Establezca en `1` o `true` para deshabilitar completamente el análisis de uso anónimo
|
|
603
604
|
- `POSTHOG_DISABLED`: Alias heredado de `ANALYTICS_DISABLED`
|
|
604
605
|
- `RYBBIT_API_KEY`: (Opcional) Clave de ingesta de Rybbit — omite la detección de bots en eventos del servidor
|
package/README.ja.md
CHANGED
|
@@ -601,6 +601,7 @@ Claude Desktopの設定に追加してください(macOSは`~/Library/Applicat
|
|
|
601
601
|
- `PHOTOSHOP_SCRIPT_TIMEOUT`:ExtendScript のデフォルトタイムアウト(ミリ秒、既定 `30000`、最大 `600000`)
|
|
602
602
|
- `LOG_LEVEL`:ログレベル(0=DEBUG、1=INFO、2=WARN、3=ERROR)
|
|
603
603
|
- `PSMCP_FEEDBACK`:製品フィードバック ping の質問を無効にするには `0` / `false` / `no`(既定はオン)
|
|
604
|
+
- `PSMCP_UPDATE_CHECK`:1 日 1 回の npm バージョン確認と ping の更新通知を無効にするには `0` / `false` / `no`(既定はオン)
|
|
604
605
|
- `ANALYTICS_DISABLED`:`1`または`true`に設定して匿名使用状況の解析を完全に無効化
|
|
605
606
|
- `POSTHOG_DISABLED`:`ANALYTICS_DISABLED`の旧エイリアス
|
|
606
607
|
- `RYBBIT_API_KEY`:(オプション)Rybbit ingest APIキー — サーバーイベントのボット検出をスキップ
|
package/README.tr.md
CHANGED
|
@@ -686,6 +686,7 @@ const q = query({
|
|
|
686
686
|
- `PHOTOSHOP_SCRIPT_TIMEOUT`: Varsayılan ExtendScript zaman aşımı (ms; varsayılan `30000`, en fazla `600000`)
|
|
687
687
|
- `LOG_LEVEL`: Günlük kaydı düzeyi (0=DEBUG, 1=INFO, 2=WARN, 3=ERROR)
|
|
688
688
|
- `PSMCP_FEEDBACK`: Ürün-geri bildirim ping sorusunu kapatmak için `0` / `false` / `no` (varsayılan açık)
|
|
689
|
+
- `PSMCP_UPDATE_CHECK`: Günlük npm sürüm kontrolünü ve ping'deki yeni sürüm bildirimini kapatmak için `0` / `false` / `no` (varsayılan açık)
|
|
689
690
|
- `ANALYTICS_DISABLED`: Anonim kullanım analizlerini tamamen devre dışı bırakmak için `1` veya `true`
|
|
690
691
|
olarak ayarlayın
|
|
691
692
|
- `POSTHOG_DISABLED`: `ANALYTICS_DISABLED` için eski takma ad
|
package/README.zh-CN.md
CHANGED
|
@@ -596,6 +596,7 @@ npx @alisaitteke/photoshop-mcp
|
|
|
596
596
|
- `PHOTOSHOP_SCRIPT_TIMEOUT`:ExtendScript 默认超时(毫秒,默认 `30000`,最大 `600000`)
|
|
597
597
|
- `LOG_LEVEL`:日志级别(0=DEBUG,1=INFO,2=WARN,3=ERROR)
|
|
598
598
|
- `PSMCP_FEEDBACK`:设为 `0` / `false` / `no` 可关闭 ping 产品反馈提问(默认开启)
|
|
599
|
+
- `PSMCP_UPDATE_CHECK`:设为 `0` / `false` / `no` 可关闭每日 npm 版本检查及 ping 更新提示(默认开启)
|
|
599
600
|
- `ANALYTICS_DISABLED`:设置为 `1` 或 `true` 可完全禁用匿名使用分析
|
|
600
601
|
- `POSTHOG_DISABLED`:`ANALYTICS_DISABLED` 的旧版别名
|
|
601
602
|
- `RYBBIT_API_KEY`:(可选)Rybbit 采集 API 密钥 — 跳过服务端事件的机器人检测
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AAqDA,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,EAAE,yBAAyB;IAyB9C,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,aAAa;IAgGrB,OAAO,CAAC,aAAa;YA2CP,aAAa;YAOb,UAAU;IAaxB,oBAAoB,IAAI,OAAO;IAI/B,YAAY,IAAI,MAAM;IAIhB,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAYlD,KAAK;IAgBL,IAAI;CAIX"}
|
package/dist/core/server.js
CHANGED
|
@@ -8,6 +8,7 @@ import { PromptRegistry } from './prompt-registry.js';
|
|
|
8
8
|
import { Session } from './session.js';
|
|
9
9
|
import { wrapToolHandler } from '../errors/envelope.js';
|
|
10
10
|
import { withOptionalDocumentId, wrapDocumentIdHandler } from './document-target.js';
|
|
11
|
+
import { withToolAnnotations } from './tool-annotations.js';
|
|
11
12
|
import { buildPhotoshopInstructions } from '../prompts/instructions.js';
|
|
12
13
|
import { registerPhotoshopPrompts } from '../prompts/registry.js';
|
|
13
14
|
import { createDocumentTools } from '../tools/document-tools.js';
|
|
@@ -38,6 +39,7 @@ import { createArtboardTools } from '../tools/artboard-tools.js';
|
|
|
38
39
|
import { ensureUxpBridgeServer } from '../platform/uxp-bridge-server.js';
|
|
39
40
|
import { submitFeedbackFromArgs } from '../feedback/nudge.js';
|
|
40
41
|
import { probePhotoshopEngine } from './ping-engine.js';
|
|
42
|
+
import { refreshUpdateCheck } from '../update/check.js';
|
|
41
43
|
export class PhotoshopMCPServer {
|
|
42
44
|
server;
|
|
43
45
|
logger;
|
|
@@ -64,7 +66,7 @@ export class PhotoshopMCPServer {
|
|
|
64
66
|
this.setupHandlers();
|
|
65
67
|
}
|
|
66
68
|
registerToolDefinition(definition) {
|
|
67
|
-
const tool = withOptionalDocumentId(definition.tool);
|
|
69
|
+
const tool = withToolAnnotations(withOptionalDocumentId(definition.tool));
|
|
68
70
|
this.toolRegistry.register(tool.name, {
|
|
69
71
|
tool,
|
|
70
72
|
handler: wrapToolHandler(tool.name, wrapDocumentIdHandler(definition.handler)),
|
|
@@ -80,7 +82,7 @@ export class PhotoshopMCPServer {
|
|
|
80
82
|
description: 'Verify that the Photoshop scripting engine can run a script.\n\n' +
|
|
81
83
|
'Use when: once at session start, and after extendscript_timeout until this call succeeds.\n' +
|
|
82
84
|
'Do NOT use when: on every tool call — after a successful ping, use photoshop_get_state. Do not call get_state or get_layers while this ping is still failing.\n\n' +
|
|
83
|
-
'Returns: "Successfully connected to Photoshop" only after a short script runs inside Photoshop. While a previous script is still running, returns extendscript_timeout — retry photoshop_ping. If that timeout happens while the OS drive has under 10 GB free, returns scratch_disk_full instead: free space on the scratch disk and restart Photoshop. If Photoshop is not installed or not running, returns a failure string and does not launch the app. May append a FEEDBACK_NUDGE block 15 minutes after the first successful ping, then at most once per 7 days (disabled with PSMCP_FEEDBACK=0).\n' +
|
|
85
|
+
'Returns: "Successfully connected to Photoshop" only after a short script runs inside Photoshop. While a previous script is still running, returns extendscript_timeout — retry photoshop_ping. If that timeout happens while the OS drive has under 10 GB free, returns scratch_disk_full instead: free space on the scratch disk and restart Photoshop. If Photoshop is not installed or not running, returns a failure string and does not launch the app. May append a FEEDBACK_NUDGE block 15 minutes after the first successful ping, then at most once per 7 days (disabled with PSMCP_FEEDBACK=0). May append an UPDATE_AVAILABLE block when a newer photoshop-mcp release is on npm, at most once per 7 days (disabled with PSMCP_UPDATE_CHECK=0). A single ping carries at most one of these blocks.\n' +
|
|
84
86
|
'Preconditions: none. Side effects: may trigger Photoshop detection. Does not launch Photoshop.',
|
|
85
87
|
inputSchema: { type: 'object', properties: {} },
|
|
86
88
|
},
|
|
@@ -196,6 +198,9 @@ export class PhotoshopMCPServer {
|
|
|
196
198
|
});
|
|
197
199
|
}
|
|
198
200
|
async pingPhotoshop() {
|
|
201
|
+
// Long-lived hosts (Claude Desktop) keep one server across chats; refresh the cached
|
|
202
|
+
// release here too (at most once per 24h), racing the probe so this ping can use it.
|
|
203
|
+
void refreshUpdateCheck();
|
|
199
204
|
return probePhotoshopEngine(this.session.getConnection());
|
|
200
205
|
}
|
|
201
206
|
async getVersion() {
|
package/dist/core/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAMxD,MAAM,OAAO,kBAAkB;IACrB,MAAM,CAAS;IACf,MAAM,CAAS;IACf,YAAY,CAAe;IAC3B,cAAc,CAAiB;IAC/B,OAAO,CAAU;IAEzB,YAAY,OAAkC;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAE7B,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB;YACE,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,OAAO,CAAC,aAAa;SAC/B,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;aACZ;YACD,YAAY,EAAE,0BAA0B,EAAE;SAC3C,CACF,CAAC;QAEF,wBAAwB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,sBAAsB,CAAC,UAA0B;QACvD,MAAM,IAAI,GAAG,mBAAmB,CAAC,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;YACpC,IAAI;YACJ,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC/E,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB,CAAC,WAA6B;QAC3D,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,sBAAsB,CAAC;YAC1B,IAAI,EAAE;gBACJ,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EACT,kEAAkE;oBAClE,6FAA6F;oBAC7F,mKAAmK;oBACnK,ixBAAixB;oBACjxB,gGAAgG;gBAClG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;aAChD;YACD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;SAC1C,CAAC,CAAC;QAEH,IAAI,CAAC,sBAAsB,CAAC;YAC1B,IAAI,EAAE;gBACJ,IAAI,EAAE,2BAA2B;gBACjC,WAAW,EACT,yEAAyE;oBACzE,2KAA2K;oBAC3K,6EAA6E;oBAC7E,+CAA+C;oBAC/C,iHAAiH;oBACjH,8GAA8G;gBAChH,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC;4BACpC,WAAW,EACT,4FAA4F;yBAC/F;wBACD,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,oEAAoE;yBAClF;qBACF;oBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;iBACrB;aACF;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;SACtD,CAAC,CAAC;QAEH,IAAI,CAAC,sBAAsB,CAAC;YAC1B,IAAI,EAAE;gBACJ,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EACT,mDAAmD;oBACnD,6EAA6E;oBAC7E,kFAAkF;oBAClF,4BAA4B;oBAC5B,0CAA0C;gBAC5C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;aAChD;YACD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;SACvC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAEhD,KAAK,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,uBAAuB,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,uBAAuB,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,uBAAuB,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,uBAAuB,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,cAAc,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,CAC3F,CAAC;IACJ,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACtE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,IAAI,GAAI,OAAO,CAAC,MAAM,CAAC,SAAoC,IAAI,EAAE,CAAC;YACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;YAC/C,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1D,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC;YAE9C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAI,OAAO,CAAC,MAAM,CAAC,SAAqC,IAAI,EAAE,CAAC;gBACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC/D,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC9B,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAC1E,iBAAiB,CAAC;wBAChB,QAAQ;wBACR,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,gBAAgB;wBAC3B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;qBACjC,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,qFAAqF;QACrF,qFAAqF;QACrF,KAAK,kBAAkB,EAAE,CAAC;QAC1B,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,sBAAsB,OAAO,EAAE;iBACtC;aACF;SACF,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAC5C,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;YAAE,OAAO,SAAS,CAAC;QAE1D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,CAAC;YAChE,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YACxD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAEhC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE;YAC/B,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;YACzB,uBAAuB,EAAE,CAAC;QAC5B,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Tool, ToolAnnotations } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* MCP tool annotations advertised on tools/list.
|
|
4
|
+
* readOnlyHint is true only when the tool does not change Photoshop, the filesystem, or local config.
|
|
5
|
+
* destructiveHint is true when the call can destroy pixels, layers, or the current history state.
|
|
6
|
+
* idempotentHint is true when the same arguments leave the document in the same state on a second call.
|
|
7
|
+
* openWorldHint is true when the call can reach the network or run arbitrary code.
|
|
8
|
+
*/
|
|
9
|
+
export type PhotoshopToolAnnotations = Required<Pick<ToolAnnotations, 'readOnlyHint' | 'destructiveHint' | 'idempotentHint' | 'openWorldHint'>>;
|
|
10
|
+
export declare const TOOL_ANNOTATIONS: Record<string, PhotoshopToolAnnotations>;
|
|
11
|
+
export declare function withToolAnnotations(tool: Tool): Tool;
|
|
12
|
+
//# sourceMappingURL=tool-annotations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-annotations.d.ts","sourceRoot":"","sources":["../../src/core/tool-annotations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAC7C,IAAI,CAAC,eAAe,EAAE,cAAc,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,eAAe,CAAC,CAC/F,CAAC;AAkBF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAmJrE,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CASpD"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
function ann(readOnlyHint, destructiveHint, idempotentHint, openWorldHint = false) {
|
|
2
|
+
return { readOnlyHint, destructiveHint, idempotentHint, openWorldHint };
|
|
3
|
+
}
|
|
4
|
+
/** Document is not modified. */
|
|
5
|
+
const read = ann(true, false, true);
|
|
6
|
+
/** Changes state without destroying pixels or layers. */
|
|
7
|
+
const edit = (idempotent, openWorld = false) => ann(false, false, idempotent, openWorld);
|
|
8
|
+
/** Can destroy pixels, layers, or the current history state. */
|
|
9
|
+
const harm = (idempotent, openWorld = false) => ann(false, true, idempotent, openWorld);
|
|
10
|
+
export const TOOL_ANNOTATIONS = {
|
|
11
|
+
photoshop_ping: edit(true),
|
|
12
|
+
photoshop_submit_feedback: edit(false, true),
|
|
13
|
+
photoshop_get_version: read,
|
|
14
|
+
photoshop_get_state: read,
|
|
15
|
+
photoshop_get_preview: edit(true),
|
|
16
|
+
photoshop_get_capabilities: read,
|
|
17
|
+
photoshop_create_document: edit(false),
|
|
18
|
+
photoshop_get_document_info: read,
|
|
19
|
+
photoshop_list_documents: edit(true),
|
|
20
|
+
photoshop_set_active_document: edit(true),
|
|
21
|
+
photoshop_save_document: harm(true),
|
|
22
|
+
photoshop_close_document: harm(false),
|
|
23
|
+
photoshop_create_layer: edit(false),
|
|
24
|
+
photoshop_delete_layer: harm(false),
|
|
25
|
+
photoshop_create_text_layer: edit(false),
|
|
26
|
+
photoshop_fill_layer: harm(true),
|
|
27
|
+
photoshop_get_layers: read,
|
|
28
|
+
photoshop_select_layer_by_name: edit(true),
|
|
29
|
+
photoshop_resize_image: harm(false),
|
|
30
|
+
photoshop_crop_document: harm(false),
|
|
31
|
+
photoshop_place_image: edit(false),
|
|
32
|
+
photoshop_open_image: edit(false),
|
|
33
|
+
photoshop_convert_to_smart_object: edit(false),
|
|
34
|
+
photoshop_replace_smart_object_contents: harm(true),
|
|
35
|
+
photoshop_edit_smart_object_contents: edit(false),
|
|
36
|
+
photoshop_create_smart_object_via_copy: edit(false),
|
|
37
|
+
photoshop_fit_layer_to_document: harm(false),
|
|
38
|
+
photoshop_scale_layer: harm(false),
|
|
39
|
+
photoshop_move_layer: edit(false),
|
|
40
|
+
photoshop_rotate_layer: harm(false),
|
|
41
|
+
photoshop_rasterize_layer: harm(false),
|
|
42
|
+
photoshop_set_layer_opacity: edit(true),
|
|
43
|
+
photoshop_set_layer_blend_mode: edit(true),
|
|
44
|
+
photoshop_set_layer_visibility: edit(true),
|
|
45
|
+
photoshop_set_layer_locked: edit(true),
|
|
46
|
+
photoshop_rename_layer: edit(true),
|
|
47
|
+
photoshop_duplicate_layer: edit(false),
|
|
48
|
+
photoshop_merge_visible_layers: harm(false),
|
|
49
|
+
photoshop_flatten_image: harm(false),
|
|
50
|
+
photoshop_apply_gaussian_blur: harm(false),
|
|
51
|
+
photoshop_apply_sharpen: harm(false),
|
|
52
|
+
photoshop_apply_noise: harm(false),
|
|
53
|
+
photoshop_apply_motion_blur: harm(false),
|
|
54
|
+
photoshop_apply_high_pass: harm(false),
|
|
55
|
+
photoshop_apply_smart_blur: harm(false),
|
|
56
|
+
photoshop_adjust_brightness_contrast: harm(false),
|
|
57
|
+
photoshop_adjust_hue_saturation: harm(false),
|
|
58
|
+
photoshop_auto_levels: harm(false),
|
|
59
|
+
photoshop_auto_contrast: harm(false),
|
|
60
|
+
photoshop_adjust_curves: edit(false),
|
|
61
|
+
photoshop_desaturate: harm(true),
|
|
62
|
+
photoshop_invert: harm(false),
|
|
63
|
+
photoshop_list_fonts: read,
|
|
64
|
+
photoshop_install_font: edit(false),
|
|
65
|
+
photoshop_set_text_font: edit(true),
|
|
66
|
+
photoshop_set_text_color: edit(true),
|
|
67
|
+
photoshop_set_text_alignment: edit(true),
|
|
68
|
+
photoshop_update_text_content: edit(true),
|
|
69
|
+
photoshop_set_text_style: edit(true),
|
|
70
|
+
photoshop_set_text_ranges: edit(true),
|
|
71
|
+
photoshop_get_selection_bounds: read,
|
|
72
|
+
photoshop_select_ellipse: edit(false),
|
|
73
|
+
photoshop_expand_selection: edit(false),
|
|
74
|
+
photoshop_contract_selection: edit(false),
|
|
75
|
+
photoshop_feather_selection: edit(false),
|
|
76
|
+
photoshop_save_selection: edit(false),
|
|
77
|
+
photoshop_select_rectangle: edit(false),
|
|
78
|
+
photoshop_select_all: edit(true),
|
|
79
|
+
photoshop_deselect: edit(true),
|
|
80
|
+
photoshop_invert_selection: edit(false),
|
|
81
|
+
photoshop_create_layer_mask: edit(false),
|
|
82
|
+
photoshop_delete_layer_mask: harm(false),
|
|
83
|
+
photoshop_apply_layer_mask: harm(false),
|
|
84
|
+
photoshop_select_subject: edit(false),
|
|
85
|
+
photoshop_content_aware_fill: harm(false),
|
|
86
|
+
photoshop_apply_gradient_mask: harm(false),
|
|
87
|
+
photoshop_create_clipping_mask: edit(true),
|
|
88
|
+
photoshop_release_clipping_mask: edit(true),
|
|
89
|
+
photoshop_play_action: harm(false),
|
|
90
|
+
photoshop_execute_script: harm(false, true),
|
|
91
|
+
photoshop_undo: harm(false),
|
|
92
|
+
photoshop_redo: harm(false),
|
|
93
|
+
photoshop_get_history: read,
|
|
94
|
+
photoshop_move_layer_to_position: edit(false),
|
|
95
|
+
photoshop_move_layer_to_top: edit(true),
|
|
96
|
+
photoshop_move_layer_to_bottom: edit(true),
|
|
97
|
+
photoshop_move_layer_up: edit(false),
|
|
98
|
+
photoshop_move_layer_down: edit(false),
|
|
99
|
+
photoshop_generative_fill: harm(false, true),
|
|
100
|
+
photoshop_generative_remove: harm(false, true),
|
|
101
|
+
photoshop_generative_expand: harm(false, true),
|
|
102
|
+
photoshop_generative_upscale: harm(false, true),
|
|
103
|
+
photoshop_sky_replacement: harm(false),
|
|
104
|
+
photoshop_generate_image: edit(false, true),
|
|
105
|
+
photoshop_neural_filter: harm(false, true),
|
|
106
|
+
photoshop_apply_layer_style: edit(true),
|
|
107
|
+
photoshop_apply_lut: edit(false),
|
|
108
|
+
photoshop_adjust_vibrance: edit(false),
|
|
109
|
+
photoshop_adjust_exposure: edit(false),
|
|
110
|
+
photoshop_apply_photo_filter: edit(false),
|
|
111
|
+
photoshop_apply_gradient_map: edit(false),
|
|
112
|
+
photoshop_list_datasets: read,
|
|
113
|
+
photoshop_import_datasets: edit(false),
|
|
114
|
+
photoshop_generate_from_datasets: edit(false),
|
|
115
|
+
photoshop_image_stack: edit(false),
|
|
116
|
+
photoshop_export_as: edit(false),
|
|
117
|
+
photoshop_list_artboards: read,
|
|
118
|
+
photoshop_create_artboard: edit(false),
|
|
119
|
+
photoshop_set_active_artboard: edit(true),
|
|
120
|
+
photoshop_export_artboards: edit(false),
|
|
121
|
+
photoshop_recipe_remove_background: edit(false),
|
|
122
|
+
photoshop_recipe_enhance_portrait: edit(false),
|
|
123
|
+
photoshop_recipe_prepare_for_web: edit(false),
|
|
124
|
+
photoshop_recipe_export_social_variants: edit(false),
|
|
125
|
+
photoshop_recipe_apply_color_grade: edit(false),
|
|
126
|
+
photoshop_recipe_frequency_separation: edit(false),
|
|
127
|
+
photoshop_recipe_batch_mockup_replace: harm(false),
|
|
128
|
+
photoshop_recipe_organize_layers: edit(false),
|
|
129
|
+
photoshop_recipe_gradient_fade: harm(false),
|
|
130
|
+
photoshop_recipe_sky_blend: edit(false),
|
|
131
|
+
photoshop_recipe_dodge_burn: edit(false),
|
|
132
|
+
photoshop_recipe_remove_distraction: harm(false),
|
|
133
|
+
photoshop_recipe_split_carousel: edit(false),
|
|
134
|
+
photoshop_recipe_batch_watermark: edit(false),
|
|
135
|
+
photoshop_recipe_passport_photo: edit(false),
|
|
136
|
+
photoshop_recipe_csv_to_cards: edit(false),
|
|
137
|
+
};
|
|
138
|
+
export function withToolAnnotations(tool) {
|
|
139
|
+
const annotations = TOOL_ANNOTATIONS[tool.name];
|
|
140
|
+
if (!annotations) {
|
|
141
|
+
throw new Error(`Missing MCP annotations for tool ${tool.name}`);
|
|
142
|
+
}
|
|
143
|
+
if (annotations.readOnlyHint && annotations.destructiveHint) {
|
|
144
|
+
throw new Error(`readOnlyHint contradicts destructiveHint on ${tool.name}`);
|
|
145
|
+
}
|
|
146
|
+
return { ...tool, annotations };
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=tool-annotations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-annotations.js","sourceRoot":"","sources":["../../src/core/tool-annotations.ts"],"names":[],"mappings":"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"}
|
package/dist/feedback/nudge.d.ts
CHANGED
|
@@ -32,7 +32,11 @@ export declare function recordFeedback(choice: FeedbackChoice, suggestion?: stri
|
|
|
32
32
|
has_suggestion: boolean;
|
|
33
33
|
};
|
|
34
34
|
export declare function buildFeedbackNudgeBlock(): string;
|
|
35
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* First text block is always the connection string so existing ping clients keep working.
|
|
37
|
+
* A connected ping carries at most one extra block: UPDATE_AVAILABLE wins, and a due
|
|
38
|
+
* FEEDBACK_NUDGE waits for a later ping (its cooldown is not started).
|
|
39
|
+
*/
|
|
36
40
|
export declare function buildPingToolResult(connected: boolean, now?: number): CallToolResult;
|
|
37
41
|
export declare function submitFeedbackFromArgs(args: Record<string, unknown>): CallToolResult;
|
|
38
42
|
//# sourceMappingURL=nudge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nudge.d.ts","sourceRoot":"","sources":["../../src/feedback/nudge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"nudge.d.ts","sourceRoot":"","sources":["../../src/feedback/nudge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AASzE,eAAO,MAAM,0BAA0B,QAA0B,CAAC;AAClE,eAAO,MAAM,yBAAyB,QAAiB,CAAC;AACxD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AACtD,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,0BAA0B,4GACoE,CAAC;AAC5G,eAAO,MAAM,0BAA0B,wNACgG,CAAC;AACxI,eAAO,MAAM,4BAA4B,yWAC0T,CAAC;AACpW,eAAO,MAAM,mBAAmB,wCAAwC,CAAC;AACzE,eAAO,MAAM,gBAAgB,mCAAmC,CAAC;AAEjE,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AASD,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAE5E;AAOD,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEpF;AAkBD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKxF;AAMD,wBAAgB,kBAAkB,CAAC,GAAG,SAAa,GAAG,OAAO,CAY5D;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,GAAG,SAAa,GAAG,IAAI,CAO5D;AAED,wBAAgB,sBAAsB,CAAC,GAAG,SAAa,GAAG,IAAI,CAQ7D;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CA0CrE;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAmBhD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,SAAa,GAAG,cAAc,CAsBxF;AAOD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CA0BpF"}
|
package/dist/feedback/nudge.js
CHANGED
|
@@ -6,6 +6,7 @@ import { hasAnalyticsKey } from '../analytics/config.js';
|
|
|
6
6
|
import { isAnalyticsEnabled } from '../analytics/identity.js';
|
|
7
7
|
import { envelopeToToolResult } from '../errors/envelope.js';
|
|
8
8
|
import { getPhotoshopMcpHomeDir, PHOTOSHOP_MCP_SURFACE_ENV } from '../lib/export-paths.js';
|
|
9
|
+
import { takeUpdateNoticeBlock } from '../update/check.js';
|
|
9
10
|
export const FEEDBACK_NUDGE_COOLDOWN_MS = 7 * 24 * 60 * 60 * 1000;
|
|
10
11
|
export const FEEDBACK_NUDGE_MIN_AGE_MS = 15 * 60 * 1000;
|
|
11
12
|
export const FEEDBACK_SUGGESTION_MAX_CHARS = 200;
|
|
@@ -157,7 +158,11 @@ export function buildFeedbackNudgeBlock() {
|
|
|
157
158
|
'- suggestion: string (when choice is yes)',
|
|
158
159
|
].join('\n');
|
|
159
160
|
}
|
|
160
|
-
/**
|
|
161
|
+
/**
|
|
162
|
+
* First text block is always the connection string so existing ping clients keep working.
|
|
163
|
+
* A connected ping carries at most one extra block: UPDATE_AVAILABLE wins, and a due
|
|
164
|
+
* FEEDBACK_NUDGE waits for a later ping (its cooldown is not started).
|
|
165
|
+
*/
|
|
161
166
|
export function buildPingToolResult(connected, now = Date.now()) {
|
|
162
167
|
const content = [
|
|
163
168
|
{
|
|
@@ -165,12 +170,18 @@ export function buildPingToolResult(connected, now = Date.now()) {
|
|
|
165
170
|
text: connected ? PING_CONNECTED_TEXT : PING_FAILED_TEXT,
|
|
166
171
|
},
|
|
167
172
|
];
|
|
168
|
-
if (connected
|
|
173
|
+
if (!connected)
|
|
174
|
+
return { content };
|
|
175
|
+
const feedbackEnabled = isFeedbackNudgeEnabled();
|
|
176
|
+
if (feedbackEnabled)
|
|
169
177
|
markFeedbackFirstSeen(now);
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
178
|
+
const updateBlock = takeUpdateNoticeBlock(now);
|
|
179
|
+
if (updateBlock) {
|
|
180
|
+
content.push({ type: 'text', text: updateBlock });
|
|
181
|
+
}
|
|
182
|
+
else if (feedbackEnabled && isFeedbackNudgeDue(now)) {
|
|
183
|
+
markFeedbackNudgeShown(now);
|
|
184
|
+
content.push({ type: 'text', text: buildFeedbackNudgeBlock() });
|
|
174
185
|
}
|
|
175
186
|
return { content };
|
|
176
187
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nudge.js","sourceRoot":"","sources":["../../src/feedback/nudge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"nudge.js","sourceRoot":"","sources":["../../src/feedback/nudge.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { capture, endMcpAnalyticsSession, ensureAnalyticsIdentity, getAppVersion, identifyAnalyticsPerson, onMcpClientDisconnected, shutdownAnalytics, startLogicalMcpAnalyticsSession, } from './analytics/index.js';
|
|
3
3
|
import { PhotoshopMCPServer } from './core/server.js';
|
|
4
|
+
import { refreshUpdateCheck } from './update/check.js';
|
|
4
5
|
import { Logger } from './utils/logger.js';
|
|
5
6
|
const logger = new Logger('Main');
|
|
6
7
|
let mcpServer = null;
|
|
@@ -9,6 +10,8 @@ async function main() {
|
|
|
9
10
|
try {
|
|
10
11
|
logger.info('Starting Photoshop MCP Server...');
|
|
11
12
|
ensureAnalyticsIdentity();
|
|
13
|
+
// Background npm lookup (cached 24h, 3s timeout). photoshop_ping reads the cache only.
|
|
14
|
+
void refreshUpdateCheck();
|
|
12
15
|
mcpServer = new PhotoshopMCPServer({ serverVersion: getAppVersion() });
|
|
13
16
|
await mcpServer.start();
|
|
14
17
|
const photoshopVersion = await mcpServer.getPhotoshopVersion();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/prompts/instructions.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/prompts/instructions.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,eAAO,MAAM,0BAA0B,QA8M/B,CAAC;AAET,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD"}
|
|
@@ -23,6 +23,11 @@ HARD RULE — product feedback (FEEDBACK_NUDGE)
|
|
|
23
23
|
6. Then immediately continue the user's original request. Do not end the turn on this question.
|
|
24
24
|
- If ping has no \`FEEDBACK_NUDGE\`, never invent this question.
|
|
25
25
|
|
|
26
|
+
Update notice (UPDATE_AVAILABLE)
|
|
27
|
+
- If \`photoshop_ping\` returns an \`UPDATE_AVAILABLE\` block, tell the user once, in one short sentence in their language, with the update step from the block.
|
|
28
|
+
- Do not ask a question, do not run the update step yourself, and do not end the turn. Continue the user's request.
|
|
29
|
+
- If ping has no \`UPDATE_AVAILABLE\`, do not bring up updates.
|
|
30
|
+
|
|
26
31
|
Session bootstrap
|
|
27
32
|
- Call \`photoshop_ping\` exactly once at the start of a session to verify the
|
|
28
33
|
connection. Do not repeat it on every turn.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/prompts/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;OAanC,4BAA4B;;yCAEM,0BAA0B,eAAe,0BAA0B
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/prompts/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;OAanC,4BAA4B;;yCAEM,0BAA0B,eAAe,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+L3G,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,UAAU,0BAA0B;IACxC,OAAO,0BAA0B,CAAC;AACpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-tools.d.ts","sourceRoot":"","sources":["../../src/tools/action-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAKhE,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,GAAG,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"action-tools.d.ts","sourceRoot":"","sources":["../../src/tools/action-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAKhE,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,GAAG,cAAc,EAAE,CA+DnF"}
|
|
@@ -6,7 +6,12 @@ export function createActionTools(connection) {
|
|
|
6
6
|
{
|
|
7
7
|
tool: {
|
|
8
8
|
name: 'photoshop_play_action',
|
|
9
|
-
description: 'Play a
|
|
9
|
+
description: 'Play a named action from a named action set in the Actions panel. The action runs whatever steps were recorded; this tool does not limit them.\n\n' +
|
|
10
|
+
'Use when: the user names an existing action and action set to replay.\n' +
|
|
11
|
+
'Do NOT use when: no recorded action exists — use a photoshop_recipe_* tool or an atomic photoshop_* tool.\n' +
|
|
12
|
+
'Do NOT use when: you need to run arbitrary JSX — use photoshop_execute_script.\n\n' +
|
|
13
|
+
'Returns: the action result text.\n' +
|
|
14
|
+
'Preconditions: actionName and actionSetName must match the Actions panel; an open document if the action expects one. Side effects: whatever the action recorded (it may delete layers, change pixels, or save). photoshop_undo reverts only the history steps the action left behind.',
|
|
10
15
|
inputSchema: {
|
|
11
16
|
type: 'object',
|
|
12
17
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-tools.js","sourceRoot":"","sources":["../../src/tools/action-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,MAAM,UAAU,iBAAiB,CAAC,UAA+B;IAC/D,OAAO;QACL;YACE,IAAI,EAAE;gBACJ,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,
|
|
1
|
+
{"version":3,"file":"action-tools.js","sourceRoot":"","sources":["../../src/tools/action-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adjustment-tools.d.ts","sourceRoot":"","sources":["../../src/tools/adjustment-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAmBhE,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,mBAAmB,GAAG,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"adjustment-tools.d.ts","sourceRoot":"","sources":["../../src/tools/adjustment-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAmBhE,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,mBAAmB,GAAG,cAAc,EAAE,CA4JvF"}
|
|
@@ -13,8 +13,14 @@ export function createAdjustmentTools(connection) {
|
|
|
13
13
|
{
|
|
14
14
|
tool: {
|
|
15
15
|
name: 'photoshop_adjust_brightness_contrast',
|
|
16
|
-
description: '
|
|
17
|
-
'Users often say: fix exposure, add contrast, brighten, darken
|
|
16
|
+
description: 'Apply Image > Adjustments > Brightness/Contrast once to the active layer. Values are deltas on pixels, not an adjustment layer.\n\n' +
|
|
17
|
+
'Users often say: fix exposure, add contrast, brighten, darken.\n\n' +
|
|
18
|
+
'Use when: a quick brightness/contrast pass on the current raster layer.\n' +
|
|
19
|
+
'Do NOT use when: exposure in stops on an editable layer — use photoshop_adjust_exposure.\n' +
|
|
20
|
+
'Do NOT use when: a non-destructive tonal curve — use photoshop_adjust_curves.\n' +
|
|
21
|
+
'Do NOT use when: automatic black and white points — use photoshop_auto_levels.\n\n' +
|
|
22
|
+
'Returns: the brightness and contrast values applied.\n' +
|
|
23
|
+
'Preconditions: active document and active layer. Text and Smart Objects are rasterized first. Side effects: destructive pixels, one history step. Calling again applies another delta. Reversible with photoshop_undo.',
|
|
18
24
|
inputSchema: {
|
|
19
25
|
type: 'object',
|
|
20
26
|
properties: {
|
|
@@ -39,7 +45,12 @@ export function createAdjustmentTools(connection) {
|
|
|
39
45
|
{
|
|
40
46
|
tool: {
|
|
41
47
|
name: 'photoshop_adjust_hue_saturation',
|
|
42
|
-
description: '
|
|
48
|
+
description: 'Shift hue, saturation, and lightness on the active layer via Image > Adjustments > Hue/Saturation. Values are applied once to pixels, not stored as an adjustment layer.\n\n' +
|
|
49
|
+
'Use when: a direct color shift on the current layer is enough.\n' +
|
|
50
|
+
'Do NOT use when: the change must stay editable — use photoshop_adjust_vibrance or photoshop_adjust_curves.\n' +
|
|
51
|
+
'Do NOT use when: the user wants a cinematic grade — use photoshop_recipe_apply_color_grade.\n\n' +
|
|
52
|
+
'Returns: the hue, saturation, and lightness that were applied.\n' +
|
|
53
|
+
'Preconditions: active document and active layer. Text and Smart Objects are rasterized first, and a non-Normal blend mode is reset to Normal. Side effects: destructive pixel edit, one history step. Reversible with photoshop_undo.',
|
|
43
54
|
inputSchema: {
|
|
44
55
|
type: 'object',
|
|
45
56
|
properties: {
|
|
@@ -70,8 +81,14 @@ export function createAdjustmentTools(connection) {
|
|
|
70
81
|
{
|
|
71
82
|
tool: {
|
|
72
83
|
name: 'photoshop_auto_levels',
|
|
73
|
-
description: '
|
|
74
|
-
'Users often say: fix flat image, auto tone, make it pop (mild)
|
|
84
|
+
description: 'Run Auto Levels on the active layer. Photoshop sets the black, white, and gray points; there is no amount parameter.\n\n' +
|
|
85
|
+
'Users often say: fix flat image, auto tone, make it pop (mild).\n\n' +
|
|
86
|
+
'Use when: a one-shot automatic level fix on the current layer.\n' +
|
|
87
|
+
'Do NOT use when: only contrast should move — use photoshop_auto_contrast.\n' +
|
|
88
|
+
'Do NOT use when: you want a specific brightness and contrast delta — use photoshop_adjust_brightness_contrast.\n' +
|
|
89
|
+
'Do NOT use when: the correction must stay an editable adjustment layer — use photoshop_adjust_curves.\n\n' +
|
|
90
|
+
'Returns: confirmation that Auto Levels ran.\n' +
|
|
91
|
+
'Preconditions: active document and active layer. Text and Smart Objects are rasterized first. Side effects: destructive pixels, one history step. Reversible with photoshop_undo.',
|
|
75
92
|
inputSchema: {
|
|
76
93
|
type: 'object',
|
|
77
94
|
properties: {},
|
|
@@ -82,7 +99,13 @@ export function createAdjustmentTools(connection) {
|
|
|
82
99
|
{
|
|
83
100
|
tool: {
|
|
84
101
|
name: 'photoshop_auto_contrast',
|
|
85
|
-
description: '
|
|
102
|
+
description: 'Run Auto Contrast on the active layer. Photoshop picks the contrast; there is no amount parameter.\n\n' +
|
|
103
|
+
'Use when: a one-shot automatic contrast fix on the current layer.\n' +
|
|
104
|
+
'Do NOT use when: you need numeric brightness and contrast — use photoshop_adjust_brightness_contrast.\n' +
|
|
105
|
+
'Do NOT use when: black, white, and gray points should move — use photoshop_auto_levels.\n' +
|
|
106
|
+
'Do NOT use when: a non-destructive curve — use photoshop_adjust_curves.\n\n' +
|
|
107
|
+
'Returns: confirmation that Auto Contrast ran.\n' +
|
|
108
|
+
'Preconditions: active document and active layer. Text and Smart Objects are rasterized first. Side effects: destructive pixels, one history step. Reversible with photoshop_undo.',
|
|
86
109
|
inputSchema: {
|
|
87
110
|
type: 'object',
|
|
88
111
|
properties: {},
|