illustrator-mcp-server 1.2.10 → 1.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +67 -343
- package/README.md +68 -331
- package/dist/bundle.cjs +164 -57
- package/dist/executor/file-transport.d.ts +3 -2
- package/dist/executor/file-transport.d.ts.map +1 -1
- package/dist/executor/file-transport.js +14 -9
- package/dist/executor/file-transport.js.map +1 -1
- package/dist/executor/jsx-runner.d.ts.map +1 -1
- package/dist/executor/jsx-runner.js +3 -3
- package/dist/executor/jsx-runner.js.map +1 -1
- package/dist/prompts/print-preflight-workflow.d.ts.map +1 -1
- package/dist/prompts/print-preflight-workflow.js +6 -0
- package/dist/prompts/print-preflight-workflow.js.map +1 -1
- package/dist/tools/export/export-pdf.d.ts.map +1 -1
- package/dist/tools/export/export-pdf.js +30 -3
- package/dist/tools/export/export-pdf.js.map +1 -1
- package/dist/tools/export/export.d.ts.map +1 -1
- package/dist/tools/export/export.js +45 -3
- package/dist/tools/export/export.js.map +1 -1
- package/dist/tools/modify/create-ellipse.d.ts.map +1 -1
- package/dist/tools/modify/create-ellipse.js +3 -5
- package/dist/tools/modify/create-ellipse.js.map +1 -1
- package/dist/tools/modify/create-line.d.ts.map +1 -1
- package/dist/tools/modify/create-line.js +3 -5
- package/dist/tools/modify/create-line.js.map +1 -1
- package/dist/tools/modify/create-path.d.ts.map +1 -1
- package/dist/tools/modify/create-path.js +3 -5
- package/dist/tools/modify/create-path.js.map +1 -1
- package/dist/tools/modify/create-rectangle.d.ts.map +1 -1
- package/dist/tools/modify/create-rectangle.js +3 -5
- package/dist/tools/modify/create-rectangle.js.map +1 -1
- package/dist/tools/modify/save-document.d.ts.map +1 -1
- package/dist/tools/modify/save-document.js +26 -7
- package/dist/tools/modify/save-document.js.map +1 -1
- package/dist/tools/modify/shared.d.ts.map +1 -1
- package/dist/tools/modify/shared.js +3 -2
- package/dist/tools/modify/shared.js.map +1 -1
- package/dist/tools/read/get-artboards.d.ts.map +1 -1
- package/dist/tools/read/get-artboards.js +3 -5
- package/dist/tools/read/get-artboards.js.map +1 -1
- package/dist/tools/read/get-layers.d.ts.map +1 -1
- package/dist/tools/read/get-layers.js +3 -7
- package/dist/tools/read/get-layers.js.map +1 -1
- package/dist/tools/read/get-selection.d.ts.map +1 -1
- package/dist/tools/read/get-selection.js +3 -7
- package/dist/tools/read/get-selection.js.map +1 -1
- package/dist/tools/tool-executor.d.ts +17 -0
- package/dist/tools/tool-executor.d.ts.map +1 -0
- package/dist/tools/tool-executor.js +22 -0
- package/dist/tools/tool-executor.js.map +1 -0
- package/dist/tools/utility/check-text-consistency.d.ts.map +1 -1
- package/dist/tools/utility/check-text-consistency.js +10 -4
- package/dist/tools/utility/check-text-consistency.js.map +1 -1
- package/dist/tools/utility/preflight-check.d.ts.map +1 -1
- package/dist/tools/utility/preflight-check.js +7 -1
- package/dist/tools/utility/preflight-check.js.map +1 -1
- package/package.json +3 -3
|
@@ -16,6 +16,29 @@ if (preflight) {
|
|
|
16
16
|
var doc = app.activeDocument;
|
|
17
17
|
var outputPath = params.output_path;
|
|
18
18
|
var preset = params.preset || "";
|
|
19
|
+
|
|
20
|
+
// Default path generation when output_path is omitted
|
|
21
|
+
if (!outputPath) {
|
|
22
|
+
var dir;
|
|
23
|
+
try {
|
|
24
|
+
var docPath = doc.path ? doc.path.fsName : '';
|
|
25
|
+
if (docPath && docPath !== '/') {
|
|
26
|
+
dir = docPath;
|
|
27
|
+
} else {
|
|
28
|
+
dir = Folder.desktop.fsName;
|
|
29
|
+
}
|
|
30
|
+
} catch (e) {
|
|
31
|
+
dir = Folder.desktop.fsName;
|
|
32
|
+
}
|
|
33
|
+
var baseName = doc.name.replace(/\\.[^.]+$/, '').replace(/ /g, '-');
|
|
34
|
+
var sep = Folder.fs === 'Windows' ? '\\\\' : '/';
|
|
35
|
+
outputPath = dir + sep + baseName + '.pdf';
|
|
36
|
+
var counter = 2;
|
|
37
|
+
while (new File(outputPath).exists) {
|
|
38
|
+
outputPath = dir + sep + baseName + '_' + counter + '.pdf';
|
|
39
|
+
counter++;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
19
42
|
var options = params.options || {};
|
|
20
43
|
|
|
21
44
|
var pdfOpts = new PDFSaveOptions();
|
|
@@ -155,9 +178,9 @@ if (preflight) {
|
|
|
155
178
|
export function register(server) {
|
|
156
179
|
server.registerTool('export_pdf', {
|
|
157
180
|
title: 'Export PDF',
|
|
158
|
-
description: 'Export print-ready PDF. Note: Illustrator will be activated (brought to foreground) during execution.',
|
|
181
|
+
description: 'Export print-ready PDF. Note: Illustrator will be activated (brought to foreground) during execution. The exported PDF should be verified by a human before final submission.',
|
|
159
182
|
inputSchema: {
|
|
160
|
-
output_path: z.string().describe('Output file path'),
|
|
183
|
+
output_path: z.string().optional().describe('Output file path. If omitted, auto-generates in the same directory as the document (or ~/Desktop for unsaved documents)'),
|
|
161
184
|
preset: z
|
|
162
185
|
.string()
|
|
163
186
|
.optional()
|
|
@@ -183,7 +206,11 @@ export function register(server) {
|
|
|
183
206
|
annotations: WRITE_IDEMPOTENT_ANNOTATIONS,
|
|
184
207
|
}, async (params) => {
|
|
185
208
|
const result = await executeJsxHeavy(jsxCode, params);
|
|
186
|
-
|
|
209
|
+
const output = {
|
|
210
|
+
...result,
|
|
211
|
+
_note: 'PDF exported. This file should be verified by a human before final print submission — automated checks cannot catch all print-critical issues.',
|
|
212
|
+
};
|
|
213
|
+
return { content: [{ type: 'text', text: JSON.stringify(output, null, 2) }] };
|
|
187
214
|
});
|
|
188
215
|
}
|
|
189
216
|
//# sourceMappingURL=export-pdf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-pdf.js","sourceRoot":"","sources":["../../../src/tools/export/export-pdf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClF;;;;GAIG;AACH,MAAM,OAAO,GAAG
|
|
1
|
+
{"version":3,"file":"export-pdf.js","sourceRoot":"","sources":["../../../src/tools/export/export-pdf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClF;;;;GAIG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwKf,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,+KAA+K;QAC5L,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yHAAyH,CAAC;YACtK,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,yCAAyC,CAAC;YACtD,OAAO,EAAE,CAAC;iBACP,MAAM,CAAC;gBACN,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAC/D,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;gBACrG,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBAC/F,kBAAkB,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBAC3E,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC3D,gBAAgB,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBACvE,KAAK,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBAC/D,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uFAAuF,CAAC;gBACtI,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;gBAC9H,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;gBACtI,yBAAyB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;gBACxI,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6FAA6F,CAAC;aACrJ,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,oBAAoB,CAAC;SAClC;QACD,WAAW,EAAE,4BAA4B;KAC1C,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG;YACb,GAAG,MAAM;YACT,KAAK,EAAE,gJAAgJ;SACxJ,CAAC;QACF,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/tools/export/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/tools/export/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+RpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+ChD"}
|
|
@@ -22,6 +22,35 @@ if (preflight) {
|
|
|
22
22
|
var format = params.format;
|
|
23
23
|
var outputPath = params.output_path;
|
|
24
24
|
var scale = params.scale || 1;
|
|
25
|
+
|
|
26
|
+
// Default path generation when output_path is omitted
|
|
27
|
+
if (!outputPath) {
|
|
28
|
+
var dir;
|
|
29
|
+
try {
|
|
30
|
+
// doc.path is empty string for unsaved documents
|
|
31
|
+
var docPath = doc.path ? doc.path.fsName : '';
|
|
32
|
+
if (docPath && docPath !== '/') {
|
|
33
|
+
dir = docPath;
|
|
34
|
+
} else {
|
|
35
|
+
dir = Folder.desktop.fsName;
|
|
36
|
+
}
|
|
37
|
+
} catch (e) {
|
|
38
|
+
dir = Folder.desktop.fsName;
|
|
39
|
+
}
|
|
40
|
+
var baseName = doc.name.replace(/\\.[^.]+$/, '').replace(/ /g, '-');
|
|
41
|
+
// ASCII以外の文字を含む場合、SVGでは警告ダイアログが出るためフォールバック
|
|
42
|
+
if (format === 'svg' && /[^\\x00-\\x7F]/.test(baseName)) {
|
|
43
|
+
baseName = 'export';
|
|
44
|
+
}
|
|
45
|
+
var ext = format; // png, jpg, svg
|
|
46
|
+
var sep = Folder.fs === 'Windows' ? '\\\\' : '/';
|
|
47
|
+
outputPath = dir + sep + baseName + '.' + ext;
|
|
48
|
+
var counter = 2;
|
|
49
|
+
while (new File(outputPath).exists) {
|
|
50
|
+
outputPath = dir + sep + baseName + '_' + counter + '.' + ext;
|
|
51
|
+
counter++;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
25
54
|
var svgOpts = params.svg_options || {};
|
|
26
55
|
var rasterOpts = params.raster_options || {};
|
|
27
56
|
|
|
@@ -221,11 +250,24 @@ if (preflight) {
|
|
|
221
250
|
|
|
222
251
|
if (targetType !== "error") {
|
|
223
252
|
// エクスポート後にファイル存在を検証
|
|
253
|
+
// SVG artboard exportではIllustratorが {basename}_{artboardName}.svg にリネームする
|
|
254
|
+
var actualPath = outputPath;
|
|
224
255
|
var verifyFile = new File(outputPath);
|
|
225
|
-
if (!verifyFile.exists) {
|
|
256
|
+
if (!verifyFile.exists && format === "svg" && artboardIndex >= 0) {
|
|
257
|
+
var svgDir = new File(outputPath).parent.fsName;
|
|
258
|
+
var svgBase = new File(outputPath).name.replace(/\\.svg$/i, '');
|
|
259
|
+
var abName = doc.artboards[artboardIndex].name.replace(/ /g, '-');
|
|
260
|
+
var svgActual = svgDir + '/' + svgBase + '_' + abName + '.svg';
|
|
261
|
+
var svgFile = new File(svgActual);
|
|
262
|
+
if (svgFile.exists) {
|
|
263
|
+
actualPath = svgActual;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
var finalFile = new File(actualPath);
|
|
267
|
+
if (!finalFile.exists) {
|
|
226
268
|
writeResultFile(RESULT_PATH, { error: true, message: "Export completed but output file was not created. The path may not be writable: " + outputPath });
|
|
227
269
|
} else {
|
|
228
|
-
var resultInfo = { success: true, output_path:
|
|
270
|
+
var resultInfo = { success: true, output_path: actualPath, format: format };
|
|
229
271
|
if (format === "png" || format === "jpg") {
|
|
230
272
|
var effectiveDpi = (rasterOpts.dpi || 72) * scale;
|
|
231
273
|
resultInfo.dpi = effectiveDpi;
|
|
@@ -252,7 +294,7 @@ export function register(server) {
|
|
|
252
294
|
// WebP is not supported by ExtendScript API
|
|
253
295
|
// format: z.enum(['svg', 'png', 'webp', 'jpg']).describe('Export format'),
|
|
254
296
|
format: z.enum(['svg', 'png', 'jpg']).describe('Export format'),
|
|
255
|
-
output_path: z.string().describe('Output file path'),
|
|
297
|
+
output_path: z.string().optional().describe('Output file path. If omitted, auto-generates in the same directory as the document (or ~/Desktop for unsaved documents)'),
|
|
256
298
|
scale: z.number().optional().default(1).describe('Scale factor'),
|
|
257
299
|
svg_options: z
|
|
258
300
|
.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/tools/export/export.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClF;;;;;;;;GAQG;AACH,MAAM,OAAO,GAAG
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/tools/export/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-ellipse.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/create-ellipse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-ellipse.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/create-ellipse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkDpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBhD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { coordinateSystemSchema } from '../session.js';
|
|
3
|
+
import { executeToolJsx } from '../tool-executor.js';
|
|
4
4
|
import { colorSchema, strokeSchema, COLOR_HELPERS_JSX, WRITE_ANNOTATIONS } from './shared.js';
|
|
5
5
|
/**
|
|
6
6
|
* create_ellipse — 楕円の作成
|
|
@@ -62,9 +62,7 @@ export function register(server) {
|
|
|
62
62
|
},
|
|
63
63
|
annotations: WRITE_ANNOTATIONS,
|
|
64
64
|
}, async (params) => {
|
|
65
|
-
|
|
66
|
-
const result = await executeJsx(jsxCode, resolvedParams, { activate: true });
|
|
67
|
-
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
65
|
+
return executeToolJsx(jsxCode, params, { activate: true, resolveCoordinate: true });
|
|
68
66
|
});
|
|
69
67
|
}
|
|
70
68
|
//# sourceMappingURL=create-ellipse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-ellipse.js","sourceRoot":"","sources":["../../../src/tools/modify/create-ellipse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-ellipse.js","sourceRoot":"","sources":["../../../src/tools/modify/create-ellipse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE9F;;;GAGG;AACH,MAAM,OAAO,GAAG;;;;;;;;;MASV,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BtB,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,kGAAkG;QAC/G,WAAW,EAAE;YACX,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YAC5D,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;YACxC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAChD,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":"create-line.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/create-line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-line.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/create-line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiEpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgChD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { coordinateSystemSchema } from '../session.js';
|
|
3
|
+
import { executeToolJsx } from '../tool-executor.js';
|
|
4
4
|
import { colorSchema, COLOR_HELPERS_JSX, WRITE_ANNOTATIONS } from './shared.js';
|
|
5
5
|
/**
|
|
6
6
|
* create_line — 直線の作成
|
|
@@ -86,9 +86,7 @@ export function register(server) {
|
|
|
86
86
|
},
|
|
87
87
|
annotations: WRITE_ANNOTATIONS,
|
|
88
88
|
}, async (params) => {
|
|
89
|
-
|
|
90
|
-
const result = await executeJsx(jsxCode, resolvedParams, { activate: true });
|
|
91
|
-
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
89
|
+
return executeToolJsx(jsxCode, params, { activate: true, resolveCoordinate: true });
|
|
92
90
|
});
|
|
93
91
|
}
|
|
94
92
|
//# sourceMappingURL=create-line.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-line.js","sourceRoot":"","sources":["../../../src/tools/modify/create-line.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-line.js","sourceRoot":"","sources":["../../../src/tools/modify/create-line.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhF;;;;GAIG;AACH,MAAM,OAAO,GAAG;;;;;;;;;MASV,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CtB,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,8FAA8F;QAC3G,WAAW,EAAE;YACX,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACnD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACnD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACjD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACjD,MAAM,EAAE,CAAC;iBACN,MAAM,CAAC;gBACN,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;gBACrD,GAAG,EAAE,CAAC;qBACH,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;qBACrC,QAAQ,EAAE;qBACV,QAAQ,CAAC,gBAAgB,CAAC;aAC9B,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,iBAAiB,CAAC;YAC9B,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":"create-path.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/create-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-path.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/create-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyGpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqBhD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { coordinateSystemSchema } from '../session.js';
|
|
3
|
+
import { executeToolJsx } from '../tool-executor.js';
|
|
4
4
|
import { colorSchema, strokeSchema, COLOR_HELPERS_JSX, WRITE_ANNOTATIONS, coerceBoolean } from './shared.js';
|
|
5
5
|
/**
|
|
6
6
|
* create_path — カスタムパスの作成
|
|
@@ -114,9 +114,7 @@ export function register(server) {
|
|
|
114
114
|
},
|
|
115
115
|
annotations: WRITE_ANNOTATIONS,
|
|
116
116
|
}, async (params) => {
|
|
117
|
-
|
|
118
|
-
const result = await executeJsx(jsxCode, resolvedParams, { activate: true });
|
|
119
|
-
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
117
|
+
return executeToolJsx(jsxCode, params, { activate: true, resolveCoordinate: true });
|
|
120
118
|
});
|
|
121
119
|
}
|
|
122
120
|
//# sourceMappingURL=create-path.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-path.js","sourceRoot":"","sources":["../../../src/tools/modify/create-path.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-path.js","sourceRoot":"","sources":["../../../src/tools/modify/create-path.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE7G;;;;;GAKG;AACH,MAAM,OAAO,GAAG;;;;;;;;;MASV,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DtB,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACnD,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACnD,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QACb,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;KACd,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,mCAAmC,CAAC;IAChD,YAAY,EAAE,CAAC;SACZ,MAAM,CAAC;QACN,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QACb,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;KACd,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,oCAAoC,CAAC;IACjD,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;SAC1B,QAAQ,EAAE;SACV,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,YAAY,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,qGAAqG;QAClH,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACjE,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACrF,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;YACxC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAChD,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":"create-rectangle.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/create-rectangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-rectangle.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/create-rectangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyDpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwBhD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { coordinateSystemSchema } from '../session.js';
|
|
3
|
+
import { executeToolJsx } from '../tool-executor.js';
|
|
4
4
|
import { colorSchema, strokeSchema, COLOR_HELPERS_JSX, WRITE_ANNOTATIONS } from './shared.js';
|
|
5
5
|
/**
|
|
6
6
|
* create_rectangle — 矩形の作成
|
|
@@ -70,9 +70,7 @@ export function register(server) {
|
|
|
70
70
|
},
|
|
71
71
|
annotations: WRITE_ANNOTATIONS,
|
|
72
72
|
}, async (params) => {
|
|
73
|
-
|
|
74
|
-
const result = await executeJsx(jsxCode, resolvedParams, { activate: true });
|
|
75
|
-
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
73
|
+
return executeToolJsx(jsxCode, params, { activate: true, resolveCoordinate: true });
|
|
76
74
|
});
|
|
77
75
|
}
|
|
78
76
|
//# sourceMappingURL=create-rectangle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-rectangle.js","sourceRoot":"","sources":["../../../src/tools/modify/create-rectangle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-rectangle.js","sourceRoot":"","sources":["../../../src/tools/modify/create-rectangle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE9F;;;;GAIG;AACH,MAAM,OAAO,GAAG;;;;;;;;;MASV,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCtB,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,mGAAmG;QAChH,WAAW,EAAE;YACX,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC/C,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;YACzE,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;YACxC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAChD,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":"save-document.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/save-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"save-document.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/save-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+DpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyBhD"}
|
|
@@ -24,13 +24,32 @@ if (preflight) {
|
|
|
24
24
|
doc.save();
|
|
25
25
|
writeResultFile(RESULT_PATH, { success: true, mode: "save" });
|
|
26
26
|
} else if (mode === "save_as") {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
var savePath = params.path;
|
|
28
|
+
// Default path generation when path is omitted
|
|
29
|
+
if (!savePath) {
|
|
30
|
+
var dir;
|
|
31
|
+
try {
|
|
32
|
+
var docPath = doc.path ? doc.path.fsName : '';
|
|
33
|
+
if (docPath && docPath !== '/') {
|
|
34
|
+
dir = docPath;
|
|
35
|
+
} else {
|
|
36
|
+
dir = Folder.desktop.fsName;
|
|
37
|
+
}
|
|
38
|
+
} catch (e) {
|
|
39
|
+
dir = Folder.desktop.fsName;
|
|
40
|
+
}
|
|
41
|
+
var baseName = doc.name.replace(/\\.[^.]+$/, '').replace(/ /g, '-');
|
|
42
|
+
var sep = Folder.fs === 'Windows' ? '\\\\' : '/';
|
|
43
|
+
savePath = dir + sep + baseName + '.ai';
|
|
44
|
+
var counter = 2;
|
|
45
|
+
while (new File(savePath).exists) {
|
|
46
|
+
savePath = dir + sep + baseName + '_' + counter + '.ai';
|
|
47
|
+
counter++;
|
|
48
|
+
}
|
|
33
49
|
}
|
|
50
|
+
var saveFile = new File(savePath);
|
|
51
|
+
doc.saveAs(saveFile);
|
|
52
|
+
writeResultFile(RESULT_PATH, { success: true, mode: "save_as", path: savePath });
|
|
34
53
|
} else {
|
|
35
54
|
writeResultFile(RESULT_PATH, { error: true, message: "Unknown mode: " + mode });
|
|
36
55
|
}
|
|
@@ -52,7 +71,7 @@ export function register(server) {
|
|
|
52
71
|
path: z
|
|
53
72
|
.string()
|
|
54
73
|
.optional()
|
|
55
|
-
.describe('File path for save_as mode (
|
|
74
|
+
.describe('File path for save_as mode. If omitted, auto-generates in the same directory as the document (or ~/Desktop for unsaved documents)'),
|
|
56
75
|
},
|
|
57
76
|
annotations: WRITE_IDEMPOTENT_ANNOTATIONS,
|
|
58
77
|
}, async (params) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-document.js","sourceRoot":"","sources":["../../../src/tools/modify/save-document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3D;;;;;;;;GAQG;AACH,MAAM,OAAO,GAAG
|
|
1
|
+
{"version":3,"file":"save-document.js","sourceRoot":"","sources":["../../../src/tools/modify/save-document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3D;;;;;;;;GAQG;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,qHAAqH;QACvH,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;iBACzB,QAAQ,EAAE;iBACV,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CAAC,8CAA8C,CAAC;YAC3D,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mIAAmI,CAAC;SACjJ;QACD,WAAW,EAAE,4BAA4B;KAC1C,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/tools/modify/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa,2DAUzB,CAAC;AAIF,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;;;CAK/B,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;CAK1B,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;;iBAM1B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;iBAKzB,CAAC;AAEH,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AAMH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;4BAEX,CAAC;AAEd,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;kBAKZ,CAAC;AAEd,eAAO,MAAM,gBAAgB,8dAc5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,+yCAqD7B,CAAC"}
|
|
@@ -2,9 +2,10 @@ import { z } from 'zod';
|
|
|
2
2
|
// --- boolean coerce (MCP クライアントが "true"/"false" 文字列を送る場合の対策) ---
|
|
3
3
|
export const coerceBoolean = z.preprocess((val) => {
|
|
4
4
|
if (typeof val === 'string') {
|
|
5
|
-
|
|
5
|
+
const normalized = val.trim().toLowerCase();
|
|
6
|
+
if (normalized === 'true')
|
|
6
7
|
return true;
|
|
7
|
-
if (
|
|
8
|
+
if (normalized === 'false')
|
|
8
9
|
return false;
|
|
9
10
|
}
|
|
10
11
|
return val;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/tools/modify/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kEAAkE;AAElE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,CACvC,CAAC,GAAG,EAAE,EAAE;IACN,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/tools/modify/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-artboards.d.ts","sourceRoot":"","sources":["../../../src/tools/read/get-artboards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-artboards.d.ts","sourceRoot":"","sources":["../../../src/tools/read/get-artboards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyEpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgBhD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { coordinateSystemSchema } from '../session.js';
|
|
3
|
+
import { executeToolJsx } from '../tool-executor.js';
|
|
4
4
|
import { READ_ANNOTATIONS } from '../modify/shared.js';
|
|
5
5
|
/**
|
|
6
6
|
* get_artboards — アートボード情報の取得
|
|
@@ -79,9 +79,7 @@ export function register(server) {
|
|
|
79
79
|
},
|
|
80
80
|
annotations: READ_ANNOTATIONS,
|
|
81
81
|
}, async (params) => {
|
|
82
|
-
|
|
83
|
-
const result = await executeJsx(jsxCode, resolvedParams);
|
|
84
|
-
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
82
|
+
return executeToolJsx(jsxCode, params, { resolveCoordinate: true });
|
|
85
83
|
});
|
|
86
84
|
}
|
|
87
85
|
//# sourceMappingURL=get-artboards.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-artboards.js","sourceRoot":"","sources":["../../../src/tools/read/get-artboards.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get-artboards.js","sourceRoot":"","sources":["../../../src/tools/read/get-artboards.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD;;;;GAIG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Df,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;YACxG,iBAAiB,EAAE,sBAAsB;SAC1C;QACD,WAAW,EAAE,gBAAgB;KAC9B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,OAAO,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-layers.d.ts","sourceRoot":"","sources":["../../../src/tools/read/get-layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-layers.d.ts","sourceRoot":"","sources":["../../../src/tools/read/get-layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsFpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyBhD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { coordinateSystemSchema } from '../session.js';
|
|
3
|
+
import { executeToolJsx } from '../tool-executor.js';
|
|
4
4
|
import { READ_ANNOTATIONS } from '../modify/shared.js';
|
|
5
5
|
/**
|
|
6
6
|
* get_layers — レイヤー一覧の取得
|
|
@@ -101,11 +101,7 @@ export function register(server) {
|
|
|
101
101
|
},
|
|
102
102
|
annotations: READ_ANNOTATIONS,
|
|
103
103
|
}, async (params) => {
|
|
104
|
-
|
|
105
|
-
const result = await executeJsx(jsxCode, resolvedParams);
|
|
106
|
-
return {
|
|
107
|
-
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
108
|
-
};
|
|
104
|
+
return executeToolJsx(jsxCode, params, { resolveCoordinate: true });
|
|
109
105
|
});
|
|
110
106
|
}
|
|
111
107
|
//# sourceMappingURL=get-layers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-layers.js","sourceRoot":"","sources":["../../../src/tools/read/get-layers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get-layers.js","sourceRoot":"","sources":["../../../src/tools/read/get-layers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD;;;;GAIG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Ef,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,+BAA+B;QAC5C,WAAW,EAAE;YACX,iBAAiB,EAAE,CAAC;iBACjB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CAAC,mBAAmB,CAAC;YAChC,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,iCAAiC,CAAC;YAC9C,iBAAiB,EAAE,sBAAsB;SAC1C;QACD,WAAW,EAAE,gBAAgB;KAC9B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,OAAO,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-selection.d.ts","sourceRoot":"","sources":["../../../src/tools/read/get-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-selection.d.ts","sourceRoot":"","sources":["../../../src/tools/read/get-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqJpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAehD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { coordinateSystemSchema } from '../session.js';
|
|
2
|
+
import { executeToolJsx } from '../tool-executor.js';
|
|
3
3
|
import { READ_ANNOTATIONS } from '../modify/shared.js';
|
|
4
4
|
/**
|
|
5
5
|
* get_selection — 現在の選択オブジェクト情報の取得
|
|
@@ -153,11 +153,7 @@ export function register(server) {
|
|
|
153
153
|
},
|
|
154
154
|
annotations: READ_ANNOTATIONS,
|
|
155
155
|
}, async (params) => {
|
|
156
|
-
|
|
157
|
-
const result = await executeJsx(jsxCode, resolvedParams);
|
|
158
|
-
return {
|
|
159
|
-
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
160
|
-
};
|
|
156
|
+
return executeToolJsx(jsxCode, params, { resolveCoordinate: true });
|
|
161
157
|
});
|
|
162
158
|
}
|
|
163
159
|
//# sourceMappingURL=get-selection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-selection.js","sourceRoot":"","sources":["../../../src/tools/read/get-selection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get-selection.js","sourceRoot":"","sources":["../../../src/tools/read/get-selection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD;;;GAGG;AACH,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0If,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,+DAA+D;QAC5E,WAAW,EAAE;YACX,iBAAiB,EAAE,sBAAsB;SAC1C;QACD,WAAW,EAAE,gBAAgB;KAC9B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,OAAO,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare function formatToolResult(result: unknown): {
|
|
2
|
+
content: Array<{
|
|
3
|
+
type: 'text';
|
|
4
|
+
text: string;
|
|
5
|
+
}>;
|
|
6
|
+
};
|
|
7
|
+
export declare function executeToolJsx(jsxCode: string, params: unknown, options?: {
|
|
8
|
+
activate?: boolean;
|
|
9
|
+
heavy?: boolean;
|
|
10
|
+
resolveCoordinate?: boolean;
|
|
11
|
+
}): Promise<{
|
|
12
|
+
content: Array<{
|
|
13
|
+
type: 'text';
|
|
14
|
+
text: string;
|
|
15
|
+
}>;
|
|
16
|
+
}>;
|
|
17
|
+
//# sourceMappingURL=tool-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/tools/tool-executor.ts"],"names":[],"mappings":"AAYA,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAEpG;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7E,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAW7D"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { executeJsx, executeJsxHeavy } from '../executor/jsx-runner.js';
|
|
2
|
+
import { resolveCoordinateSystem } from './session.js';
|
|
3
|
+
function ensureToolParams(params) {
|
|
4
|
+
if (params && typeof params === 'object' && !Array.isArray(params)) {
|
|
5
|
+
return params;
|
|
6
|
+
}
|
|
7
|
+
return {};
|
|
8
|
+
}
|
|
9
|
+
export function formatToolResult(result) {
|
|
10
|
+
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
11
|
+
}
|
|
12
|
+
export async function executeToolJsx(jsxCode, params, options) {
|
|
13
|
+
const baseParams = ensureToolParams(params);
|
|
14
|
+
const resolvedParams = options?.resolveCoordinate
|
|
15
|
+
? { ...baseParams, coordinate_system: await resolveCoordinateSystem(baseParams.coordinate_system) }
|
|
16
|
+
: baseParams;
|
|
17
|
+
const result = options?.heavy
|
|
18
|
+
? await executeJsxHeavy(jsxCode, resolvedParams)
|
|
19
|
+
: await executeJsx(jsxCode, resolvedParams, { activate: options?.activate ?? false });
|
|
20
|
+
return formatToolResult(result);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=tool-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../src/tools/tool-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAIvD,SAAS,gBAAgB,CAAC,MAAe;IACvC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,OAAO,MAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAe;IAC9C,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;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,MAAe,EACf,OAA8E;IAE9E,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,OAAO,EAAE,iBAAiB;QAC/C,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC,UAAU,CAAC,iBAA4D,CAAC,EAAE;QAC9I,CAAC,CAAC,UAAU,CAAC;IAEf,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK;QAC3B,CAAC,CAAC,MAAM,eAAe,CAAC,OAAO,EAAE,cAAc,CAAC;QAChD,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;IAExF,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-text-consistency.d.ts","sourceRoot":"","sources":["../../../src/tools/utility/check-text-consistency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmTpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"check-text-consistency.d.ts","sourceRoot":"","sources":["../../../src/tools/utility/check-text-consistency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmTpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0DhD"}
|
|
@@ -267,7 +267,7 @@ function analyzeTextConsistency(frames) {
|
|
|
267
267
|
export function register(server) {
|
|
268
268
|
server.registerTool('check_text_consistency', {
|
|
269
269
|
title: 'Check Text Consistency',
|
|
270
|
-
description: 'Analyze text frames for dummy/placeholder text and known notation variation patterns (katakana long vowel, fullwidth/halfwidth, wave dash/tilde). Returns all text contents for LLM-driven deeper analysis of inconsistencies, typos, and version mismatches.',
|
|
270
|
+
description: 'Analyze text frames for dummy/placeholder text and known notation variation patterns (katakana long vowel, fullwidth/halfwidth, wave dash/tilde). Returns all text contents for LLM-driven deeper analysis of inconsistencies, typos, and version mismatches. Note: AI analysis may miss errors and does not replace a human text review.',
|
|
271
271
|
inputSchema: {
|
|
272
272
|
artboard_index: z
|
|
273
273
|
.number()
|
|
@@ -291,9 +291,15 @@ export function register(server) {
|
|
|
291
291
|
type: 'text',
|
|
292
292
|
text: JSON.stringify({
|
|
293
293
|
totalFrames: result.totalFrames,
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
294
|
+
mechanicalChecks: {
|
|
295
|
+
_reliability: 'deterministic',
|
|
296
|
+
dummyTexts: analysis.dummyTexts,
|
|
297
|
+
knownVariations: analysis.knownVariations,
|
|
298
|
+
},
|
|
299
|
+
llmAnalysis: {
|
|
300
|
+
_reliability: 'ai-assisted — may miss errors or produce false positives. Clearly distinguish AI-based findings from mechanical checks when reporting to the user.',
|
|
301
|
+
allTexts: analysis.allTexts,
|
|
302
|
+
},
|
|
297
303
|
}, null, 2),
|
|
298
304
|
},
|
|
299
305
|
],
|