@alisaitteke/photoshop-mcp 1.3.13 → 1.6.0

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 (166) hide show
  1. package/README.de.md +787 -0
  2. package/README.es.md +737 -0
  3. package/README.ja.md +732 -0
  4. package/README.md +204 -41
  5. package/README.tr.md +842 -0
  6. package/README.zh-CN.md +727 -0
  7. package/dist/api/extendscript.d.ts +17 -1
  8. package/dist/api/extendscript.d.ts.map +1 -1
  9. package/dist/api/extendscript.js +301 -3
  10. package/dist/api/extendscript.js.map +1 -1
  11. package/dist/api/photoshop-api.d.ts +1 -1
  12. package/dist/api/photoshop-api.d.ts.map +1 -1
  13. package/dist/api/photoshop-api.js +4 -4
  14. package/dist/api/photoshop-api.js.map +1 -1
  15. package/dist/core/server.d.ts.map +1 -1
  16. package/dist/core/server.js +8 -0
  17. package/dist/core/server.js.map +1 -1
  18. package/dist/errors/envelope.d.ts +1 -1
  19. package/dist/errors/envelope.d.ts.map +1 -1
  20. package/dist/errors/envelope.js +4 -0
  21. package/dist/errors/envelope.js.map +1 -1
  22. package/dist/platform/capabilities.d.ts +7 -0
  23. package/dist/platform/capabilities.d.ts.map +1 -1
  24. package/dist/platform/capabilities.js +23 -1
  25. package/dist/platform/capabilities.js.map +1 -1
  26. package/dist/platform/macos-detector.d.ts.map +1 -1
  27. package/dist/platform/macos-detector.js +7 -4
  28. package/dist/platform/macos-detector.js.map +1 -1
  29. package/dist/platform/macos-executor.d.ts +11 -0
  30. package/dist/platform/macos-executor.d.ts.map +1 -1
  31. package/dist/platform/macos-executor.js +103 -32
  32. package/dist/platform/macos-executor.js.map +1 -1
  33. package/dist/platform/uxp-bridge-client.d.ts +13 -0
  34. package/dist/platform/uxp-bridge-client.d.ts.map +1 -0
  35. package/dist/platform/uxp-bridge-client.js +31 -0
  36. package/dist/platform/uxp-bridge-client.js.map +1 -0
  37. package/dist/platform/uxp-bridge-server.d.ts +16 -0
  38. package/dist/platform/uxp-bridge-server.d.ts.map +1 -0
  39. package/dist/platform/uxp-bridge-server.js +105 -0
  40. package/dist/platform/uxp-bridge-server.js.map +1 -0
  41. package/dist/prompts/instructions.d.ts.map +1 -1
  42. package/dist/prompts/instructions.js +21 -12
  43. package/dist/prompts/instructions.js.map +1 -1
  44. package/dist/prompts/registry.d.ts +2 -2
  45. package/dist/prompts/registry.d.ts.map +1 -1
  46. package/dist/prompts/registry.js +15 -0
  47. package/dist/prompts/registry.js.map +1 -1
  48. package/dist/prompts/templates/batch-watermark.d.ts +3 -0
  49. package/dist/prompts/templates/batch-watermark.d.ts.map +1 -0
  50. package/dist/prompts/templates/batch-watermark.js +67 -0
  51. package/dist/prompts/templates/batch-watermark.js.map +1 -0
  52. package/dist/prompts/templates/generative-expand.d.ts +3 -0
  53. package/dist/prompts/templates/generative-expand.d.ts.map +1 -0
  54. package/dist/prompts/templates/generative-expand.js +34 -0
  55. package/dist/prompts/templates/generative-expand.js.map +1 -0
  56. package/dist/prompts/templates/generative-fill.d.ts +3 -0
  57. package/dist/prompts/templates/generative-fill.d.ts.map +1 -0
  58. package/dist/prompts/templates/generative-fill.js +29 -0
  59. package/dist/prompts/templates/generative-fill.js.map +1 -0
  60. package/dist/prompts/templates/generative-remove.d.ts +3 -0
  61. package/dist/prompts/templates/generative-remove.d.ts.map +1 -0
  62. package/dist/prompts/templates/generative-remove.js +36 -0
  63. package/dist/prompts/templates/generative-remove.js.map +1 -0
  64. package/dist/prompts/templates/passport-photo.d.ts +3 -0
  65. package/dist/prompts/templates/passport-photo.d.ts.map +1 -0
  66. package/dist/prompts/templates/passport-photo.js +36 -0
  67. package/dist/prompts/templates/passport-photo.js.map +1 -0
  68. package/dist/prompts/templates/remove-distraction.d.ts.map +1 -1
  69. package/dist/prompts/templates/remove-distraction.js +4 -5
  70. package/dist/prompts/templates/remove-distraction.js.map +1 -1
  71. package/dist/prompts/templates/split-carousel.d.ts +3 -0
  72. package/dist/prompts/templates/split-carousel.d.ts.map +1 -0
  73. package/dist/prompts/templates/split-carousel.js +49 -0
  74. package/dist/prompts/templates/split-carousel.js.map +1 -0
  75. package/dist/tools/generative/_shared.d.ts +14 -0
  76. package/dist/tools/generative/_shared.d.ts.map +1 -0
  77. package/dist/tools/generative/_shared.js +79 -0
  78. package/dist/tools/generative/_shared.js.map +1 -0
  79. package/dist/tools/generative-tools.d.ts +8 -0
  80. package/dist/tools/generative-tools.d.ts.map +1 -0
  81. package/dist/tools/generative-tools.js +221 -0
  82. package/dist/tools/generative-tools.js.map +1 -0
  83. package/dist/tools/layer-properties-tools.d.ts.map +1 -1
  84. package/dist/tools/layer-properties-tools.js +2 -1
  85. package/dist/tools/layer-properties-tools.js.map +1 -1
  86. package/dist/tools/neural-tools.d.ts +8 -0
  87. package/dist/tools/neural-tools.d.ts.map +1 -0
  88. package/dist/tools/neural-tools.js +99 -0
  89. package/dist/tools/neural-tools.js.map +1 -0
  90. package/dist/tools/recipes/_shared.d.ts +8 -0
  91. package/dist/tools/recipes/_shared.d.ts.map +1 -1
  92. package/dist/tools/recipes/_shared.js +45 -0
  93. package/dist/tools/recipes/_shared.js.map +1 -1
  94. package/dist/tools/recipes/batch-watermark.d.ts +4 -0
  95. package/dist/tools/recipes/batch-watermark.d.ts.map +1 -0
  96. package/dist/tools/recipes/batch-watermark.js +283 -0
  97. package/dist/tools/recipes/batch-watermark.js.map +1 -0
  98. package/dist/tools/recipes/enhance-portrait.d.ts.map +1 -1
  99. package/dist/tools/recipes/enhance-portrait.js +47 -0
  100. package/dist/tools/recipes/enhance-portrait.js.map +1 -1
  101. package/dist/tools/recipes/index.d.ts +1 -1
  102. package/dist/tools/recipes/index.d.ts.map +1 -1
  103. package/dist/tools/recipes/index.js +9 -0
  104. package/dist/tools/recipes/index.js.map +1 -1
  105. package/dist/tools/recipes/passport-photo.d.ts +4 -0
  106. package/dist/tools/recipes/passport-photo.d.ts.map +1 -0
  107. package/dist/tools/recipes/passport-photo.js +202 -0
  108. package/dist/tools/recipes/passport-photo.js.map +1 -0
  109. package/dist/tools/recipes/remove-background.d.ts.map +1 -1
  110. package/dist/tools/recipes/remove-background.js +5 -0
  111. package/dist/tools/recipes/remove-background.js.map +1 -1
  112. package/dist/tools/recipes/remove-distraction.d.ts.map +1 -1
  113. package/dist/tools/recipes/remove-distraction.js +48 -8
  114. package/dist/tools/recipes/remove-distraction.js.map +1 -1
  115. package/dist/tools/recipes/sky-blend.d.ts.map +1 -1
  116. package/dist/tools/recipes/sky-blend.js +43 -1
  117. package/dist/tools/recipes/sky-blend.js.map +1 -1
  118. package/dist/tools/recipes/split-carousel.d.ts +4 -0
  119. package/dist/tools/recipes/split-carousel.d.ts.map +1 -0
  120. package/dist/tools/recipes/split-carousel.js +163 -0
  121. package/dist/tools/recipes/split-carousel.js.map +1 -0
  122. package/dist/tools/state-tools.js +2 -2
  123. package/dist/tools/state-tools.js.map +1 -1
  124. package/dist/ui/cli.js +7 -1
  125. package/dist/ui/cli.js.map +1 -1
  126. package/dist/ui/providers/anthropic.d.ts.map +1 -1
  127. package/dist/ui/providers/anthropic.js +11 -1
  128. package/dist/ui/providers/anthropic.js.map +1 -1
  129. package/dist/ui/providers/types.d.ts +1 -0
  130. package/dist/ui/providers/types.d.ts.map +1 -1
  131. package/dist/ui/security/session-token.d.ts +24 -0
  132. package/dist/ui/security/session-token.d.ts.map +1 -0
  133. package/dist/ui/security/session-token.js +72 -0
  134. package/dist/ui/security/session-token.js.map +1 -0
  135. package/dist/ui/server.d.ts +4 -0
  136. package/dist/ui/server.d.ts.map +1 -1
  137. package/dist/ui/server.js +79 -11
  138. package/dist/ui/server.js.map +1 -1
  139. package/dist/utils/js-string.d.ts.map +1 -1
  140. package/dist/utils/js-string.js +6 -1
  141. package/dist/utils/js-string.js.map +1 -1
  142. package/package.json +8 -4
  143. package/uxp-plugin/index.html +20 -0
  144. package/uxp-plugin/main.js +139 -0
  145. package/uxp-plugin/manifest.json +26 -0
  146. package/web/dist/assets/index-SNfxhJjr.js +350 -0
  147. package/web/dist/assets/index-vi5C3hqd.css +1 -0
  148. package/web/dist/index.html +2 -2
  149. package/dist/analytics/client-ip.d.ts +0 -5
  150. package/dist/analytics/client-ip.d.ts.map +0 -1
  151. package/dist/analytics/client-ip.js +0 -39
  152. package/dist/analytics/client-ip.js.map +0 -1
  153. package/dist/analytics/debug-log.d.ts +0 -3
  154. package/dist/analytics/debug-log.d.ts.map +0 -1
  155. package/dist/analytics/debug-log.js +0 -21
  156. package/dist/analytics/debug-log.js.map +0 -1
  157. package/dist/prompts/templates.d.ts +0 -8
  158. package/dist/prompts/templates.d.ts.map +0 -1
  159. package/dist/prompts/templates.js +0 -162
  160. package/dist/prompts/templates.js.map +0 -1
  161. package/dist/tools/recipe-tools.d.ts +0 -4
  162. package/dist/tools/recipe-tools.d.ts.map +0 -1
  163. package/dist/tools/recipe-tools.js +0 -265
  164. package/dist/tools/recipe-tools.js.map +0 -1
  165. package/web/dist/assets/index-BgiXf1Jy.css +0 -1
  166. package/web/dist/assets/index-DvGX0LLy.js +0 -346
@@ -0,0 +1,221 @@
1
+ import { clampGenerativeScale, ExtendScriptSnippets, normalizeExpandDirection, parseGenerativeResult, requireGenerativeCapability, runGenerativeSnippet, } from './generative/_shared.js';
2
+ function clampFeather(value) {
3
+ const n = typeof value === 'number' ? value : Number(value);
4
+ if (!Number.isFinite(n))
5
+ return 0;
6
+ return Math.max(0, Math.min(20, Math.round(n)));
7
+ }
8
+ export function createGenerativeTools(connection) {
9
+ return [
10
+ {
11
+ tool: {
12
+ name: 'photoshop_generative_fill',
13
+ description: 'Fill the current selection using Adobe Generative Fill (Firefly) with a text prompt.\n\n' +
14
+ 'Use when: adding or replacing content inside a selection with generative AI.\n' +
15
+ 'Do NOT use when: no selection exists — create one first or use photoshop_select_subject.\n' +
16
+ 'Do NOT use when: Photoshop version lacks generative_fill — check photoshop_get_capabilities.\n\n' +
17
+ 'Returns: { ok, summary, details: { action_id, prompt, wait } }.\n' +
18
+ 'Preconditions: PS 24+ with generative credits; active pixel selection.\n' +
19
+ 'Side effects: modifies pixels in selection; may consume Adobe generative credits.',
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: {
23
+ prompt: { type: 'string', description: 'Describe what to generate in the selection' },
24
+ },
25
+ required: ['prompt'],
26
+ },
27
+ },
28
+ handler: async (args) => generativeFill(connection, args),
29
+ },
30
+ {
31
+ tool: {
32
+ name: 'photoshop_generative_remove',
33
+ description: 'Remove content using the AI Remove tool (or generative fill fallback) on the current selection.\n\n' +
34
+ 'Use when: erasing distractions, people, or objects with generative AI.\n' +
35
+ 'Do NOT use when: generative unavailable — fallback to photoshop_recipe_remove_distraction.\n\n' +
36
+ 'Returns: { ok, summary, details }.\n' +
37
+ 'Preconditions: selection or auto_select_subject; generative_fill capability.\n' +
38
+ 'Side effects: inpaints selected region; consumes generative credits when cloud-backed.',
39
+ inputSchema: {
40
+ type: 'object',
41
+ properties: {
42
+ feather_px: {
43
+ type: 'number',
44
+ description: 'Edge feather before remove (0-20, default 0)',
45
+ minimum: 0,
46
+ maximum: 20,
47
+ default: 0,
48
+ },
49
+ auto_select_subject: {
50
+ type: 'boolean',
51
+ description: 'Run Select Subject when no selection exists (default false)',
52
+ default: false,
53
+ },
54
+ },
55
+ },
56
+ },
57
+ handler: async (args) => generativeRemove(connection, args),
58
+ },
59
+ {
60
+ tool: {
61
+ name: 'photoshop_generative_expand',
62
+ description: 'Extend the canvas beyond its edges using Generative Expand (Firefly).\n\n' +
63
+ 'Use when: outpainting, extending background, or expanding composition.\n\n' +
64
+ 'Returns: { ok, summary, details: { direction, prompt, wait } }.\n' +
65
+ 'Preconditions: active document; generative_fill capability.\n' +
66
+ 'Side effects: enlarges canvas with generated content.',
67
+ inputSchema: {
68
+ type: 'object',
69
+ properties: {
70
+ prompt: {
71
+ type: 'string',
72
+ description: 'Describe how to extend the image',
73
+ default: 'extend the background naturally',
74
+ },
75
+ direction: {
76
+ type: 'string',
77
+ enum: ['left', 'right', 'top', 'bottom', 'all'],
78
+ description: 'Expand direction (default all)',
79
+ default: 'all',
80
+ },
81
+ },
82
+ },
83
+ },
84
+ handler: async (args) => generativeExpand(connection, args),
85
+ },
86
+ {
87
+ tool: {
88
+ name: 'photoshop_generative_upscale',
89
+ description: 'Upscale the active document using Generative Upscale (PS 27+).\n\n' +
90
+ 'Use when: increasing resolution with AI detail recovery.\n' +
91
+ 'Do NOT use when: generative_upscale flag is false — use photoshop_resize_image.\n\n' +
92
+ 'Returns: { ok, summary, details }.\n' +
93
+ 'Preconditions: generative_upscale capability; signed-in Adobe account.',
94
+ inputSchema: {
95
+ type: 'object',
96
+ properties: {
97
+ target_scale: {
98
+ type: 'number',
99
+ enum: [2, 4],
100
+ description: 'Target scale factor (2 or 4)',
101
+ default: 2,
102
+ },
103
+ },
104
+ },
105
+ },
106
+ handler: async (args) => generativeUpscale(connection, args),
107
+ },
108
+ {
109
+ tool: {
110
+ name: 'photoshop_sky_replacement',
111
+ description: 'Replace the sky using Photoshop native Sky Replacement when available.\n\n' +
112
+ 'Use when: a sky image path is provided and native AI sky replacement is supported.\n' +
113
+ 'Fallback: photoshop_recipe_sky_blend for manual composite.\n\n' +
114
+ 'Returns: { ok, summary, details }.\n' +
115
+ 'Preconditions: active document; optional sky_image_path for custom sky.',
116
+ inputSchema: {
117
+ type: 'object',
118
+ properties: {
119
+ sky_image_path: {
120
+ type: 'string',
121
+ description: 'Optional absolute path to a sky image file',
122
+ },
123
+ },
124
+ },
125
+ },
126
+ handler: async (args) => skyReplacement(connection, args),
127
+ },
128
+ {
129
+ tool: {
130
+ name: 'photoshop_generate_image',
131
+ description: 'Generate image content from a text prompt (text-to-image) on blank or active document.\n\n' +
132
+ 'Use when: creating new imagery from a description.\n\n' +
133
+ 'Returns: { ok, summary, details }.\n' +
134
+ 'Preconditions: generative_fill capability; Adobe generative credits.',
135
+ inputSchema: {
136
+ type: 'object',
137
+ properties: {
138
+ prompt: { type: 'string', description: 'Image description' },
139
+ width: { type: 'number', description: 'Width if creating new doc (default 1024)', default: 1024 },
140
+ height: { type: 'number', description: 'Height if creating new doc (default 1024)', default: 1024 },
141
+ },
142
+ required: ['prompt'],
143
+ },
144
+ },
145
+ handler: async (args) => generateImage(connection, args),
146
+ },
147
+ ];
148
+ }
149
+ async function generativeFill(connection, args) {
150
+ const blocked = await requireGenerativeCapability(connection, 'generative_fill');
151
+ if (blocked)
152
+ return blocked;
153
+ const prompt = typeof args.prompt === 'string' ? args.prompt.trim() : '';
154
+ if (!prompt) {
155
+ return parseGenerativeResult({
156
+ ok: false,
157
+ code: 'generative_unavailable',
158
+ message: 'prompt is required',
159
+ });
160
+ }
161
+ const raw = await runGenerativeSnippet(connection, ExtendScriptSnippets.generativeFill(prompt));
162
+ return parseGenerativeResult(raw);
163
+ }
164
+ async function generativeRemove(connection, args) {
165
+ const blocked = await requireGenerativeCapability(connection, 'generative_fill');
166
+ if (blocked)
167
+ return blocked;
168
+ const feather = clampFeather(args.feather_px);
169
+ const autoSelect = args.auto_select_subject === true;
170
+ const raw = await runGenerativeSnippet(connection, ExtendScriptSnippets.generativeRemove(feather, autoSelect));
171
+ return parseGenerativeResult(raw);
172
+ }
173
+ async function generativeExpand(connection, args) {
174
+ const blocked = await requireGenerativeCapability(connection, 'generative_fill');
175
+ if (blocked)
176
+ return blocked;
177
+ const prompt = typeof args.prompt === 'string' && args.prompt.trim()
178
+ ? args.prompt.trim()
179
+ : 'extend the background naturally';
180
+ const direction = normalizeExpandDirection(args.direction);
181
+ const raw = await runGenerativeSnippet(connection, ExtendScriptSnippets.generativeExpand(direction, prompt));
182
+ return parseGenerativeResult(raw);
183
+ }
184
+ async function generativeUpscale(connection, args) {
185
+ const blocked = await requireGenerativeCapability(connection, 'generative_upscale');
186
+ if (blocked)
187
+ return blocked;
188
+ const scale = clampGenerativeScale(args.target_scale);
189
+ const raw = await runGenerativeSnippet(connection, ExtendScriptSnippets.generativeUpscale(scale));
190
+ return parseGenerativeResult(raw);
191
+ }
192
+ async function skyReplacement(connection, args) {
193
+ const blocked = await requireGenerativeCapability(connection, 'generative_fill');
194
+ if (blocked)
195
+ return blocked;
196
+ const skyPath = typeof args.sky_image_path === 'string' ? args.sky_image_path.trim() : '';
197
+ const raw = await runGenerativeSnippet(connection, ExtendScriptSnippets.skyReplacement(skyPath));
198
+ return parseGenerativeResult(raw);
199
+ }
200
+ async function generateImage(connection, args) {
201
+ const blocked = await requireGenerativeCapability(connection, 'generative_fill');
202
+ if (blocked)
203
+ return blocked;
204
+ const prompt = typeof args.prompt === 'string' ? args.prompt.trim() : '';
205
+ if (!prompt) {
206
+ return parseGenerativeResult({
207
+ ok: false,
208
+ code: 'generative_unavailable',
209
+ message: 'prompt is required',
210
+ });
211
+ }
212
+ const width = typeof args.width === 'number' && Number.isFinite(args.width)
213
+ ? Math.max(64, Math.min(4096, Math.round(args.width)))
214
+ : 1024;
215
+ const height = typeof args.height === 'number' && Number.isFinite(args.height)
216
+ ? Math.max(64, Math.min(4096, Math.round(args.height)))
217
+ : 1024;
218
+ const raw = await runGenerativeSnippet(connection, ExtendScriptSnippets.generateImage(prompt, width, height));
219
+ return parseGenerativeResult(raw);
220
+ }
221
+ //# sourceMappingURL=generative-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generative-tools.js","sourceRoot":"","sources":["../../src/tools/generative-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"layer-properties-tools.d.ts","sourceRoot":"","sources":["../../src/tools/layer-properties-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,mBAAmB,GAAG,cAAc,EAAE,CAwK5F"}
1
+ {"version":3,"file":"layer-properties-tools.d.ts","sourceRoot":"","sources":["../../src/tools/layer-properties-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,mBAAmB,GAAG,cAAc,EAAE,CA0K5F"}
@@ -132,7 +132,8 @@ export function createLayerPropertiesTools(connection) {
132
132
  {
133
133
  tool: {
134
134
  name: 'photoshop_duplicate_layer',
135
- description: 'Duplicate the active layer',
135
+ description: 'Duplicate the active layer. The duplicate becomes the active layer; ' +
136
+ 'returns its name and, when available, its layer id.',
136
137
  inputSchema: {
137
138
  type: 'object',
138
139
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"layer-properties-tools.js","sourceRoot":"","sources":["../../src/tools/layer-properties-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layer-properties-tools.js","sourceRoot":"","sources":["../../src/tools/layer-properties-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Neural Filter MCP tool (UXP bridge lane).
3
+ * See docs/plans/2026-07-03-1149-photoshop-ai-features/pai-phase-5.0-uxp-bridge.md.
4
+ */
5
+ import type { ToolDefinition } from '../core/tool-registry.js';
6
+ import type { PhotoshopConnection } from '../platform/connection.js';
7
+ export declare function createNeuralTools(connection: PhotoshopConnection): ToolDefinition[];
8
+ //# sourceMappingURL=neural-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neural-tools.d.ts","sourceRoot":"","sources":["../../src/tools/neural-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AAE3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAqBrE,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,GAAG,cAAc,EAAE,CA4CnF"}
@@ -0,0 +1,99 @@
1
+ import { resolvePhotoshopCapabilities } from '../platform/capabilities.js';
2
+ import { invokeNeuralFilter, } from '../platform/uxp-bridge-client.js';
3
+ import { atomicFailure, atomicSuccess } from './atomic-shared.js';
4
+ const FILTER_KINDS = [
5
+ 'skin_smoothing',
6
+ 'harmonize',
7
+ 'depth_blur',
8
+ 'super_zoom',
9
+ 'colorize',
10
+ ];
11
+ function clampPct(value, fallback) {
12
+ const n = typeof value === 'number' ? value : Number(value);
13
+ if (!Number.isFinite(n))
14
+ return fallback;
15
+ return Math.max(0, Math.min(100, Math.round(n)));
16
+ }
17
+ export function createNeuralTools(connection) {
18
+ return [
19
+ {
20
+ tool: {
21
+ name: 'photoshop_neural_filter',
22
+ description: 'Apply a Photoshop Neural Filter via the companion UXP bridge plugin.\n\n' +
23
+ 'Use when: skin smoothing, harmonize composite layers, depth blur, super zoom, or colorizing B&W photos.\n' +
24
+ 'Do NOT use when: uxp_bridge_reachable is false — install uxp-plugin per docs/development.md.\n\n' +
25
+ 'Returns: { ok, summary, details }.\n' +
26
+ 'Preconditions: UXP bridge plugin running in Photoshop; PS 22+.',
27
+ inputSchema: {
28
+ type: 'object',
29
+ properties: {
30
+ filter: {
31
+ type: 'string',
32
+ enum: FILTER_KINDS,
33
+ description: 'Neural filter to apply',
34
+ },
35
+ smoothness: {
36
+ type: 'number',
37
+ description: 'Skin smoothing smoothness 0-100 (skin_smoothing only)',
38
+ minimum: 0,
39
+ maximum: 100,
40
+ default: 50,
41
+ },
42
+ blur: {
43
+ type: 'number',
44
+ description: 'Skin smoothing blur 0-100 (skin_smoothing only)',
45
+ minimum: 0,
46
+ maximum: 100,
47
+ default: 50,
48
+ },
49
+ reference_layer_id: {
50
+ type: 'number',
51
+ description: 'Layer id for harmonize reference (harmonize only)',
52
+ },
53
+ },
54
+ required: ['filter'],
55
+ },
56
+ },
57
+ handler: async (args) => runNeuralFilter(connection, args),
58
+ },
59
+ ];
60
+ }
61
+ async function runNeuralFilter(connection, args) {
62
+ const version = await connection.getVersion();
63
+ const caps = await resolvePhotoshopCapabilities(version);
64
+ if (!caps.features.neural_filters) {
65
+ return atomicFailure({
66
+ ok: false,
67
+ code: 'uxp_bridge_unavailable',
68
+ message: 'Neural Filters require the photoshop-mcp UXP bridge plugin. Load uxp-plugin/ via UXP Developer Tools.',
69
+ suggested_next_tool: 'photoshop_get_capabilities',
70
+ });
71
+ }
72
+ const filterRaw = typeof args.filter === 'string' ? args.filter.trim() : '';
73
+ if (!FILTER_KINDS.includes(filterRaw)) {
74
+ return atomicFailure({
75
+ ok: false,
76
+ code: 'generative_unavailable',
77
+ message: `filter must be one of: ${FILTER_KINDS.join(', ')}`,
78
+ });
79
+ }
80
+ const filter = filterRaw;
81
+ const params = {
82
+ smoothness: clampPct(args.smoothness, 50),
83
+ blur: clampPct(args.blur, 50),
84
+ ...(typeof args.reference_layer_id === 'number'
85
+ ? { reference_layer_id: args.reference_layer_id }
86
+ : {}),
87
+ };
88
+ const result = await invokeNeuralFilter(filter, params);
89
+ if (!result.ok) {
90
+ return atomicFailure({
91
+ ok: false,
92
+ code: 'uxp_bridge_unavailable',
93
+ message: result.error ?? 'Neural filter invocation failed',
94
+ suggested_next_tool: 'photoshop_get_capabilities',
95
+ });
96
+ }
97
+ return atomicSuccess(`Neural filter "${filter}" applied via UXP bridge`, { filter, params, bridge: result.data }, 'photoshop_get_preview');
98
+ }
99
+ //# sourceMappingURL=neural-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neural-tools.js","sourceRoot":"","sources":["../../src/tools/neural-tools.ts"],"names":[],"mappings":"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"}
@@ -19,11 +19,19 @@ export interface RecipeFailure {
19
19
  /** PS 26-compatible Action Manager helpers shared by all recipes. */
20
20
  export declare const RECIPE_ACTION_HELPERS = "\nfunction __mcp_s2t(s) { return app.stringIDToTypeID(s); }\nfunction __mcp_c2t(s) { return app.charIDToTypeID(s); }\nfunction cTID(s) { return __mcp_c2t(s); }\nfunction sTID(s) { return __mcp_s2t(s); }\n\nfunction __mcp_ensureRasterActiveLayer() {\n var doc = app.activeDocument;\n var layer = doc.activeLayer;\n if (layer.typename === 'LayerSet') {\n throw new Error('Active item is a layer group \u2014 select a raster layer first.');\n }\n var kind = layer.kind;\n if (kind === LayerKind.NORMAL) {\n if (layer.isBackgroundLayer) {\n try { layer.isBackgroundLayer = false; } catch (eBg) {}\n }\n return layer;\n }\n if (kind === LayerKind.TEXT) {\n layer.rasterize(RasterizeType.TEXTCONTENTS);\n return doc.activeLayer;\n }\n if (kind === LayerKind.SMARTOBJECT) {\n var desc = new ActionDescriptor();\n var ref = new ActionReference();\n ref.putEnumerated(__mcp_s2t('layer'), __mcp_s2t('ordinal'), __mcp_s2t('targetEnum'));\n desc.putReference(__mcp_s2t('null'), ref);\n executeAction(__mcp_s2t('rasterizePlaced'), desc, DialogModes.NO);\n return doc.activeLayer;\n }\n try { layer.rasterize(RasterizeType.ENTIRELAYER); } catch (e) {}\n return doc.activeLayer;\n}\n\nfunction __mcp_applyFrequencyHighFromLow(lowLayer, highLayer) {\n var doc = app.activeDocument;\n doc.activeLayer = highLayer;\n\n function applyStringCalculation() {\n var applyDesc = new ActionDescriptor();\n var calcDesc = new ActionDescriptor();\n var srcRef = new ActionReference();\n srcRef.putEnumerated(__mcp_s2t('channel'), __mcp_s2t('channel'), __mcp_s2t('RGB'));\n srcRef.putName(__mcp_s2t('layer'), lowLayer.name);\n calcDesc.putReference(__mcp_s2t('to'), srcRef);\n calcDesc.putEnumerated(__mcp_s2t('calculation'), __mcp_s2t('calculationType'), __mcp_s2t('subtract'));\n calcDesc.putDouble(__mcp_s2t('scale'), 2);\n calcDesc.putInteger(__mcp_s2t('offset'), 128);\n applyDesc.putObject(__mcp_s2t('with'), __mcp_s2t('calculation'), calcDesc);\n executeAction(__mcp_s2t('applyImageEvent'), applyDesc, DialogModes.NO);\n }\n\n function applyNestedClcl() {\n var applyDesc = new ActionDescriptor();\n var srcDesc = new ActionDescriptor();\n var srcRef = new ActionReference();\n srcRef.putName(__mcp_c2t('Lyr '), lowLayer.name);\n srcDesc.putReference(__mcp_c2t('T '), srcRef);\n srcDesc.putEnumerated(__mcp_c2t('Clcl'), __mcp_c2t('Clcn'), __mcp_c2t('Sbtr'));\n srcDesc.putInteger(__mcp_c2t('Scl '), 2);\n srcDesc.putInteger(__mcp_c2t('Ofst'), 128);\n applyDesc.putObject(__mcp_c2t('With'), __mcp_c2t('Clcl'), srcDesc);\n executeAction(__mcp_c2t('AppI'), applyDesc, DialogModes.NO);\n }\n\n var lastError = null;\n try {\n applyStringCalculation();\n return;\n } catch (eString) {\n lastError = eString;\n }\n try {\n applyNestedClcl();\n return;\n } catch (eNested) {\n lastError = eNested;\n }\n throw lastError || new Error('Apply Image failed');\n}\n\nfunction __mcp_makeLayerMaskRevealSelection() {\n var desc = new ActionDescriptor();\n desc.putClass(__mcp_s2t('new'), __mcp_s2t('channel'));\n var atRef = new ActionReference();\n atRef.putEnumerated(__mcp_s2t('layer'), __mcp_s2t('ordinal'), __mcp_s2t('targetEnum'));\n desc.putReference(__mcp_s2t('at'), atRef);\n desc.putEnumerated(__mcp_s2t('using'), __mcp_s2t('userMaskEnabled'), __mcp_s2t('revealSelection'));\n executeAction(__mcp_s2t('make'), desc, DialogModes.NO);\n}\n\nfunction __mcp_makeHueSatAdjustmentLayer(hue, saturation, lightness, colorize) {\n var desc = new ActionDescriptor();\n var ref = new ActionReference();\n ref.putClass(__mcp_s2t('adjustmentLayer'));\n desc.putReference(__mcp_s2t('null'), ref);\n var using = new ActionDescriptor();\n var typeDesc = new ActionDescriptor();\n typeDesc.putEnumerated(__mcp_s2t('presetKind'), __mcp_s2t('presetKindType'), __mcp_s2t('presetKindCustom'));\n typeDesc.putBoolean(__mcp_c2t('Clrz'), colorize);\n var adjustments = new ActionList();\n var adjustment = new ActionDescriptor();\n adjustment.putInteger(__mcp_c2t('H '), hue);\n adjustment.putInteger(__mcp_c2t('Strt'), saturation);\n adjustment.putInteger(__mcp_c2t('Lght'), lightness);\n adjustments.putObject(__mcp_c2t('Hsrt'), adjustment);\n typeDesc.putList(__mcp_c2t('Adjs'), adjustments);\n using.putObject(__mcp_s2t('type'), __mcp_s2t('hueSaturation'), typeDesc);\n desc.putObject(__mcp_s2t('using'), __mcp_s2t('adjustmentLayer'), using);\n executeAction(__mcp_s2t('make'), desc, DialogModes.NO);\n return app.activeDocument.activeLayer;\n}\n\n\nfunction __mcp_makeCurvesAdjustmentLayer(preset) {\n var usePreset = preset || 'auto_tone';\n var desc = new ActionDescriptor();\n var ref = new ActionReference();\n ref.putClass(__mcp_s2t('adjustmentLayer'));\n desc.putReference(__mcp_s2t('null'), ref);\n var using = new ActionDescriptor();\n var curvesAdjust = new ActionDescriptor();\n var curvesAdjustments = new ActionList();\n var curvesPair = new ActionDescriptor();\n var curvesPoints = new ActionList();\n var ptBlack = new ActionDescriptor();\n var ptWhite = new ActionDescriptor();\n if (usePreset === 'neutral') {\n ptBlack.putDouble(__mcp_c2t('Hrzn'), 0);\n ptBlack.putDouble(__mcp_c2t('Vrtc'), 0);\n ptWhite.putDouble(__mcp_c2t('Hrzn'), 255);\n ptWhite.putDouble(__mcp_c2t('Vrtc'), 255);\n } else {\n ptBlack.putDouble(__mcp_c2t('Hrzn'), 12);\n ptBlack.putDouble(__mcp_c2t('Vrtc'), 0);\n ptWhite.putDouble(__mcp_c2t('Hrzn'), 243);\n ptWhite.putDouble(__mcp_c2t('Vrtc'), 255);\n }\n curvesPoints.putObject(__mcp_c2t('Pnt '), ptBlack);\n curvesPoints.putObject(__mcp_c2t('Pnt '), ptWhite);\n curvesPair.putList(__mcp_c2t('Crv '), curvesPoints);\n var channelRef = new ActionReference();\n channelRef.putEnumerated(__mcp_c2t('Chnl'), __mcp_c2t('Chnl'), __mcp_c2t('Cmps'));\n curvesPair.putReference(__mcp_c2t('Chnl'), channelRef);\n curvesAdjustments.putObject(__mcp_c2t('CrvA'), curvesPair);\n curvesAdjust.putList(__mcp_c2t('Adjs'), curvesAdjustments);\n using.putObject(__mcp_s2t('type'), __mcp_s2t('curves'), curvesAdjust);\n desc.putObject(__mcp_s2t('using'), __mcp_s2t('adjustmentLayer'), using);\n executeAction(__mcp_s2t('make'), desc, DialogModes.NO);\n return app.activeDocument.activeLayer;\n}\n\n\n\nfunction __mcp_hasLayerMaskAM() {\n var ref = new ActionReference();\n var args = new ActionDescriptor();\n ref.putProperty(cTID('Prpr'), cTID('UsrM'));\n ref.putEnumerated(cTID('Lyr '), cTID('Ordn'), cTID('Trgt'));\n args.putReference(cTID('null'), ref);\n try {\n var resultDesc = executeAction(cTID('getd'), args, DialogModes.NO);\n return resultDesc.hasKey(cTID('UsrM'));\n } catch (e) {\n return false;\n }\n}\n\nfunction __mcp_makeLayerMaskAtChannel(maskMode) {\n var desc = new ActionDescriptor();\n var atRef = new ActionReference();\n desc.putClass(sTID('new'), sTID('channel'));\n atRef.putEnumerated(sTID('channel'), sTID('channel'), sTID('mask'));\n desc.putReference(sTID('at'), atRef);\n desc.putEnumerated(sTID('using'), sTID('userMaskEnabled'), sTID(maskMode));\n executeAction(sTID('make'), desc, DialogModes.NO);\n}\n\nfunction __mcp_selectLayerMaskChannel() {\n var selRef = new ActionReference();\n selRef.putEnumerated(cTID('Chnl'), cTID('Ordn'), cTID('Trgt'));\n var selDesc = new ActionDescriptor();\n selDesc.putReference(cTID('null'), selRef);\n selDesc.putBoolean(cTID('MkVs'), true);\n executeAction(cTID('slct'), selDesc, DialogModes.NO);\n}\n\nfunction __mcp_pointDescPx(x, y) {\n var desc = new ActionDescriptor();\n desc.putUnitDouble(cTID('Hrzn'), cTID('#Pxl'), x);\n desc.putUnitDouble(cTID('Vrtc'), cTID('#Pxl'), y);\n return desc;\n}\n\nfunction __mcp_gradientStop(location, midPoint) {\n var desc = new ActionDescriptor();\n desc.putInteger(cTID('Lctn'), location);\n desc.putInteger(cTID('Mdpn'), midPoint);\n return desc;\n}\n\nfunction __mcp_grayColor(grayValue) {\n var desc = new ActionDescriptor();\n desc.putDouble(cTID('Gry '), grayValue);\n return desc;\n}\n\n/** Linear black-to-white gradient on the active mask channel (StackSupport.jsx pattern). */\nfunction __mcp_gradientFillLayerMask(fromXPx, fromYPx, toXPx, toYPx, reverseGradient) {\n var args = new ActionDescriptor();\n args.putObject(cTID('From'), cTID('Pnt '), __mcp_pointDescPx(fromXPx, fromYPx));\n args.putObject(cTID('T '), cTID('Pnt '), __mcp_pointDescPx(toXPx, toYPx));\n args.putEnumerated(cTID('Md '), cTID('BlnM'), cTID('Nrml'));\n args.putEnumerated(cTID('Type'), cTID('GrdT'), cTID('Lnr '));\n args.putBoolean(cTID('Dthr'), true);\n args.putBoolean(cTID('UsMs'), true);\n args.putBoolean(cTID('Rvrs'), !!reverseGradient);\n\n var gradDesc = new ActionDescriptor();\n gradDesc.putString(cTID('Nm '), 'Black, White');\n gradDesc.putEnumerated(cTID('GrdF'), cTID('GrdF'), cTID('CstS'));\n gradDesc.putDouble(cTID('Intr'), 4096.0);\n\n var colorList = new ActionList();\n var stopWhite = __mcp_gradientStop(0, 50);\n stopWhite.putObject(cTID('Clr '), cTID('Grsc'), __mcp_grayColor(100.0));\n stopWhite.putEnumerated(cTID('Type'), cTID('Clry'), cTID('UsrS'));\n colorList.putObject(cTID('Clrt'), stopWhite);\n var stopBlack = __mcp_gradientStop(4096, 50);\n stopBlack.putObject(cTID('Clr '), cTID('Grsc'), __mcp_grayColor(0.0));\n stopBlack.putEnumerated(cTID('Type'), cTID('Clry'), cTID('UsrS'));\n colorList.putObject(cTID('Clrt'), stopBlack);\n gradDesc.putList(cTID('Clrs'), colorList);\n\n var xferList = new ActionList();\n var xferA = __mcp_gradientStop(0, 50);\n xferA.putUnitDouble(cTID('Opct'), cTID('#Prc'), 100.0);\n xferList.putObject(cTID('TrnS'), xferA);\n var xferB = __mcp_gradientStop(4096, 50);\n xferB.putUnitDouble(cTID('Opct'), cTID('#Prc'), 100.0);\n xferList.putObject(cTID('TrnS'), xferB);\n gradDesc.putList(cTID('Trns'), xferList);\n\n args.putObject(cTID('Grad'), cTID('Grdn'), gradDesc);\n executeAction(cTID('Grdn'), args, DialogModes.NO);\n}\n\n";
21
21
  export declare function wrapInSuspendHistory(historyName: string, body: string): string;
22
+ /**
23
+ * Standalone wrapper for recipes that do NOT operate on the active document
24
+ * (e.g. batch jobs that open/close their own documents). No suspendHistory,
25
+ * no active-document precondition.
26
+ */
27
+ export declare function wrapInStandaloneScript(body: string): string;
22
28
  export declare function parseRecipeResult(raw: unknown): RecipeSuccess | RecipeFailure | null;
23
29
  export declare function toolSuccess(result: RecipeSuccess): ToolResult;
24
30
  export declare function toolFailure(result: RecipeFailure): ToolResult;
25
31
  export declare function toolException(error: unknown, code?: string): ToolResult;
26
32
  export declare function executeRecipe(connection: PhotoshopConnection, historyName: string, body: string): Promise<ToolResult>;
33
+ /** Like executeRecipe but without suspendHistory or an active-document requirement. */
34
+ export declare function executeStandaloneRecipe(connection: PhotoshopConnection, body: string): Promise<ToolResult>;
27
35
  export declare function clampInt(value: unknown, min: number, max: number, fallback: number): number;
28
36
  export { jsString } from '../../utils/js-string.js';
29
37
  export declare function gradientMaskAxisPercents(direction: GradientMaskDirection, startPct: number, endPct: 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;AAInC,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,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,GACX,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,MAAM,0BAA0B,CAAC;AAEpD,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
+ {"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;AAInC,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,GACX,OAAO,CAAC,UAAU,CAAC,CAkBrB;AAED,uFAAuF;AACvF,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,mBAAmB,EAC/B,IAAI,EAAE,MAAM,GACX,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,MAAM,0BAA0B,CAAC;AAEpD,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"}
@@ -175,6 +175,30 @@ export function wrapInSuspendHistory(historyName, body) {
175
175
  return __mcp_json_stringify(__mcp_recipe_result);
176
176
  `;
177
177
  }
178
+ /**
179
+ * Standalone wrapper for recipes that do NOT operate on the active document
180
+ * (e.g. batch jobs that open/close their own documents). No suspendHistory,
181
+ * no active-document precondition.
182
+ */
183
+ export function wrapInStandaloneScript(body) {
184
+ return `
185
+ ${RECIPE_ACTION_HELPERS}
186
+ ${EXTENDSCRIPT_JSON_HELPER}
187
+ var __mcp_recipe_result = null;
188
+ var __mcp_recipe_fn = function() {
189
+ ${body}
190
+ };
191
+ try {
192
+ __mcp_recipe_result = __mcp_recipe_fn();
193
+ } catch (eRecipe) {
194
+ __mcp_recipe_result = { ok: false, code: 'recipe_runtime_error', message: eRecipe.message || String(eRecipe) };
195
+ }
196
+ if (!__mcp_recipe_result) {
197
+ __mcp_recipe_result = { ok: false, code: 'recipe_no_result', message: 'Recipe produced no result' };
198
+ }
199
+ return __mcp_json_stringify(__mcp_recipe_result);
200
+ `;
201
+ }
178
202
  export function parseRecipeResult(raw) {
179
203
  const payload = parseExtendScriptPayload(raw);
180
204
  if (payload === null || typeof payload !== 'object')
@@ -240,6 +264,27 @@ export async function executeRecipe(connection, historyName, body) {
240
264
  return toolException(error);
241
265
  }
242
266
  }
267
+ /** Like executeRecipe but without suspendHistory or an active-document requirement. */
268
+ export async function executeStandaloneRecipe(connection, body) {
269
+ try {
270
+ const apiFactory = new PhotoshopAPIFactory(connection);
271
+ const api = await apiFactory.createAPI();
272
+ const script = wrapInStandaloneScript(body);
273
+ const raw = await api.executeScript(script);
274
+ const parsed = parseRecipeResult(raw);
275
+ if (!parsed) {
276
+ return toolFailure({
277
+ ok: false,
278
+ code: 'recipe_no_result',
279
+ message: `Recipe returned an unparseable payload: ${typeof raw === 'string' ? raw : JSON.stringify(raw)}`,
280
+ });
281
+ }
282
+ return parsed.ok ? toolSuccess(parsed) : toolFailure(parsed);
283
+ }
284
+ catch (error) {
285
+ return toolException(error);
286
+ }
287
+ }
243
288
  export function clampInt(value, min, max, fallback) {
244
289
  if (typeof value !== 'number' || !Number.isFinite(value))
245
290
  return fallback;
@@ -1 +1 @@
1
- {"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../src/tools/recipes/_shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../src/tools/recipes/_shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ToolDefinition } from '../../core/tool-registry.js';
2
+ import { PhotoshopConnection } from '../../platform/connection.js';
3
+ export declare function bindBatchWatermark(connection: PhotoshopConnection): ToolDefinition;
4
+ //# sourceMappingURL=batch-watermark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-watermark.d.ts","sourceRoot":"","sources":["../../../src/tools/recipes/batch-watermark.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAc,MAAM,6BAA6B,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAUnE,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,cAAc,CAgFlF"}