illustrator-mcp-server 1.3.1 → 1.4.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.ja.md +124 -8
- package/README.md +122 -7
- package/dist/bundle.cjs +444 -282
- package/dist/executor/file-transport.d.ts +2 -0
- package/dist/executor/file-transport.d.ts.map +1 -1
- package/dist/executor/file-transport.js +45 -8
- package/dist/executor/file-transport.js.map +1 -1
- package/dist/executor/jsx-runner.d.ts +17 -0
- package/dist/executor/jsx-runner.d.ts.map +1 -1
- package/dist/executor/jsx-runner.js +47 -2
- package/dist/executor/jsx-runner.js.map +1 -1
- package/dist/jsx/helpers/common.jsx +63 -6
- package/dist/tools/export/export-pdf.d.ts.map +1 -1
- package/dist/tools/export/export-pdf.js +2 -1
- 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 +54 -3
- package/dist/tools/export/export.js.map +1 -1
- package/dist/tools/modify/align-objects.d.ts.map +1 -1
- package/dist/tools/modify/align-objects.js +4 -5
- package/dist/tools/modify/align-objects.js.map +1 -1
- package/dist/tools/modify/apply-color-profile.d.ts.map +1 -1
- package/dist/tools/modify/apply-color-profile.js +2 -1
- package/dist/tools/modify/apply-color-profile.js.map +1 -1
- package/dist/tools/modify/apply-graphic-style.d.ts.map +1 -1
- package/dist/tools/modify/apply-graphic-style.js +3 -2
- package/dist/tools/modify/apply-graphic-style.js.map +1 -1
- package/dist/tools/modify/apply-text-style.d.ts.map +1 -1
- package/dist/tools/modify/apply-text-style.js +3 -2
- package/dist/tools/modify/apply-text-style.js.map +1 -1
- package/dist/tools/modify/close-document.d.ts.map +1 -1
- package/dist/tools/modify/close-document.js +2 -1
- package/dist/tools/modify/close-document.js.map +1 -1
- package/dist/tools/modify/convert-to-outlines.d.ts.map +1 -1
- package/dist/tools/modify/convert-to-outlines.js +2 -1
- package/dist/tools/modify/convert-to-outlines.js.map +1 -1
- package/dist/tools/modify/create-crop-marks.d.ts.map +1 -1
- package/dist/tools/modify/create-crop-marks.js +34 -3
- package/dist/tools/modify/create-crop-marks.js.map +1 -1
- package/dist/tools/modify/create-document.d.ts.map +1 -1
- package/dist/tools/modify/create-document.js +2 -1
- package/dist/tools/modify/create-document.js.map +1 -1
- package/dist/tools/modify/create-ellipse.js +1 -1
- package/dist/tools/modify/create-gradient.d.ts.map +1 -1
- package/dist/tools/modify/create-gradient.js +2 -1
- package/dist/tools/modify/create-gradient.js.map +1 -1
- package/dist/tools/modify/create-line.js +1 -1
- package/dist/tools/modify/create-path-text.d.ts.map +1 -1
- package/dist/tools/modify/create-path-text.js +2 -1
- package/dist/tools/modify/create-path-text.js.map +1 -1
- package/dist/tools/modify/create-path.js +1 -1
- package/dist/tools/modify/create-rectangle.js +1 -1
- package/dist/tools/modify/create-text-frame.d.ts.map +1 -1
- package/dist/tools/modify/create-text-frame.js +4 -6
- package/dist/tools/modify/create-text-frame.js.map +1 -1
- package/dist/tools/modify/duplicate-objects.d.ts.map +1 -1
- package/dist/tools/modify/duplicate-objects.js +17 -3
- package/dist/tools/modify/duplicate-objects.js.map +1 -1
- package/dist/tools/modify/group-objects.d.ts.map +1 -1
- package/dist/tools/modify/group-objects.js +2 -1
- package/dist/tools/modify/group-objects.js.map +1 -1
- package/dist/tools/modify/manage-artboards.d.ts.map +1 -1
- package/dist/tools/modify/manage-artboards.js +9 -2
- package/dist/tools/modify/manage-artboards.js.map +1 -1
- package/dist/tools/modify/manage-datasets.d.ts.map +1 -1
- package/dist/tools/modify/manage-datasets.js +2 -1
- package/dist/tools/modify/manage-datasets.js.map +1 -1
- package/dist/tools/modify/manage-layers.d.ts.map +1 -1
- package/dist/tools/modify/manage-layers.js +2 -1
- package/dist/tools/modify/manage-layers.js.map +1 -1
- package/dist/tools/modify/manage-linked-images.d.ts.map +1 -1
- package/dist/tools/modify/manage-linked-images.js +2 -1
- package/dist/tools/modify/manage-linked-images.js.map +1 -1
- package/dist/tools/modify/manage-swatches.d.ts.map +1 -1
- package/dist/tools/modify/manage-swatches.js +2 -1
- package/dist/tools/modify/manage-swatches.js.map +1 -1
- package/dist/tools/modify/modify-object.d.ts.map +1 -1
- package/dist/tools/modify/modify-object.js +22 -17
- package/dist/tools/modify/modify-object.js.map +1 -1
- package/dist/tools/modify/move-to-layer.d.ts.map +1 -1
- package/dist/tools/modify/move-to-layer.js +2 -1
- package/dist/tools/modify/move-to-layer.js.map +1 -1
- package/dist/tools/modify/open-document.d.ts.map +1 -1
- package/dist/tools/modify/open-document.js +2 -1
- package/dist/tools/modify/open-document.js.map +1 -1
- package/dist/tools/modify/place-color-chips.d.ts.map +1 -1
- package/dist/tools/modify/place-color-chips.js +4 -5
- package/dist/tools/modify/place-color-chips.js.map +1 -1
- package/dist/tools/modify/place-image.d.ts.map +1 -1
- package/dist/tools/modify/place-image.js +5 -6
- package/dist/tools/modify/place-image.js.map +1 -1
- package/dist/tools/modify/place-style-guide.d.ts.map +1 -1
- package/dist/tools/modify/place-style-guide.js +4 -5
- package/dist/tools/modify/place-style-guide.js.map +1 -1
- package/dist/tools/modify/place-symbol.d.ts.map +1 -1
- package/dist/tools/modify/place-symbol.js +2 -1
- package/dist/tools/modify/place-symbol.js.map +1 -1
- package/dist/tools/modify/replace-color.d.ts.map +1 -1
- package/dist/tools/modify/replace-color.js +2 -1
- package/dist/tools/modify/replace-color.js.map +1 -1
- package/dist/tools/modify/resize-for-variation.d.ts.map +1 -1
- package/dist/tools/modify/resize-for-variation.js +4 -5
- package/dist/tools/modify/resize-for-variation.js.map +1 -1
- package/dist/tools/modify/save-document.d.ts.map +1 -1
- package/dist/tools/modify/save-document.js +2 -1
- package/dist/tools/modify/save-document.js.map +1 -1
- package/dist/tools/modify/select-objects.d.ts.map +1 -1
- package/dist/tools/modify/select-objects.js +2 -1
- package/dist/tools/modify/select-objects.js.map +1 -1
- package/dist/tools/modify/set-z-order.d.ts.map +1 -1
- package/dist/tools/modify/set-z-order.js +2 -1
- package/dist/tools/modify/set-z-order.js.map +1 -1
- package/dist/tools/modify/undo.d.ts.map +1 -1
- package/dist/tools/modify/undo.js +2 -1
- package/dist/tools/modify/undo.js.map +1 -1
- package/dist/tools/modify/ungroup-objects.d.ts.map +1 -1
- package/dist/tools/modify/ungroup-objects.js +2 -1
- package/dist/tools/modify/ungroup-objects.js.map +1 -1
- package/dist/tools/read/check-contrast.d.ts.map +1 -1
- package/dist/tools/read/check-contrast.js +14 -27
- package/dist/tools/read/check-contrast.js.map +1 -1
- package/dist/tools/read/convert-coordinate.d.ts.map +1 -1
- package/dist/tools/read/convert-coordinate.js +2 -1
- package/dist/tools/read/convert-coordinate.js.map +1 -1
- package/dist/tools/read/extract-design-tokens.d.ts.map +1 -1
- package/dist/tools/read/extract-design-tokens.js +2 -1
- package/dist/tools/read/extract-design-tokens.js.map +1 -1
- package/dist/tools/read/find-objects.d.ts.map +1 -1
- package/dist/tools/read/find-objects.js +3 -7
- package/dist/tools/read/find-objects.js.map +1 -1
- package/dist/tools/read/get-artboards.js +1 -1
- package/dist/tools/read/get-colors.d.ts.map +1 -1
- package/dist/tools/read/get-colors.js +2 -1
- package/dist/tools/read/get-colors.js.map +1 -1
- package/dist/tools/read/get-document-info.d.ts.map +1 -1
- package/dist/tools/read/get-document-info.js +2 -3
- package/dist/tools/read/get-document-info.js.map +1 -1
- package/dist/tools/read/get-document-structure.d.ts.map +1 -1
- package/dist/tools/read/get-document-structure.js +3 -7
- package/dist/tools/read/get-document-structure.js.map +1 -1
- package/dist/tools/read/get-effects.d.ts.map +1 -1
- package/dist/tools/read/get-effects.js +3 -7
- package/dist/tools/read/get-effects.js.map +1 -1
- package/dist/tools/read/get-groups.d.ts.map +1 -1
- package/dist/tools/read/get-groups.js +3 -7
- package/dist/tools/read/get-groups.js.map +1 -1
- package/dist/tools/read/get-guidelines.d.ts.map +1 -1
- package/dist/tools/read/get-guidelines.js +3 -7
- package/dist/tools/read/get-guidelines.js.map +1 -1
- package/dist/tools/read/get-images.d.ts.map +1 -1
- package/dist/tools/read/get-images.js +40 -13
- package/dist/tools/read/get-images.js.map +1 -1
- package/dist/tools/read/get-layers.js +1 -1
- package/dist/tools/read/get-overprint-info.d.ts.map +1 -1
- package/dist/tools/read/get-overprint-info.js +2 -3
- package/dist/tools/read/get-overprint-info.js.map +1 -1
- package/dist/tools/read/get-path-items.d.ts.map +1 -1
- package/dist/tools/read/get-path-items.js +11 -9
- package/dist/tools/read/get-path-items.js.map +1 -1
- package/dist/tools/read/get-separation-info.d.ts.map +1 -1
- package/dist/tools/read/get-separation-info.js +2 -3
- package/dist/tools/read/get-separation-info.js.map +1 -1
- package/dist/tools/read/get-symbols.d.ts.map +1 -1
- package/dist/tools/read/get-symbols.js +3 -7
- package/dist/tools/read/get-symbols.js.map +1 -1
- package/dist/tools/read/get-text-frame-detail.d.ts.map +1 -1
- package/dist/tools/read/get-text-frame-detail.js +2 -1
- package/dist/tools/read/get-text-frame-detail.js.map +1 -1
- package/dist/tools/read/list-fonts.d.ts.map +1 -1
- package/dist/tools/read/list-fonts.js +2 -1
- package/dist/tools/read/list-fonts.js.map +1 -1
- package/dist/tools/read/list-text-frames.d.ts.map +1 -1
- package/dist/tools/read/list-text-frames.js +3 -5
- package/dist/tools/read/list-text-frames.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/dist/tools/session.d.ts.map +1 -1
- package/dist/tools/session.js +5 -1
- package/dist/tools/session.js.map +1 -1
- package/dist/tools/utility/check-text-consistency.d.ts.map +1 -1
- package/dist/tools/utility/check-text-consistency.js +14 -20
- 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 +48 -20
- package/dist/tools/utility/preflight-check.js.map +1 -1
- package/dist/tools/utility/set-illustrator-version.d.ts +3 -0
- package/dist/tools/utility/set-illustrator-version.d.ts.map +1 -0
- package/dist/tools/utility/set-illustrator-version.js +64 -0
- package/dist/tools/utility/set-illustrator-version.js.map +1 -0
- package/dist/tools/utility/set-workflow.js +1 -1
- package/dist/tools/utility/set-workflow.js.map +1 -1
- package/package.json +1 -1
|
@@ -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, resolveCoordinateSystem, } from '../session.js';
|
|
4
5
|
import { readImageDimensions } from '../../utils/image-header.js';
|
|
5
6
|
import { READ_ANNOTATIONS } from '../modify/shared.js';
|
|
@@ -9,8 +10,9 @@ import { READ_ANNOTATIONS } from '../modify/shared.js';
|
|
|
9
10
|
* @see https://ai-scripting.docsforadobe.dev/jsobjref/PathItem/ — overprintFill, overprintStroke
|
|
10
11
|
* @see https://ai-scripting.docsforadobe.dev/jsobjref/PlacedItem/ — file, matrix
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
13
|
+
* GrayColor.gray の解釈: 0=白(インクなし), 100=黒(フルインク)。
|
|
14
|
+
* Adobe公式リファレンス (docsforadobe.dev) は「0=black, 100=white」と記載しているが誤り。
|
|
15
|
+
* Illustrator 2026 (v30) で実機検証済み (2026-04)。
|
|
14
16
|
*/
|
|
15
17
|
const jsxCode = `
|
|
16
18
|
var preflight = preflightChecks();
|
|
@@ -43,8 +45,8 @@ if (preflight) {
|
|
|
43
45
|
} else if (color.typename === "RGBColor") {
|
|
44
46
|
if (color.red === 255 && color.green === 255 && color.blue === 255) return true;
|
|
45
47
|
} else if (color.typename === "GrayColor") {
|
|
46
|
-
// GrayColor.gray
|
|
47
|
-
//
|
|
48
|
+
// GrayColor.gray: 0=白(インクなし), 100=黒(フルインク)
|
|
49
|
+
// Adobe公式リファレンスの「0=black, 100=white」記載は誤り (Illustrator 2026 実機検証済み)
|
|
48
50
|
if (color.gray === 0) return true;
|
|
49
51
|
}
|
|
50
52
|
} catch(e) {}
|
|
@@ -163,18 +165,32 @@ if (preflight) {
|
|
|
163
165
|
var pFile = pItem.file;
|
|
164
166
|
if (pFile && pFile.exists) {
|
|
165
167
|
var pUuid = ensureUUID(pItem);
|
|
168
|
+
var pData = {
|
|
169
|
+
uuid: pUuid,
|
|
170
|
+
name: pItem.name || "",
|
|
171
|
+
filePath: pFile.fsName,
|
|
172
|
+
widthPt: 0,
|
|
173
|
+
heightPt: 0,
|
|
174
|
+
matrixScaleX: 0,
|
|
175
|
+
matrixScaleY: 0
|
|
176
|
+
};
|
|
177
|
+
// Get matrix scale factors for rotation-safe PPI calculation
|
|
178
|
+
try {
|
|
179
|
+
var plm = pItem.matrix;
|
|
180
|
+
if (plm) {
|
|
181
|
+
pData.matrixScaleX = Math.sqrt(plm.mValueA * plm.mValueA + plm.mValueB * plm.mValueB);
|
|
182
|
+
pData.matrixScaleY = Math.sqrt(plm.mValueC * plm.mValueC + plm.mValueD * plm.mValueD);
|
|
183
|
+
}
|
|
184
|
+
} catch(e2) {}
|
|
185
|
+
// Fallback: geometricBounds
|
|
166
186
|
var pBounds = pItem.geometricBounds;
|
|
167
187
|
var pWPt = pBounds[2] - pBounds[0];
|
|
168
188
|
var pHPt = -(pBounds[3] - pBounds[1]);
|
|
169
189
|
if (pWPt < 0) pWPt = -pWPt;
|
|
170
190
|
if (pHPt < 0) pHPt = -pHPt;
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
filePath: pFile.fsName,
|
|
175
|
-
widthPt: pWPt,
|
|
176
|
-
heightPt: pHPt
|
|
177
|
-
});
|
|
191
|
+
pData.widthPt = pWPt;
|
|
192
|
+
pData.heightPt = pHPt;
|
|
193
|
+
placedImageData.push(pData);
|
|
178
194
|
}
|
|
179
195
|
} catch(e) {}
|
|
180
196
|
}
|
|
@@ -402,16 +418,30 @@ export function register(server) {
|
|
|
402
418
|
const minDpi = result?.minDPI ?? params.min_dpi ?? 300;
|
|
403
419
|
if (result?.placedImageData) {
|
|
404
420
|
for (const placed of result.placedImageData) {
|
|
405
|
-
if (!placed.filePath
|
|
421
|
+
if (!placed.filePath)
|
|
406
422
|
continue;
|
|
407
423
|
try {
|
|
408
424
|
const dims = readImageDimensions(placed.filePath);
|
|
409
425
|
if (dims) {
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
426
|
+
let effectivePPI;
|
|
427
|
+
// Use matrix scale factors for rotation-safe PPI calculation
|
|
428
|
+
// Matrix scale = pt per pixel, so PPI = 72 / scale
|
|
429
|
+
if (placed.matrixScaleX > 0 && placed.matrixScaleY > 0) {
|
|
430
|
+
const ppiH = Math.round(72 / placed.matrixScaleX);
|
|
431
|
+
const ppiV = Math.round(72 / placed.matrixScaleY);
|
|
432
|
+
effectivePPI = Math.min(ppiH, ppiV);
|
|
433
|
+
}
|
|
434
|
+
else if (placed.widthPt > 0 && placed.heightPt > 0) {
|
|
435
|
+
// Fallback to geometricBounds (inaccurate for rotated images)
|
|
436
|
+
const widthInches = placed.widthPt / 72;
|
|
437
|
+
const heightInches = placed.heightPt / 72;
|
|
438
|
+
const ppiH = Math.round(dims.width / widthInches);
|
|
439
|
+
const ppiV = Math.round(dims.height / heightInches);
|
|
440
|
+
effectivePPI = Math.min(ppiH, ppiV);
|
|
441
|
+
}
|
|
442
|
+
else {
|
|
443
|
+
continue;
|
|
444
|
+
}
|
|
415
445
|
if (effectivePPI < minDpi) {
|
|
416
446
|
result.results.push({
|
|
417
447
|
level: 'error',
|
|
@@ -502,9 +532,7 @@ export function register(server) {
|
|
|
502
532
|
result._note =
|
|
503
533
|
'No issues detected by these automated checks. This does not mean the document is free of problems — items outside the scope of automated checks (design intent, contextual spelling, regulatory requirements, print-shop-specific rules) still require human review.';
|
|
504
534
|
}
|
|
505
|
-
return
|
|
506
|
-
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
507
|
-
};
|
|
535
|
+
return formatToolResult(result);
|
|
508
536
|
});
|
|
509
537
|
}
|
|
510
538
|
//# sourceMappingURL=preflight-check.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight-check.js","sourceRoot":"","sources":["../../../src/tools/utility/preflight-check.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,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD
|
|
1
|
+
{"version":3,"file":"preflight-check.js","sourceRoot":"","sources":["../../../src/tools/utility/preflight-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-illustrator-version.d.ts","sourceRoot":"","sources":["../../../src/tools/utility/set-illustrator-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkEhD"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { setAppVersion, getAppVersion } from '../../executor/jsx-runner.js';
|
|
3
|
+
import { WRITE_IDEMPOTENT_ANNOTATIONS } from '../modify/shared.js';
|
|
4
|
+
export function register(server) {
|
|
5
|
+
server.registerTool('set_illustrator_version', {
|
|
6
|
+
title: 'Set Illustrator Version',
|
|
7
|
+
description: 'Set which Illustrator version to target when multiple versions are installed. ' +
|
|
8
|
+
'Specify a version year (e.g. "2024", "2025"). ' +
|
|
9
|
+
'If Illustrator is already running, connects to the running instance regardless of version. ' +
|
|
10
|
+
'If not running, launches the specified version. ' +
|
|
11
|
+
'Use clear: true to reset to default behavior (connect to any running Illustrator).',
|
|
12
|
+
inputSchema: {
|
|
13
|
+
version: z
|
|
14
|
+
.string()
|
|
15
|
+
.regex(/^\d{4}$/, 'Version must be a 4-digit year (e.g. "2025")')
|
|
16
|
+
.optional()
|
|
17
|
+
.describe('Illustrator version year (e.g. "2024", "2025").'),
|
|
18
|
+
clear: z
|
|
19
|
+
.boolean()
|
|
20
|
+
.optional()
|
|
21
|
+
.describe('Reset to default behavior (connect to any running Illustrator).'),
|
|
22
|
+
},
|
|
23
|
+
annotations: WRITE_IDEMPOTENT_ANNOTATIONS,
|
|
24
|
+
}, async (params) => {
|
|
25
|
+
if (params.clear) {
|
|
26
|
+
setAppVersion(undefined);
|
|
27
|
+
return {
|
|
28
|
+
content: [{
|
|
29
|
+
type: 'text',
|
|
30
|
+
text: JSON.stringify({
|
|
31
|
+
status: 'cleared',
|
|
32
|
+
message: 'Illustrator version reset. Will connect to any running Illustrator.',
|
|
33
|
+
}),
|
|
34
|
+
}],
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if (!params.version) {
|
|
38
|
+
const current = getAppVersion();
|
|
39
|
+
return {
|
|
40
|
+
content: [{
|
|
41
|
+
type: 'text',
|
|
42
|
+
text: JSON.stringify({
|
|
43
|
+
currentVersion: current ?? null,
|
|
44
|
+
message: current
|
|
45
|
+
? `Illustrator ${current} is targeted.`
|
|
46
|
+
: 'No version set. Will connect to any running Illustrator.',
|
|
47
|
+
}),
|
|
48
|
+
}],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
setAppVersion(params.version);
|
|
52
|
+
return {
|
|
53
|
+
content: [{
|
|
54
|
+
type: 'text',
|
|
55
|
+
text: JSON.stringify({
|
|
56
|
+
status: 'set',
|
|
57
|
+
version: params.version,
|
|
58
|
+
message: `Illustrator ${params.version} targeted. If already running, connects to that instance; otherwise launches ${params.version}.`,
|
|
59
|
+
}),
|
|
60
|
+
}],
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=set-illustrator-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-illustrator-version.js","sourceRoot":"","sources":["../../../src/tools/utility/set-illustrator-version.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,gFAAgF;YAChF,gDAAgD;YAChD,6FAA6F;YAC7F,kDAAkD;YAClD,oFAAoF;QACtF,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,KAAK,CAAC,SAAS,EAAE,8CAA8C,CAAC;iBAChE,QAAQ,EAAE;iBACV,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,KAAK,EAAE,CAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,iEAAiE,CAAC;SAC/E;QACD,WAAW,EAAE,4BAA4B;KAC1C,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,MAAM,EAAE,SAAS;4BACjB,OAAO,EAAE,qEAAqE;yBAC/E,CAAC;qBACH,CAAC;aACH,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,cAAc,EAAE,OAAO,IAAI,IAAI;4BAC/B,OAAO,EAAE,OAAO;gCACd,CAAC,CAAC,eAAe,OAAO,eAAe;gCACvC,CAAC,CAAC,0DAA0D;yBAC/D,CAAC;qBACH,CAAC;aACH,CAAC;QACJ,CAAC;QAED,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,MAAM,EAAE,KAAK;wBACb,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,OAAO,EAAE,eAAe,MAAM,CAAC,OAAO,gFAAgF,MAAM,CAAC,OAAO,GAAG;qBACxI,CAAC;iBACH,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -12,7 +12,7 @@ export function register(server) {
|
|
|
12
12
|
description: 'Set the session-level workflow and default coordinate system. ' +
|
|
13
13
|
'Call this after confirming the user\'s intent (web, print, or video). ' +
|
|
14
14
|
'Once set, all tools that omit coordinate_system will use the session default. ' +
|
|
15
|
-
'Use clear: true to reset to
|
|
15
|
+
'Use clear: true to reset to auto-detection from document (CMYK/print → document coords, RGB/web → artboard-web).',
|
|
16
16
|
inputSchema: {
|
|
17
17
|
workflow: z
|
|
18
18
|
.enum(['web', 'print', 'video'])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-workflow.js","sourceRoot":"","sources":["../../../src/tools/utility/set-workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGL,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,eAAe,GAGjB;IACF,GAAG,EAAE,cAAc;IACnB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,cAAc;CACtB,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,gEAAgE;YAChE,wEAAwE;YACxE,gFAAgF;YAChF,
|
|
1
|
+
{"version":3,"file":"set-workflow.js","sourceRoot":"","sources":["../../../src/tools/utility/set-workflow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED