@alisaitteke/photoshop-mcp 1.7.25 → 1.7.27
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 +2 -1
- package/dist/api/photoshop-api.d.ts +3 -1
- package/dist/api/photoshop-api.d.ts.map +1 -1
- package/dist/api/photoshop-api.js +15 -5
- package/dist/api/photoshop-api.js.map +1 -1
- package/dist/core/ping-engine.d.ts +10 -0
- package/dist/core/ping-engine.d.ts.map +1 -0
- package/dist/core/ping-engine.js +27 -0
- package/dist/core/ping-engine.js.map +1 -0
- package/dist/core/server.d.ts.map +1 -1
- package/dist/core/server.js +8 -9
- package/dist/core/server.js.map +1 -1
- package/dist/errors/envelope.d.ts +15 -1
- package/dist/errors/envelope.d.ts.map +1 -1
- package/dist/errors/envelope.js +77 -2
- package/dist/errors/envelope.js.map +1 -1
- package/dist/platform/connection.d.ts +3 -1
- package/dist/platform/connection.d.ts.map +1 -1
- package/dist/platform/connection.js +4 -3
- package/dist/platform/connection.js.map +1 -1
- package/dist/platform/os-free-space.d.ts +9 -0
- package/dist/platform/os-free-space.d.ts.map +1 -0
- package/dist/platform/os-free-space.js +27 -0
- package/dist/platform/os-free-space.js.map +1 -0
- package/dist/prompts/instructions.d.ts.map +1 -1
- package/dist/prompts/instructions.js +11 -3
- package/dist/prompts/instructions.js.map +1 -1
- package/dist/prompts/templates/generative-expand.js +1 -1
- package/dist/prompts/templates/generative-expand.js.map +1 -1
- package/dist/prompts/templates/generative-fill.js +1 -1
- package/dist/prompts/templates/generative-fill.js.map +1 -1
- package/dist/tools/recipes/_shared.d.ts +2 -1
- package/dist/tools/recipes/_shared.d.ts.map +1 -1
- package/dist/tools/recipes/_shared.js +3 -2
- package/dist/tools/recipes/_shared.js.map +1 -1
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -92,7 +92,8 @@ Examples: [examples/cursor-config.json](examples/cursor-config.json), [examples/
|
|
|
92
92
|
| Symptom | Fix |
|
|
93
93
|
| ------- | --- |
|
|
94
94
|
| Photoshop not found | Start Photoshop; set `PHOTOSHOP_PATH` if non-standard install |
|
|
95
|
-
| Tool times out |
|
|
95
|
+
| Tool times out | Retry `photoshop_ping` until it succeeds. Ping runs a short script and returns `extendscript_timeout` while Photoshop is still busy; only then call `get_state`. Pass `timeout_ms` on `photoshop_execute_script` (max 600s), or set `PHOTOSHOP_SCRIPT_TIMEOUT`; batch recipes already use 600s. |
|
|
96
|
+
| Scratch disk full | `scratch_disk_full` means Photoshop froze or refused the command because the scratch disk is full. Free at least 100 GB on the OS drive (the default scratch disk), then restart Photoshop. Ping again only after that restart. |
|
|
96
97
|
| `generative_unavailable` / `version_unsupported` | Call `get_capabilities`; feature may need newer Photoshop or Adobe login |
|
|
97
98
|
| 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) |
|
|
98
99
|
| No active document | Ask user to open/create a document, then `get_state` |
|
|
@@ -4,7 +4,9 @@ export interface PhotoshopAPI {
|
|
|
4
4
|
/**
|
|
5
5
|
* Execute a script using the appropriate API
|
|
6
6
|
*/
|
|
7
|
-
executeScript(script: string, timeoutMs?: number
|
|
7
|
+
executeScript(script: string, timeoutMs?: number, options?: {
|
|
8
|
+
launch?: boolean;
|
|
9
|
+
}): Promise<unknown>;
|
|
8
10
|
/**
|
|
9
11
|
* Get the API type being used
|
|
10
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"photoshop-api.d.ts","sourceRoot":"","sources":["../../src/api/photoshop-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,aAAa,
|
|
1
|
+
{"version":3,"file":"photoshop-api.d.ts","sourceRoot":"","sources":["../../src/api/photoshop-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,aAAa,CACX,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC;CACvB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAsB;gBAE5B,UAAU,EAAE,mBAAmB;IAKrC,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAmBxC,OAAO,CAAC,gBAAgB;CAQzB"}
|
|
@@ -40,10 +40,10 @@ class UXPPhotoshopAPI {
|
|
|
40
40
|
constructor(connection) {
|
|
41
41
|
this.connection = connection;
|
|
42
42
|
}
|
|
43
|
-
async executeScript(script, timeoutMs) {
|
|
43
|
+
async executeScript(script, timeoutMs, options) {
|
|
44
44
|
// UXP cannot be executed externally via AppleScript/COM
|
|
45
45
|
// Fall back to ExtendScript
|
|
46
|
-
return await this.connection.executeScript(script, timeoutMs);
|
|
46
|
+
return await this.connection.executeScript(script, timeoutMs, options);
|
|
47
47
|
}
|
|
48
48
|
getAPIType() {
|
|
49
49
|
return 'UXP';
|
|
@@ -57,10 +57,10 @@ class ExtendScriptPhotoshopAPI {
|
|
|
57
57
|
constructor(connection) {
|
|
58
58
|
this.connection = connection;
|
|
59
59
|
}
|
|
60
|
-
async executeScript(script, timeoutMs) {
|
|
60
|
+
async executeScript(script, timeoutMs, options) {
|
|
61
61
|
// Wrap script in error handling
|
|
62
62
|
const wrappedScript = this.wrapInErrorHandling(script);
|
|
63
|
-
return await this.connection.executeScript(wrappedScript, timeoutMs);
|
|
63
|
+
return await this.connection.executeScript(wrappedScript, timeoutMs, options);
|
|
64
64
|
}
|
|
65
65
|
wrapInErrorHandling(script) {
|
|
66
66
|
// ExtendScript has no JSON object, so the result is serialized via
|
|
@@ -116,7 +116,17 @@ class ExtendScriptPhotoshopAPI {
|
|
|
116
116
|
}
|
|
117
117
|
return String(result);
|
|
118
118
|
} catch (error) {
|
|
119
|
-
|
|
119
|
+
var errorMessage = '';
|
|
120
|
+
var errorNumber = '';
|
|
121
|
+
try { errorMessage = error.message; } catch (e) {}
|
|
122
|
+
try { errorNumber = String(error.number); } catch (e2) {}
|
|
123
|
+
if (!errorMessage) {
|
|
124
|
+
try { errorMessage = String(error); } catch (e3) { errorMessage = 'unknown'; }
|
|
125
|
+
}
|
|
126
|
+
if (errorNumber && errorNumber !== 'undefined' && errorNumber !== 'NaN') {
|
|
127
|
+
return 'ERROR: ' + errorMessage + ' (number: ' + errorNumber + ')';
|
|
128
|
+
}
|
|
129
|
+
return 'ERROR: ' + errorMessage;
|
|
120
130
|
} finally {
|
|
121
131
|
try { if (__originalRulerUnits !== null) app.preferences.rulerUnits = __originalRulerUnits; } catch (e) {}
|
|
122
132
|
try { if (__originalTypeUnits !== null) app.preferences.typeUnits = __originalTypeUnits; } catch (e) {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"photoshop-api.js","sourceRoot":"","sources":["../../src/api/photoshop-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"photoshop-api.js","sourceRoot":"","sources":["../../src/api/photoshop-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import { PhotoshopConnection } from '../platform/connection.js';
|
|
3
|
+
/**
|
|
4
|
+
* Tiny read. Success means Photoshop accepted and finished a script on the
|
|
5
|
+
* same queue as every other tool. `app.documents.length` does not walk layers,
|
|
6
|
+
* so a busy engine fails here instead of inside get_state / get_layers.
|
|
7
|
+
*/
|
|
8
|
+
export declare const PING_PROBE_SCRIPT = "return app.documents.length;";
|
|
9
|
+
export declare function probePhotoshopEngine(connection: PhotoshopConnection): Promise<CallToolResult>;
|
|
10
|
+
//# sourceMappingURL=ping-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ping-engine.d.ts","sourceRoot":"","sources":["../../src/core/ping-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,iCAAiC,CAAC;AAIhE,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,mBAAmB,GAC9B,OAAO,CAAC,cAAc,CAAC,CAazB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { PhotoshopAPIFactory } from '../api/photoshop-api.js';
|
|
2
|
+
import { buildPingToolResult } from '../feedback/nudge.js';
|
|
3
|
+
import { DEFAULT_SCRIPT_TIMEOUT_MS } from '../platform/script-timeout.js';
|
|
4
|
+
/**
|
|
5
|
+
* Tiny read. Success means Photoshop accepted and finished a script on the
|
|
6
|
+
* same queue as every other tool. `app.documents.length` does not walk layers,
|
|
7
|
+
* so a busy engine fails here instead of inside get_state / get_layers.
|
|
8
|
+
*/
|
|
9
|
+
export const PING_PROBE_SCRIPT = 'return app.documents.length;';
|
|
10
|
+
const NOT_REACHABLE = /photoshop is not running|photoshop not found|photoshop info not available/i;
|
|
11
|
+
export async function probePhotoshopEngine(connection) {
|
|
12
|
+
const installed = await connection.ping();
|
|
13
|
+
if (!installed)
|
|
14
|
+
return buildPingToolResult(false);
|
|
15
|
+
try {
|
|
16
|
+
const api = await new PhotoshopAPIFactory(connection).createAPI();
|
|
17
|
+
await api.executeScript(PING_PROBE_SCRIPT, DEFAULT_SCRIPT_TIMEOUT_MS, { launch: false });
|
|
18
|
+
return buildPingToolResult(true);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
22
|
+
if (NOT_REACHABLE.test(message))
|
|
23
|
+
return buildPingToolResult(false);
|
|
24
|
+
throw error;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=ping-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ping-engine.js","sourceRoot":"","sources":["../../src/core/ping-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;AAEhE,MAAM,aAAa,GAAG,4EAA4E,CAAC;AAEnG,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAA+B;IAE/B,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,CAAC,SAAS;QAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;QAClE,MAAM,GAAG,CAAC,aAAa,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACzF,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -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":"AAmDA,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;YAIb,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
|
@@ -36,7 +36,8 @@ import { createStackTools } from '../tools/stack-tools.js';
|
|
|
36
36
|
import { createExportTools } from '../tools/export-tools.js';
|
|
37
37
|
import { createArtboardTools } from '../tools/artboard-tools.js';
|
|
38
38
|
import { ensureUxpBridgeServer } from '../platform/uxp-bridge-server.js';
|
|
39
|
-
import {
|
|
39
|
+
import { submitFeedbackFromArgs } from '../feedback/nudge.js';
|
|
40
|
+
import { probePhotoshopEngine } from './ping-engine.js';
|
|
40
41
|
export class PhotoshopMCPServer {
|
|
41
42
|
server;
|
|
42
43
|
logger;
|
|
@@ -76,11 +77,11 @@ export class PhotoshopMCPServer {
|
|
|
76
77
|
this.registerToolDefinition({
|
|
77
78
|
tool: {
|
|
78
79
|
name: 'photoshop_ping',
|
|
79
|
-
description: 'Verify Photoshop
|
|
80
|
-
'Use when: once at session start
|
|
81
|
-
'Do NOT use when: on every tool call —
|
|
82
|
-
'Returns:
|
|
83
|
-
'Preconditions: none. Side effects: may trigger Photoshop detection.',
|
|
80
|
+
description: 'Verify that the Photoshop scripting engine can run a script.\n\n' +
|
|
81
|
+
'Use when: once at session start, and after extendscript_timeout until this call succeeds.\n' +
|
|
82
|
+
'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' +
|
|
84
|
+
'Preconditions: none. Side effects: may trigger Photoshop detection. Does not launch Photoshop.',
|
|
84
85
|
inputSchema: { type: 'object', properties: {} },
|
|
85
86
|
},
|
|
86
87
|
handler: async () => this.pingPhotoshop(),
|
|
@@ -195,9 +196,7 @@ export class PhotoshopMCPServer {
|
|
|
195
196
|
});
|
|
196
197
|
}
|
|
197
198
|
async pingPhotoshop() {
|
|
198
|
-
|
|
199
|
-
const isConnected = await connection.ping();
|
|
200
|
-
return buildPingToolResult(isConnected);
|
|
199
|
+
return probePhotoshopEngine(this.session.getConnection());
|
|
201
200
|
}
|
|
202
201
|
async getVersion() {
|
|
203
202
|
const connection = this.session.getConnection();
|
package/dist/core/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,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,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
import type { ToolHandler } from '../core/tool-registry.js';
|
|
3
|
-
export type PhotoshopErrorCode = 'no_active_document' | 'no_active_layer' | 'layer_not_found' | 'document_not_found' | 'ambiguous_name' | 'invalid_arguments' | 'selection_required' | 'version_unsupported' | 'generative_unavailable' | 'generative_timeout' | 'extendscript_timeout' | 'artboard_not_found' | 'generative_credits_exhausted' | 'generative_no_selection' | 'uxp_bridge_unavailable' | 'extendscript_runtime_error' | 'file_not_found' | 'font_not_found' | 'not_text_layer' | 'unsupported_color_mode' | 'no_base_layer_below' | 'not_clipping' | 'unknown';
|
|
3
|
+
export type PhotoshopErrorCode = 'no_active_document' | 'no_active_layer' | 'layer_not_found' | 'document_not_found' | 'ambiguous_name' | 'invalid_arguments' | 'selection_required' | 'version_unsupported' | 'generative_unavailable' | 'generative_timeout' | 'extendscript_timeout' | 'scratch_disk_full' | 'artboard_not_found' | 'generative_credits_exhausted' | 'generative_no_selection' | 'uxp_bridge_unavailable' | 'extendscript_runtime_error' | 'file_not_found' | 'font_not_found' | 'not_text_layer' | 'unsupported_color_mode' | 'no_base_layer_below' | 'not_clipping' | 'unknown';
|
|
4
4
|
export interface PhotoshopErrorEnvelope {
|
|
5
5
|
ok: false;
|
|
6
6
|
code: PhotoshopErrorCode;
|
|
@@ -8,6 +8,14 @@ export interface PhotoshopErrorEnvelope {
|
|
|
8
8
|
suggested_next_tool?: string;
|
|
9
9
|
suggested_args?: Record<string, unknown>;
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Photoshop's minimum available hard-disk space.
|
|
13
|
+
* https://helpx.adobe.com/photoshop/system-requirements.html
|
|
14
|
+
*/
|
|
15
|
+
export declare const PHOTOSHOP_MIN_FREE_BYTES: number;
|
|
16
|
+
export declare function scratchDiskFullEnvelope(detail: string): PhotoshopErrorEnvelope;
|
|
17
|
+
/** Startup timeout while the OS drive is below Photoshop's 10 GB minimum. */
|
|
18
|
+
export declare function diagnoseScratchDiskTimeout(freeBytes: number | null): PhotoshopErrorEnvelope | null;
|
|
11
19
|
export declare function classifyError(message: string): PhotoshopErrorEnvelope;
|
|
12
20
|
/**
|
|
13
21
|
* Timeouts are classified without knowing which tool failed. Once the wrapper
|
|
@@ -18,5 +26,11 @@ export declare function refineTimeoutEnvelope(toolName: string, envelope: Photos
|
|
|
18
26
|
export declare function envelopeToToolResult(envelope: PhotoshopErrorEnvelope): CallToolResult;
|
|
19
27
|
export declare function enrichErrorResult(result: CallToolResult): CallToolResult;
|
|
20
28
|
export declare function buildEnvelopeFromError(error: unknown): CallToolResult;
|
|
29
|
+
/**
|
|
30
|
+
* Photoshop freezes on "Could not initialize Photoshop because the scratch
|
|
31
|
+
* disks are full" before any script can return -25010. The Apple event then
|
|
32
|
+
* times out. When the OS drive is below the 10 GB minimum, say so.
|
|
33
|
+
*/
|
|
34
|
+
export declare function applyScratchDiskDiagnosis(result: CallToolResult): Promise<CallToolResult>;
|
|
21
35
|
export declare function wrapToolHandler(toolName: string, handler: ToolHandler): ToolHandler;
|
|
22
36
|
//# sourceMappingURL=envelope.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/errors/envelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/errors/envelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAI5D,MAAM,MAAM,kBAAkB,GAC1B,oBAAoB,GACpB,iBAAiB,GACjB,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,GAChB,mBAAmB,GACnB,oBAAoB,GACpB,qBAAqB,GACrB,wBAAwB,GACxB,oBAAoB,GACpB,sBAAsB,GACtB,mBAAmB,GACnB,oBAAoB,GACpB,8BAA8B,GAC9B,yBAAyB,GACzB,wBAAwB,GACxB,4BAA4B,GAC5B,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,wBAAwB,GACxB,qBAAqB,GACrB,cAAc,GACd,SAAS,CAAC;AAEd,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,KAAK,CAAC;IACV,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAkCD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAA0B,CAAC;AAmBhE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,CAM9E;AAED,6EAA6E;AAC7E,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,sBAAsB,GAAG,IAAI,CAMlG;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,CAsBrE;AAKD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,sBAAsB,GAC/B,sBAAsB,CAsBxB;AAmBD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,cAAc,CAKrF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAqBxE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAGrE;AAyBD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAmB/F;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CA6BnF"}
|
package/dist/errors/envelope.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { recordMcpToolCall } from '../analytics/mcp-session.js';
|
|
2
|
+
import { readOsDriveFreeBytes } from '../platform/os-free-space.js';
|
|
2
3
|
import { EXECUTE_SCRIPT_RETRY_TIMEOUT_MS } from '../platform/script-timeout.js';
|
|
3
4
|
const ERROR_PATTERNS = [
|
|
4
5
|
{ pattern: /document_not_found/i, code: 'document_not_found', suggested_next_tool: 'photoshop_list_documents' },
|
|
@@ -27,7 +28,42 @@ const ERROR_PATTERNS = [
|
|
|
27
28
|
{ pattern: /file not found|does not exist/i, code: 'file_not_found' },
|
|
28
29
|
{ pattern: /color mode/i, code: 'unsupported_color_mode', suggested_next_tool: 'photoshop_get_document_info' },
|
|
29
30
|
];
|
|
31
|
+
/**
|
|
32
|
+
* Photoshop's minimum available hard-disk space.
|
|
33
|
+
* https://helpx.adobe.com/photoshop/system-requirements.html
|
|
34
|
+
*/
|
|
35
|
+
export const PHOTOSHOP_MIN_FREE_BYTES = 10 * 1024 * 1024 * 1024;
|
|
36
|
+
/**
|
|
37
|
+
* Adobe's scratch-disk dialogs, plus error -25010 from the scripts shipped
|
|
38
|
+
* with Photoshop (Presets/Scripts, kErrTempDiskFull).
|
|
39
|
+
* https://helpx.adobe.com/photoshop/desktop/troubleshoot/performance-stability-issues/troubleshoot-scratch-disk-full-errors-in-photoshop.html
|
|
40
|
+
*/
|
|
41
|
+
const SCRATCH_DISK_FULL_PATTERN = /scratch disks are full|scratch disk is full|scratch disk full|scratch disk low|not enough space on the scratch disk|\(number:\s*-25010\)/i;
|
|
42
|
+
/**
|
|
43
|
+
* Recovery from Adobe's scratch-disk troubleshooting (updated Feb 23, 2026):
|
|
44
|
+
* free 100 GB on the primary scratch disk, delete "Photoshop Temp*" on C:,
|
|
45
|
+
* clean up Macintosh HD, then restart. Extra drives: Settings / Preferences >
|
|
46
|
+
* Scratch Disks, or Cmd+Option / Ctrl+Alt during launch.
|
|
47
|
+
*/
|
|
48
|
+
const SCRATCH_DISK_RECOVERY = 'Free at least 100 GB on the primary scratch disk (the OS drive, unless another disk was chosen). On Windows, delete files whose names begin with "Photoshop Temp" on C:. On macOS, free space on Macintosh HD. Restart Photoshop before calling any tool again. Another drive can be set in Photoshop > Settings > Scratch Disks (macOS) or Edit > Preferences > Scratch Disks (Windows), or by holding Cmd+Option (macOS) or Ctrl+Alt (Windows) while launching.';
|
|
49
|
+
export function scratchDiskFullEnvelope(detail) {
|
|
50
|
+
return {
|
|
51
|
+
ok: false,
|
|
52
|
+
code: 'scratch_disk_full',
|
|
53
|
+
message: `${detail} ${SCRATCH_DISK_RECOVERY}`,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/** Startup timeout while the OS drive is below Photoshop's 10 GB minimum. */
|
|
57
|
+
export function diagnoseScratchDiskTimeout(freeBytes) {
|
|
58
|
+
if (freeBytes === null || freeBytes >= PHOTOSHOP_MIN_FREE_BYTES)
|
|
59
|
+
return null;
|
|
60
|
+
const freeGb = (freeBytes / (1024 * 1024 * 1024)).toFixed(1);
|
|
61
|
+
return scratchDiskFullEnvelope(`Scripting timed out. The OS drive, Photoshop's default scratch disk, has ${freeGb} GB free, below the 10 GB minimum.`);
|
|
62
|
+
}
|
|
30
63
|
export function classifyError(message) {
|
|
64
|
+
if (SCRATCH_DISK_FULL_PATTERN.test(message)) {
|
|
65
|
+
return scratchDiskFullEnvelope(message);
|
|
66
|
+
}
|
|
31
67
|
for (const { pattern, code, suggested_next_tool } of ERROR_PATTERNS) {
|
|
32
68
|
if (pattern.test(message)) {
|
|
33
69
|
return {
|
|
@@ -62,6 +98,13 @@ export function refineTimeoutEnvelope(toolName, envelope) {
|
|
|
62
98
|
suggested_args: { timeout_ms: EXECUTE_SCRIPT_RETRY_TIMEOUT_MS },
|
|
63
99
|
};
|
|
64
100
|
}
|
|
101
|
+
if (toolName === 'photoshop_ping') {
|
|
102
|
+
return {
|
|
103
|
+
...envelope,
|
|
104
|
+
message: `${envelope.message} Photoshop is still running a previous script. Retry photoshop_ping until it succeeds before photoshop_get_state or photoshop_get_layers.`,
|
|
105
|
+
suggested_next_tool: 'photoshop_ping',
|
|
106
|
+
};
|
|
107
|
+
}
|
|
65
108
|
return {
|
|
66
109
|
...envelope,
|
|
67
110
|
message: `${envelope.message} ${TIMEOUT_BUSY_HINT}`,
|
|
@@ -134,13 +177,45 @@ function extractErrorCodeFromResult(result) {
|
|
|
134
177
|
}
|
|
135
178
|
return 'unknown';
|
|
136
179
|
}
|
|
180
|
+
async function finishToolError(toolName, result) {
|
|
181
|
+
const diagnosed = await applyScratchDiskDiagnosis(result);
|
|
182
|
+
return refineTimeoutToolResult(toolName, diagnosed);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Photoshop freezes on "Could not initialize Photoshop because the scratch
|
|
186
|
+
* disks are full" before any script can return -25010. The Apple event then
|
|
187
|
+
* times out. When the OS drive is below the 10 GB minimum, say so.
|
|
188
|
+
*/
|
|
189
|
+
export async function applyScratchDiskDiagnosis(result) {
|
|
190
|
+
const text = result.content
|
|
191
|
+
.filter((c) => c.type === 'text')
|
|
192
|
+
.map((c) => c.text)
|
|
193
|
+
.join('\n');
|
|
194
|
+
if (!text)
|
|
195
|
+
return result;
|
|
196
|
+
try {
|
|
197
|
+
const parsed = JSON.parse(text);
|
|
198
|
+
if (parsed.ok !== false || parsed.code !== 'extendscript_timeout')
|
|
199
|
+
return result;
|
|
200
|
+
}
|
|
201
|
+
catch {
|
|
202
|
+
return result;
|
|
203
|
+
}
|
|
204
|
+
try {
|
|
205
|
+
const diagnosed = diagnoseScratchDiskTimeout(await readOsDriveFreeBytes());
|
|
206
|
+
return diagnosed ? envelopeToToolResult(diagnosed) : result;
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
return result;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
137
212
|
export function wrapToolHandler(toolName, handler) {
|
|
138
213
|
return async (args) => {
|
|
139
214
|
const started = Date.now();
|
|
140
215
|
try {
|
|
141
216
|
let result = await handler(args);
|
|
142
217
|
if (result.isError) {
|
|
143
|
-
result =
|
|
218
|
+
result = await finishToolError(toolName, enrichErrorResult(result));
|
|
144
219
|
}
|
|
145
220
|
const ok = !result.isError;
|
|
146
221
|
recordMcpToolCall({
|
|
@@ -152,7 +227,7 @@ export function wrapToolHandler(toolName, handler) {
|
|
|
152
227
|
return result;
|
|
153
228
|
}
|
|
154
229
|
catch (error) {
|
|
155
|
-
const result =
|
|
230
|
+
const result = await finishToolError(toolName, buildEnvelopeFromError(error));
|
|
156
231
|
recordMcpToolCall({
|
|
157
232
|
toolName,
|
|
158
233
|
ok: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/errors/envelope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/errors/envelope.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,9 @@ export declare class PhotoshopConnection {
|
|
|
23
23
|
private resolvePhotoshopInfo;
|
|
24
24
|
ping(): Promise<boolean>;
|
|
25
25
|
getVersion(): Promise<string>;
|
|
26
|
-
executeScript(script: string, timeout?: number
|
|
26
|
+
executeScript(script: string, timeout?: number, options?: {
|
|
27
|
+
launch?: boolean;
|
|
28
|
+
}): Promise<unknown>;
|
|
27
29
|
getPhotoshopInfo(): PhotoshopInfo | null;
|
|
28
30
|
ensurePhotoshopRunning(): Promise<void>;
|
|
29
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/platform/connection.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAwB;;IAU9C,oEAAoE;IACpE,OAAO,CAAC,WAAW;IAenB,qEAAqE;IACrE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAIvD,8DAA8D;IAC9D,gBAAgB,IAAI,OAAO;IAc3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,eAAe;YAST,oBAAoB;IA4B5B,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAWxB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAU7B,aAAa,
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/platform/connection.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAwB;;IAU9C,oEAAoE;IACpE,OAAO,CAAC,WAAW;IAenB,qEAAqE;IACrE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAIvD,8DAA8D;IAC9D,gBAAgB,IAAI,OAAO;IAc3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,eAAe;YAST,oBAAoB;IA4B5B,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAWxB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAU7B,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,OAAO,CAAC,OAAO,CAAC;IA2BnB,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAIlC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7C;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;CAK1B"}
|
|
@@ -114,7 +114,7 @@ export class PhotoshopConnection {
|
|
|
114
114
|
throw error;
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
|
-
async executeScript(script, timeout) {
|
|
117
|
+
async executeScript(script, timeout, options) {
|
|
118
118
|
try {
|
|
119
119
|
await this.resolvePhotoshopInfo();
|
|
120
120
|
if (!this.photoshopInfo) {
|
|
@@ -122,13 +122,14 @@ export class PhotoshopConnection {
|
|
|
122
122
|
}
|
|
123
123
|
const executor = this.getExecutor();
|
|
124
124
|
this.applyMacOSAppName();
|
|
125
|
-
// Check if Photoshop is running, launch if needed
|
|
126
125
|
const isRunning = await executor.isPhotoshopRunning();
|
|
127
126
|
if (!isRunning) {
|
|
127
|
+
if (options?.launch === false) {
|
|
128
|
+
throw new Error('Photoshop is not running');
|
|
129
|
+
}
|
|
128
130
|
this.logger.info('Photoshop not running, launching...');
|
|
129
131
|
await executor.launchPhotoshop(this.photoshopInfo.path);
|
|
130
132
|
}
|
|
131
|
-
// Execute the script
|
|
132
133
|
const result = await executor.execute(script, timeout);
|
|
133
134
|
return result;
|
|
134
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/platform/connection.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/platform/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Volume Photoshop uses as the scratch disk unless the user picked another one.
|
|
3
|
+
* Adobe: by default the internal OS drive (Macintosh HD / C:).
|
|
4
|
+
* https://helpx.adobe.com/photoshop/kb/troubleshoot-scratch-disk-is-full-challenger.html
|
|
5
|
+
*/
|
|
6
|
+
export declare function osDrivePath(): string;
|
|
7
|
+
/** Bytes available to unprivileged writers, or null when the volume cannot be read. */
|
|
8
|
+
export declare function readOsDriveFreeBytes(): Promise<number | null>;
|
|
9
|
+
//# sourceMappingURL=os-free-space.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"os-free-space.d.ts","sourceRoot":"","sources":["../../src/platform/os-free-space.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAMpC;AAED,uFAAuF;AACvF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUnE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { statfs } from 'node:fs/promises';
|
|
2
|
+
/**
|
|
3
|
+
* Volume Photoshop uses as the scratch disk unless the user picked another one.
|
|
4
|
+
* Adobe: by default the internal OS drive (Macintosh HD / C:).
|
|
5
|
+
* https://helpx.adobe.com/photoshop/kb/troubleshoot-scratch-disk-is-full-challenger.html
|
|
6
|
+
*/
|
|
7
|
+
export function osDrivePath() {
|
|
8
|
+
if (process.platform === 'win32') {
|
|
9
|
+
const drive = process.env.SystemDrive || 'C:';
|
|
10
|
+
return drive.endsWith('\\') ? drive : `${drive}\\`;
|
|
11
|
+
}
|
|
12
|
+
return '/';
|
|
13
|
+
}
|
|
14
|
+
/** Bytes available to unprivileged writers, or null when the volume cannot be read. */
|
|
15
|
+
export async function readOsDriveFreeBytes() {
|
|
16
|
+
try {
|
|
17
|
+
const stats = await statfs(osDrivePath());
|
|
18
|
+
if (!Number.isFinite(stats.bavail) || !Number.isFinite(stats.bsize) || stats.bsize <= 0) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return stats.bavail * stats.bsize;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=os-free-space.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"os-free-space.js","sourceRoot":"","sources":["../../src/platform/os-free-space.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC;QAC9C,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC;IACrD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACxF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -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,QAsM/B,CAAC;AAET,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD"}
|
|
@@ -86,12 +86,20 @@ Error recovery contract
|
|
|
86
86
|
- \`selection_required\` — make a selection before reusing the failed tool.
|
|
87
87
|
- \`extendscript_timeout\` — the JSX ran past its budget (default 30s).
|
|
88
88
|
MCP abort does **not** stop Photoshop; the previous script may still be
|
|
89
|
-
running.
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
running. \`photoshop_ping\` runs a short script on that same queue and
|
|
90
|
+
succeeds only when Photoshop finishes it. Retry ping until it succeeds,
|
|
91
|
+
then call \`photoshop_get_state\`. Do not call \`photoshop_get_state\` or
|
|
92
|
+
\`photoshop_get_layers\` while ping is still returning
|
|
93
|
+
\`extendscript_timeout\`. If the timed-out tool was
|
|
92
94
|
\`photoshop_execute_script\`, retry **once** with \`timeout_ms\` (e.g. 180000,
|
|
93
95
|
max 600000) or use a batch recipe (those already use 600s). Set env
|
|
94
96
|
\`PHOTOSHOP_SCRIPT_TIMEOUT\` to raise the default.
|
|
97
|
+
- \`scratch_disk_full\` — Photoshop is out of scratch space. It may show
|
|
98
|
+
"Could not initialize Photoshop because the scratch disks are full",
|
|
99
|
+
"Could not complete your request because the scratch disks are full", or
|
|
100
|
+
"Scratch Disk Low", and then freeze so a script times out. Free at least
|
|
101
|
+
100 GB on the primary scratch disk (the OS drive by default), then restart
|
|
102
|
+
Photoshop. Ping and \`get_state\` wait until that restart.
|
|
95
103
|
- \`artboard_not_found\` — call \`photoshop_list_artboards\` or
|
|
96
104
|
\`photoshop_create_artboard\`.
|
|
97
105
|
- \`font_not_found\` — call \`photoshop_list_fonts\` and retry with a listed name.
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuL3G,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,UAAU,0BAA0B;IACxC,OAAO,0BAA0B,CAAC;AACpC,CAAC"}
|
|
@@ -23,7 +23,7 @@ export const generativeExpandTemplate = {
|
|
|
23
23
|
``,
|
|
24
24
|
`Plan:`,
|
|
25
25
|
`1. Verify \`generative_expand\` via \`photoshop_get_capabilities\`.`,
|
|
26
|
-
`2. Call \`photoshop_generative_expand\` with { prompt:
|
|
26
|
+
`2. Call \`photoshop_generative_expand\` with { prompt: ${JSON.stringify(prompt)}, direction: "${direction}" }.`,
|
|
27
27
|
`3. Call \`photoshop_get_preview\` to confirm expanded canvas.`,
|
|
28
28
|
``,
|
|
29
29
|
`End state: document enlarged with generated border content.`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generative-expand.js","sourceRoot":"","sources":["../../../src/prompts/templates/generative-expand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAgC,MAAM,eAAe,CAAC;AAE7F,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAEtE,MAAM,CAAC,MAAM,wBAAwB,GAA4B;IAC/D,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,2HAA2H;IAC7H,SAAS,EAAE;QACT;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oEAAoE;YACjF,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,iDAAiD;YAC9D,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,iCAAiC,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG;YACX,iDAAiD;YACjD,EAAE;YACF,OAAO;YACP,qEAAqE;YACrE,
|
|
1
|
+
{"version":3,"file":"generative-expand.js","sourceRoot":"","sources":["../../../src/prompts/templates/generative-expand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAgC,MAAM,eAAe,CAAC;AAE7F,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAEtE,MAAM,CAAC,MAAM,wBAAwB,GAA4B;IAC/D,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,2HAA2H;IAC7H,SAAS,EAAE;QACT;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oEAAoE;YACjF,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,iDAAiD;YAC9D,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,iCAAiC,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG;YACX,iDAAiD;YACjD,EAAE;YACF,OAAO;YACP,qEAAqE;YACrE,0DAA0D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,SAAS,MAAM;YAChH,+DAA+D;YAC/D,EAAE;YACF,6DAA6D;SAC9D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,OAAO,UAAU,CAAC,sBAAsB,SAAS,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;CACF,CAAC"}
|
|
@@ -18,7 +18,7 @@ export const generativeFillTemplate = {
|
|
|
18
18
|
`1. Call \`photoshop_get_capabilities\` once if not done this session; verify \`generative_fill\`.`,
|
|
19
19
|
`2. Call \`photoshop_get_state\` — ensure a pixel selection exists.`,
|
|
20
20
|
`3. If no selection: \`photoshop_select_subject\` or \`photoshop_select_rectangle\`, then retry.`,
|
|
21
|
-
`4. Call \`photoshop_generative_fill\` with { prompt:
|
|
21
|
+
`4. Call \`photoshop_generative_fill\` with { prompt: ${JSON.stringify(prompt)} }.`,
|
|
22
22
|
`5. Call \`photoshop_get_preview\` to verify the result.`,
|
|
23
23
|
``,
|
|
24
24
|
`End state: selection filled with generative content; one undo per generative layer.`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generative-fill.js","sourceRoot":"","sources":["../../../src/prompts/templates/generative-fill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAgC,MAAM,eAAe,CAAC;AAEpF,MAAM,CAAC,MAAM,sBAAsB,GAA4B;IAC7D,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,iJAAiJ;IACnJ,SAAS,EAAE;QACT;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,IAAI;SACf;KACF;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,+BAA+B,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG;YACX,mEAAmE;YACnE,EAAE;YACF,OAAO;YACP,mGAAmG;YACnG,oEAAoE;YACpE,iGAAiG;YACjG,
|
|
1
|
+
{"version":3,"file":"generative-fill.js","sourceRoot":"","sources":["../../../src/prompts/templates/generative-fill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAgC,MAAM,eAAe,CAAC;AAEpF,MAAM,CAAC,MAAM,sBAAsB,GAA4B;IAC7D,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,iJAAiJ;IACnJ,SAAS,EAAE;QACT;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,IAAI;SACf;KACF;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,+BAA+B,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG;YACX,mEAAmE;YACnE,EAAE;YACF,OAAO;YACP,mGAAmG;YACnG,oEAAoE;YACpE,iGAAiG;YACjG,wDAAwD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK;YACnF,yDAAyD;YACzD,EAAE;YACF,qFAAqF;SACtF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,OAAO,UAAU,CAAC,oBAAoB,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;CACF,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ToolResult } from '../../core/tool-registry.js';
|
|
2
2
|
import type { PhotoshopConnection } from '../../platform/connection.js';
|
|
3
3
|
import { type GradientMaskDirection } from '../../api/extendscript.js';
|
|
4
|
+
import { jsString } from '../../utils/js-string.js';
|
|
4
5
|
export interface RecipeSuccess {
|
|
5
6
|
ok: true;
|
|
6
7
|
summary: string;
|
|
@@ -33,7 +34,7 @@ export declare function executeRecipe(connection: PhotoshopConnection, historyNa
|
|
|
33
34
|
/** Like executeRecipe but without suspendHistory or an active-document requirement. */
|
|
34
35
|
export declare function executeStandaloneRecipe(connection: PhotoshopConnection, body: string, timeoutMs?: number): Promise<ToolResult>;
|
|
35
36
|
export declare function clampInt(value: unknown, min: number, max: number, fallback: number): number;
|
|
36
|
-
export { jsString }
|
|
37
|
+
export { jsString };
|
|
37
38
|
export { BATCH_SCRIPT_TIMEOUT_MS } from '../../platform/script-timeout.js';
|
|
38
39
|
export declare function gradientMaskAxisPercents(direction: GradientMaskDirection, startPct: number, endPct: number): {
|
|
39
40
|
fromH: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../../src/tools/recipes/_shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../../src/tools/recipes/_shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4BAA4B,EAAE,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,KAAK,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,qEAAqE;AACrE,eAAO,MAAM,qBAAqB,6vTAqHjC,CAAC;AAmCF,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAsB9E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkB3D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,GAAG,aAAa,GAAG,IAAI,CAgCpF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAI7D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAK7D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,SAAqB,GAAG,UAAU,CAGnF;AAED,wBAAsB,aAAa,CACjC,UAAU,EAAE,mBAAmB,EAC/B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,CAkBrB;AAED,uFAAuF;AACvF,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,mBAAmB,EAC/B,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,CAkBrB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG3F;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,qBAAqB,EAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAW9E;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,qBAAqB,GAAG,MAAM,CAEjF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MCP_CURVES_ADJUSTMENT_HELPER, MCP_LAYER_MASK_HELPERS, } from '../../api/extendscript.js';
|
|
2
2
|
import { PhotoshopAPIFactory } from '../../api/photoshop-api.js';
|
|
3
3
|
import { parseExtendScriptPayload } from '../../utils/extendscript-result.js';
|
|
4
|
+
import { jsString } from '../../utils/js-string.js';
|
|
4
5
|
/** PS 26-compatible Action Manager helpers shared by all recipes. */
|
|
5
6
|
export const RECIPE_ACTION_HELPERS = `
|
|
6
7
|
function __mcp_s2t(s) { return app.stringIDToTypeID(s); }
|
|
@@ -153,7 +154,7 @@ function __mcp_json_stringify(value) {
|
|
|
153
154
|
}
|
|
154
155
|
`;
|
|
155
156
|
export function wrapInSuspendHistory(historyName, body) {
|
|
156
|
-
const escapedName = historyName
|
|
157
|
+
const escapedName = jsString(historyName);
|
|
157
158
|
return `
|
|
158
159
|
${RECIPE_ACTION_HELPERS}
|
|
159
160
|
${EXTENDSCRIPT_JSON_HELPER}
|
|
@@ -290,7 +291,7 @@ export function clampInt(value, min, max, fallback) {
|
|
|
290
291
|
return fallback;
|
|
291
292
|
return Math.max(min, Math.min(max, Math.round(value)));
|
|
292
293
|
}
|
|
293
|
-
export { jsString }
|
|
294
|
+
export { jsString };
|
|
294
295
|
export { BATCH_SCRIPT_TIMEOUT_MS } from '../../platform/script-timeout.js';
|
|
295
296
|
export function gradientMaskAxisPercents(direction, startPct, endPct) {
|
|
296
297
|
const gradientEndpoints = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../src/tools/recipes/_shared.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,GAEvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../src/tools/recipes/_shared.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alisaitteke/photoshop-mcp",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.27",
|
|
4
4
|
"description": "MCP server for Adobe Photoshop — 122 tools (generative AI + recipes), standalone web UI. Control Photoshop from Cursor, Claude, or natural language.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|