@alisaitteke/photoshop-mcp 1.3.13 → 1.5.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 (141) hide show
  1. package/README.de.md +766 -0
  2. package/README.es.md +717 -0
  3. package/README.ja.md +712 -0
  4. package/README.md +135 -40
  5. package/README.tr.md +773 -0
  6. package/README.zh-CN.md +710 -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/uxp-bridge-client.d.ts +13 -0
  27. package/dist/platform/uxp-bridge-client.d.ts.map +1 -0
  28. package/dist/platform/uxp-bridge-client.js +31 -0
  29. package/dist/platform/uxp-bridge-client.js.map +1 -0
  30. package/dist/platform/uxp-bridge-server.d.ts +16 -0
  31. package/dist/platform/uxp-bridge-server.d.ts.map +1 -0
  32. package/dist/platform/uxp-bridge-server.js +105 -0
  33. package/dist/platform/uxp-bridge-server.js.map +1 -0
  34. package/dist/prompts/instructions.d.ts.map +1 -1
  35. package/dist/prompts/instructions.js +21 -12
  36. package/dist/prompts/instructions.js.map +1 -1
  37. package/dist/prompts/registry.d.ts +2 -2
  38. package/dist/prompts/registry.d.ts.map +1 -1
  39. package/dist/prompts/registry.js +15 -0
  40. package/dist/prompts/registry.js.map +1 -1
  41. package/dist/prompts/templates/batch-watermark.d.ts +3 -0
  42. package/dist/prompts/templates/batch-watermark.d.ts.map +1 -0
  43. package/dist/prompts/templates/batch-watermark.js +67 -0
  44. package/dist/prompts/templates/batch-watermark.js.map +1 -0
  45. package/dist/prompts/templates/generative-expand.d.ts +3 -0
  46. package/dist/prompts/templates/generative-expand.d.ts.map +1 -0
  47. package/dist/prompts/templates/generative-expand.js +34 -0
  48. package/dist/prompts/templates/generative-expand.js.map +1 -0
  49. package/dist/prompts/templates/generative-fill.d.ts +3 -0
  50. package/dist/prompts/templates/generative-fill.d.ts.map +1 -0
  51. package/dist/prompts/templates/generative-fill.js +29 -0
  52. package/dist/prompts/templates/generative-fill.js.map +1 -0
  53. package/dist/prompts/templates/generative-remove.d.ts +3 -0
  54. package/dist/prompts/templates/generative-remove.d.ts.map +1 -0
  55. package/dist/prompts/templates/generative-remove.js +36 -0
  56. package/dist/prompts/templates/generative-remove.js.map +1 -0
  57. package/dist/prompts/templates/passport-photo.d.ts +3 -0
  58. package/dist/prompts/templates/passport-photo.d.ts.map +1 -0
  59. package/dist/prompts/templates/passport-photo.js +36 -0
  60. package/dist/prompts/templates/passport-photo.js.map +1 -0
  61. package/dist/prompts/templates/remove-distraction.d.ts.map +1 -1
  62. package/dist/prompts/templates/remove-distraction.js +4 -5
  63. package/dist/prompts/templates/remove-distraction.js.map +1 -1
  64. package/dist/prompts/templates/split-carousel.d.ts +3 -0
  65. package/dist/prompts/templates/split-carousel.d.ts.map +1 -0
  66. package/dist/prompts/templates/split-carousel.js +49 -0
  67. package/dist/prompts/templates/split-carousel.js.map +1 -0
  68. package/dist/tools/generative/_shared.d.ts +14 -0
  69. package/dist/tools/generative/_shared.d.ts.map +1 -0
  70. package/dist/tools/generative/_shared.js +79 -0
  71. package/dist/tools/generative/_shared.js.map +1 -0
  72. package/dist/tools/generative-tools.d.ts +8 -0
  73. package/dist/tools/generative-tools.d.ts.map +1 -0
  74. package/dist/tools/generative-tools.js +221 -0
  75. package/dist/tools/generative-tools.js.map +1 -0
  76. package/dist/tools/layer-properties-tools.d.ts.map +1 -1
  77. package/dist/tools/layer-properties-tools.js +2 -1
  78. package/dist/tools/layer-properties-tools.js.map +1 -1
  79. package/dist/tools/neural-tools.d.ts +8 -0
  80. package/dist/tools/neural-tools.d.ts.map +1 -0
  81. package/dist/tools/neural-tools.js +99 -0
  82. package/dist/tools/neural-tools.js.map +1 -0
  83. package/dist/tools/recipes/_shared.d.ts +8 -0
  84. package/dist/tools/recipes/_shared.d.ts.map +1 -1
  85. package/dist/tools/recipes/_shared.js +45 -0
  86. package/dist/tools/recipes/_shared.js.map +1 -1
  87. package/dist/tools/recipes/batch-watermark.d.ts +4 -0
  88. package/dist/tools/recipes/batch-watermark.d.ts.map +1 -0
  89. package/dist/tools/recipes/batch-watermark.js +283 -0
  90. package/dist/tools/recipes/batch-watermark.js.map +1 -0
  91. package/dist/tools/recipes/enhance-portrait.d.ts.map +1 -1
  92. package/dist/tools/recipes/enhance-portrait.js +47 -0
  93. package/dist/tools/recipes/enhance-portrait.js.map +1 -1
  94. package/dist/tools/recipes/index.d.ts +1 -1
  95. package/dist/tools/recipes/index.d.ts.map +1 -1
  96. package/dist/tools/recipes/index.js +9 -0
  97. package/dist/tools/recipes/index.js.map +1 -1
  98. package/dist/tools/recipes/passport-photo.d.ts +4 -0
  99. package/dist/tools/recipes/passport-photo.d.ts.map +1 -0
  100. package/dist/tools/recipes/passport-photo.js +202 -0
  101. package/dist/tools/recipes/passport-photo.js.map +1 -0
  102. package/dist/tools/recipes/remove-background.d.ts.map +1 -1
  103. package/dist/tools/recipes/remove-background.js +5 -0
  104. package/dist/tools/recipes/remove-background.js.map +1 -1
  105. package/dist/tools/recipes/remove-distraction.d.ts.map +1 -1
  106. package/dist/tools/recipes/remove-distraction.js +48 -8
  107. package/dist/tools/recipes/remove-distraction.js.map +1 -1
  108. package/dist/tools/recipes/sky-blend.d.ts.map +1 -1
  109. package/dist/tools/recipes/sky-blend.js +43 -1
  110. package/dist/tools/recipes/sky-blend.js.map +1 -1
  111. package/dist/tools/recipes/split-carousel.d.ts +4 -0
  112. package/dist/tools/recipes/split-carousel.d.ts.map +1 -0
  113. package/dist/tools/recipes/split-carousel.js +163 -0
  114. package/dist/tools/recipes/split-carousel.js.map +1 -0
  115. package/dist/tools/state-tools.js +2 -2
  116. package/dist/tools/state-tools.js.map +1 -1
  117. package/package.json +3 -2
  118. package/uxp-plugin/index.html +20 -0
  119. package/uxp-plugin/main.js +139 -0
  120. package/uxp-plugin/manifest.json +26 -0
  121. package/web/dist/assets/index-BN7ku4VU.css +1 -0
  122. package/web/dist/assets/index-uXgjjmy3.js +346 -0
  123. package/web/dist/index.html +2 -2
  124. package/dist/analytics/client-ip.d.ts +0 -5
  125. package/dist/analytics/client-ip.d.ts.map +0 -1
  126. package/dist/analytics/client-ip.js +0 -39
  127. package/dist/analytics/client-ip.js.map +0 -1
  128. package/dist/analytics/debug-log.d.ts +0 -3
  129. package/dist/analytics/debug-log.d.ts.map +0 -1
  130. package/dist/analytics/debug-log.js +0 -21
  131. package/dist/analytics/debug-log.js.map +0 -1
  132. package/dist/prompts/templates.d.ts +0 -8
  133. package/dist/prompts/templates.d.ts.map +0 -1
  134. package/dist/prompts/templates.js +0 -162
  135. package/dist/prompts/templates.js.map +0 -1
  136. package/dist/tools/recipe-tools.d.ts +0 -4
  137. package/dist/tools/recipe-tools.d.ts.map +0 -1
  138. package/dist/tools/recipe-tools.js +0 -265
  139. package/dist/tools/recipe-tools.js.map +0 -1
  140. package/web/dist/assets/index-BgiXf1Jy.css +0 -1
  141. package/web/dist/assets/index-DvGX0LLy.js +0 -346
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passport-photo.d.ts","sourceRoot":"","sources":["../../../src/prompts/templates/passport-photo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAI3F,eAAO,MAAM,qBAAqB,EAAE,uBAsCnC,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { argBool, argEnum, userPrompt } from '../_shared.js';
2
+ const SPECS = ['us_2x2', 'eu_35x45', 'tr_50x60'];
3
+ export const passportPhotoTemplate = {
4
+ name: 'ps.passport_photo',
5
+ description: 'Turn the active portrait into a passport/ID photo: white background, ICAO-style framing, exact official pixel size at 300 DPI, optional 10×15 cm print sheet. Users often say: passport photo, visa photo, ID photo, vesikalık, biyometrik.',
6
+ arguments: [
7
+ {
8
+ name: 'spec',
9
+ description: 'Target size: us_2x2 (US 2×2 in), eu_35x45 (EU/Schengen 35×45 mm), tr_50x60 (Türkiye 50×60 mm). Default us_2x2.',
10
+ required: false,
11
+ },
12
+ {
13
+ name: 'make_sheet',
14
+ description: 'true to also export a 10×15 cm print sheet with multiple copies. Default false.',
15
+ required: false,
16
+ },
17
+ ],
18
+ handler: (args) => {
19
+ const spec = argEnum(args, 'spec', SPECS, 'us_2x2');
20
+ const makeSheet = argBool(args, 'make_sheet', false);
21
+ const toolArgs = { spec, make_sheet: makeSheet };
22
+ const text = [
23
+ `Goal: Produce a ${spec} passport/ID photo from the active portrait.`,
24
+ ``,
25
+ `Plan:`,
26
+ `1. Call \`photoshop_get_state\` to confirm an active document with a single-person portrait.`,
27
+ `2. Call \`photoshop_recipe_passport_photo\` with ${JSON.stringify(toolArgs)}.`,
28
+ ` - The recipe duplicates the document, runs Select Subject, fills the background with white, crops around the subject (subject ≈ 72% of frame height, ~10% headroom), resizes to the exact spec at 300 DPI, and exports JPEG${makeSheet ? ' plus a 10×15 cm print sheet tiled with copies' : ''}.`,
29
+ `3. Present the output path(s). Remind the user that head-size rules are approximated from subject bounds (no face detection) and official acceptance is not guaranteed — a manual crop beforehand improves results.`,
30
+ ``,
31
+ `End state: the source document is unchanged; the passport JPEG${makeSheet ? ' and print sheet' : ''} exist under ~/.photoshop-mcp/exports[/<chat-id>].`,
32
+ ].join('\n');
33
+ return userPrompt(`Make a ${spec} passport photo from the active document.`, text);
34
+ },
35
+ };
36
+ //# sourceMappingURL=passport-photo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passport-photo.js","sourceRoot":"","sources":["../../../src/prompts/templates/passport-photo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAgC,MAAM,eAAe,CAAC;AAE3F,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAU,CAAC;AAE1D,MAAM,CAAC,MAAM,qBAAqB,GAA4B;IAC5D,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,6OAA6O;IAC/O,SAAS,EAAE;QACT;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EACT,gHAAgH;YAClH,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EACT,iFAAiF;YACnF,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAErD,MAAM,QAAQ,GAA4B,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QAE1E,MAAM,IAAI,GAAG;YACX,mBAAmB,IAAI,8CAA8C;YACrE,EAAE;YACF,OAAO;YACP,8FAA8F;YAC9F,oDAAoD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG;YAC/E,iOAAiO,SAAS,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,EAAE,GAAG;YACrS,qNAAqN;YACrN,EAAE;YACF,iEAAiE,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,oDAAoD;SACzJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO,UAAU,CAAC,UAAU,IAAI,2CAA2C,EAAE,IAAI,CAAC,CAAC;IACrF,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"remove-distraction.d.ts","sourceRoot":"","sources":["../../../src/prompts/templates/remove-distraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,yBAAyB,EAAE,uBA+BvC,CAAC"}
1
+ {"version":3,"file":"remove-distraction.d.ts","sourceRoot":"","sources":["../../../src/prompts/templates/remove-distraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,yBAAyB,EAAE,uBA8BvC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { argInt, userPrompt, } from '../_shared.js';
2
2
  export const removeDistractionTemplate = {
3
3
  name: 'ps.remove_distraction',
4
- description: 'One-shot distraction removal via content-aware fill on the current selection. Users often say: remove that person, erase distraction, content aware remove, clone out object. Generative remove is not scriptable — content-aware only.',
4
+ description: 'One-shot distraction removal: generative AI remove when available, else content-aware fill. Users often say: remove that person, erase distraction, content aware remove, clone out object.',
5
5
  arguments: [
6
6
  {
7
7
  name: 'feather_px',
@@ -17,11 +17,10 @@ export const removeDistractionTemplate = {
17
17
  `Plan:`,
18
18
  `1. Call \`photoshop_get_state\` to confirm an active document and check whether a pixel selection exists.`,
19
19
  `2. If no selection: call \`photoshop_select_rectangle\`, \`photoshop_select_subject\`, or ask the user to define the region to remove.`,
20
- `3. Call \`photoshop_recipe_remove_distraction\` with { feather_px: ${feather} }.`,
21
- ` - The recipe feathers the selection (if ${feather} > 0), runs content-aware fill, and deselects.`,
20
+ `3. Call \`photoshop_recipe_remove_distraction\` with { feather_px: ${feather} } (uses generative remove when capable).`,
21
+ ` - Fallback: content-aware fill when generative is unavailable.`,
22
22
  `4. If the result returns \`selection_required\`, go back to step 2.`,
23
- `5. Call \`photoshop_get_preview\` once. If artifacts remain, ask the user to refine manually — generative remove is not available via ExtendScript.`,
24
- `6. For generative-remove requests, explain the limitation and offer content-aware fill or manual clone/heal.`,
23
+ `5. Call \`photoshop_get_preview\` once. For best results prefer \`ps.generative_remove\` or \`photoshop_generative_remove\` when capabilities allow.`,
25
24
  ``,
26
25
  `End state: selected pixels are inpainted; selection cleared; one undo reverts the fill.`,
27
26
  ].join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"remove-distraction.js","sourceRoot":"","sources":["../../../src/prompts/templates/remove-distraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,UAAU,GAEX,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,MAAM,yBAAyB,GAA4B;IAChE,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,yOAAyO;IAC3O,SAAS,EAAE;QACT;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzE,MAAM,IAAI,GAAG;YACX,8FAA8F;YAC9F,EAAE;YACF,OAAO;YACP,2GAA2G;YAC3G,wIAAwI;YACxI,sEAAsE,OAAO,KAAK;YAClF,8CAA8C,OAAO,gDAAgD;YACrG,qEAAqE;YACrE,qJAAqJ;YACrJ,8GAA8G;YAC9G,EAAE;YACF,yFAAyF;SAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO,UAAU,CAAC,+BAA+B,OAAO,MAAM,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"remove-distraction.js","sourceRoot":"","sources":["../../../src/prompts/templates/remove-distraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,UAAU,GAEX,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,MAAM,yBAAyB,GAA4B;IAChE,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,6LAA6L;IAC/L,SAAS,EAAE;QACT;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzE,MAAM,IAAI,GAAG;YACX,8FAA8F;YAC9F,EAAE;YACF,OAAO;YACP,2GAA2G;YAC3G,wIAAwI;YACxI,sEAAsE,OAAO,2CAA2C;YACxH,mEAAmE;YACnE,qEAAqE;YACrE,sJAAsJ;YACtJ,EAAE;YACF,yFAAyF;SAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO,UAAU,CAAC,+BAA+B,OAAO,MAAM,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type PhotoshopPromptTemplate } from '../_shared.js';
2
+ export declare const splitCarouselTemplate: PhotoshopPromptTemplate;
3
+ //# sourceMappingURL=split-carousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-carousel.d.ts","sourceRoot":"","sources":["../../../src/prompts/templates/split-carousel.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,uBAAuB,EAC7B,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,qBAAqB,EAAE,uBAmDnC,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { argEnum, argInt, argString, userPrompt, } from '../_shared.js';
2
+ export const splitCarouselTemplate = {
3
+ name: 'ps.split_carousel',
4
+ description: 'Split the active wide document into N equal vertical slices exported as sequentially numbered files for a seamless Instagram/TikTok carousel. Users often say: carousel, seamless carousel, swipe, split panorama, slayt.',
5
+ arguments: [
6
+ {
7
+ name: 'slides',
8
+ description: 'Number of slides to split into (2-10).',
9
+ required: true,
10
+ },
11
+ {
12
+ name: 'size',
13
+ description: 'Optional final slide size as WxH (e.g. 1080x1350 for Instagram portrait). Omit to keep native slice dimensions.',
14
+ required: false,
15
+ },
16
+ {
17
+ name: 'format',
18
+ description: 'jpg or png. Default jpg.',
19
+ required: false,
20
+ },
21
+ ],
22
+ handler: (args) => {
23
+ const slides = Math.max(2, Math.min(10, argInt(args, 'slides', 3)));
24
+ const format = argEnum(args, 'format', ['jpg', 'png'], 'jpg');
25
+ const sizeRaw = argString(args, 'size', '');
26
+ const sizeMatch = sizeRaw.match(/(\d{2,5})\s*x\s*(\d{2,5})/i);
27
+ const toolArgs = { slides, format };
28
+ let sizeNote = 'Each slice keeps its native dimensions.';
29
+ if (sizeMatch) {
30
+ toolArgs.slide_width = Number(sizeMatch[1]);
31
+ toolArgs.slide_height = Number(sizeMatch[2]);
32
+ sizeNote = `Each slice is center-cropped/resized to ${sizeMatch[1]}×${sizeMatch[2]} px.`;
33
+ }
34
+ const text = [
35
+ `Goal: Turn the active wide document into a seamless ${slides}-slide carousel.`,
36
+ ``,
37
+ `Plan:`,
38
+ `1. Call \`photoshop_get_state\` to confirm an active document and note its dimensions (width must be >= ${slides} px).`,
39
+ `2. Call \`photoshop_recipe_split_carousel\` with ${JSON.stringify(toolArgs)}.`,
40
+ ` - The recipe duplicates the document per slide, crops slice i to [i·W/${slides}, (i+1)·W/${slides}], exports sequentially numbered files (…-01, …-02, …), and closes the duplicates.`,
41
+ ` - ${sizeNote}`,
42
+ `3. Present the output paths in slide order — that is the exact order to upload in the Instagram carousel picker.`,
43
+ ``,
44
+ `End state: the source document is unchanged; ${slides} files exist under ~/.photoshop-mcp/exports[/<chat-id>].`,
45
+ ].join('\n');
46
+ return userPrompt(`Split the active document into a ${slides}-slide seamless carousel.`, text);
47
+ },
48
+ };
49
+ //# sourceMappingURL=split-carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-carousel.js","sourceRoot":"","sources":["../../../src/prompts/templates/split-carousel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,GAEX,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,MAAM,qBAAqB,GAA4B;IAC5D,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,2NAA2N;IAC7N,SAAS,EAAE;QACT;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EACT,iHAAiH;YACnH,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAU,EAAE,KAAK,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC7D,IAAI,QAAQ,GAAG,yCAAyC,CAAC;QACzD,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,QAAQ,GAAG,2CAA2C,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3F,CAAC;QAED,MAAM,IAAI,GAAG;YACX,uDAAuD,MAAM,kBAAkB;YAC/E,EAAE;YACF,OAAO;YACP,2GAA2G,MAAM,OAAO;YACxH,oDAAoD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG;YAC/E,4EAA4E,MAAM,aAAa,MAAM,oFAAoF;YACzL,QAAQ,QAAQ,EAAE;YAClB,kHAAkH;YAClH,EAAE;YACF,gDAAgD,MAAM,0DAA0D;SACjH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO,UAAU,CAAC,oCAAoC,MAAM,2BAA2B,EAAE,IAAI,CAAC,CAAC;IACjG,CAAC;CACF,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ToolResult } from '../../core/tool-registry.js';
2
+ import { ExtendScriptSnippets } from '../../api/extendscript.js';
3
+ import type { PhotoshopConnection } from '../../platform/connection.js';
4
+ /** Generative cloud jobs may exceed the default 30s script timeout. */
5
+ export declare const GENERATIVE_SCRIPT_TIMEOUT_MS = 120000;
6
+ export declare function runGenerativeSnippet(connection: PhotoshopConnection, script: string): Promise<unknown>;
7
+ export declare function requireGenerativeCapability(connection: PhotoshopConnection, feature: 'generative_fill' | 'generative_upscale'): Promise<ToolResult | null>;
8
+ export declare function parseGenerativeResult(raw: unknown): ToolResult;
9
+ export declare function clampGenerativeScale(value: unknown): 2 | 4;
10
+ export declare const GENERATIVE_EXPAND_DIRECTIONS: readonly ["left", "right", "top", "bottom", "all"];
11
+ export type GenerativeExpandDirection = (typeof GENERATIVE_EXPAND_DIRECTIONS)[number];
12
+ export declare function normalizeExpandDirection(value: unknown): GenerativeExpandDirection;
13
+ export { ExtendScriptSnippets };
14
+ //# sourceMappingURL=_shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_shared.d.ts","sourceRoot":"","sources":["../../../src/tools/generative/_shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AASxE,uEAAuE;AACvE,eAAO,MAAM,4BAA4B,SAAU,CAAC;AAEpD,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,mBAAmB,EAC/B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAIlB;AAED,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,mBAAmB,EAC/B,OAAO,EAAE,iBAAiB,GAAG,oBAAoB,GAChD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAY5B;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CA0C9D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAG1D;AAED,eAAO,MAAM,4BAA4B,oDAM/B,CAAC;AAEX,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,yBAAyB,CAKlF;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { ExtendScriptSnippets } from '../../api/extendscript.js';
2
+ import { getPhotoshopCapabilities } from '../../platform/capabilities.js';
3
+ import { PhotoshopAPIFactory } from '../../api/photoshop-api.js';
4
+ import { atomicFailure, atomicFailureFromError, atomicSuccess, parseSnippetResult, } from '../atomic-shared.js';
5
+ /** Generative cloud jobs may exceed the default 30s script timeout. */
6
+ export const GENERATIVE_SCRIPT_TIMEOUT_MS = 120_000;
7
+ export async function runGenerativeSnippet(connection, script) {
8
+ const apiFactory = new PhotoshopAPIFactory(connection);
9
+ const api = await apiFactory.createAPI();
10
+ return api.executeScript(script, GENERATIVE_SCRIPT_TIMEOUT_MS);
11
+ }
12
+ export async function requireGenerativeCapability(connection, feature) {
13
+ const version = await connection.getVersion();
14
+ const caps = getPhotoshopCapabilities(version);
15
+ if (!caps.features[feature]) {
16
+ return atomicFailure({
17
+ ok: false,
18
+ code: 'version_unsupported',
19
+ message: `Photoshop ${version} does not expose ${feature}`,
20
+ suggested_next_tool: 'photoshop_get_capabilities',
21
+ });
22
+ }
23
+ return null;
24
+ }
25
+ export function parseGenerativeResult(raw) {
26
+ const parsed = parseSnippetResult(raw);
27
+ if (!parsed) {
28
+ return atomicFailureFromError(new Error(`Unparseable generative result: ${String(raw)}`));
29
+ }
30
+ if (parsed.ok === false) {
31
+ const rawCode = typeof parsed.code === 'string' ? parsed.code : 'generative_unavailable';
32
+ const allowed = [
33
+ 'generative_credits_exhausted',
34
+ 'generative_no_selection',
35
+ 'generative_timeout',
36
+ 'generative_unavailable',
37
+ 'version_unsupported',
38
+ ];
39
+ const code = allowed.includes(rawCode)
40
+ ? rawCode
41
+ : 'generative_unavailable';
42
+ const message = typeof parsed.message === 'string' ? parsed.message : 'Generative action failed';
43
+ return atomicFailure({
44
+ ok: false,
45
+ code,
46
+ message,
47
+ suggested_next_tool: code === 'generative_no_selection'
48
+ ? 'photoshop_select_rectangle'
49
+ : 'photoshop_get_capabilities',
50
+ });
51
+ }
52
+ const summary = typeof parsed.summary === 'string' ? parsed.summary : 'Generative action completed';
53
+ const nextTool = typeof parsed.next_suggested_tool === 'string'
54
+ ? parsed.next_suggested_tool
55
+ : 'photoshop_get_preview';
56
+ const details = parsed.details && typeof parsed.details === 'object' && !Array.isArray(parsed.details)
57
+ ? parsed.details
58
+ : undefined;
59
+ return atomicSuccess(summary, details, nextTool);
60
+ }
61
+ export function clampGenerativeScale(value) {
62
+ const n = typeof value === 'number' ? value : Number(value);
63
+ return n >= 4 ? 4 : 2;
64
+ }
65
+ export const GENERATIVE_EXPAND_DIRECTIONS = [
66
+ 'left',
67
+ 'right',
68
+ 'top',
69
+ 'bottom',
70
+ 'all',
71
+ ];
72
+ export function normalizeExpandDirection(value) {
73
+ const raw = typeof value === 'string' ? value.trim().toLowerCase() : 'all';
74
+ return GENERATIVE_EXPAND_DIRECTIONS.includes(raw)
75
+ ? raw
76
+ : 'all';
77
+ }
78
+ export { ExtendScriptSnippets };
79
+ //# sourceMappingURL=_shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../src/tools/generative/_shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Firefly generative MCP tools (ExtendScript lane).
3
+ * See docs/plans/2026-07-03-1149-photoshop-ai-features/pai-phase-2.0-generative-core.md.
4
+ */
5
+ import type { ToolDefinition } from '../core/tool-registry.js';
6
+ import type { PhotoshopConnection } from '../platform/connection.js';
7
+ export declare function createGenerativeTools(connection: PhotoshopConnection): ToolDefinition[];
8
+ //# sourceMappingURL=generative-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generative-tools.d.ts","sourceRoot":"","sources":["../../src/tools/generative-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAgBrE,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,mBAAmB,GAAG,cAAc,EAAE,CAkJvF"}
@@ -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"}