illustrator-mcp-server 1.3.2 → 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 (194) hide show
  1. package/README.de.md +539 -0
  2. package/README.es.md +539 -0
  3. package/README.fr.md +539 -0
  4. package/README.ja.md +120 -10
  5. package/README.ko.md +539 -0
  6. package/README.md +119 -10
  7. package/README.pt-BR.md +539 -0
  8. package/README.zh-CN.md +539 -0
  9. package/dist/bundle.cjs +621 -328
  10. package/dist/executor/file-transport.d.ts.map +1 -1
  11. package/dist/executor/file-transport.js +11 -1
  12. package/dist/executor/file-transport.js.map +1 -1
  13. package/dist/jsx/helpers/common.jsx +63 -6
  14. package/dist/tools/export/export-pdf.d.ts.map +1 -1
  15. package/dist/tools/export/export-pdf.js +2 -1
  16. package/dist/tools/export/export-pdf.js.map +1 -1
  17. package/dist/tools/export/export.d.ts.map +1 -1
  18. package/dist/tools/export/export.js +54 -3
  19. package/dist/tools/export/export.js.map +1 -1
  20. package/dist/tools/modify/align-objects.d.ts.map +1 -1
  21. package/dist/tools/modify/align-objects.js +4 -5
  22. package/dist/tools/modify/align-objects.js.map +1 -1
  23. package/dist/tools/modify/apply-color-profile.d.ts.map +1 -1
  24. package/dist/tools/modify/apply-color-profile.js +2 -1
  25. package/dist/tools/modify/apply-color-profile.js.map +1 -1
  26. package/dist/tools/modify/apply-graphic-style.d.ts.map +1 -1
  27. package/dist/tools/modify/apply-graphic-style.js +3 -2
  28. package/dist/tools/modify/apply-graphic-style.js.map +1 -1
  29. package/dist/tools/modify/apply-text-style.d.ts.map +1 -1
  30. package/dist/tools/modify/apply-text-style.js +3 -2
  31. package/dist/tools/modify/apply-text-style.js.map +1 -1
  32. package/dist/tools/modify/close-document.d.ts.map +1 -1
  33. package/dist/tools/modify/close-document.js +2 -1
  34. package/dist/tools/modify/close-document.js.map +1 -1
  35. package/dist/tools/modify/convert-to-outlines.d.ts.map +1 -1
  36. package/dist/tools/modify/convert-to-outlines.js +2 -1
  37. package/dist/tools/modify/convert-to-outlines.js.map +1 -1
  38. package/dist/tools/modify/create-crop-marks.d.ts.map +1 -1
  39. package/dist/tools/modify/create-crop-marks.js +34 -3
  40. package/dist/tools/modify/create-crop-marks.js.map +1 -1
  41. package/dist/tools/modify/create-document.d.ts.map +1 -1
  42. package/dist/tools/modify/create-document.js +2 -1
  43. package/dist/tools/modify/create-document.js.map +1 -1
  44. package/dist/tools/modify/create-ellipse.js +1 -1
  45. package/dist/tools/modify/create-gradient.d.ts.map +1 -1
  46. package/dist/tools/modify/create-gradient.js +2 -1
  47. package/dist/tools/modify/create-gradient.js.map +1 -1
  48. package/dist/tools/modify/create-line.js +1 -1
  49. package/dist/tools/modify/create-path-text.d.ts.map +1 -1
  50. package/dist/tools/modify/create-path-text.js +2 -1
  51. package/dist/tools/modify/create-path-text.js.map +1 -1
  52. package/dist/tools/modify/create-path.js +1 -1
  53. package/dist/tools/modify/create-rectangle.js +1 -1
  54. package/dist/tools/modify/create-text-frame.d.ts.map +1 -1
  55. package/dist/tools/modify/create-text-frame.js +4 -6
  56. package/dist/tools/modify/create-text-frame.js.map +1 -1
  57. package/dist/tools/modify/duplicate-objects.d.ts.map +1 -1
  58. package/dist/tools/modify/duplicate-objects.js +17 -3
  59. package/dist/tools/modify/duplicate-objects.js.map +1 -1
  60. package/dist/tools/modify/group-objects.d.ts.map +1 -1
  61. package/dist/tools/modify/group-objects.js +2 -1
  62. package/dist/tools/modify/group-objects.js.map +1 -1
  63. package/dist/tools/modify/import-svg-as-editable.d.ts +3 -0
  64. package/dist/tools/modify/import-svg-as-editable.d.ts.map +1 -0
  65. package/dist/tools/modify/import-svg-as-editable.js +247 -0
  66. package/dist/tools/modify/import-svg-as-editable.js.map +1 -0
  67. package/dist/tools/modify/manage-artboards.d.ts.map +1 -1
  68. package/dist/tools/modify/manage-artboards.js +9 -2
  69. package/dist/tools/modify/manage-artboards.js.map +1 -1
  70. package/dist/tools/modify/manage-datasets.d.ts.map +1 -1
  71. package/dist/tools/modify/manage-datasets.js +2 -1
  72. package/dist/tools/modify/manage-datasets.js.map +1 -1
  73. package/dist/tools/modify/manage-layers.d.ts.map +1 -1
  74. package/dist/tools/modify/manage-layers.js +2 -1
  75. package/dist/tools/modify/manage-layers.js.map +1 -1
  76. package/dist/tools/modify/manage-linked-images.d.ts.map +1 -1
  77. package/dist/tools/modify/manage-linked-images.js +2 -1
  78. package/dist/tools/modify/manage-linked-images.js.map +1 -1
  79. package/dist/tools/modify/manage-swatches.d.ts.map +1 -1
  80. package/dist/tools/modify/manage-swatches.js +2 -1
  81. package/dist/tools/modify/manage-swatches.js.map +1 -1
  82. package/dist/tools/modify/modify-object.d.ts.map +1 -1
  83. package/dist/tools/modify/modify-object.js +22 -17
  84. package/dist/tools/modify/modify-object.js.map +1 -1
  85. package/dist/tools/modify/move-to-layer.d.ts.map +1 -1
  86. package/dist/tools/modify/move-to-layer.js +2 -1
  87. package/dist/tools/modify/move-to-layer.js.map +1 -1
  88. package/dist/tools/modify/open-document.d.ts.map +1 -1
  89. package/dist/tools/modify/open-document.js +2 -1
  90. package/dist/tools/modify/open-document.js.map +1 -1
  91. package/dist/tools/modify/place-color-chips.d.ts.map +1 -1
  92. package/dist/tools/modify/place-color-chips.js +4 -5
  93. package/dist/tools/modify/place-color-chips.js.map +1 -1
  94. package/dist/tools/modify/place-image.d.ts.map +1 -1
  95. package/dist/tools/modify/place-image.js +22 -8
  96. package/dist/tools/modify/place-image.js.map +1 -1
  97. package/dist/tools/modify/place-style-guide.d.ts.map +1 -1
  98. package/dist/tools/modify/place-style-guide.js +4 -5
  99. package/dist/tools/modify/place-style-guide.js.map +1 -1
  100. package/dist/tools/modify/place-symbol.d.ts.map +1 -1
  101. package/dist/tools/modify/place-symbol.js +2 -1
  102. package/dist/tools/modify/place-symbol.js.map +1 -1
  103. package/dist/tools/modify/replace-color.d.ts.map +1 -1
  104. package/dist/tools/modify/replace-color.js +2 -1
  105. package/dist/tools/modify/replace-color.js.map +1 -1
  106. package/dist/tools/modify/resize-for-variation.d.ts.map +1 -1
  107. package/dist/tools/modify/resize-for-variation.js +4 -5
  108. package/dist/tools/modify/resize-for-variation.js.map +1 -1
  109. package/dist/tools/modify/save-document.d.ts.map +1 -1
  110. package/dist/tools/modify/save-document.js +2 -1
  111. package/dist/tools/modify/save-document.js.map +1 -1
  112. package/dist/tools/modify/select-objects.d.ts.map +1 -1
  113. package/dist/tools/modify/select-objects.js +2 -1
  114. package/dist/tools/modify/select-objects.js.map +1 -1
  115. package/dist/tools/modify/set-z-order.d.ts.map +1 -1
  116. package/dist/tools/modify/set-z-order.js +2 -1
  117. package/dist/tools/modify/set-z-order.js.map +1 -1
  118. package/dist/tools/modify/undo.d.ts.map +1 -1
  119. package/dist/tools/modify/undo.js +2 -1
  120. package/dist/tools/modify/undo.js.map +1 -1
  121. package/dist/tools/modify/ungroup-objects.d.ts.map +1 -1
  122. package/dist/tools/modify/ungroup-objects.js +2 -1
  123. package/dist/tools/modify/ungroup-objects.js.map +1 -1
  124. package/dist/tools/read/check-contrast.d.ts.map +1 -1
  125. package/dist/tools/read/check-contrast.js +14 -27
  126. package/dist/tools/read/check-contrast.js.map +1 -1
  127. package/dist/tools/read/convert-coordinate.d.ts.map +1 -1
  128. package/dist/tools/read/convert-coordinate.js +2 -1
  129. package/dist/tools/read/convert-coordinate.js.map +1 -1
  130. package/dist/tools/read/extract-design-tokens.d.ts.map +1 -1
  131. package/dist/tools/read/extract-design-tokens.js +2 -1
  132. package/dist/tools/read/extract-design-tokens.js.map +1 -1
  133. package/dist/tools/read/find-objects.d.ts.map +1 -1
  134. package/dist/tools/read/find-objects.js +3 -7
  135. package/dist/tools/read/find-objects.js.map +1 -1
  136. package/dist/tools/read/get-artboards.js +1 -1
  137. package/dist/tools/read/get-colors.d.ts.map +1 -1
  138. package/dist/tools/read/get-colors.js +2 -1
  139. package/dist/tools/read/get-colors.js.map +1 -1
  140. package/dist/tools/read/get-document-info.d.ts.map +1 -1
  141. package/dist/tools/read/get-document-info.js +2 -3
  142. package/dist/tools/read/get-document-info.js.map +1 -1
  143. package/dist/tools/read/get-document-structure.d.ts.map +1 -1
  144. package/dist/tools/read/get-document-structure.js +3 -7
  145. package/dist/tools/read/get-document-structure.js.map +1 -1
  146. package/dist/tools/read/get-effects.d.ts.map +1 -1
  147. package/dist/tools/read/get-effects.js +3 -7
  148. package/dist/tools/read/get-effects.js.map +1 -1
  149. package/dist/tools/read/get-groups.d.ts.map +1 -1
  150. package/dist/tools/read/get-groups.js +3 -7
  151. package/dist/tools/read/get-groups.js.map +1 -1
  152. package/dist/tools/read/get-guidelines.d.ts.map +1 -1
  153. package/dist/tools/read/get-guidelines.js +3 -7
  154. package/dist/tools/read/get-guidelines.js.map +1 -1
  155. package/dist/tools/read/get-images.d.ts.map +1 -1
  156. package/dist/tools/read/get-images.js +40 -13
  157. package/dist/tools/read/get-images.js.map +1 -1
  158. package/dist/tools/read/get-layers.js +1 -1
  159. package/dist/tools/read/get-overprint-info.d.ts.map +1 -1
  160. package/dist/tools/read/get-overprint-info.js +2 -3
  161. package/dist/tools/read/get-overprint-info.js.map +1 -1
  162. package/dist/tools/read/get-path-items.d.ts.map +1 -1
  163. package/dist/tools/read/get-path-items.js +11 -9
  164. package/dist/tools/read/get-path-items.js.map +1 -1
  165. package/dist/tools/read/get-separation-info.d.ts.map +1 -1
  166. package/dist/tools/read/get-separation-info.js +2 -3
  167. package/dist/tools/read/get-separation-info.js.map +1 -1
  168. package/dist/tools/read/get-symbols.d.ts.map +1 -1
  169. package/dist/tools/read/get-symbols.js +3 -7
  170. package/dist/tools/read/get-symbols.js.map +1 -1
  171. package/dist/tools/read/get-text-frame-detail.d.ts.map +1 -1
  172. package/dist/tools/read/get-text-frame-detail.js +2 -1
  173. package/dist/tools/read/get-text-frame-detail.js.map +1 -1
  174. package/dist/tools/read/list-fonts.d.ts.map +1 -1
  175. package/dist/tools/read/list-fonts.js +2 -1
  176. package/dist/tools/read/list-fonts.js.map +1 -1
  177. package/dist/tools/read/list-text-frames.d.ts.map +1 -1
  178. package/dist/tools/read/list-text-frames.js +3 -5
  179. package/dist/tools/read/list-text-frames.js.map +1 -1
  180. package/dist/tools/registry.d.ts.map +1 -1
  181. package/dist/tools/registry.js +2 -0
  182. package/dist/tools/registry.js.map +1 -1
  183. package/dist/tools/session.d.ts.map +1 -1
  184. package/dist/tools/session.js +5 -1
  185. package/dist/tools/session.js.map +1 -1
  186. package/dist/tools/utility/check-text-consistency.d.ts.map +1 -1
  187. package/dist/tools/utility/check-text-consistency.js +14 -20
  188. package/dist/tools/utility/check-text-consistency.js.map +1 -1
  189. package/dist/tools/utility/preflight-check.d.ts.map +1 -1
  190. package/dist/tools/utility/preflight-check.js +48 -20
  191. package/dist/tools/utility/preflight-check.js.map +1 -1
  192. package/dist/tools/utility/set-workflow.js +1 -1
  193. package/dist/tools/utility/set-workflow.js.map +1 -1
  194. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"create-document.js","sourceRoot":"","sources":["../../../src/tools/modify/create-document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Bf,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,kHAAkH;QACpH,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CAAC,uDAAuD,CAAC;YACpE,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CAAC,yDAAyD,CAAC;YACtE,UAAU,EAAE,CAAC;iBACV,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iBACrB,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,2BAA2B,CAAC;SACzC;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,yBAAyB,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create-document.js","sourceRoot":"","sources":["../../../src/tools/modify/create-document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Bf,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,kHAAkH;QACpH,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CAAC,uDAAuD,CAAC;YACpE,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CAAC,yDAAyD,CAAC;YACtE,UAAU,EAAE,CAAC;iBACV,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iBACrB,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,2BAA2B,CAAC;SACzC;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,yBAAyB,EAAE,CAAC;QAC5B,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -39,7 +39,7 @@ if (preflight) {
39
39
  }
40
40
 
41
41
  var uuid = ensureUUID(ellipse);
42
- writeResultFile(RESULT_PATH, { uuid: uuid, verified: verifyItem(ellipse, coordSystem, abRect) });
42
+ writeResultFile(RESULT_PATH, { uuid: uuid, coordinateSystem: coordSystem, verified: verifyItem(ellipse, coordSystem, abRect) });
43
43
  } catch (e) {
44
44
  writeResultFile(RESULT_PATH, { error: true, message: "Failed to create ellipse: " + e.message, line: e.line });
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-gradient.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/create-gradient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwFpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwChD"}
1
+ {"version":3,"file":"create-gradient.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/create-gradient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyFpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwChD"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { executeJsx } from '../../executor/jsx-runner.js';
3
+ import { formatToolResult } from '../tool-executor.js';
3
4
  import { WRITE_ANNOTATIONS, COLOR_HELPERS_JSX, cmykColorSchema, rgbColorSchema, grayColorSchema } from './shared.js';
4
5
  /**
5
6
  * create_gradient — グラデーション作成・オブジェクトへの適用
@@ -113,7 +114,7 @@ export function register(server) {
113
114
  annotations: WRITE_ANNOTATIONS,
114
115
  }, async (params) => {
115
116
  const result = await executeJsx(jsxCode, params, { activate: true });
116
- return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
117
+ return formatToolResult(result);
117
118
  });
118
119
  }
119
120
  //# sourceMappingURL=create-gradient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-gradient.js","sourceRoot":"","sources":["../../../src/tools/modify/create-gradient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,GAAG;EACd,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DlB,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;AAEzG,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,qJAAqJ;QACvJ,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC1C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC/D,KAAK,EAAE,CAAC;iBACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;gBACzE,SAAS,EAAE,CAAC;qBACT,MAAM,EAAE;qBACR,GAAG,CAAC,EAAE,CAAC;qBACP,GAAG,CAAC,EAAE,CAAC;qBACP,QAAQ,EAAE;qBACV,OAAO,CAAC,EAAE,CAAC;qBACX,QAAQ,CAAC,6CAA6C,CAAC;gBAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;aAC5D,CAAC,CACH;iBACA,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,4BAA4B,CAAC;YACzC,cAAc,EAAE,CAAC;iBACd,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6GAA6G,CAAC;SAChK;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create-gradient.js","sourceRoot":"","sources":["../../../src/tools/modify/create-gradient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,GAAG;EACd,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DlB,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;AAEzG,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,qJAAqJ;QACvJ,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC1C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC/D,KAAK,EAAE,CAAC;iBACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;gBACzE,SAAS,EAAE,CAAC;qBACT,MAAM,EAAE;qBACR,GAAG,CAAC,EAAE,CAAC;qBACP,GAAG,CAAC,EAAE,CAAC;qBACP,QAAQ,EAAE;qBACV,OAAO,CAAC,EAAE,CAAC;qBACX,QAAQ,CAAC,6CAA6C,CAAC;gBAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;aAC5D,CAAC,CACH;iBACA,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,4BAA4B,CAAC;YACzC,cAAc,EAAE,CAAC;iBACd,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6GAA6G,CAAC;SAChK;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -54,7 +54,7 @@ if (preflight) {
54
54
  }
55
55
 
56
56
  var uuid = ensureUUID(line);
57
- writeResultFile(RESULT_PATH, { uuid: uuid, verified: verifyItem(line, coordSystem, abRect) });
57
+ writeResultFile(RESULT_PATH, { uuid: uuid, coordinateSystem: coordSystem, verified: verifyItem(line, coordSystem, abRect) });
58
58
  } catch (e) {
59
59
  writeResultFile(RESULT_PATH, { error: true, message: "Failed to create line: " + e.message, line: e.line });
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-path-text.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/create-path-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkEpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2BhD"}
1
+ {"version":3,"file":"create-path-text.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/create-path-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmEpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2BhD"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { executeJsx } from '../../executor/jsx-runner.js';
3
+ import { formatToolResult } from '../tool-executor.js';
3
4
  import { FONT_HELPERS_JSX, WRITE_ANNOTATIONS } from './shared.js';
4
5
  /**
5
6
  * create_path_text — パスに沿ったテキスト作成
@@ -79,7 +80,7 @@ export function register(server) {
79
80
  annotations: WRITE_ANNOTATIONS,
80
81
  }, async (params) => {
81
82
  const result = await executeJsx(jsxCode, params, { activate: true });
82
- return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
83
+ return formatToolResult(result);
83
84
  });
84
85
  }
85
86
  //# sourceMappingURL=create-path-text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-path-text.js","sourceRoot":"","sources":["../../../src/tools/modify/create-path-text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,OAAO,GAAG;;;;;;;;MAQV,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CrB,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,4HAA4H;QAC9H,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACtE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC9C,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,yFAAyF,CAC1F;YACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC3D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;SACpD;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create-path-text.js","sourceRoot":"","sources":["../../../src/tools/modify/create-path-text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,OAAO,GAAG;;;;;;;;MAQV,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CrB,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,4HAA4H;QAC9H,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACtE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC9C,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,yFAAyF,CAC1F;YACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC3D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;SACpD;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -70,7 +70,7 @@ if (preflight) {
70
70
  }
71
71
 
72
72
  var uuid = ensureUUID(path);
73
- writeResultFile(RESULT_PATH, { uuid: uuid, verified: verifyItem(path, coordSystem, abRect) });
73
+ writeResultFile(RESULT_PATH, { uuid: uuid, coordinateSystem: coordSystem, verified: verifyItem(path, coordSystem, abRect) });
74
74
  } catch (e) {
75
75
  writeResultFile(RESULT_PATH, { error: true, message: "Failed to create path: " + e.message, line: e.line });
76
76
  }
@@ -46,7 +46,7 @@ if (preflight) {
46
46
  }
47
47
 
48
48
  var uuid = ensureUUID(rect);
49
- writeResultFile(RESULT_PATH, { uuid: uuid, verified: verifyItem(rect, coordSystem, abRect) });
49
+ writeResultFile(RESULT_PATH, { uuid: uuid, coordinateSystem: coordSystem, verified: verifyItem(rect, coordSystem, abRect) });
50
50
  } catch (e) {
51
51
  writeResultFile(RESULT_PATH, { error: true, message: "Failed to create rectangle: " + e.message, line: e.line });
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-text-frame.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/create-text-frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmGpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgChD"}
1
+ {"version":3,"file":"create-text-frame.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/create-text-frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgGpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8BhD"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { executeJsx } from '../../executor/jsx-runner.js';
3
- import { coordinateSystemSchema, resolveCoordinateSystem, } from '../session.js';
2
+ import { executeToolJsx } from '../tool-executor.js';
3
+ import { coordinateSystemSchema } from '../session.js';
4
4
  import { colorSchema, COLOR_HELPERS_JSX, FONT_HELPERS_JSX, WRITE_ANNOTATIONS } from './shared.js';
5
5
  /**
6
6
  * create_text_frame — テキストフレームの作成(ポイント/エリア)
@@ -80,7 +80,7 @@ if (preflight) {
80
80
  }
81
81
 
82
82
  var uuid = ensureUUID(tf);
83
- var resultData = { uuid: uuid, verified: verifyItem(tf, coordSystem, abRect) };
83
+ var resultData = { uuid: uuid, coordinateSystem: coordSystem, verified: verifyItem(tf, coordSystem, abRect) };
84
84
  if (fontCandidates !== null) {
85
85
  resultData.font_warning = "Font '" + params.font_name + "' not found. Text frame created with default font.";
86
86
  resultData.font_candidates = fontCandidates;
@@ -115,9 +115,7 @@ export function register(server) {
115
115
  },
116
116
  annotations: WRITE_ANNOTATIONS,
117
117
  }, async (params) => {
118
- const resolvedParams = { ...params, coordinate_system: await resolveCoordinateSystem(params.coordinate_system) };
119
- const result = await executeJsx(jsxCode, resolvedParams, { activate: true });
120
- return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
118
+ return executeToolJsx(jsxCode, params, { activate: true, resolveCoordinate: true });
121
119
  });
122
120
  }
123
121
  //# sourceMappingURL=create-text-frame.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-text-frame.js","sourceRoot":"","sources":["../../../src/tools/modify/create-text-frame.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAElG;;;;GAIG;AACH,MAAM,OAAO,GAAG;;;;;;;;;MASV,iBAAiB;MACjB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyErB,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,oGAAoG;QACjH,WAAW,EAAE;YACX,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACtC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yFAAyF,CAAC;YACxH,IAAI,EAAE,CAAC;iBACJ,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;iBACvB,QAAQ,EAAE;iBACV,OAAO,CAAC,OAAO,CAAC;iBAChB,QAAQ,CAAC,iCAAiC,CAAC;YAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACxD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sGAAsG,CAAC;YACjJ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC3D,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;YACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YACnD,iBAAiB,EAAE,sBAAsB;SAC1C;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACjH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create-text-frame.js","sourceRoot":"","sources":["../../../src/tools/modify/create-text-frame.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAElG;;;;GAIG;AACH,MAAM,OAAO,GAAG;;;;;;;;;MASV,iBAAiB;MACjB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyErB,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,oGAAoG;QACjH,WAAW,EAAE;YACX,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACtC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yFAAyF,CAAC;YACxH,IAAI,EAAE,CAAC;iBACJ,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;iBACvB,QAAQ,EAAE;iBACV,OAAO,CAAC,OAAO,CAAC;iBAChB,QAAQ,CAAC,iCAAiC,CAAC;YAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACxD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sGAAsG,CAAC;YACjJ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC3D,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;YACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YACnD,iBAAiB,EAAE,sBAAsB;SAC1C;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,OAAO,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-objects.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/duplicate-objects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6EpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0BhD"}
1
+ {"version":3,"file":"duplicate-objects.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/duplicate-objects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2FpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0BhD"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { executeJsx } from '../../executor/jsx-runner.js';
3
+ import { formatToolResult } from '../tool-executor.js';
3
4
  import { coordinateSystemSchema } from '../session.js';
4
5
  import { WRITE_ANNOTATIONS } from './shared.js';
5
6
  /**
@@ -57,8 +58,21 @@ if (preflight) {
57
58
  }
58
59
  }
59
60
 
60
- var uuid = ensureUUID(dup);
61
- results.push({ sourceUuid: params.uuids[i], newUuid: uuid, verified: verifyItem(dup) });
61
+ // 複製は元オブジェクトの note(UUID含む)を継承するため、新しいUUIDを強制割り当て
62
+ var newUuid = generateUUID();
63
+ try {
64
+ var dupNote = dup.note || "";
65
+ var oldUuid = extractUUIDFromNote(dupNote);
66
+ if (oldUuid) {
67
+ // UUID部分だけ置換し、メタデータ(::key=value)は保持
68
+ dup.note = newUuid + dupNote.substring(36);
69
+ } else {
70
+ dup.note = newUuid;
71
+ }
72
+ } catch(e) {
73
+ // note 書き込み不可の場合はそのまま
74
+ }
75
+ results.push({ sourceUuid: params.uuids[i], newUuid: newUuid, verified: verifyItem(dup) });
62
76
  }
63
77
 
64
78
  writeResultFile(RESULT_PATH, {
@@ -91,7 +105,7 @@ export function register(server) {
91
105
  annotations: WRITE_ANNOTATIONS,
92
106
  }, async (params) => {
93
107
  const result = await executeJsx(jsxCode, params, { activate: true });
94
- return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
108
+ return formatToolResult(result);
95
109
  });
96
110
  }
97
111
  //# sourceMappingURL=duplicate-objects.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-objects.js","sourceRoot":"","sources":["../../../src/tools/modify/duplicate-objects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Df,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,gJAAgJ;QAClJ,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC3E,MAAM,EAAE,CAAC;iBACN,MAAM,CAAC;gBACN,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;gBAChD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;aACjD,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,+BAA+B,CAAC;YAC5C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACjF,iBAAiB,EAAE,sBAAsB;SAC1C;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"duplicate-objects.js","sourceRoot":"","sources":["../../../src/tools/modify/duplicate-objects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEf,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,gJAAgJ;QAClJ,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC3E,MAAM,EAAE,CAAC;iBACN,MAAM,CAAC;gBACN,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;gBAChD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;aACjD,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,+BAA+B,CAAC;YAC5C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACjF,iBAAiB,EAAE,sBAAsB;SAC1C;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"group-objects.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/group-objects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgEpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsBhD"}
1
+ {"version":3,"file":"group-objects.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/group-objects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiEpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsBhD"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { executeJsx } from '../../executor/jsx-runner.js';
3
+ import { formatToolResult } from '../tool-executor.js';
3
4
  import { WRITE_ANNOTATIONS, coerceBoolean } from './shared.js';
4
5
  /**
5
6
  * group_objects — 複数オブジェクトをグループ化
@@ -74,7 +75,7 @@ export function register(server) {
74
75
  annotations: WRITE_ANNOTATIONS,
75
76
  }, async (params) => {
76
77
  const result = await executeJsx(jsxCode, params, { activate: true });
77
- return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
78
+ return formatToolResult(result);
78
79
  });
79
80
  }
80
81
  //# sourceMappingURL=group-objects.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"group-objects.js","sourceRoot":"","sources":["../../../src/tools/modify/group-objects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D;;;;;;;;;GASG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Cf,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,kNAAkN;QACpN,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kFAAkF,CAAC;YAC9H,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC9D,OAAO,EAAE,aAAa;iBACnB,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,6IAA6I,CAAC;SAC3J;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"group-objects.js","sourceRoot":"","sources":["../../../src/tools/modify/group-objects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D;;;;;;;;;GASG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Cf,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,kNAAkN;QACpN,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kFAAkF,CAAC;YAC9H,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC9D,OAAO,EAAE,aAAa;iBACnB,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,6IAA6I,CAAC;SAC3J;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=import-svg-as-editable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-svg-as-editable.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/import-svg-as-editable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA8MpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+ChD"}
@@ -0,0 +1,247 @@
1
+ import { z } from 'zod';
2
+ import { executeToolJsx } from '../tool-executor.js';
3
+ import { coordinateSystemSchema } from '../session.js';
4
+ import { WRITE_ANNOTATIONS } from './shared.js';
5
+ /**
6
+ * import_svg_as_editable — SVG を編集可能な Illustrator オブジェクトとしてインポート
7
+ *
8
+ * @see https://ai-scripting.docsforadobe.dev/jsobjref/Application/ — Application.open()
9
+ * @see https://ai-scripting.docsforadobe.dev/jsobjref/PageItem/ — PageItem.duplicate()
10
+ *
11
+ * 内部フロー:
12
+ * 1. SVG を一時ドキュメントとして app.open() で開く
13
+ * 2. その全 pageItems を、元の対象ドキュメントの指定レイヤーに duplicate
14
+ * (PageItem.duplicate は relativeObject 引数で別ドキュメントへの複製が可能)
15
+ * 3. 一時ドキュメントを保存せずに閉じ、アクティブを元のドキュメントに復元
16
+ * 4. 必要なら複製群をグループ化 / 指定位置に移動 / アートボードへフィット
17
+ *
18
+ * place_image (PlacedItems.add) は SVG をリンクとして取り込み、編集できない上に
19
+ * 失敗時に壊れたリンクが残るため、本ツールで明示的なルートを用意する。
20
+ */
21
+ const jsxCode = `
22
+ var srcDoc = null;
23
+ var targetDocRef = null;
24
+ var preflight = preflightChecks();
25
+ if (preflight) {
26
+ writeResultFile(RESULT_PATH, preflight);
27
+ } else {
28
+ try {
29
+ var params = readParamsFile(PARAMS_PATH);
30
+ var coordSystem = params.coordinate_system || "artboard-web";
31
+
32
+ var svgPath = params.file_path;
33
+ if (!/\\.svgz?$/i.test(svgPath)) {
34
+ writeResultFile(RESULT_PATH, { error: true, message: "import_svg_as_editable expects an .svg or .svgz file. Got: " + svgPath });
35
+ } else {
36
+ var svgFile = new File(svgPath);
37
+ if (!svgFile.exists) {
38
+ writeResultFile(RESULT_PATH, { error: true, message: "SVG file not found: " + svgPath });
39
+ } else {
40
+ targetDocRef = app.activeDocument;
41
+ var abRect = (coordSystem === "artboard-web") ? getActiveArtboardRect() : null;
42
+
43
+ try {
44
+ srcDoc = app.open(svgFile);
45
+ } catch (openErr) {
46
+ writeResultFile(RESULT_PATH, { error: true, message: "Failed to open SVG: " + openErr.message });
47
+ srcDoc = null;
48
+ }
49
+
50
+ if (srcDoc) {
51
+ // 複製中にコレクションが変動するため事前にスナップショット
52
+ var sourceItems = [];
53
+ for (var i = 0; i < srcDoc.pageItems.length; i++) {
54
+ sourceItems.push(srcDoc.pageItems[i]);
55
+ }
56
+
57
+ if (sourceItems.length === 0) {
58
+ try { srcDoc.close(SaveOptions.DONOTSAVECHANGES); } catch (e) {}
59
+ srcDoc = null;
60
+ app.activeDocument = targetDocRef;
61
+ writeResultFile(RESULT_PATH, { error: true, message: "SVG contains no importable items" });
62
+ } else {
63
+ var targetLayer = resolveTargetLayer(targetDocRef, params.layer_name);
64
+ var duplicated = [];
65
+ var dupErrors = [];
66
+ for (var j = 0; j < sourceItems.length; j++) {
67
+ try {
68
+ duplicated.push(sourceItems[j].duplicate(targetLayer, ElementPlacement.PLACEATEND));
69
+ } catch (dupErr) {
70
+ dupErrors.push({ index: j, message: dupErr.message });
71
+ }
72
+ }
73
+
74
+ try { srcDoc.close(SaveOptions.DONOTSAVECHANGES); } catch (e) {}
75
+ srcDoc = null;
76
+ app.activeDocument = targetDocRef;
77
+
78
+ if (duplicated.length === 0) {
79
+ writeResultFile(RESULT_PATH, {
80
+ error: true,
81
+ message: "Failed to duplicate any SVG items into target document",
82
+ details: dupErrors
83
+ });
84
+ } else {
85
+ var rootItem = wrapAsGroup(duplicated, targetLayer, params.group !== false);
86
+ var movables = rootItem ? [rootItem] : duplicated;
87
+
88
+ var bounds = rootItem ? rootItem.geometricBounds : unionBounds(duplicated);
89
+
90
+ // フィット → サイズが変わったらバウンディングを取り直す
91
+ if (params.fit_to_artboard === true && abRect) {
92
+ var pad = (typeof params.padding === "number") ? params.padding : 0;
93
+ fitItemsToArtboard(movables, bounds, abRect, pad);
94
+ bounds = rootItem ? rootItem.geometricBounds : unionBounds(duplicated);
95
+ }
96
+
97
+ // 明示的な x/y 指定(fit_to_artboard 時は中央配置が優先されるので無視)
98
+ if (!(params.fit_to_artboard === true && abRect) &&
99
+ typeof params.x === "number" && typeof params.y === "number") {
100
+ var pos = webToAiPoint(params.x, params.y, coordSystem, abRect);
101
+ translateItems(movables, pos[0] - bounds[0], pos[1] - bounds[1]);
102
+ bounds = rootItem ? rootItem.geometricBounds : unionBounds(duplicated);
103
+ }
104
+
105
+ var rootUuid = null;
106
+ if (rootItem) {
107
+ if (params.name) rootItem.name = params.name;
108
+ rootUuid = ensureUUID(rootItem);
109
+ }
110
+
111
+ var itemSummaries = [];
112
+ for (var u = 0; u < duplicated.length; u++) {
113
+ itemSummaries.push({
114
+ uuid: ensureUUID(duplicated[u]),
115
+ type: duplicated[u].typename,
116
+ name: duplicated[u].name || ""
117
+ });
118
+ }
119
+
120
+ writeResultFile(RESULT_PATH, {
121
+ success: true,
122
+ sourcePath: svgPath,
123
+ grouped: !!rootItem && duplicated.length > 1,
124
+ rootUuid: rootUuid,
125
+ importedCount: duplicated.length,
126
+ widthPt: bounds[2] - bounds[0],
127
+ heightPt: bounds[1] - bounds[3],
128
+ items: itemSummaries,
129
+ duplicationErrors: dupErrors.length > 0 ? dupErrors : undefined,
130
+ verified: rootItem ? verifyItem(rootItem, coordSystem, abRect) : null
131
+ });
132
+ }
133
+ }
134
+ }
135
+ }
136
+ }
137
+ } catch (e) {
138
+ writeResultFile(RESULT_PATH, { error: true, message: "import_svg_as_editable failed: " + e.message, line: e.line });
139
+ } finally {
140
+ // 想定外のパスで srcDoc が開いたままなら閉じる
141
+ if (srcDoc) {
142
+ try { srcDoc.close(SaveOptions.DONOTSAVECHANGES); } catch (e) {}
143
+ }
144
+ if (targetDocRef) {
145
+ try { app.activeDocument = targetDocRef; } catch (e) {}
146
+ }
147
+ }
148
+ }
149
+
150
+ // --- ローカルヘルパー ---
151
+
152
+ function unionBounds(items) {
153
+ // [left, top, right, bottom]
154
+ var b = [items[0].geometricBounds[0], items[0].geometricBounds[1],
155
+ items[0].geometricBounds[2], items[0].geometricBounds[3]];
156
+ for (var k = 1; k < items.length; k++) {
157
+ var g = items[k].geometricBounds;
158
+ if (g[0] < b[0]) b[0] = g[0];
159
+ if (g[1] > b[1]) b[1] = g[1];
160
+ if (g[2] > b[2]) b[2] = g[2];
161
+ if (g[3] < b[3]) b[3] = g[3];
162
+ }
163
+ return b;
164
+ }
165
+
166
+ function translateItems(items, dx, dy) {
167
+ if (dx === 0 && dy === 0) return;
168
+ for (var i = 0; i < items.length; i++) items[i].translate(dx, dy);
169
+ }
170
+
171
+ function wrapAsGroup(items, parentLayer, shouldGroup) {
172
+ if (!shouldGroup) return null;
173
+ if (items.length === 1) return items[0];
174
+ var group = parentLayer.groupItems.add();
175
+ // duplicate は PLACEATEND で末尾に積まれている。グループに移すと積み順が反転するため、
176
+ // 逆順に moveToBeginning することで元の z-order を保つ。
177
+ for (var i = items.length - 1; i >= 0; i--) {
178
+ items[i].moveToBeginning(group);
179
+ }
180
+ return group;
181
+ }
182
+
183
+ function fitItemsToArtboard(items, bounds, abRect, pad) {
184
+ var abW = abRect[2] - abRect[0];
185
+ var abH = abRect[1] - abRect[3];
186
+ var availW = abW - pad * 2;
187
+ var availH = abH - pad * 2;
188
+ var w = bounds[2] - bounds[0];
189
+ var h = bounds[1] - bounds[3];
190
+ if (w <= 0 || h <= 0 || availW <= 0 || availH <= 0) return;
191
+
192
+ var scalePct = Math.min(availW / w, availH / h) * 100;
193
+ for (var i = 0; i < items.length; i++) items[i].resize(scalePct, scalePct);
194
+
195
+ // リサイズ後にバウンディングを取り直して中央配置
196
+ var newB = (items.length === 1) ? items[0].geometricBounds : unionBounds(items);
197
+ var newW = newB[2] - newB[0];
198
+ var newH = newB[1] - newB[3];
199
+ var targetLeft = abRect[0] + (abW - newW) / 2;
200
+ var targetTop = abRect[1] - (abH - newH) / 2;
201
+ translateItems(items, targetLeft - newB[0], targetTop - newB[1]);
202
+ }
203
+ `;
204
+ export function register(server) {
205
+ server.registerTool('import_svg_as_editable', {
206
+ title: 'Import SVG as Editable',
207
+ description: 'Import an SVG file into the active document as editable Illustrator paths/text/groups (NOT as a linked image). Internally opens the SVG as a temporary document, duplicates its contents into the target document, then closes the source. Use this instead of place_image for SVG. Note: Illustrator will be activated (brought to foreground) during execution.',
208
+ inputSchema: {
209
+ file_path: z.string().describe('Absolute path to the .svg or .svgz file'),
210
+ x: z
211
+ .number()
212
+ .optional()
213
+ .describe('X position of the imported content (top-left of bounding box). Ignored when fit_to_artboard is true.'),
214
+ y: z
215
+ .number()
216
+ .optional()
217
+ .describe('Y position of the imported content (top-left of bounding box). Ignored when fit_to_artboard is true.'),
218
+ layer_name: z
219
+ .string()
220
+ .optional()
221
+ .describe('Target layer name in the active document. Created if missing.'),
222
+ group: z
223
+ .boolean()
224
+ .optional()
225
+ .default(true)
226
+ .describe('Wrap imported items in a single GroupItem (default: true). Set false to keep items flat in the target layer.'),
227
+ fit_to_artboard: z
228
+ .boolean()
229
+ .optional()
230
+ .default(false)
231
+ .describe('Scale and center the imported content to fit the active artboard (default: false).'),
232
+ padding: z
233
+ .number()
234
+ .optional()
235
+ .describe('Padding in points from the artboard edges when fit_to_artboard is true.'),
236
+ name: z
237
+ .string()
238
+ .optional()
239
+ .describe('Name to assign to the root group (only when group=true and multiple items are imported).'),
240
+ coordinate_system: coordinateSystemSchema,
241
+ },
242
+ annotations: WRITE_ANNOTATIONS,
243
+ }, async (params) => {
244
+ return executeToolJsx(jsxCode, params, { activate: true, resolveCoordinate: true });
245
+ });
246
+ }
247
+ //# sourceMappingURL=import-svg-as-editable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-svg-as-editable.js","sourceRoot":"","sources":["../../../src/tools/modify/import-svg-as-editable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsLf,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,mWAAmW;QACrW,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACzE,CAAC,EAAE,CAAC;iBACD,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,sGAAsG,CAAC;YACnH,CAAC,EAAE,CAAC;iBACD,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,sGAAsG,CAAC;YACnH,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;YAC5E,KAAK,EAAE,CAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CAAC,8GAA8G,CAAC;YAC3H,eAAe,EAAE,CAAC;iBACf,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,oFAAoF,CAAC;YACjG,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,yEAAyE,CAAC;YACtF,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0FAA0F,CAAC;YACvG,iBAAiB,EAAE,sBAAsB;SAC1C;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,OAAO,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manage-artboards.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/manage-artboards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgHpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8ChD"}
1
+ {"version":3,"file":"manage-artboards.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/manage-artboards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuHpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8ChD"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { executeJsx } from '../../executor/jsx-runner.js';
3
+ import { formatToolResult } from '../tool-executor.js';
3
4
  import { DESTRUCTIVE_ANNOTATIONS } from './shared.js';
4
5
  /**
5
6
  * manage_artboards — アートボードの追加・削除・リサイズ・リネーム・整列
@@ -93,7 +94,13 @@ if (preflight) {
93
94
  var layout = layoutMap[params.layout] || DocumentArtboardLayout.GridByRow;
94
95
  var rowsOrCols = params.rows_or_cols || 1;
95
96
  var spacing = (typeof params.spacing === "number") ? params.spacing : 20;
96
- doc.rearrangeArtboards(layout, rowsOrCols, spacing, true);
97
+ var prevInteraction = app.userInteractionLevel;
98
+ app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;
99
+ try {
100
+ doc.rearrangeArtboards(layout, rowsOrCols, spacing, true);
101
+ } finally {
102
+ app.userInteractionLevel = prevInteraction;
103
+ }
97
104
  var rearrangedInfo = [];
98
105
  for (var rai = 0; rai < doc.artboards.length; rai++) {
99
106
  rearrangedInfo.push({ index: rai, name: doc.artboards[rai].name, rect: doc.artboards[rai].artboardRect });
@@ -146,7 +153,7 @@ export function register(server) {
146
153
  annotations: DESTRUCTIVE_ANNOTATIONS,
147
154
  }, async (params) => {
148
155
  const result = await executeJsx(jsxCode, params, { activate: true });
149
- return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
156
+ return formatToolResult(result);
150
157
  });
151
158
  }
152
159
  //# sourceMappingURL=manage-artboards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manage-artboards.js","sourceRoot":"","sources":["../../../src/tools/modify/manage-artboards.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwFf,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,yIAAyI;QAC3I,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;iBACtE,QAAQ,CAAC,mBAAmB,CAAC;YAChC,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,qIAAqI,CAAC;YAClJ,IAAI,EAAE,CAAC;iBACJ,MAAM,CAAC;gBACN,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;gBACb,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;gBACb,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;gBACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;aACnB,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,yDAAyD,CAAC;YACtE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAClE,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;iBACrD,QAAQ,EAAE;iBACV,QAAQ,CAAC,+BAA+B,CAAC;YAC5C,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,yCAAyC,CAAC;YACtD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;SACvF;QACD,WAAW,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"manage-artboards.js","sourceRoot":"","sources":["../../../src/tools/modify/manage-artboards.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Ff,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,yIAAyI;QAC3I,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;iBACtE,QAAQ,CAAC,mBAAmB,CAAC;YAChC,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,qIAAqI,CAAC;YAClJ,IAAI,EAAE,CAAC;iBACJ,MAAM,CAAC;gBACN,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;gBACb,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;gBACb,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;gBACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;aACnB,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,yDAAyD,CAAC;YACtE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAClE,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;iBACrD,QAAQ,EAAE;iBACV,QAAQ,CAAC,+BAA+B,CAAC;YAC5C,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,yCAAyC,CAAC;YACtD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;SACvF;QACD,WAAW,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manage-datasets.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/manage-datasets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+SpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgDhD"}
1
+ {"version":3,"file":"manage-datasets.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/manage-datasets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgTpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgDhD"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { executeJsx } from '../../executor/jsx-runner.js';
3
+ import { formatToolResult } from '../tool-executor.js';
3
4
  import { WRITE_ANNOTATIONS } from './shared.js';
4
5
  /**
5
6
  * manage_datasets — 変数・データセットの一覧・適用・作成・インポート/エクスポート
@@ -339,7 +340,7 @@ export function register(server) {
339
340
  annotations: WRITE_ANNOTATIONS,
340
341
  }, async (params) => {
341
342
  const result = await executeJsx(jsxCode, params, { activate: true });
342
- return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
343
+ return formatToolResult(result);
343
344
  });
344
345
  }
345
346
  //# sourceMappingURL=manage-datasets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manage-datasets.js","sourceRoot":"","sources":["../../../src/tools/modify/manage-datasets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Rf,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,6BAA6B;QACpC,WAAW,EACT,wOAAwO;QAC1O,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC;gBACJ,gBAAgB;gBAChB,eAAe;gBACf,eAAe;gBACf,gBAAgB;gBAChB,eAAe;gBACf,YAAY;gBACZ,QAAQ;gBACR,QAAQ;aACT,CAAC;iBACD,QAAQ,CAAC,mBAAmB,CAAC;YAChC,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,kDAAkD,CAAC;YAC/D,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mCAAmC,CAAC;YAChD,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,qDAAqD,CAAC;YAClE,mBAAmB,EAAE,CAAC;iBACnB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mGAAmG,CAAC;YAChH,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,uDAAuD,CAAC;SACrE;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"manage-datasets.js","sourceRoot":"","sources":["../../../src/tools/modify/manage-datasets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Rf,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,6BAA6B;QACpC,WAAW,EACT,wOAAwO;QAC1O,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC;gBACJ,gBAAgB;gBAChB,eAAe;gBACf,eAAe;gBACf,gBAAgB;gBAChB,eAAe;gBACf,YAAY;gBACZ,QAAQ;gBACR,QAAQ;aACT,CAAC;iBACD,QAAQ,CAAC,mBAAmB,CAAC;YAChC,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,kDAAkD,CAAC;YAC/D,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mCAAmC,CAAC;YAChD,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,qDAAqD,CAAC;YAClE,mBAAmB,EAAE,CAAC;iBACnB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mGAAmG,CAAC;YAChH,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,uDAAuD,CAAC;SACrE;QACD,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manage-layers.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/manage-layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoHpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoChD"}
1
+ {"version":3,"file":"manage-layers.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/manage-layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqHpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoChD"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { executeJsx } from '../../executor/jsx-runner.js';
3
+ import { formatToolResult } from '../tool-executor.js';
3
4
  import { DESTRUCTIVE_ANNOTATIONS } from './shared.js';
4
5
  /**
5
6
  * manage_layers — レイヤーの追加・削除・リネーム・表示/ロック操作
@@ -141,7 +142,7 @@ export function register(server) {
141
142
  annotations: DESTRUCTIVE_ANNOTATIONS,
142
143
  }, async (params) => {
143
144
  const result = await executeJsx(jsxCode, params);
144
- return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
145
+ return formatToolResult(result);
145
146
  });
146
147
  }
147
148
  //# sourceMappingURL=manage-layers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manage-layers.js","sourceRoot":"","sources":["../../../src/tools/modify/manage-layers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;GAIG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwGf,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,gEAAgE;QAC7E,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAC9E,QAAQ,CAAC,4BAA4B,CAAC;YACzC,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,6CAA6C,CAAC;YAC1D,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,uCAAuC,CAAC;YACpD,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,2CAA2C,CAAC;YACxD,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,uCAAuC,CAAC;SACrD;QACD,WAAW,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"manage-layers.js","sourceRoot":"","sources":["../../../src/tools/modify/manage-layers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;GAIG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwGf,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,gEAAgE;QAC7E,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAC9E,QAAQ,CAAC,4BAA4B,CAAC;YACzC,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,6CAA6C,CAAC;YAC1D,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,uCAAuC,CAAC;YACpD,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,2CAA2C,CAAC;YACxD,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,uCAAuC,CAAC;SACrD;QACD,WAAW,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CACF,CAAC;AACJ,CAAC"}