@alisaitteke/photoshop-mcp 1.7.34 → 1.7.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/api/photoshop-api.d.ts +9 -0
  2. package/dist/api/photoshop-api.d.ts.map +1 -1
  3. package/dist/api/photoshop-api.js +61 -17
  4. package/dist/api/photoshop-api.js.map +1 -1
  5. package/dist/core/ping-engine.d.ts.map +1 -1
  6. package/dist/core/ping-engine.js +8 -5
  7. package/dist/core/ping-engine.js.map +1 -1
  8. package/dist/errors/envelope.d.ts +1 -1
  9. package/dist/errors/envelope.d.ts.map +1 -1
  10. package/dist/errors/envelope.js +82 -11
  11. package/dist/errors/envelope.js.map +1 -1
  12. package/dist/feedback/nudge.d.ts +4 -0
  13. package/dist/feedback/nudge.d.ts.map +1 -1
  14. package/dist/feedback/nudge.js +11 -0
  15. package/dist/feedback/nudge.js.map +1 -1
  16. package/dist/platform/capabilities.d.ts +6 -1
  17. package/dist/platform/capabilities.d.ts.map +1 -1
  18. package/dist/platform/capabilities.js +6 -1
  19. package/dist/platform/capabilities.js.map +1 -1
  20. package/dist/platform/connection.d.ts +4 -5
  21. package/dist/platform/connection.d.ts.map +1 -1
  22. package/dist/platform/connection.js +10 -9
  23. package/dist/platform/connection.js.map +1 -1
  24. package/dist/platform/macos-app.d.ts +41 -0
  25. package/dist/platform/macos-app.d.ts.map +1 -0
  26. package/dist/platform/macos-app.js +71 -0
  27. package/dist/platform/macos-app.js.map +1 -0
  28. package/dist/platform/macos-detector.d.ts.map +1 -1
  29. package/dist/platform/macos-detector.js +6 -13
  30. package/dist/platform/macos-detector.js.map +1 -1
  31. package/dist/platform/macos-executor.d.ts +5 -2
  32. package/dist/platform/macos-executor.d.ts.map +1 -1
  33. package/dist/platform/macos-executor.js +17 -18
  34. package/dist/platform/macos-executor.js.map +1 -1
  35. package/dist/platform/uxp-bridge-client.d.ts +11 -0
  36. package/dist/platform/uxp-bridge-client.d.ts.map +1 -1
  37. package/dist/platform/uxp-bridge-client.js +12 -1
  38. package/dist/platform/uxp-bridge-client.js.map +1 -1
  39. package/dist/platform/uxp-bridge-server.d.ts +13 -0
  40. package/dist/platform/uxp-bridge-server.d.ts.map +1 -1
  41. package/dist/platform/uxp-bridge-server.js +60 -1
  42. package/dist/platform/uxp-bridge-server.js.map +1 -1
  43. package/dist/tools/neural-tools.d.ts.map +1 -1
  44. package/dist/tools/neural-tools.js +2 -2
  45. package/dist/tools/neural-tools.js.map +1 -1
  46. package/dist/tools/session-tools.js +1 -1
  47. package/dist/tools/session-tools.js.map +1 -1
  48. package/dist/utils/logger.d.ts.map +1 -1
  49. package/dist/utils/logger.js +19 -1
  50. package/dist/utils/logger.js.map +1 -1
  51. package/package.json +4 -2
@@ -1,5 +1,14 @@
1
1
  import { PhotoshopConnection } from '../platform/connection.js';
2
2
  export type APIType = 'UXP' | 'ExtendScript';
3
+ /**
4
+ * Force the execution path regardless of detection.
5
+ * - `uxp`: route through the UXP bridge plugin (fails fast with a clear
6
+ * error until the plugin supports script execution — see UXPPhotoshopAPI).
7
+ * - `extendscript`: always use the AppleScript/COM path.
8
+ * - `auto` (default, or any other value): use ExtendScript for script
9
+ * execution, and report UXP bridge status truthfully in logs.
10
+ */
11
+ export declare const API_OVERRIDE_ENV = "PHOTOSHOP_MCP_API";
3
12
  export interface PhotoshopAPI {
4
13
  /**
5
14
  * Execute a script using the appropriate API
@@ -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,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"}
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;AAIhE,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AAEpD,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;AAoBD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAsB;gBAE5B,UAAU,EAAE,mBAAmB;IAKrC,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;YAmB1B,gBAAgB;CAiC/B"}
@@ -1,5 +1,31 @@
1
1
  import { Logger } from '../utils/logger.js';
2
2
  import { documentGuardScript, getTargetDocumentId } from '../core/document-target.js';
3
+ import { isUxpBridgeReachable } from '../platform/uxp-bridge-client.js';
4
+ /**
5
+ * Force the execution path regardless of detection.
6
+ * - `uxp`: route through the UXP bridge plugin (fails fast with a clear
7
+ * error until the plugin supports script execution — see UXPPhotoshopAPI).
8
+ * - `extendscript`: always use the AppleScript/COM path.
9
+ * - `auto` (default, or any other value): use ExtendScript for script
10
+ * execution, and report UXP bridge status truthfully in logs.
11
+ */
12
+ export const API_OVERRIDE_ENV = 'PHOTOSHOP_MCP_API';
13
+ /**
14
+ * createAPI() runs per tool call, and in auto mode the bridge probe exists
15
+ * only to pick truthful log wording (the outcome is always ExtendScript).
16
+ * Cache it briefly so the hot path does not pay a self-HTTP roundtrip on
17
+ * every call.
18
+ */
19
+ const PROBE_CACHE_TTL_MS = 5000;
20
+ let cachedPluginProbe = null;
21
+ async function probePluginOnce() {
22
+ if (cachedPluginProbe && Date.now() - cachedPluginProbe.at < PROBE_CACHE_TTL_MS) {
23
+ return cachedPluginProbe.value;
24
+ }
25
+ const value = await isUxpBridgeReachable();
26
+ cachedPluginProbe = { at: Date.now(), value };
27
+ return value;
28
+ }
3
29
  export class PhotoshopAPIFactory {
4
30
  logger;
5
31
  connection;
@@ -13,37 +39,55 @@ export class PhotoshopAPIFactory {
13
39
  throw new Error('Photoshop info not available. Please detect Photoshop first.');
14
40
  }
15
41
  // Determine which API to use based on version
16
- const apiType = this.determineAPIType(info.version);
42
+ const apiType = await this.determineAPIType(info.version);
17
43
  this.logger.info(`Creating ${apiType} API for Photoshop version ${info.version}`);
18
44
  if (apiType === 'UXP') {
19
- return new UXPPhotoshopAPI(this.connection);
45
+ return new UXPPhotoshopAPI();
20
46
  }
21
47
  else {
22
48
  return new ExtendScriptPhotoshopAPI(this.connection);
23
49
  }
24
50
  }
25
- determineAPIType(version) {
26
- // IMPORTANT: When running scripts via AppleScript/COM, we can only use ExtendScript
27
- // UXP is only available for plugins, not for external script execution
28
- // Therefore, we always use ExtendScript for external automation
29
- this.logger.debug(`Using ExtendScript for version ${version} (UXP not available for external scripting)`);
51
+ async determineAPIType(version) {
52
+ // IMPORTANT: script execution via AppleScript/COM can only use ExtendScript.
53
+ // UXP is a plugin runtime: the companion plugin can run batchPlay commands
54
+ // (neural filters), but it cannot execute arbitrary ExtendScript, so tool
55
+ // scripts still need the ExtendScript path even when the plugin is loaded.
56
+ //
57
+ // PHOTOSHOP_MCP_API=uxp forces the UXP path so the bridge can be tested
58
+ // end-to-end instead of silently falling through to ExtendScript.
59
+ const override = process.env[API_OVERRIDE_ENV]?.trim().toLowerCase() || 'auto';
60
+ if (override === 'uxp' || override === 'extendscript') {
61
+ this.logger.debug(`Using ${override} API for version ${version} (${API_OVERRIDE_ENV}=${override})`);
62
+ return override === 'uxp' ? 'UXP' : 'ExtendScript';
63
+ }
64
+ if (override !== 'auto') {
65
+ this.logger.warn(`Unrecognized ${API_OVERRIDE_ENV}="${override}"; expected uxp, extendscript or auto. Falling back to auto.`);
66
+ }
67
+ const pluginPolling = await probePluginOnce();
68
+ if (pluginPolling) {
69
+ this.logger.debug(`Using ExtendScript for version ${version}; UXP bridge plugin detected and polling — neural filters available, but tool scripts still require ExtendScript`);
70
+ }
71
+ else {
72
+ this.logger.debug(`Using ExtendScript for version ${version} (UXP plugin not polling the bridge)`);
73
+ }
30
74
  return 'ExtendScript';
31
75
  }
32
76
  }
33
77
  /**
34
78
  * UXP-based API for modern Photoshop (23.5+)
35
- * NOTE: UXP is not available for external script execution via AppleScript/COM
36
- * This class is kept for future plugin-based implementation
79
+ * The companion UXP plugin polls the bridge but cannot execute arbitrary
80
+ * ExtendScript, so script calls fail fast with an actionable error rather
81
+ * than silently degrading to the ExtendScript path (which on UXP-only
82
+ * Photoshop builds hangs until the tool timeout and surfaces as an
83
+ * unexplained extendscript_timeout).
37
84
  */
38
85
  class UXPPhotoshopAPI {
39
- connection;
40
- constructor(connection) {
41
- this.connection = connection;
42
- }
43
- async executeScript(script, timeoutMs, options) {
44
- // UXP cannot be executed externally via AppleScript/COM
45
- // Fall back to ExtendScript
46
- return await this.connection.executeScript(script, timeoutMs, options);
86
+ async executeScript(_script, _timeoutMs, _options) {
87
+ const pluginPolling = await isUxpBridgeReachable();
88
+ throw new Error(pluginPolling
89
+ ? 'UXP bridge plugin is connected and polling, but the plugin cannot execute ExtendScript tool scripts. Set PHOTOSHOP_MCP_API=extendscript (or unset it) to use the scripting path.'
90
+ : 'UXP API selected via PHOTOSHOP_MCP_API=uxp, but the UXP bridge plugin is not polling. Load uxp-plugin/manifest.json via UXP Developer Tools and open the MCP Bridge panel, or set PHOTOSHOP_MCP_API=extendscript.');
47
91
  }
48
92
  getAPIType() {
49
93
  return 'UXP';
@@ -1 +1 @@
1
- {"version":3,"file":"photoshop-api.js","sourceRoot":"","sources":["../../src/api/photoshop-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"photoshop-api.js","sourceRoot":"","sources":["../../src/api/photoshop-api.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
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;AAQzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,iCAAiC,CAAC;AAKhE,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,mBAAmB,GAC9B,OAAO,CAAC,cAAc,CAAC,CAczB"}
@@ -1,5 +1,5 @@
1
1
  import { PhotoshopAPIFactory } from '../api/photoshop-api.js';
2
- import { buildPingToolResult } from '../feedback/nudge.js';
2
+ import { buildPingFailureResult, buildPingToolResult, PING_NOT_FOUND_REASON, PING_NOT_RUNNING_REASON, } from '../feedback/nudge.js';
3
3
  import { DEFAULT_SCRIPT_TIMEOUT_MS } from '../platform/script-timeout.js';
4
4
  /**
5
5
  * Tiny read. Success means Photoshop accepted and finished a script on the
@@ -7,11 +7,12 @@ import { DEFAULT_SCRIPT_TIMEOUT_MS } from '../platform/script-timeout.js';
7
7
  * so a busy engine fails here instead of inside get_state / get_layers.
8
8
  */
9
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;
10
+ const NOT_RUNNING = /photoshop is not running/i;
11
+ const NOT_FOUND = /photoshop not found|photoshop info not available/i;
11
12
  export async function probePhotoshopEngine(connection) {
12
13
  const installed = await connection.ping();
13
14
  if (!installed)
14
- return buildPingToolResult(false);
15
+ return buildPingFailureResult(PING_NOT_FOUND_REASON);
15
16
  try {
16
17
  const api = await new PhotoshopAPIFactory(connection).createAPI();
17
18
  await api.executeScript(PING_PROBE_SCRIPT, DEFAULT_SCRIPT_TIMEOUT_MS, { launch: false });
@@ -19,8 +20,10 @@ export async function probePhotoshopEngine(connection) {
19
20
  }
20
21
  catch (error) {
21
22
  const message = error instanceof Error ? error.message : String(error);
22
- if (NOT_REACHABLE.test(message))
23
- return buildPingToolResult(false);
23
+ if (NOT_RUNNING.test(message))
24
+ return buildPingFailureResult(PING_NOT_RUNNING_REASON);
25
+ if (NOT_FOUND.test(message))
26
+ return buildPingFailureResult(PING_NOT_FOUND_REASON);
24
27
  throw error;
25
28
  }
26
29
  }
@@ -1 +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
+ {"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,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;AAEhE,MAAM,WAAW,GAAG,2BAA2B,CAAC;AAChD,MAAM,SAAS,GAAG,mDAAmD,CAAC;AAEtE,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,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;IAErE,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,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;QACtF,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;QAClF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -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' | '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';
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' | 'photoshop_unreachable' | 'automation_permission_denied' | 'photoshop_app_not_resolved' | 'unknown';
4
4
  export interface PhotoshopErrorEnvelope {
5
5
  ok: false;
6
6
  code: PhotoshopErrorCode;
@@ -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;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;AAiCD;;;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,CA8BrE;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"}
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,uBAAuB,GACvB,8BAA8B,GAC9B,4BAA4B,GAC5B,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;AA0ED;;;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;AAiCD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,CAoCrE;AAMD;;;;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"}
@@ -2,16 +2,52 @@ import { recordMcpToolCall } from '../analytics/mcp-session.js';
2
2
  import { readOsDriveFreeBytes } from '../platform/os-free-space.js';
3
3
  import { EXECUTE_SCRIPT_RETRY_TIMEOUT_MS } from '../platform/script-timeout.js';
4
4
  const ERROR_PATTERNS = [
5
- { pattern: /document_not_found/i, code: 'document_not_found', suggested_next_tool: 'photoshop_list_documents' },
6
- { pattern: /no active document/i, code: 'no_active_document', suggested_next_tool: 'photoshop_get_state' },
7
- { pattern: /no documents/i, code: 'no_active_document', suggested_next_tool: 'photoshop_get_state' },
8
- { pattern: /no active layer/i, code: 'no_active_layer', suggested_next_tool: 'photoshop_get_layers' },
9
- { pattern: /layer not found/i, code: 'layer_not_found', suggested_next_tool: 'photoshop_get_layers' },
10
- { pattern: /no base layer below|nothing to clip into/i, code: 'no_base_layer_below', suggested_next_tool: 'photoshop_get_layers' },
11
- { pattern: /not clipping|not a clipping mask/i, code: 'not_clipping', suggested_next_tool: 'photoshop_get_layers' },
5
+ {
6
+ pattern: /document_not_found/i,
7
+ code: 'document_not_found',
8
+ suggested_next_tool: 'photoshop_list_documents',
9
+ },
10
+ {
11
+ pattern: /no active document/i,
12
+ code: 'no_active_document',
13
+ suggested_next_tool: 'photoshop_get_state',
14
+ },
15
+ {
16
+ pattern: /no documents/i,
17
+ code: 'no_active_document',
18
+ suggested_next_tool: 'photoshop_get_state',
19
+ },
20
+ {
21
+ pattern: /no active layer/i,
22
+ code: 'no_active_layer',
23
+ suggested_next_tool: 'photoshop_get_layers',
24
+ },
25
+ {
26
+ pattern: /layer not found/i,
27
+ code: 'layer_not_found',
28
+ suggested_next_tool: 'photoshop_get_layers',
29
+ },
30
+ {
31
+ pattern: /no base layer below|nothing to clip into/i,
32
+ code: 'no_base_layer_below',
33
+ suggested_next_tool: 'photoshop_get_layers',
34
+ },
35
+ {
36
+ pattern: /not clipping|not a clipping mask/i,
37
+ code: 'not_clipping',
38
+ suggested_next_tool: 'photoshop_get_layers',
39
+ },
12
40
  { pattern: /selection/i, code: 'selection_required', suggested_next_tool: 'photoshop_get_state' },
13
- { pattern: /version_unsupported|not supported.*version/i, code: 'version_unsupported', suggested_next_tool: 'photoshop_get_capabilities' },
14
- { pattern: /generative.*credit|quota|sign in/i, code: 'generative_credits_exhausted', suggested_next_tool: 'photoshop_get_capabilities' },
41
+ {
42
+ pattern: /version_unsupported|not supported.*version/i,
43
+ code: 'version_unsupported',
44
+ suggested_next_tool: 'photoshop_get_capabilities',
45
+ },
46
+ {
47
+ pattern: /generative.*credit|quota|sign in/i,
48
+ code: 'generative_credits_exhausted',
49
+ suggested_next_tool: 'photoshop_get_capabilities',
50
+ },
15
51
  {
16
52
  pattern: /script execution timeout|script timed out|waiting in the execution queue|appleevent timed out|ETIMEDOUT/i,
17
53
  code: 'extendscript_timeout',
@@ -25,7 +61,11 @@ const ERROR_PATTERNS = [
25
61
  { pattern: /syntax error|error 8:/i, code: 'extendscript_runtime_error', suggested_next_tool: 'photoshop_get_state' },
26
62
  { pattern: /not a text layer/i, code: 'not_text_layer', suggested_next_tool: 'photoshop_create_text_layer' },
27
63
  { pattern: /file not found|does not exist/i, code: 'file_not_found' },
28
- { pattern: /color mode/i, code: 'unsupported_color_mode', suggested_next_tool: 'photoshop_get_document_info' },
64
+ {
65
+ pattern: /color mode/i,
66
+ code: 'unsupported_color_mode',
67
+ suggested_next_tool: 'photoshop_get_document_info',
68
+ },
29
69
  ];
30
70
  /**
31
71
  * Photoshop's minimum available hard-disk space.
@@ -59,6 +99,31 @@ export function diagnoseScratchDiskTimeout(freeBytes) {
59
99
  const freeGb = (freeBytes / (1024 * 1024 * 1024)).toFixed(1);
60
100
  return scratchDiskFullEnvelope(`Scripting timed out. The OS drive, Photoshop's default scratch disk, has ${freeGb} GB free, below the 10 GB minimum.`);
61
101
  }
102
+ /**
103
+ * macOS osascript failures. Matched on the numeric AppleEvent / Launch Services
104
+ * code in parentheses, which stays the same when macOS localizes the message.
105
+ * The raw osascript text is kept in the message so the cause is not lost (#72).
106
+ */
107
+ const APPLE_EVENT_ERRORS = [
108
+ {
109
+ pattern: /\(-1743\)/,
110
+ code: 'automation_permission_denied',
111
+ hint: 'macOS blocked Apple events to Photoshop. Open System Settings > Privacy & Security > Automation, allow the app that runs this MCP server (for example Claude, Cursor or Terminal) to control Adobe Photoshop, then call photoshop_ping.',
112
+ suggested_next_tool: 'photoshop_ping',
113
+ },
114
+ {
115
+ pattern: /\((?:-600|-609|-10810|-10822|-10827)\)/,
116
+ code: 'photoshop_unreachable',
117
+ hint: 'Apple events could not reach Photoshop. Make sure Photoshop is open in the same macOS user session as this MCP server. If the server runs inside a sandbox (an agent sandbox, a Seatbelt profile or a container), allow it to send Apple events or run it outside the sandbox.',
118
+ suggested_next_tool: 'photoshop_ping',
119
+ },
120
+ {
121
+ pattern: /\((?:-1728|-2741|-10814)\)/,
122
+ code: 'photoshop_app_not_resolved',
123
+ hint: 'AppleScript could not resolve the Photoshop application. Set PHOTOSHOP_PATH to the full .app path, for example "/Applications/Adobe Photoshop 2026/Adobe Photoshop 2026.app", then restart the MCP server.',
124
+ suggested_next_tool: 'photoshop_get_capabilities',
125
+ },
126
+ ];
62
127
  export function classifyError(message) {
63
128
  if (SCRATCH_DISK_FULL_PATTERN.test(message)) {
64
129
  return scratchDiskFullEnvelope(message);
@@ -71,6 +136,11 @@ export function classifyError(message) {
71
136
  suggested_next_tool: 'photoshop_list_fonts',
72
137
  };
73
138
  }
139
+ for (const { pattern, code, hint, suggested_next_tool } of APPLE_EVENT_ERRORS) {
140
+ if (pattern.test(message)) {
141
+ return { ok: false, code, message: `${message.trim()} ${hint}`, suggested_next_tool };
142
+ }
143
+ }
74
144
  for (const { pattern, code, suggested_next_tool } of ERROR_PATTERNS) {
75
145
  if (pattern.test(message)) {
76
146
  return {
@@ -88,7 +158,8 @@ export function classifyError(message) {
88
158
  suggested_next_tool: 'photoshop_get_state',
89
159
  };
90
160
  }
91
- const TIMEOUT_BUSY_HINT = 'The MCP wait ended; Photoshop may still be running that script. Call photoshop_ping until it succeeds before more edits.';
161
+ const TIMEOUT_BUSY_HINT = 'The MCP wait ended; Photoshop may still be running that script. Call photoshop_ping until it succeeds before more edits. ' +
162
+ 'If every tool call times out, including photoshop_ping, the scripting path itself is not responding (a modal dialog in Photoshop, or on Windows COM starting a different Photoshop version). The UXP bridge panel cannot carry tool scripts.';
92
163
  /**
93
164
  * Timeouts are classified without knowing which tool failed. Once the wrapper
94
165
  * has the tool name, point the agent at ping (Photoshop is often still busy)
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/errors/envelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/errors/envelope.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ export declare const FEEDBACK_NUDGE_QUESTION_TR = "Sizin i\u00E7in bu MCP'yi dah
9
9
  export declare const FEEDBACK_NUDGE_LANGUAGE_RULE = "MUST ask the user in the language they are using in this conversation. Detect it from their messages; if mixed, use their latest message. Never default to English. Translate Q1 into that language and show only that translation. English and Turkish below are meaning-only examples \u2014 do not paste them unless the user is actually speaking that language.";
10
10
  export declare const PING_CONNECTED_TEXT = "Successfully connected to Photoshop";
11
11
  export declare const PING_FAILED_TEXT = "Failed to connect to Photoshop";
12
+ export declare const PING_NOT_FOUND_REASON = "Photoshop was not found. Set PHOTOSHOP_PATH to the Photoshop app (macOS: the .app bundle, Windows: Photoshop.exe), then restart the MCP server.";
13
+ export declare const PING_NOT_RUNNING_REASON = "Photoshop is not running. Open Photoshop, wait until it finishes starting, then call photoshop_ping again. Ping never launches Photoshop.";
12
14
  export type FeedbackChoice = 'yes' | 'not_now' | 'dont_ask';
13
15
  export type FeedbackNudgeStatus = 'shown' | 'yes' | 'dont_ask';
14
16
  export interface FeedbackNudgeStore {
@@ -39,4 +41,6 @@ export declare function buildFeedbackNudgeBlock(): string;
39
41
  */
40
42
  export declare function buildPingToolResult(connected: boolean, now?: number): CallToolResult;
41
43
  export declare function submitFeedbackFromArgs(args: Record<string, unknown>): CallToolResult;
44
+ /** Failed ping: PING_FAILED_TEXT stays the first block so existing clients still match it. */
45
+ export declare function buildPingFailureResult(reason: string): CallToolResult;
42
46
  //# 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;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"}
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;AACjE,eAAO,MAAM,qBAAqB,oJACiH,CAAC;AACpJ,eAAO,MAAM,uBAAuB,8IACyG,CAAC;AAE9I,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;AAED,8FAA8F;AAC9F,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAOrE"}
@@ -17,6 +17,8 @@ export const FEEDBACK_NUDGE_QUESTION_TR = "Sizin için bu MCP'yi daha hızlı ve
17
17
  export const FEEDBACK_NUDGE_LANGUAGE_RULE = "MUST ask the user in the language they are using in this conversation. Detect it from their messages; if mixed, use their latest message. Never default to English. Translate Q1 into that language and show only that translation. English and Turkish below are meaning-only examples — do not paste them unless the user is actually speaking that language.";
18
18
  export const PING_CONNECTED_TEXT = 'Successfully connected to Photoshop';
19
19
  export const PING_FAILED_TEXT = 'Failed to connect to Photoshop';
20
+ export const PING_NOT_FOUND_REASON = 'Photoshop was not found. Set PHOTOSHOP_PATH to the Photoshop app (macOS: the .app bundle, Windows: Photoshop.exe), then restart the MCP server.';
21
+ export const PING_NOT_RUNNING_REASON = 'Photoshop is not running. Open Photoshop, wait until it finishes starting, then call photoshop_ping again. Ping never launches Photoshop.';
20
22
  const STORE_FILE = 'feedback-nudge.json';
21
23
  const TRUNCATION_SUFFIX = '…[truncated]';
22
24
  function getStorePath() {
@@ -216,4 +218,13 @@ export function submitFeedbackFromArgs(args) {
216
218
  ],
217
219
  };
218
220
  }
221
+ /** Failed ping: PING_FAILED_TEXT stays the first block so existing clients still match it. */
222
+ export function buildPingFailureResult(reason) {
223
+ return {
224
+ content: [
225
+ { type: 'text', text: PING_FAILED_TEXT },
226
+ { type: 'text', text: reason },
227
+ ],
228
+ };
229
+ }
219
230
  //# sourceMappingURL=nudge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nudge.js","sourceRoot":"","sources":["../../src/feedback/nudge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nudge.js","sourceRoot":"","sources":["../../src/feedback/nudge.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,11 @@ export interface PhotoshopCapabilities {
21
21
  }
22
22
  export declare function parsePhotoshopVersion(version: string): ParsedPhotoshopVersion;
23
23
  export declare function getPhotoshopCapabilities(version: string): PhotoshopCapabilities;
24
- /** Merge runtime UXP bridge reachability into version-derived capabilities. */
24
+ /**
25
+ * Merge runtime UXP bridge reachability into version-derived capabilities.
26
+ * `uxp_bridge_reachable` is true only when the companion plugin is actively
27
+ * polling the bridge (not merely that the bridge HTTP server is listening),
28
+ * so `neural_filters` reflects a plugin that can actually pick up commands.
29
+ */
25
30
  export declare function resolvePhotoshopCapabilities(version: string): Promise<PhotoshopCapabilities>;
26
31
  //# sourceMappingURL=capabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/platform/capabilities.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,iBAAiB,EAAE,OAAO,CAAC;QAC3B,eAAe,EAAE,OAAO,CAAC;QACzB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,iBAAiB,EAAE,OAAO,CAAC;QAC3B,kBAAkB,EAAE,OAAO,CAAC;QAC5B,sBAAsB,EAAE,OAAO,CAAC;QAChC,cAAc,EAAE,OAAO,CAAC;QACxB,oBAAoB,EAAE,OAAO,CAAC;QAC9B,wBAAwB,EAAE,OAAO,CAAC;QAClC,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,CAsB7E;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CA8B/E;AAED,+EAA+E;AAC/E,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAWlG"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/platform/capabilities.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,iBAAiB,EAAE,OAAO,CAAC;QAC3B,eAAe,EAAE,OAAO,CAAC;QACzB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,iBAAiB,EAAE,OAAO,CAAC;QAC3B,kBAAkB,EAAE,OAAO,CAAC;QAC5B,sBAAsB,EAAE,OAAO,CAAC;QAChC,cAAc,EAAE,OAAO,CAAC;QACxB,oBAAoB,EAAE,OAAO,CAAC;QAC9B,wBAAwB,EAAE,OAAO,CAAC;QAClC,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,CAsB7E;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CA8B/E;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CAWhC"}
@@ -49,7 +49,12 @@ export function getPhotoshopCapabilities(version) {
49
49
  },
50
50
  };
51
51
  }
52
- /** Merge runtime UXP bridge reachability into version-derived capabilities. */
52
+ /**
53
+ * Merge runtime UXP bridge reachability into version-derived capabilities.
54
+ * `uxp_bridge_reachable` is true only when the companion plugin is actively
55
+ * polling the bridge (not merely that the bridge HTTP server is listening),
56
+ * so `neural_filters` reflects a plugin that can actually pick up commands.
57
+ */
53
58
  export async function resolvePhotoshopCapabilities(version) {
54
59
  const base = getPhotoshopCapabilities(version);
55
60
  const bridgeUp = await isUxpBridgeReachable();
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/platform/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/platform/capabilities.ts"],"names":[],"mappings":"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"}
@@ -29,13 +29,12 @@ export declare class PhotoshopConnection {
29
29
  getPhotoshopInfo(): PhotoshopInfo | null;
30
30
  ensurePhotoshopRunning(): Promise<void>;
31
31
  /**
32
- * Point the macOS executor at the detected app bundle name. Must run after
32
+ * Point the macOS executor at the detected install. Must run after
33
33
  * getExecutor(): the executor is created lazily, and before this ordering fix
34
34
  * the first script of every session ran against the hard-coded default
35
- * ("Adobe Photoshop 2025"), so on any other version pgrep reported Photoshop
36
- * as not running, launchPhotoshop() stole focus for 5s, and osascript failed
37
- * to compile `do javascript` (-2741) because the app name did not resolve.
35
+ * ("Adobe Photoshop 2025"). The bundle path is the AppleScript target; the
36
+ * name stays for logs and as a fallback when the path is not a bundle (#72).
38
37
  */
39
- private applyMacOSAppName;
38
+ private applyMacOSTarget;
40
39
  }
41
40
  //# sourceMappingURL=connection.d.ts.map
@@ -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,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"}
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;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;CAKzB"}
@@ -121,7 +121,7 @@ export class PhotoshopConnection {
121
121
  throw new Error('Photoshop not found on this system');
122
122
  }
123
123
  const executor = this.getExecutor();
124
- this.applyMacOSAppName();
124
+ this.applyMacOSTarget();
125
125
  const isRunning = await executor.isPhotoshopRunning();
126
126
  if (!isRunning) {
127
127
  if (options?.launch === false) {
@@ -147,7 +147,7 @@ export class PhotoshopConnection {
147
147
  throw new Error('Photoshop not found on this system');
148
148
  }
149
149
  const executor = this.getExecutor();
150
- this.applyMacOSAppName();
150
+ this.applyMacOSTarget();
151
151
  const isRunning = await executor.isPhotoshopRunning();
152
152
  if (!isRunning) {
153
153
  this.logger.info('Launching Photoshop...');
@@ -155,17 +155,18 @@ export class PhotoshopConnection {
155
155
  }
156
156
  }
157
157
  /**
158
- * Point the macOS executor at the detected app bundle name. Must run after
158
+ * Point the macOS executor at the detected install. Must run after
159
159
  * getExecutor(): the executor is created lazily, and before this ordering fix
160
160
  * the first script of every session ran against the hard-coded default
161
- * ("Adobe Photoshop 2025"), so on any other version pgrep reported Photoshop
162
- * as not running, launchPhotoshop() stole focus for 5s, and osascript failed
163
- * to compile `do javascript` (-2741) because the app name did not resolve.
161
+ * ("Adobe Photoshop 2025"). The bundle path is the AppleScript target; the
162
+ * name stays for logs and as a fallback when the path is not a bundle (#72).
164
163
  */
165
- applyMacOSAppName() {
166
- if (this.macosExecutor && this.photoshopInfo?.appName) {
164
+ applyMacOSTarget() {
165
+ if (!this.macosExecutor || !this.photoshopInfo)
166
+ return;
167
+ if (this.photoshopInfo.appName)
167
168
  this.macosExecutor.setAppName(this.photoshopInfo.appName);
168
- }
169
+ this.macosExecutor.setAppPath(this.photoshopInfo.path);
169
170
  }
170
171
  }
171
172
  //# sourceMappingURL=connection.js.map