illustrator-mcp-server 1.4.0 → 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.
- package/README.de.md +539 -0
- package/README.es.md +539 -0
- package/README.fr.md +539 -0
- package/README.ja.md +4 -3
- package/README.ko.md +539 -0
- package/README.md +4 -3
- package/README.pt-BR.md +539 -0
- package/README.zh-CN.md +539 -0
- package/dist/bundle.cjs +328 -103
- package/dist/tools/modify/import-svg-as-editable.d.ts +3 -0
- package/dist/tools/modify/import-svg-as-editable.d.ts.map +1 -0
- package/dist/tools/modify/import-svg-as-editable.js +247 -0
- package/dist/tools/modify/import-svg-as-editable.js.map +1 -0
- package/dist/tools/modify/place-image.d.ts.map +1 -1
- package/dist/tools/modify/place-image.js +17 -2
- package/dist/tools/modify/place-image.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +2 -0
- package/dist/tools/registry.js.map +1 -1
- package/package.json +1 -1
package/dist/bundle.cjs
CHANGED
|
@@ -30279,8 +30279,8 @@ function createTempFiles() {
|
|
|
30279
30279
|
async function writeParams(paramsPath, params) {
|
|
30280
30280
|
await fs.writeFile(paramsPath, JSON.stringify(params ?? {}), "utf-8");
|
|
30281
30281
|
}
|
|
30282
|
-
async function writeJsx(scriptPath,
|
|
30283
|
-
await fs.writeFile(scriptPath, BOM +
|
|
30282
|
+
async function writeJsx(scriptPath, jsxCode61) {
|
|
30283
|
+
await fs.writeFile(scriptPath, BOM + jsxCode61, "utf-8");
|
|
30284
30284
|
}
|
|
30285
30285
|
async function writeAppleScript(scptPath, scriptPath, options) {
|
|
30286
30286
|
const escaped = scriptPath.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
@@ -30452,11 +30452,11 @@ function getExecFailureMessage(error48, stderr, timeout, transport = "osascript"
|
|
|
30452
30452
|
if (transport === "powershell") return parsePowerShellError(stderr || error48.message);
|
|
30453
30453
|
return parseOsascriptError(stderr || error48.message);
|
|
30454
30454
|
}
|
|
30455
|
-
async function executeViaOsascript(
|
|
30455
|
+
async function executeViaOsascript(jsxCode61, params, timeout, activate) {
|
|
30456
30456
|
const files = createTempFiles();
|
|
30457
30457
|
try {
|
|
30458
30458
|
await writeParams(files.paramsPath, params);
|
|
30459
|
-
const fullJsx = await buildJsx(
|
|
30459
|
+
const fullJsx = await buildJsx(jsxCode61, files.paramsPath, files.resultPath);
|
|
30460
30460
|
await writeJsx(files.scriptPath, fullJsx);
|
|
30461
30461
|
await writeAppleScript(files.runnerPath, files.scriptPath, { activate, appPath: getAppPath() });
|
|
30462
30462
|
await new Promise((resolve2, reject) => {
|
|
@@ -30473,11 +30473,11 @@ async function executeViaOsascript(jsxCode60, params, timeout, activate) {
|
|
|
30473
30473
|
await cleanupTempFiles(files);
|
|
30474
30474
|
}
|
|
30475
30475
|
}
|
|
30476
|
-
async function executeViaPowerShell(
|
|
30476
|
+
async function executeViaPowerShell(jsxCode61, params, timeout, activate) {
|
|
30477
30477
|
const files = createTempFiles();
|
|
30478
30478
|
try {
|
|
30479
30479
|
await writeParams(files.paramsPath, params);
|
|
30480
|
-
const fullJsx = await buildJsx(
|
|
30480
|
+
const fullJsx = await buildJsx(jsxCode61, files.paramsPath, files.resultPath);
|
|
30481
30481
|
await writeJsx(files.scriptPath, fullJsx);
|
|
30482
30482
|
await writePowerShellScript(files.runnerPath, files.scriptPath, { activate, appPath: getAppPath() });
|
|
30483
30483
|
await new Promise((resolve2, reject) => {
|
|
@@ -30516,24 +30516,24 @@ async function readAndValidateResult(resultPath) {
|
|
|
30516
30516
|
}
|
|
30517
30517
|
return result;
|
|
30518
30518
|
}
|
|
30519
|
-
async function executeJsxRaw(
|
|
30519
|
+
async function executeJsxRaw(jsxCode61, params, timeout = TIMEOUT_NORMAL, activate = false) {
|
|
30520
30520
|
const transport = getTransport();
|
|
30521
30521
|
switch (transport) {
|
|
30522
30522
|
case "osascript":
|
|
30523
|
-
return await executeViaOsascript(
|
|
30523
|
+
return await executeViaOsascript(jsxCode61, params, timeout, activate);
|
|
30524
30524
|
case "powershell":
|
|
30525
|
-
return await executeViaPowerShell(
|
|
30525
|
+
return await executeViaPowerShell(jsxCode61, params, timeout, activate);
|
|
30526
30526
|
default: {
|
|
30527
30527
|
const _ = transport;
|
|
30528
30528
|
throw new Error(`Unknown transport: ${_}`);
|
|
30529
30529
|
}
|
|
30530
30530
|
}
|
|
30531
30531
|
}
|
|
30532
|
-
async function executeJsx(
|
|
30532
|
+
async function executeJsx(jsxCode61, params, options) {
|
|
30533
30533
|
pendingCount++;
|
|
30534
30534
|
try {
|
|
30535
30535
|
return await jsxLimit(() => executeJsxRaw(
|
|
30536
|
-
|
|
30536
|
+
jsxCode61,
|
|
30537
30537
|
params,
|
|
30538
30538
|
options?.timeout ?? TIMEOUT_NORMAL,
|
|
30539
30539
|
options?.activate ?? false
|
|
@@ -30545,8 +30545,8 @@ async function executeJsx(jsxCode60, params, options) {
|
|
|
30545
30545
|
}
|
|
30546
30546
|
}
|
|
30547
30547
|
}
|
|
30548
|
-
async function executeJsxHeavy(
|
|
30549
|
-
return executeJsx(
|
|
30548
|
+
async function executeJsxHeavy(jsxCode61, params) {
|
|
30549
|
+
return executeJsx(jsxCode61, params, { timeout: TIMEOUT_HEAVY, activate: true });
|
|
30550
30550
|
}
|
|
30551
30551
|
|
|
30552
30552
|
// src/tools/session.ts
|
|
@@ -30752,10 +30752,10 @@ function ensureToolParams(params) {
|
|
|
30752
30752
|
function formatToolResult(result) {
|
|
30753
30753
|
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
30754
30754
|
}
|
|
30755
|
-
async function executeToolJsx(
|
|
30755
|
+
async function executeToolJsx(jsxCode61, params, options) {
|
|
30756
30756
|
const baseParams = ensureToolParams(params);
|
|
30757
30757
|
const resolvedParams = options?.resolveCoordinate ? { ...baseParams, coordinate_system: await resolveCoordinateSystem(baseParams.coordinate_system) } : baseParams;
|
|
30758
|
-
const result = options?.heavy ? await executeJsxHeavy(
|
|
30758
|
+
const result = options?.heavy ? await executeJsxHeavy(jsxCode61, resolvedParams) : await executeJsx(jsxCode61, resolvedParams, { activate: options?.activate ?? false });
|
|
30759
30759
|
return formatToolResult(result);
|
|
30760
30760
|
}
|
|
30761
30761
|
|
|
@@ -36657,11 +36657,26 @@ if (preflight) {
|
|
|
36657
36657
|
var imgFile = new File(filePath);
|
|
36658
36658
|
if (!imgFile.exists) {
|
|
36659
36659
|
writeResultFile(RESULT_PATH, { error: true, message: "Image file not found: " + filePath });
|
|
36660
|
+
} else if (/\\.svgz?$/i.test(filePath)) {
|
|
36661
|
+
writeResultFile(RESULT_PATH, {
|
|
36662
|
+
error: true,
|
|
36663
|
+
message: "place_image does not support SVG files. SVG placed via PlacedItems becomes a non-editable linked artwork and often leaves broken link items in the document. Use import_svg_as_editable to bring SVG content in as editable Illustrator paths/text."
|
|
36664
|
+
});
|
|
36660
36665
|
} else {
|
|
36661
36666
|
var targetLayer = resolveTargetLayer(doc, params.layer_name);
|
|
36662
36667
|
|
|
36663
36668
|
var placed = targetLayer.placedItems.add();
|
|
36664
|
-
|
|
36669
|
+
try {
|
|
36670
|
+
placed.file = imgFile;
|
|
36671
|
+
} catch (linkErr) {
|
|
36672
|
+
// Setting .file failed \u2014 remove the orphaned PlacedItem so no broken link remains
|
|
36673
|
+
try { placed.remove(); } catch (rmErr) {}
|
|
36674
|
+
writeResultFile(RESULT_PATH, {
|
|
36675
|
+
error: true,
|
|
36676
|
+
message: "Failed to link image file (likely unsupported or corrupt): " + linkErr.message + ". The empty placed item was removed."
|
|
36677
|
+
});
|
|
36678
|
+
return;
|
|
36679
|
+
}
|
|
36665
36680
|
|
|
36666
36681
|
// Position
|
|
36667
36682
|
if (typeof params.x === "number" && typeof params.y === "number") {
|
|
@@ -36726,7 +36741,7 @@ function register34(server) {
|
|
|
36726
36741
|
"place_image",
|
|
36727
36742
|
{
|
|
36728
36743
|
title: "Place Image",
|
|
36729
|
-
description: "Place
|
|
36744
|
+
description: "Place a raster or PDF image file (PNG, JPG, TIFF, PSD, PDF, etc.) into the document as a linked or embedded image. SVG is NOT supported here because PlacedItems produces a non-editable linked artwork \u2014 use import_svg_as_editable instead to bring SVG content in as editable paths/text. Note: Illustrator will be activated (brought to foreground) during execution.",
|
|
36730
36745
|
inputSchema: {
|
|
36731
36746
|
file_path: external_exports.string().describe("Absolute path to the image file"),
|
|
36732
36747
|
x: external_exports.number().optional().describe("X position"),
|
|
@@ -36744,8 +36759,217 @@ function register34(server) {
|
|
|
36744
36759
|
);
|
|
36745
36760
|
}
|
|
36746
36761
|
|
|
36747
|
-
// src/tools/modify/
|
|
36762
|
+
// src/tools/modify/import-svg-as-editable.ts
|
|
36748
36763
|
var jsxCode33 = `
|
|
36764
|
+
var srcDoc = null;
|
|
36765
|
+
var targetDocRef = null;
|
|
36766
|
+
var preflight = preflightChecks();
|
|
36767
|
+
if (preflight) {
|
|
36768
|
+
writeResultFile(RESULT_PATH, preflight);
|
|
36769
|
+
} else {
|
|
36770
|
+
try {
|
|
36771
|
+
var params = readParamsFile(PARAMS_PATH);
|
|
36772
|
+
var coordSystem = params.coordinate_system || "artboard-web";
|
|
36773
|
+
|
|
36774
|
+
var svgPath = params.file_path;
|
|
36775
|
+
if (!/\\.svgz?$/i.test(svgPath)) {
|
|
36776
|
+
writeResultFile(RESULT_PATH, { error: true, message: "import_svg_as_editable expects an .svg or .svgz file. Got: " + svgPath });
|
|
36777
|
+
} else {
|
|
36778
|
+
var svgFile = new File(svgPath);
|
|
36779
|
+
if (!svgFile.exists) {
|
|
36780
|
+
writeResultFile(RESULT_PATH, { error: true, message: "SVG file not found: " + svgPath });
|
|
36781
|
+
} else {
|
|
36782
|
+
targetDocRef = app.activeDocument;
|
|
36783
|
+
var abRect = (coordSystem === "artboard-web") ? getActiveArtboardRect() : null;
|
|
36784
|
+
|
|
36785
|
+
try {
|
|
36786
|
+
srcDoc = app.open(svgFile);
|
|
36787
|
+
} catch (openErr) {
|
|
36788
|
+
writeResultFile(RESULT_PATH, { error: true, message: "Failed to open SVG: " + openErr.message });
|
|
36789
|
+
srcDoc = null;
|
|
36790
|
+
}
|
|
36791
|
+
|
|
36792
|
+
if (srcDoc) {
|
|
36793
|
+
// \u8907\u88FD\u4E2D\u306B\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u304C\u5909\u52D5\u3059\u308B\u305F\u3081\u4E8B\u524D\u306B\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8
|
|
36794
|
+
var sourceItems = [];
|
|
36795
|
+
for (var i = 0; i < srcDoc.pageItems.length; i++) {
|
|
36796
|
+
sourceItems.push(srcDoc.pageItems[i]);
|
|
36797
|
+
}
|
|
36798
|
+
|
|
36799
|
+
if (sourceItems.length === 0) {
|
|
36800
|
+
try { srcDoc.close(SaveOptions.DONOTSAVECHANGES); } catch (e) {}
|
|
36801
|
+
srcDoc = null;
|
|
36802
|
+
app.activeDocument = targetDocRef;
|
|
36803
|
+
writeResultFile(RESULT_PATH, { error: true, message: "SVG contains no importable items" });
|
|
36804
|
+
} else {
|
|
36805
|
+
var targetLayer = resolveTargetLayer(targetDocRef, params.layer_name);
|
|
36806
|
+
var duplicated = [];
|
|
36807
|
+
var dupErrors = [];
|
|
36808
|
+
for (var j = 0; j < sourceItems.length; j++) {
|
|
36809
|
+
try {
|
|
36810
|
+
duplicated.push(sourceItems[j].duplicate(targetLayer, ElementPlacement.PLACEATEND));
|
|
36811
|
+
} catch (dupErr) {
|
|
36812
|
+
dupErrors.push({ index: j, message: dupErr.message });
|
|
36813
|
+
}
|
|
36814
|
+
}
|
|
36815
|
+
|
|
36816
|
+
try { srcDoc.close(SaveOptions.DONOTSAVECHANGES); } catch (e) {}
|
|
36817
|
+
srcDoc = null;
|
|
36818
|
+
app.activeDocument = targetDocRef;
|
|
36819
|
+
|
|
36820
|
+
if (duplicated.length === 0) {
|
|
36821
|
+
writeResultFile(RESULT_PATH, {
|
|
36822
|
+
error: true,
|
|
36823
|
+
message: "Failed to duplicate any SVG items into target document",
|
|
36824
|
+
details: dupErrors
|
|
36825
|
+
});
|
|
36826
|
+
} else {
|
|
36827
|
+
var rootItem = wrapAsGroup(duplicated, targetLayer, params.group !== false);
|
|
36828
|
+
var movables = rootItem ? [rootItem] : duplicated;
|
|
36829
|
+
|
|
36830
|
+
var bounds = rootItem ? rootItem.geometricBounds : unionBounds(duplicated);
|
|
36831
|
+
|
|
36832
|
+
// \u30D5\u30A3\u30C3\u30C8 \u2192 \u30B5\u30A4\u30BA\u304C\u5909\u308F\u3063\u305F\u3089\u30D0\u30A6\u30F3\u30C7\u30A3\u30F3\u30B0\u3092\u53D6\u308A\u76F4\u3059
|
|
36833
|
+
if (params.fit_to_artboard === true && abRect) {
|
|
36834
|
+
var pad = (typeof params.padding === "number") ? params.padding : 0;
|
|
36835
|
+
fitItemsToArtboard(movables, bounds, abRect, pad);
|
|
36836
|
+
bounds = rootItem ? rootItem.geometricBounds : unionBounds(duplicated);
|
|
36837
|
+
}
|
|
36838
|
+
|
|
36839
|
+
// \u660E\u793A\u7684\u306A x/y \u6307\u5B9A\uFF08fit_to_artboard \u6642\u306F\u4E2D\u592E\u914D\u7F6E\u304C\u512A\u5148\u3055\u308C\u308B\u306E\u3067\u7121\u8996\uFF09
|
|
36840
|
+
if (!(params.fit_to_artboard === true && abRect) &&
|
|
36841
|
+
typeof params.x === "number" && typeof params.y === "number") {
|
|
36842
|
+
var pos = webToAiPoint(params.x, params.y, coordSystem, abRect);
|
|
36843
|
+
translateItems(movables, pos[0] - bounds[0], pos[1] - bounds[1]);
|
|
36844
|
+
bounds = rootItem ? rootItem.geometricBounds : unionBounds(duplicated);
|
|
36845
|
+
}
|
|
36846
|
+
|
|
36847
|
+
var rootUuid = null;
|
|
36848
|
+
if (rootItem) {
|
|
36849
|
+
if (params.name) rootItem.name = params.name;
|
|
36850
|
+
rootUuid = ensureUUID(rootItem);
|
|
36851
|
+
}
|
|
36852
|
+
|
|
36853
|
+
var itemSummaries = [];
|
|
36854
|
+
for (var u = 0; u < duplicated.length; u++) {
|
|
36855
|
+
itemSummaries.push({
|
|
36856
|
+
uuid: ensureUUID(duplicated[u]),
|
|
36857
|
+
type: duplicated[u].typename,
|
|
36858
|
+
name: duplicated[u].name || ""
|
|
36859
|
+
});
|
|
36860
|
+
}
|
|
36861
|
+
|
|
36862
|
+
writeResultFile(RESULT_PATH, {
|
|
36863
|
+
success: true,
|
|
36864
|
+
sourcePath: svgPath,
|
|
36865
|
+
grouped: !!rootItem && duplicated.length > 1,
|
|
36866
|
+
rootUuid: rootUuid,
|
|
36867
|
+
importedCount: duplicated.length,
|
|
36868
|
+
widthPt: bounds[2] - bounds[0],
|
|
36869
|
+
heightPt: bounds[1] - bounds[3],
|
|
36870
|
+
items: itemSummaries,
|
|
36871
|
+
duplicationErrors: dupErrors.length > 0 ? dupErrors : undefined,
|
|
36872
|
+
verified: rootItem ? verifyItem(rootItem, coordSystem, abRect) : null
|
|
36873
|
+
});
|
|
36874
|
+
}
|
|
36875
|
+
}
|
|
36876
|
+
}
|
|
36877
|
+
}
|
|
36878
|
+
}
|
|
36879
|
+
} catch (e) {
|
|
36880
|
+
writeResultFile(RESULT_PATH, { error: true, message: "import_svg_as_editable failed: " + e.message, line: e.line });
|
|
36881
|
+
} finally {
|
|
36882
|
+
// \u60F3\u5B9A\u5916\u306E\u30D1\u30B9\u3067 srcDoc \u304C\u958B\u3044\u305F\u307E\u307E\u306A\u3089\u9589\u3058\u308B
|
|
36883
|
+
if (srcDoc) {
|
|
36884
|
+
try { srcDoc.close(SaveOptions.DONOTSAVECHANGES); } catch (e) {}
|
|
36885
|
+
}
|
|
36886
|
+
if (targetDocRef) {
|
|
36887
|
+
try { app.activeDocument = targetDocRef; } catch (e) {}
|
|
36888
|
+
}
|
|
36889
|
+
}
|
|
36890
|
+
}
|
|
36891
|
+
|
|
36892
|
+
// --- \u30ED\u30FC\u30AB\u30EB\u30D8\u30EB\u30D1\u30FC ---
|
|
36893
|
+
|
|
36894
|
+
function unionBounds(items) {
|
|
36895
|
+
// [left, top, right, bottom]
|
|
36896
|
+
var b = [items[0].geometricBounds[0], items[0].geometricBounds[1],
|
|
36897
|
+
items[0].geometricBounds[2], items[0].geometricBounds[3]];
|
|
36898
|
+
for (var k = 1; k < items.length; k++) {
|
|
36899
|
+
var g = items[k].geometricBounds;
|
|
36900
|
+
if (g[0] < b[0]) b[0] = g[0];
|
|
36901
|
+
if (g[1] > b[1]) b[1] = g[1];
|
|
36902
|
+
if (g[2] > b[2]) b[2] = g[2];
|
|
36903
|
+
if (g[3] < b[3]) b[3] = g[3];
|
|
36904
|
+
}
|
|
36905
|
+
return b;
|
|
36906
|
+
}
|
|
36907
|
+
|
|
36908
|
+
function translateItems(items, dx, dy) {
|
|
36909
|
+
if (dx === 0 && dy === 0) return;
|
|
36910
|
+
for (var i = 0; i < items.length; i++) items[i].translate(dx, dy);
|
|
36911
|
+
}
|
|
36912
|
+
|
|
36913
|
+
function wrapAsGroup(items, parentLayer, shouldGroup) {
|
|
36914
|
+
if (!shouldGroup) return null;
|
|
36915
|
+
if (items.length === 1) return items[0];
|
|
36916
|
+
var group = parentLayer.groupItems.add();
|
|
36917
|
+
// duplicate \u306F PLACEATEND \u3067\u672B\u5C3E\u306B\u7A4D\u307E\u308C\u3066\u3044\u308B\u3002\u30B0\u30EB\u30FC\u30D7\u306B\u79FB\u3059\u3068\u7A4D\u307F\u9806\u304C\u53CD\u8EE2\u3059\u308B\u305F\u3081\u3001
|
|
36918
|
+
// \u9006\u9806\u306B moveToBeginning \u3059\u308B\u3053\u3068\u3067\u5143\u306E z-order \u3092\u4FDD\u3064\u3002
|
|
36919
|
+
for (var i = items.length - 1; i >= 0; i--) {
|
|
36920
|
+
items[i].moveToBeginning(group);
|
|
36921
|
+
}
|
|
36922
|
+
return group;
|
|
36923
|
+
}
|
|
36924
|
+
|
|
36925
|
+
function fitItemsToArtboard(items, bounds, abRect, pad) {
|
|
36926
|
+
var abW = abRect[2] - abRect[0];
|
|
36927
|
+
var abH = abRect[1] - abRect[3];
|
|
36928
|
+
var availW = abW - pad * 2;
|
|
36929
|
+
var availH = abH - pad * 2;
|
|
36930
|
+
var w = bounds[2] - bounds[0];
|
|
36931
|
+
var h = bounds[1] - bounds[3];
|
|
36932
|
+
if (w <= 0 || h <= 0 || availW <= 0 || availH <= 0) return;
|
|
36933
|
+
|
|
36934
|
+
var scalePct = Math.min(availW / w, availH / h) * 100;
|
|
36935
|
+
for (var i = 0; i < items.length; i++) items[i].resize(scalePct, scalePct);
|
|
36936
|
+
|
|
36937
|
+
// \u30EA\u30B5\u30A4\u30BA\u5F8C\u306B\u30D0\u30A6\u30F3\u30C7\u30A3\u30F3\u30B0\u3092\u53D6\u308A\u76F4\u3057\u3066\u4E2D\u592E\u914D\u7F6E
|
|
36938
|
+
var newB = (items.length === 1) ? items[0].geometricBounds : unionBounds(items);
|
|
36939
|
+
var newW = newB[2] - newB[0];
|
|
36940
|
+
var newH = newB[1] - newB[3];
|
|
36941
|
+
var targetLeft = abRect[0] + (abW - newW) / 2;
|
|
36942
|
+
var targetTop = abRect[1] - (abH - newH) / 2;
|
|
36943
|
+
translateItems(items, targetLeft - newB[0], targetTop - newB[1]);
|
|
36944
|
+
}
|
|
36945
|
+
`;
|
|
36946
|
+
function register35(server) {
|
|
36947
|
+
server.registerTool(
|
|
36948
|
+
"import_svg_as_editable",
|
|
36949
|
+
{
|
|
36950
|
+
title: "Import SVG as Editable",
|
|
36951
|
+
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.",
|
|
36952
|
+
inputSchema: {
|
|
36953
|
+
file_path: external_exports.string().describe("Absolute path to the .svg or .svgz file"),
|
|
36954
|
+
x: external_exports.number().optional().describe("X position of the imported content (top-left of bounding box). Ignored when fit_to_artboard is true."),
|
|
36955
|
+
y: external_exports.number().optional().describe("Y position of the imported content (top-left of bounding box). Ignored when fit_to_artboard is true."),
|
|
36956
|
+
layer_name: external_exports.string().optional().describe("Target layer name in the active document. Created if missing."),
|
|
36957
|
+
group: external_exports.boolean().optional().default(true).describe("Wrap imported items in a single GroupItem (default: true). Set false to keep items flat in the target layer."),
|
|
36958
|
+
fit_to_artboard: external_exports.boolean().optional().default(false).describe("Scale and center the imported content to fit the active artboard (default: false)."),
|
|
36959
|
+
padding: external_exports.number().optional().describe("Padding in points from the artboard edges when fit_to_artboard is true."),
|
|
36960
|
+
name: external_exports.string().optional().describe("Name to assign to the root group (only when group=true and multiple items are imported)."),
|
|
36961
|
+
coordinate_system: coordinateSystemSchema
|
|
36962
|
+
},
|
|
36963
|
+
annotations: WRITE_ANNOTATIONS
|
|
36964
|
+
},
|
|
36965
|
+
async (params) => {
|
|
36966
|
+
return executeToolJsx(jsxCode33, params, { activate: true, resolveCoordinate: true });
|
|
36967
|
+
}
|
|
36968
|
+
);
|
|
36969
|
+
}
|
|
36970
|
+
|
|
36971
|
+
// src/tools/modify/resize-for-variation.ts
|
|
36972
|
+
var jsxCode34 = `
|
|
36749
36973
|
var preflight = preflightChecks();
|
|
36750
36974
|
if (preflight) {
|
|
36751
36975
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -36879,7 +37103,7 @@ if (preflight) {
|
|
|
36879
37103
|
}
|
|
36880
37104
|
}
|
|
36881
37105
|
`;
|
|
36882
|
-
function
|
|
37106
|
+
function register36(server) {
|
|
36883
37107
|
server.registerTool(
|
|
36884
37108
|
"resize_for_variation",
|
|
36885
37109
|
{
|
|
@@ -36900,13 +37124,13 @@ function register35(server) {
|
|
|
36900
37124
|
annotations: WRITE_ANNOTATIONS
|
|
36901
37125
|
},
|
|
36902
37126
|
async (params) => {
|
|
36903
|
-
return executeToolJsx(
|
|
37127
|
+
return executeToolJsx(jsxCode34, params, { heavy: true, resolveCoordinate: true });
|
|
36904
37128
|
}
|
|
36905
37129
|
);
|
|
36906
37130
|
}
|
|
36907
37131
|
|
|
36908
37132
|
// src/tools/modify/align-objects.ts
|
|
36909
|
-
var
|
|
37133
|
+
var jsxCode35 = `
|
|
36910
37134
|
var preflight = preflightChecks();
|
|
36911
37135
|
if (preflight) {
|
|
36912
37136
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -37069,7 +37293,7 @@ if (preflight) {
|
|
|
37069
37293
|
}
|
|
37070
37294
|
}
|
|
37071
37295
|
`;
|
|
37072
|
-
function
|
|
37296
|
+
function register37(server) {
|
|
37073
37297
|
server.registerTool(
|
|
37074
37298
|
"align_objects",
|
|
37075
37299
|
{
|
|
@@ -37085,13 +37309,13 @@ function register36(server) {
|
|
|
37085
37309
|
annotations: WRITE_ANNOTATIONS
|
|
37086
37310
|
},
|
|
37087
37311
|
async (params) => {
|
|
37088
|
-
return executeToolJsx(
|
|
37312
|
+
return executeToolJsx(jsxCode35, params, { resolveCoordinate: true });
|
|
37089
37313
|
}
|
|
37090
37314
|
);
|
|
37091
37315
|
}
|
|
37092
37316
|
|
|
37093
37317
|
// src/tools/modify/replace-color.ts
|
|
37094
|
-
var
|
|
37318
|
+
var jsxCode36 = `
|
|
37095
37319
|
${COLOR_HELPERS_JSX}
|
|
37096
37320
|
|
|
37097
37321
|
var preflight = preflightChecks();
|
|
@@ -37187,7 +37411,7 @@ if (preflight) {
|
|
|
37187
37411
|
}
|
|
37188
37412
|
}
|
|
37189
37413
|
`;
|
|
37190
|
-
function
|
|
37414
|
+
function register38(server) {
|
|
37191
37415
|
server.registerTool(
|
|
37192
37416
|
"replace_color",
|
|
37193
37417
|
{
|
|
@@ -37203,14 +37427,14 @@ function register37(server) {
|
|
|
37203
37427
|
annotations: DESTRUCTIVE_ANNOTATIONS
|
|
37204
37428
|
},
|
|
37205
37429
|
async (params) => {
|
|
37206
|
-
const result = await executeJsx(
|
|
37430
|
+
const result = await executeJsx(jsxCode36, params);
|
|
37207
37431
|
return formatToolResult(result);
|
|
37208
37432
|
}
|
|
37209
37433
|
);
|
|
37210
37434
|
}
|
|
37211
37435
|
|
|
37212
37436
|
// src/tools/modify/manage-layers.ts
|
|
37213
|
-
var
|
|
37437
|
+
var jsxCode37 = `
|
|
37214
37438
|
var preflight = preflightChecks();
|
|
37215
37439
|
if (preflight) {
|
|
37216
37440
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -37315,7 +37539,7 @@ if (preflight) {
|
|
|
37315
37539
|
}
|
|
37316
37540
|
}
|
|
37317
37541
|
`;
|
|
37318
|
-
function
|
|
37542
|
+
function register39(server) {
|
|
37319
37543
|
server.registerTool(
|
|
37320
37544
|
"manage_layers",
|
|
37321
37545
|
{
|
|
@@ -37331,14 +37555,14 @@ function register38(server) {
|
|
|
37331
37555
|
annotations: DESTRUCTIVE_ANNOTATIONS
|
|
37332
37556
|
},
|
|
37333
37557
|
async (params) => {
|
|
37334
|
-
const result = await executeJsx(
|
|
37558
|
+
const result = await executeJsx(jsxCode37, params);
|
|
37335
37559
|
return formatToolResult(result);
|
|
37336
37560
|
}
|
|
37337
37561
|
);
|
|
37338
37562
|
}
|
|
37339
37563
|
|
|
37340
37564
|
// src/tools/modify/place-color-chips.ts
|
|
37341
|
-
var
|
|
37565
|
+
var jsxCode38 = `
|
|
37342
37566
|
var preflight = preflightChecks();
|
|
37343
37567
|
if (preflight) {
|
|
37344
37568
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -37513,7 +37737,7 @@ if (preflight) {
|
|
|
37513
37737
|
}
|
|
37514
37738
|
}
|
|
37515
37739
|
`;
|
|
37516
|
-
function
|
|
37740
|
+
function register40(server) {
|
|
37517
37741
|
server.registerTool(
|
|
37518
37742
|
"place_color_chips",
|
|
37519
37743
|
{
|
|
@@ -37530,13 +37754,13 @@ function register39(server) {
|
|
|
37530
37754
|
annotations: WRITE_ANNOTATIONS
|
|
37531
37755
|
},
|
|
37532
37756
|
async (params) => {
|
|
37533
|
-
return executeToolJsx(
|
|
37757
|
+
return executeToolJsx(jsxCode38, params, { heavy: true, resolveCoordinate: true });
|
|
37534
37758
|
}
|
|
37535
37759
|
);
|
|
37536
37760
|
}
|
|
37537
37761
|
|
|
37538
37762
|
// src/tools/modify/place-style-guide.ts
|
|
37539
|
-
var
|
|
37763
|
+
var jsxCode39 = `
|
|
37540
37764
|
// \u2500\u2500\u2500 Helper functions (top-level for ES3 compatibility) \u2500\u2500\u2500
|
|
37541
37765
|
function makeTextColor(isCMYK) {
|
|
37542
37766
|
if (isCMYK) {
|
|
@@ -38321,7 +38545,7 @@ if (preflight) {
|
|
|
38321
38545
|
}
|
|
38322
38546
|
}
|
|
38323
38547
|
`;
|
|
38324
|
-
function
|
|
38548
|
+
function register41(server) {
|
|
38325
38549
|
server.registerTool(
|
|
38326
38550
|
"place_style_guide",
|
|
38327
38551
|
{
|
|
@@ -38336,13 +38560,13 @@ function register40(server) {
|
|
|
38336
38560
|
annotations: WRITE_ANNOTATIONS
|
|
38337
38561
|
},
|
|
38338
38562
|
async (params) => {
|
|
38339
|
-
return executeToolJsx(
|
|
38563
|
+
return executeToolJsx(jsxCode39, params, { heavy: true, resolveCoordinate: true });
|
|
38340
38564
|
}
|
|
38341
38565
|
);
|
|
38342
38566
|
}
|
|
38343
38567
|
|
|
38344
38568
|
// src/tools/modify/create-crop-marks.ts
|
|
38345
|
-
var
|
|
38569
|
+
var jsxCode40 = `
|
|
38346
38570
|
var preflight = preflightChecks();
|
|
38347
38571
|
if (preflight) {
|
|
38348
38572
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -38510,7 +38734,7 @@ if (preflight) {
|
|
|
38510
38734
|
}
|
|
38511
38735
|
}
|
|
38512
38736
|
`;
|
|
38513
|
-
function
|
|
38737
|
+
function register42(server) {
|
|
38514
38738
|
server.registerTool(
|
|
38515
38739
|
"create_crop_marks",
|
|
38516
38740
|
{
|
|
@@ -38531,7 +38755,7 @@ function register41(server) {
|
|
|
38531
38755
|
annotations: WRITE_ANNOTATIONS
|
|
38532
38756
|
},
|
|
38533
38757
|
async (params) => {
|
|
38534
|
-
const result = await executeToolJsx(
|
|
38758
|
+
const result = await executeToolJsx(jsxCode40, params, { activate: true });
|
|
38535
38759
|
const coordSystem = await resolveCoordinateSystem(void 0);
|
|
38536
38760
|
const coordNote = coordSystem === "document" ? "document (Y-up, origin at bottom-left)" : "artboard-web (Y-down, origin at top-left)";
|
|
38537
38761
|
for (const item of result.content) {
|
|
@@ -38553,7 +38777,7 @@ function register41(server) {
|
|
|
38553
38777
|
}
|
|
38554
38778
|
|
|
38555
38779
|
// src/tools/modify/create-document.ts
|
|
38556
|
-
var
|
|
38780
|
+
var jsxCode41 = `
|
|
38557
38781
|
try {
|
|
38558
38782
|
var verErr = checkIllustratorVersion();
|
|
38559
38783
|
if (verErr) {
|
|
@@ -38583,7 +38807,7 @@ try {
|
|
|
38583
38807
|
writeResultFile(RESULT_PATH, { error: true, message: "Failed to create document: " + e.message, line: e.line });
|
|
38584
38808
|
}
|
|
38585
38809
|
`;
|
|
38586
|
-
function
|
|
38810
|
+
function register43(server) {
|
|
38587
38811
|
server.registerTool(
|
|
38588
38812
|
"create_document",
|
|
38589
38813
|
{
|
|
@@ -38597,7 +38821,7 @@ function register42(server) {
|
|
|
38597
38821
|
annotations: WRITE_ANNOTATIONS
|
|
38598
38822
|
},
|
|
38599
38823
|
async (params) => {
|
|
38600
|
-
const result = await executeJsx(
|
|
38824
|
+
const result = await executeJsx(jsxCode41, params, { activate: true });
|
|
38601
38825
|
invalidateAutoDetectCache();
|
|
38602
38826
|
return formatToolResult(result);
|
|
38603
38827
|
}
|
|
@@ -38605,7 +38829,7 @@ function register42(server) {
|
|
|
38605
38829
|
}
|
|
38606
38830
|
|
|
38607
38831
|
// src/tools/modify/close-document.ts
|
|
38608
|
-
var
|
|
38832
|
+
var jsxCode42 = `
|
|
38609
38833
|
try {
|
|
38610
38834
|
var verErr = checkIllustratorVersion();
|
|
38611
38835
|
if (verErr) {
|
|
@@ -38626,7 +38850,7 @@ try {
|
|
|
38626
38850
|
writeResultFile(RESULT_PATH, { error: true, message: "Failed to close document: " + e.message, line: e.line });
|
|
38627
38851
|
}
|
|
38628
38852
|
`;
|
|
38629
|
-
function
|
|
38853
|
+
function register44(server) {
|
|
38630
38854
|
server.registerTool(
|
|
38631
38855
|
"close_document",
|
|
38632
38856
|
{
|
|
@@ -38638,7 +38862,7 @@ function register43(server) {
|
|
|
38638
38862
|
annotations: DESTRUCTIVE_ANNOTATIONS
|
|
38639
38863
|
},
|
|
38640
38864
|
async (params) => {
|
|
38641
|
-
const result = await executeJsx(
|
|
38865
|
+
const result = await executeJsx(jsxCode42, params, { activate: true });
|
|
38642
38866
|
invalidateAutoDetectCache();
|
|
38643
38867
|
return formatToolResult(result);
|
|
38644
38868
|
}
|
|
@@ -38646,7 +38870,7 @@ function register43(server) {
|
|
|
38646
38870
|
}
|
|
38647
38871
|
|
|
38648
38872
|
// src/tools/modify/save-document.ts
|
|
38649
|
-
var
|
|
38873
|
+
var jsxCode43 = `
|
|
38650
38874
|
var preflight = preflightChecks();
|
|
38651
38875
|
if (preflight) {
|
|
38652
38876
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -38694,7 +38918,7 @@ if (preflight) {
|
|
|
38694
38918
|
}
|
|
38695
38919
|
}
|
|
38696
38920
|
`;
|
|
38697
|
-
function
|
|
38921
|
+
function register45(server) {
|
|
38698
38922
|
server.registerTool(
|
|
38699
38923
|
"save_document",
|
|
38700
38924
|
{
|
|
@@ -38707,14 +38931,14 @@ function register44(server) {
|
|
|
38707
38931
|
annotations: WRITE_IDEMPOTENT_ANNOTATIONS
|
|
38708
38932
|
},
|
|
38709
38933
|
async (params) => {
|
|
38710
|
-
const result = await executeJsx(
|
|
38934
|
+
const result = await executeJsx(jsxCode43, params, { activate: true });
|
|
38711
38935
|
return formatToolResult(result);
|
|
38712
38936
|
}
|
|
38713
38937
|
);
|
|
38714
38938
|
}
|
|
38715
38939
|
|
|
38716
38940
|
// src/tools/modify/open-document.ts
|
|
38717
|
-
var
|
|
38941
|
+
var jsxCode44 = `
|
|
38718
38942
|
try {
|
|
38719
38943
|
var verErr = checkIllustratorVersion();
|
|
38720
38944
|
if (verErr) {
|
|
@@ -38753,7 +38977,7 @@ try {
|
|
|
38753
38977
|
writeResultFile(RESULT_PATH, { error: true, message: "open_document failed: " + e.message, line: e.line });
|
|
38754
38978
|
}
|
|
38755
38979
|
`;
|
|
38756
|
-
function
|
|
38980
|
+
function register46(server) {
|
|
38757
38981
|
server.registerTool(
|
|
38758
38982
|
"open_document",
|
|
38759
38983
|
{
|
|
@@ -38766,7 +38990,7 @@ function register45(server) {
|
|
|
38766
38990
|
annotations: WRITE_ANNOTATIONS
|
|
38767
38991
|
},
|
|
38768
38992
|
async (params) => {
|
|
38769
|
-
const result = await executeJsx(
|
|
38993
|
+
const result = await executeJsx(jsxCode44, params, { activate: true });
|
|
38770
38994
|
invalidateAutoDetectCache();
|
|
38771
38995
|
return formatToolResult(result);
|
|
38772
38996
|
}
|
|
@@ -38774,7 +38998,7 @@ function register45(server) {
|
|
|
38774
38998
|
}
|
|
38775
38999
|
|
|
38776
39000
|
// src/tools/modify/group-objects.ts
|
|
38777
|
-
var
|
|
39001
|
+
var jsxCode45 = `
|
|
38778
39002
|
var preflight = preflightChecks();
|
|
38779
39003
|
if (preflight) {
|
|
38780
39004
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -38822,7 +39046,7 @@ if (preflight) {
|
|
|
38822
39046
|
}
|
|
38823
39047
|
}
|
|
38824
39048
|
`;
|
|
38825
|
-
function
|
|
39049
|
+
function register47(server) {
|
|
38826
39050
|
server.registerTool(
|
|
38827
39051
|
"group_objects",
|
|
38828
39052
|
{
|
|
@@ -38836,14 +39060,14 @@ function register46(server) {
|
|
|
38836
39060
|
annotations: WRITE_ANNOTATIONS
|
|
38837
39061
|
},
|
|
38838
39062
|
async (params) => {
|
|
38839
|
-
const result = await executeJsx(
|
|
39063
|
+
const result = await executeJsx(jsxCode45, params, { activate: true });
|
|
38840
39064
|
return formatToolResult(result);
|
|
38841
39065
|
}
|
|
38842
39066
|
);
|
|
38843
39067
|
}
|
|
38844
39068
|
|
|
38845
39069
|
// src/tools/modify/ungroup-objects.ts
|
|
38846
|
-
var
|
|
39070
|
+
var jsxCode46 = `
|
|
38847
39071
|
var preflight = preflightChecks();
|
|
38848
39072
|
if (preflight) {
|
|
38849
39073
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -38886,7 +39110,7 @@ if (preflight) {
|
|
|
38886
39110
|
}
|
|
38887
39111
|
}
|
|
38888
39112
|
`;
|
|
38889
|
-
function
|
|
39113
|
+
function register48(server) {
|
|
38890
39114
|
server.registerTool(
|
|
38891
39115
|
"ungroup_objects",
|
|
38892
39116
|
{
|
|
@@ -38898,14 +39122,14 @@ function register47(server) {
|
|
|
38898
39122
|
annotations: DESTRUCTIVE_ANNOTATIONS
|
|
38899
39123
|
},
|
|
38900
39124
|
async (params) => {
|
|
38901
|
-
const result = await executeJsx(
|
|
39125
|
+
const result = await executeJsx(jsxCode46, params, { activate: true });
|
|
38902
39126
|
return formatToolResult(result);
|
|
38903
39127
|
}
|
|
38904
39128
|
);
|
|
38905
39129
|
}
|
|
38906
39130
|
|
|
38907
39131
|
// src/tools/modify/duplicate-objects.ts
|
|
38908
|
-
var
|
|
39132
|
+
var jsxCode47 = `
|
|
38909
39133
|
var preflight = preflightChecks();
|
|
38910
39134
|
if (preflight) {
|
|
38911
39135
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -38977,7 +39201,7 @@ if (preflight) {
|
|
|
38977
39201
|
}
|
|
38978
39202
|
}
|
|
38979
39203
|
`;
|
|
38980
|
-
function
|
|
39204
|
+
function register49(server) {
|
|
38981
39205
|
server.registerTool(
|
|
38982
39206
|
"duplicate_objects",
|
|
38983
39207
|
{
|
|
@@ -38995,14 +39219,14 @@ function register48(server) {
|
|
|
38995
39219
|
annotations: WRITE_ANNOTATIONS
|
|
38996
39220
|
},
|
|
38997
39221
|
async (params) => {
|
|
38998
|
-
const result = await executeJsx(
|
|
39222
|
+
const result = await executeJsx(jsxCode47, params, { activate: true });
|
|
38999
39223
|
return formatToolResult(result);
|
|
39000
39224
|
}
|
|
39001
39225
|
);
|
|
39002
39226
|
}
|
|
39003
39227
|
|
|
39004
39228
|
// src/tools/read/list-fonts.ts
|
|
39005
|
-
var
|
|
39229
|
+
var jsxCode48 = `
|
|
39006
39230
|
try {
|
|
39007
39231
|
var verErr = checkIllustratorVersion();
|
|
39008
39232
|
if (verErr) {
|
|
@@ -39040,7 +39264,7 @@ try {
|
|
|
39040
39264
|
writeResultFile(RESULT_PATH, { error: true, message: "list_fonts failed: " + e.message, line: e.line });
|
|
39041
39265
|
}
|
|
39042
39266
|
`;
|
|
39043
|
-
function
|
|
39267
|
+
function register50(server) {
|
|
39044
39268
|
server.registerTool(
|
|
39045
39269
|
"list_fonts",
|
|
39046
39270
|
{
|
|
@@ -39053,14 +39277,14 @@ function register49(server) {
|
|
|
39053
39277
|
annotations: READ_ANNOTATIONS
|
|
39054
39278
|
},
|
|
39055
39279
|
async (params) => {
|
|
39056
|
-
const result = await executeJsx(
|
|
39280
|
+
const result = await executeJsx(jsxCode48, params);
|
|
39057
39281
|
return formatToolResult(result);
|
|
39058
39282
|
}
|
|
39059
39283
|
);
|
|
39060
39284
|
}
|
|
39061
39285
|
|
|
39062
39286
|
// src/tools/modify/manage-artboards.ts
|
|
39063
|
-
var
|
|
39287
|
+
var jsxCode49 = `
|
|
39064
39288
|
var preflight = preflightChecks();
|
|
39065
39289
|
if (preflight) {
|
|
39066
39290
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -39155,7 +39379,7 @@ if (preflight) {
|
|
|
39155
39379
|
}
|
|
39156
39380
|
}
|
|
39157
39381
|
`;
|
|
39158
|
-
function
|
|
39382
|
+
function register51(server) {
|
|
39159
39383
|
server.registerTool(
|
|
39160
39384
|
"manage_artboards",
|
|
39161
39385
|
{
|
|
@@ -39178,14 +39402,14 @@ function register50(server) {
|
|
|
39178
39402
|
annotations: DESTRUCTIVE_ANNOTATIONS
|
|
39179
39403
|
},
|
|
39180
39404
|
async (params) => {
|
|
39181
|
-
const result = await executeJsx(
|
|
39405
|
+
const result = await executeJsx(jsxCode49, params, { activate: true });
|
|
39182
39406
|
return formatToolResult(result);
|
|
39183
39407
|
}
|
|
39184
39408
|
);
|
|
39185
39409
|
}
|
|
39186
39410
|
|
|
39187
39411
|
// src/tools/modify/set-z-order.ts
|
|
39188
|
-
var
|
|
39412
|
+
var jsxCode50 = `
|
|
39189
39413
|
var preflight = preflightChecks();
|
|
39190
39414
|
if (preflight) {
|
|
39191
39415
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -39217,7 +39441,7 @@ if (preflight) {
|
|
|
39217
39441
|
}
|
|
39218
39442
|
}
|
|
39219
39443
|
`;
|
|
39220
|
-
function
|
|
39444
|
+
function register52(server) {
|
|
39221
39445
|
server.registerTool(
|
|
39222
39446
|
"set_z_order",
|
|
39223
39447
|
{
|
|
@@ -39230,14 +39454,14 @@ function register51(server) {
|
|
|
39230
39454
|
annotations: WRITE_ANNOTATIONS
|
|
39231
39455
|
},
|
|
39232
39456
|
async (params) => {
|
|
39233
|
-
const result = await executeJsx(
|
|
39457
|
+
const result = await executeJsx(jsxCode50, params, { activate: true });
|
|
39234
39458
|
return formatToolResult(result);
|
|
39235
39459
|
}
|
|
39236
39460
|
);
|
|
39237
39461
|
}
|
|
39238
39462
|
|
|
39239
39463
|
// src/tools/modify/move-to-layer.ts
|
|
39240
|
-
var
|
|
39464
|
+
var jsxCode51 = `
|
|
39241
39465
|
var preflight = preflightChecks();
|
|
39242
39466
|
if (preflight) {
|
|
39243
39467
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -39284,7 +39508,7 @@ if (preflight) {
|
|
|
39284
39508
|
}
|
|
39285
39509
|
}
|
|
39286
39510
|
`;
|
|
39287
|
-
function
|
|
39511
|
+
function register53(server) {
|
|
39288
39512
|
server.registerTool(
|
|
39289
39513
|
"move_to_layer",
|
|
39290
39514
|
{
|
|
@@ -39298,7 +39522,7 @@ function register52(server) {
|
|
|
39298
39522
|
annotations: WRITE_ANNOTATIONS
|
|
39299
39523
|
},
|
|
39300
39524
|
async (params) => {
|
|
39301
|
-
const result = await executeJsx(
|
|
39525
|
+
const result = await executeJsx(jsxCode51, params, { activate: true });
|
|
39302
39526
|
return formatToolResult(result);
|
|
39303
39527
|
}
|
|
39304
39528
|
);
|
|
@@ -39369,7 +39593,7 @@ if (preflight) {
|
|
|
39369
39593
|
}
|
|
39370
39594
|
}
|
|
39371
39595
|
`;
|
|
39372
|
-
function
|
|
39596
|
+
function register54(server) {
|
|
39373
39597
|
server.registerTool(
|
|
39374
39598
|
"apply_graphic_style",
|
|
39375
39599
|
{
|
|
@@ -39403,7 +39627,7 @@ function register53(server) {
|
|
|
39403
39627
|
}
|
|
39404
39628
|
|
|
39405
39629
|
// src/tools/modify/manage-swatches.ts
|
|
39406
|
-
var
|
|
39630
|
+
var jsxCode52 = `
|
|
39407
39631
|
${COLOR_HELPERS_JSX}
|
|
39408
39632
|
|
|
39409
39633
|
var preflight = preflightChecks();
|
|
@@ -39450,7 +39674,7 @@ if (preflight) {
|
|
|
39450
39674
|
}
|
|
39451
39675
|
}
|
|
39452
39676
|
`;
|
|
39453
|
-
function
|
|
39677
|
+
function register55(server) {
|
|
39454
39678
|
server.registerTool(
|
|
39455
39679
|
"manage_swatches",
|
|
39456
39680
|
{
|
|
@@ -39464,7 +39688,7 @@ function register54(server) {
|
|
|
39464
39688
|
annotations: DESTRUCTIVE_ANNOTATIONS
|
|
39465
39689
|
},
|
|
39466
39690
|
async (params) => {
|
|
39467
|
-
const result = await executeJsx(
|
|
39691
|
+
const result = await executeJsx(jsxCode52, params, { activate: true });
|
|
39468
39692
|
return formatToolResult(result);
|
|
39469
39693
|
}
|
|
39470
39694
|
);
|
|
@@ -39546,7 +39770,7 @@ if (preflight) {
|
|
|
39546
39770
|
}
|
|
39547
39771
|
}
|
|
39548
39772
|
`;
|
|
39549
|
-
function
|
|
39773
|
+
function register56(server) {
|
|
39550
39774
|
server.registerTool(
|
|
39551
39775
|
"apply_text_style",
|
|
39552
39776
|
{
|
|
@@ -39581,7 +39805,7 @@ function register55(server) {
|
|
|
39581
39805
|
}
|
|
39582
39806
|
|
|
39583
39807
|
// src/tools/modify/create-gradient.ts
|
|
39584
|
-
var
|
|
39808
|
+
var jsxCode53 = `
|
|
39585
39809
|
${COLOR_HELPERS_JSX}
|
|
39586
39810
|
|
|
39587
39811
|
var preflight = preflightChecks();
|
|
@@ -39646,7 +39870,7 @@ if (preflight) {
|
|
|
39646
39870
|
}
|
|
39647
39871
|
`;
|
|
39648
39872
|
var stopColorSchema = external_exports.discriminatedUnion("type", [cmykColorSchema, rgbColorSchema, grayColorSchema]);
|
|
39649
|
-
function
|
|
39873
|
+
function register57(server) {
|
|
39650
39874
|
server.registerTool(
|
|
39651
39875
|
"create_gradient",
|
|
39652
39876
|
{
|
|
@@ -39669,14 +39893,14 @@ function register56(server) {
|
|
|
39669
39893
|
annotations: WRITE_ANNOTATIONS
|
|
39670
39894
|
},
|
|
39671
39895
|
async (params) => {
|
|
39672
|
-
const result = await executeJsx(
|
|
39896
|
+
const result = await executeJsx(jsxCode53, params, { activate: true });
|
|
39673
39897
|
return formatToolResult(result);
|
|
39674
39898
|
}
|
|
39675
39899
|
);
|
|
39676
39900
|
}
|
|
39677
39901
|
|
|
39678
39902
|
// src/tools/modify/manage-linked-images.ts
|
|
39679
|
-
var
|
|
39903
|
+
var jsxCode54 = `
|
|
39680
39904
|
var preflight = preflightChecks();
|
|
39681
39905
|
if (preflight) {
|
|
39682
39906
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -39751,7 +39975,7 @@ if (preflight) {
|
|
|
39751
39975
|
}
|
|
39752
39976
|
}
|
|
39753
39977
|
`;
|
|
39754
|
-
function
|
|
39978
|
+
function register58(server) {
|
|
39755
39979
|
server.registerTool(
|
|
39756
39980
|
"manage_linked_images",
|
|
39757
39981
|
{
|
|
@@ -39765,14 +39989,14 @@ function register57(server) {
|
|
|
39765
39989
|
annotations: DESTRUCTIVE_ANNOTATIONS
|
|
39766
39990
|
},
|
|
39767
39991
|
async (params) => {
|
|
39768
|
-
const result = await executeJsx(
|
|
39992
|
+
const result = await executeJsx(jsxCode54, params, { activate: true });
|
|
39769
39993
|
return formatToolResult(result);
|
|
39770
39994
|
}
|
|
39771
39995
|
);
|
|
39772
39996
|
}
|
|
39773
39997
|
|
|
39774
39998
|
// src/tools/modify/undo.ts
|
|
39775
|
-
var
|
|
39999
|
+
var jsxCode55 = `
|
|
39776
40000
|
try {
|
|
39777
40001
|
var verErr = checkIllustratorVersion();
|
|
39778
40002
|
if (verErr) {
|
|
@@ -39800,7 +40024,7 @@ try {
|
|
|
39800
40024
|
writeResultFile(RESULT_PATH, { error: true, message: "undo failed: " + e.message, line: e.line });
|
|
39801
40025
|
}
|
|
39802
40026
|
`;
|
|
39803
|
-
function
|
|
40027
|
+
function register59(server) {
|
|
39804
40028
|
server.registerTool(
|
|
39805
40029
|
"undo",
|
|
39806
40030
|
{
|
|
@@ -39813,14 +40037,14 @@ function register58(server) {
|
|
|
39813
40037
|
annotations: DESTRUCTIVE_ANNOTATIONS
|
|
39814
40038
|
},
|
|
39815
40039
|
async (params) => {
|
|
39816
|
-
const result = await executeJsx(
|
|
40040
|
+
const result = await executeJsx(jsxCode55, params, { activate: true });
|
|
39817
40041
|
return formatToolResult(result);
|
|
39818
40042
|
}
|
|
39819
40043
|
);
|
|
39820
40044
|
}
|
|
39821
40045
|
|
|
39822
40046
|
// src/tools/modify/manage-datasets.ts
|
|
39823
|
-
var
|
|
40047
|
+
var jsxCode56 = `
|
|
39824
40048
|
function parseCsvLine(line) {
|
|
39825
40049
|
var result = [];
|
|
39826
40050
|
var current = "";
|
|
@@ -40103,7 +40327,7 @@ if (preflight) {
|
|
|
40103
40327
|
}
|
|
40104
40328
|
}
|
|
40105
40329
|
`;
|
|
40106
|
-
function
|
|
40330
|
+
function register60(server) {
|
|
40107
40331
|
server.registerTool(
|
|
40108
40332
|
"manage_datasets",
|
|
40109
40333
|
{
|
|
@@ -40129,14 +40353,14 @@ function register59(server) {
|
|
|
40129
40353
|
annotations: WRITE_ANNOTATIONS
|
|
40130
40354
|
},
|
|
40131
40355
|
async (params) => {
|
|
40132
|
-
const result = await executeJsx(
|
|
40356
|
+
const result = await executeJsx(jsxCode56, params, { activate: true });
|
|
40133
40357
|
return formatToolResult(result);
|
|
40134
40358
|
}
|
|
40135
40359
|
);
|
|
40136
40360
|
}
|
|
40137
40361
|
|
|
40138
40362
|
// src/tools/modify/place-symbol.ts
|
|
40139
|
-
var
|
|
40363
|
+
var jsxCode57 = `
|
|
40140
40364
|
var preflight = preflightChecks();
|
|
40141
40365
|
if (preflight) {
|
|
40142
40366
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -40191,7 +40415,7 @@ if (preflight) {
|
|
|
40191
40415
|
}
|
|
40192
40416
|
}
|
|
40193
40417
|
`;
|
|
40194
|
-
function
|
|
40418
|
+
function register61(server) {
|
|
40195
40419
|
server.registerTool(
|
|
40196
40420
|
"place_symbol",
|
|
40197
40421
|
{
|
|
@@ -40208,14 +40432,14 @@ function register60(server) {
|
|
|
40208
40432
|
annotations: WRITE_ANNOTATIONS
|
|
40209
40433
|
},
|
|
40210
40434
|
async (params) => {
|
|
40211
|
-
const result = await executeJsx(
|
|
40435
|
+
const result = await executeJsx(jsxCode57, params, { activate: true });
|
|
40212
40436
|
return formatToolResult(result);
|
|
40213
40437
|
}
|
|
40214
40438
|
);
|
|
40215
40439
|
}
|
|
40216
40440
|
|
|
40217
40441
|
// src/tools/modify/create-path-text.ts
|
|
40218
|
-
var
|
|
40442
|
+
var jsxCode58 = `
|
|
40219
40443
|
var preflight = preflightChecks();
|
|
40220
40444
|
if (preflight) {
|
|
40221
40445
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -40267,7 +40491,7 @@ if (preflight) {
|
|
|
40267
40491
|
}
|
|
40268
40492
|
}
|
|
40269
40493
|
`;
|
|
40270
|
-
function
|
|
40494
|
+
function register62(server) {
|
|
40271
40495
|
server.registerTool(
|
|
40272
40496
|
"create_path_text",
|
|
40273
40497
|
{
|
|
@@ -40286,14 +40510,14 @@ function register61(server) {
|
|
|
40286
40510
|
annotations: WRITE_ANNOTATIONS
|
|
40287
40511
|
},
|
|
40288
40512
|
async (params) => {
|
|
40289
|
-
const result = await executeJsx(
|
|
40513
|
+
const result = await executeJsx(jsxCode58, params, { activate: true });
|
|
40290
40514
|
return formatToolResult(result);
|
|
40291
40515
|
}
|
|
40292
40516
|
);
|
|
40293
40517
|
}
|
|
40294
40518
|
|
|
40295
40519
|
// src/tools/modify/select-objects.ts
|
|
40296
|
-
var
|
|
40520
|
+
var jsxCode59 = `
|
|
40297
40521
|
var preflight = preflightChecks();
|
|
40298
40522
|
if (preflight) {
|
|
40299
40523
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -40343,7 +40567,7 @@ if (preflight) {
|
|
|
40343
40567
|
}
|
|
40344
40568
|
}
|
|
40345
40569
|
`;
|
|
40346
|
-
function
|
|
40570
|
+
function register63(server) {
|
|
40347
40571
|
server.registerTool(
|
|
40348
40572
|
"select_objects",
|
|
40349
40573
|
{
|
|
@@ -40357,14 +40581,14 @@ function register62(server) {
|
|
|
40357
40581
|
annotations: WRITE_IDEMPOTENT_ANNOTATIONS
|
|
40358
40582
|
},
|
|
40359
40583
|
async (params) => {
|
|
40360
|
-
const result = await executeJsx(
|
|
40584
|
+
const result = await executeJsx(jsxCode59, params, { activate: true });
|
|
40361
40585
|
return formatToolResult(result);
|
|
40362
40586
|
}
|
|
40363
40587
|
);
|
|
40364
40588
|
}
|
|
40365
40589
|
|
|
40366
40590
|
// src/tools/read/convert-coordinate.ts
|
|
40367
|
-
var
|
|
40591
|
+
var jsxCode60 = `
|
|
40368
40592
|
var preflight = preflightChecks();
|
|
40369
40593
|
if (preflight) {
|
|
40370
40594
|
writeResultFile(RESULT_PATH, preflight);
|
|
@@ -40401,7 +40625,7 @@ if (preflight) {
|
|
|
40401
40625
|
}
|
|
40402
40626
|
}
|
|
40403
40627
|
`;
|
|
40404
|
-
function
|
|
40628
|
+
function register64(server) {
|
|
40405
40629
|
server.registerTool(
|
|
40406
40630
|
"convert_coordinate",
|
|
40407
40631
|
{
|
|
@@ -40418,7 +40642,7 @@ function register63(server) {
|
|
|
40418
40642
|
annotations: READ_ANNOTATIONS
|
|
40419
40643
|
},
|
|
40420
40644
|
async (params) => {
|
|
40421
|
-
const result = await executeJsx(
|
|
40645
|
+
const result = await executeJsx(jsxCode60, params);
|
|
40422
40646
|
return formatToolResult(result);
|
|
40423
40647
|
}
|
|
40424
40648
|
);
|
|
@@ -40489,10 +40713,11 @@ function registerAllTools(server) {
|
|
|
40489
40713
|
register61(server);
|
|
40490
40714
|
register62(server);
|
|
40491
40715
|
register63(server);
|
|
40716
|
+
register64(server);
|
|
40492
40717
|
}
|
|
40493
40718
|
|
|
40494
40719
|
// src/prompts/quick-layout.ts
|
|
40495
|
-
function
|
|
40720
|
+
function register65(server) {
|
|
40496
40721
|
server.registerPrompt(
|
|
40497
40722
|
"quick-layout",
|
|
40498
40723
|
{
|
|
@@ -40535,7 +40760,7 @@ Always respond in the user's language.`
|
|
|
40535
40760
|
}
|
|
40536
40761
|
|
|
40537
40762
|
// src/prompts/print-preflight-workflow.ts
|
|
40538
|
-
function
|
|
40763
|
+
function register66(server) {
|
|
40539
40764
|
server.registerPrompt(
|
|
40540
40765
|
"print-preflight-workflow",
|
|
40541
40766
|
{
|
|
@@ -40588,8 +40813,8 @@ Always respond in the user's language.`
|
|
|
40588
40813
|
|
|
40589
40814
|
// src/prompts/registry.ts
|
|
40590
40815
|
function registerAllPrompts(server) {
|
|
40591
|
-
register64(server);
|
|
40592
40816
|
register65(server);
|
|
40817
|
+
register66(server);
|
|
40593
40818
|
}
|
|
40594
40819
|
|
|
40595
40820
|
// src/server.ts
|