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
package/dist/bundle.cjs
CHANGED
|
@@ -30259,20 +30259,21 @@ var fs = __toESM(require("fs/promises"), 1);
|
|
|
30259
30259
|
var import_fs = require("fs");
|
|
30260
30260
|
var os = __toESM(require("os"), 1);
|
|
30261
30261
|
var path = __toESM(require("path"), 1);
|
|
30262
|
-
var
|
|
30262
|
+
var tmpDir = null;
|
|
30263
30263
|
var BOM = "\uFEFF";
|
|
30264
30264
|
async function ensureTmpDir() {
|
|
30265
|
-
await fs.
|
|
30265
|
+
tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "illustrator-mcp-"));
|
|
30266
30266
|
}
|
|
30267
30267
|
function createTempFiles() {
|
|
30268
|
+
if (!tmpDir) throw new Error("Temp directory not initialized. Call ensureTmpDir() first.");
|
|
30268
30269
|
const id = (0, import_crypto.randomUUID)();
|
|
30269
30270
|
const ext = process.platform === "win32" ? "ps1" : "scpt";
|
|
30270
30271
|
return {
|
|
30271
30272
|
id,
|
|
30272
|
-
paramsPath: path.join(
|
|
30273
|
-
scriptPath: path.join(
|
|
30274
|
-
runnerPath: path.join(
|
|
30275
|
-
resultPath: path.join(
|
|
30273
|
+
paramsPath: path.join(tmpDir, `params-${id}.json`),
|
|
30274
|
+
scriptPath: path.join(tmpDir, `script-${id}.jsx`),
|
|
30275
|
+
runnerPath: path.join(tmpDir, `run-${id}.${ext}`),
|
|
30276
|
+
resultPath: path.join(tmpDir, `result-${id}.json`)
|
|
30276
30277
|
};
|
|
30277
30278
|
}
|
|
30278
30279
|
async function writeParams(paramsPath, params) {
|
|
@@ -30291,12 +30292,13 @@ async function writeAppleScript(scptPath, scriptPath, options) {
|
|
|
30291
30292
|
lines.push("end tell");
|
|
30292
30293
|
await fs.writeFile(scptPath, lines.join("\n"), "utf-8");
|
|
30293
30294
|
}
|
|
30294
|
-
async function writePowerShellScript(ps1Path, scriptPath) {
|
|
30295
|
+
async function writePowerShellScript(ps1Path, scriptPath, options) {
|
|
30295
30296
|
const jsxPathForward = scriptPath.replace(/\\/g, "/");
|
|
30296
30297
|
const jsxPathEscaped = jsxPathForward.replace(/'/g, "\\'");
|
|
30297
30298
|
const lines = [
|
|
30298
30299
|
"try {",
|
|
30299
30300
|
' $ai = New-Object -ComObject "Illustrator.Application" -ErrorAction Stop',
|
|
30301
|
+
...options?.activate ? [" $ai.Visible = $true"] : [],
|
|
30300
30302
|
` $ai.DoJavaScript("$.evalFile(new File('${jsxPathEscaped}'))")`,
|
|
30301
30303
|
"} catch {",
|
|
30302
30304
|
' Write-Error "Illustrator COM automation failed: $_"',
|
|
@@ -30324,10 +30326,11 @@ async function cleanupTempFiles(files) {
|
|
|
30324
30326
|
});
|
|
30325
30327
|
}
|
|
30326
30328
|
function cleanupTmpDirSync() {
|
|
30329
|
+
if (!tmpDir) return;
|
|
30327
30330
|
try {
|
|
30328
|
-
(0, import_fs.rmSync)(
|
|
30331
|
+
(0, import_fs.rmSync)(tmpDir, { recursive: true, force: true });
|
|
30329
30332
|
} catch (e) {
|
|
30330
|
-
console.warn("Failed to clean up temp directory:",
|
|
30333
|
+
console.warn("Failed to clean up temp directory:", tmpDir, e);
|
|
30331
30334
|
}
|
|
30332
30335
|
}
|
|
30333
30336
|
function isIgnorableCleanupError(error48) {
|
|
@@ -30424,13 +30427,13 @@ async function executeViaOsascript(jsxCode59, params, timeout, activate) {
|
|
|
30424
30427
|
await cleanupTempFiles(files);
|
|
30425
30428
|
}
|
|
30426
30429
|
}
|
|
30427
|
-
async function executeViaPowerShell(jsxCode59, params, timeout) {
|
|
30430
|
+
async function executeViaPowerShell(jsxCode59, params, timeout, activate) {
|
|
30428
30431
|
const files = createTempFiles();
|
|
30429
30432
|
try {
|
|
30430
30433
|
await writeParams(files.paramsPath, params);
|
|
30431
30434
|
const fullJsx = await buildJsx(jsxCode59, files.paramsPath, files.resultPath);
|
|
30432
30435
|
await writeJsx(files.scriptPath, fullJsx);
|
|
30433
|
-
await writePowerShellScript(files.runnerPath, files.scriptPath);
|
|
30436
|
+
await writePowerShellScript(files.runnerPath, files.scriptPath, { activate });
|
|
30434
30437
|
await new Promise((resolve2, reject) => {
|
|
30435
30438
|
(0, import_child_process.execFile)(
|
|
30436
30439
|
"powershell.exe",
|
|
@@ -30473,7 +30476,7 @@ async function executeJsxRaw(jsxCode59, params, timeout = TIMEOUT_NORMAL, activa
|
|
|
30473
30476
|
case "osascript":
|
|
30474
30477
|
return await executeViaOsascript(jsxCode59, params, timeout, activate);
|
|
30475
30478
|
case "powershell":
|
|
30476
|
-
return await executeViaPowerShell(jsxCode59, params, timeout);
|
|
30479
|
+
return await executeViaPowerShell(jsxCode59, params, timeout, activate);
|
|
30477
30480
|
default: {
|
|
30478
30481
|
const _ = transport;
|
|
30479
30482
|
throw new Error(`Unknown transport: ${_}`);
|
|
@@ -30697,8 +30700,9 @@ function detectWorkflow(signals) {
|
|
|
30697
30700
|
var coerceBoolean = external_exports.preprocess(
|
|
30698
30701
|
(val) => {
|
|
30699
30702
|
if (typeof val === "string") {
|
|
30700
|
-
|
|
30701
|
-
if (
|
|
30703
|
+
const normalized = val.trim().toLowerCase();
|
|
30704
|
+
if (normalized === "true") return true;
|
|
30705
|
+
if (normalized === "false") return false;
|
|
30702
30706
|
}
|
|
30703
30707
|
return val;
|
|
30704
30708
|
},
|
|
@@ -30980,6 +30984,23 @@ function register(server) {
|
|
|
30980
30984
|
);
|
|
30981
30985
|
}
|
|
30982
30986
|
|
|
30987
|
+
// src/tools/tool-executor.ts
|
|
30988
|
+
function ensureToolParams(params) {
|
|
30989
|
+
if (params && typeof params === "object" && !Array.isArray(params)) {
|
|
30990
|
+
return params;
|
|
30991
|
+
}
|
|
30992
|
+
return {};
|
|
30993
|
+
}
|
|
30994
|
+
function formatToolResult(result) {
|
|
30995
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
30996
|
+
}
|
|
30997
|
+
async function executeToolJsx(jsxCode59, params, options) {
|
|
30998
|
+
const baseParams = ensureToolParams(params);
|
|
30999
|
+
const resolvedParams = options?.resolveCoordinate ? { ...baseParams, coordinate_system: await resolveCoordinateSystem(baseParams.coordinate_system) } : baseParams;
|
|
31000
|
+
const result = options?.heavy ? await executeJsxHeavy(jsxCode59, resolvedParams) : await executeJsx(jsxCode59, resolvedParams, { activate: options?.activate ?? false });
|
|
31001
|
+
return formatToolResult(result);
|
|
31002
|
+
}
|
|
31003
|
+
|
|
30983
31004
|
// src/tools/read/get-artboards.ts
|
|
30984
31005
|
var jsxCode2 = `
|
|
30985
31006
|
var preflight = preflightChecks();
|
|
@@ -31056,9 +31077,7 @@ function register2(server) {
|
|
|
31056
31077
|
annotations: READ_ANNOTATIONS
|
|
31057
31078
|
},
|
|
31058
31079
|
async (params) => {
|
|
31059
|
-
|
|
31060
|
-
const result = await executeJsx(jsxCode2, resolvedParams);
|
|
31061
|
-
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
31080
|
+
return executeToolJsx(jsxCode2, params, { resolveCoordinate: true });
|
|
31062
31081
|
}
|
|
31063
31082
|
);
|
|
31064
31083
|
}
|
|
@@ -31153,11 +31172,7 @@ function register3(server) {
|
|
|
31153
31172
|
annotations: READ_ANNOTATIONS
|
|
31154
31173
|
},
|
|
31155
31174
|
async (params) => {
|
|
31156
|
-
|
|
31157
|
-
const result = await executeJsx(jsxCode3, resolvedParams);
|
|
31158
|
-
return {
|
|
31159
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
31160
|
-
};
|
|
31175
|
+
return executeToolJsx(jsxCode3, params, { resolveCoordinate: true });
|
|
31161
31176
|
}
|
|
31162
31177
|
);
|
|
31163
31178
|
}
|
|
@@ -31314,11 +31329,7 @@ function register4(server) {
|
|
|
31314
31329
|
annotations: READ_ANNOTATIONS
|
|
31315
31330
|
},
|
|
31316
31331
|
async (params) => {
|
|
31317
|
-
|
|
31318
|
-
const result = await executeJsx(jsxCode4, resolvedParams);
|
|
31319
|
-
return {
|
|
31320
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
31321
|
-
};
|
|
31332
|
+
return executeToolJsx(jsxCode4, params, { resolveCoordinate: true });
|
|
31322
31333
|
}
|
|
31323
31334
|
);
|
|
31324
31335
|
}
|
|
@@ -34124,6 +34135,35 @@ if (preflight) {
|
|
|
34124
34135
|
var format = params.format;
|
|
34125
34136
|
var outputPath = params.output_path;
|
|
34126
34137
|
var scale = params.scale || 1;
|
|
34138
|
+
|
|
34139
|
+
// Default path generation when output_path is omitted
|
|
34140
|
+
if (!outputPath) {
|
|
34141
|
+
var dir;
|
|
34142
|
+
try {
|
|
34143
|
+
// doc.path is empty string for unsaved documents
|
|
34144
|
+
var docPath = doc.path ? doc.path.fsName : '';
|
|
34145
|
+
if (docPath && docPath !== '/') {
|
|
34146
|
+
dir = docPath;
|
|
34147
|
+
} else {
|
|
34148
|
+
dir = Folder.desktop.fsName;
|
|
34149
|
+
}
|
|
34150
|
+
} catch (e) {
|
|
34151
|
+
dir = Folder.desktop.fsName;
|
|
34152
|
+
}
|
|
34153
|
+
var baseName = doc.name.replace(/\\.[^.]+$/, '').replace(/ /g, '-');
|
|
34154
|
+
// ASCII\u4EE5\u5916\u306E\u6587\u5B57\u3092\u542B\u3080\u5834\u5408\u3001SVG\u3067\u306F\u8B66\u544A\u30C0\u30A4\u30A2\u30ED\u30B0\u304C\u51FA\u308B\u305F\u3081\u30D5\u30A9\u30FC\u30EB\u30D0\u30C3\u30AF
|
|
34155
|
+
if (format === 'svg' && /[^\\x00-\\x7F]/.test(baseName)) {
|
|
34156
|
+
baseName = 'export';
|
|
34157
|
+
}
|
|
34158
|
+
var ext = format; // png, jpg, svg
|
|
34159
|
+
var sep = Folder.fs === 'Windows' ? '\\\\' : '/';
|
|
34160
|
+
outputPath = dir + sep + baseName + '.' + ext;
|
|
34161
|
+
var counter = 2;
|
|
34162
|
+
while (new File(outputPath).exists) {
|
|
34163
|
+
outputPath = dir + sep + baseName + '_' + counter + '.' + ext;
|
|
34164
|
+
counter++;
|
|
34165
|
+
}
|
|
34166
|
+
}
|
|
34127
34167
|
var svgOpts = params.svg_options || {};
|
|
34128
34168
|
var rasterOpts = params.raster_options || {};
|
|
34129
34169
|
|
|
@@ -34323,11 +34363,24 @@ if (preflight) {
|
|
|
34323
34363
|
|
|
34324
34364
|
if (targetType !== "error") {
|
|
34325
34365
|
// \u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u5F8C\u306B\u30D5\u30A1\u30A4\u30EB\u5B58\u5728\u3092\u691C\u8A3C
|
|
34366
|
+
// SVG artboard export\u3067\u306FIllustrator\u304C {basename}_{artboardName}.svg \u306B\u30EA\u30CD\u30FC\u30E0\u3059\u308B
|
|
34367
|
+
var actualPath = outputPath;
|
|
34326
34368
|
var verifyFile = new File(outputPath);
|
|
34327
|
-
if (!verifyFile.exists) {
|
|
34369
|
+
if (!verifyFile.exists && format === "svg" && artboardIndex >= 0) {
|
|
34370
|
+
var svgDir = new File(outputPath).parent.fsName;
|
|
34371
|
+
var svgBase = new File(outputPath).name.replace(/\\.svg$/i, '');
|
|
34372
|
+
var abName = doc.artboards[artboardIndex].name.replace(/ /g, '-');
|
|
34373
|
+
var svgActual = svgDir + '/' + svgBase + '_' + abName + '.svg';
|
|
34374
|
+
var svgFile = new File(svgActual);
|
|
34375
|
+
if (svgFile.exists) {
|
|
34376
|
+
actualPath = svgActual;
|
|
34377
|
+
}
|
|
34378
|
+
}
|
|
34379
|
+
var finalFile = new File(actualPath);
|
|
34380
|
+
if (!finalFile.exists) {
|
|
34328
34381
|
writeResultFile(RESULT_PATH, { error: true, message: "Export completed but output file was not created. The path may not be writable: " + outputPath });
|
|
34329
34382
|
} else {
|
|
34330
|
-
var resultInfo = { success: true, output_path:
|
|
34383
|
+
var resultInfo = { success: true, output_path: actualPath, format: format };
|
|
34331
34384
|
if (format === "png" || format === "jpg") {
|
|
34332
34385
|
var effectiveDpi = (rasterOpts.dpi || 72) * scale;
|
|
34333
34386
|
resultInfo.dpi = effectiveDpi;
|
|
@@ -34354,7 +34407,7 @@ function register18(server) {
|
|
|
34354
34407
|
// WebP is not supported by ExtendScript API
|
|
34355
34408
|
// format: z.enum(['svg', 'png', 'webp', 'jpg']).describe('Export format'),
|
|
34356
34409
|
format: external_exports.enum(["svg", "png", "jpg"]).describe("Export format"),
|
|
34357
|
-
output_path: external_exports.string().describe("Output file path"),
|
|
34410
|
+
output_path: external_exports.string().optional().describe("Output file path. If omitted, auto-generates in the same directory as the document (or ~/Desktop for unsaved documents)"),
|
|
34358
34411
|
scale: external_exports.number().optional().default(1).describe("Scale factor"),
|
|
34359
34412
|
svg_options: external_exports.object({
|
|
34360
34413
|
text_outline: coerceBoolean.optional().describe("Convert text to outlines"),
|
|
@@ -34389,6 +34442,29 @@ if (preflight) {
|
|
|
34389
34442
|
var doc = app.activeDocument;
|
|
34390
34443
|
var outputPath = params.output_path;
|
|
34391
34444
|
var preset = params.preset || "";
|
|
34445
|
+
|
|
34446
|
+
// Default path generation when output_path is omitted
|
|
34447
|
+
if (!outputPath) {
|
|
34448
|
+
var dir;
|
|
34449
|
+
try {
|
|
34450
|
+
var docPath = doc.path ? doc.path.fsName : '';
|
|
34451
|
+
if (docPath && docPath !== '/') {
|
|
34452
|
+
dir = docPath;
|
|
34453
|
+
} else {
|
|
34454
|
+
dir = Folder.desktop.fsName;
|
|
34455
|
+
}
|
|
34456
|
+
} catch (e) {
|
|
34457
|
+
dir = Folder.desktop.fsName;
|
|
34458
|
+
}
|
|
34459
|
+
var baseName = doc.name.replace(/\\.[^.]+$/, '').replace(/ /g, '-');
|
|
34460
|
+
var sep = Folder.fs === 'Windows' ? '\\\\' : '/';
|
|
34461
|
+
outputPath = dir + sep + baseName + '.pdf';
|
|
34462
|
+
var counter = 2;
|
|
34463
|
+
while (new File(outputPath).exists) {
|
|
34464
|
+
outputPath = dir + sep + baseName + '_' + counter + '.pdf';
|
|
34465
|
+
counter++;
|
|
34466
|
+
}
|
|
34467
|
+
}
|
|
34392
34468
|
var options = params.options || {};
|
|
34393
34469
|
|
|
34394
34470
|
var pdfOpts = new PDFSaveOptions();
|
|
@@ -34530,9 +34606,9 @@ function register19(server) {
|
|
|
34530
34606
|
"export_pdf",
|
|
34531
34607
|
{
|
|
34532
34608
|
title: "Export PDF",
|
|
34533
|
-
description: "Export print-ready PDF. Note: Illustrator will be activated (brought to foreground) during execution.",
|
|
34609
|
+
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.",
|
|
34534
34610
|
inputSchema: {
|
|
34535
|
-
output_path: external_exports.string().describe("Output file path"),
|
|
34611
|
+
output_path: external_exports.string().optional().describe("Output file path. If omitted, auto-generates in the same directory as the document (or ~/Desktop for unsaved documents)"),
|
|
34536
34612
|
preset: external_exports.string().optional().describe('PDF preset name (e.g. "[PDF/X-4:2008]")'),
|
|
34537
34613
|
options: external_exports.object({
|
|
34538
34614
|
trim_marks: coerceBoolean.optional().describe("Add trim marks"),
|
|
@@ -34553,7 +34629,11 @@ function register19(server) {
|
|
|
34553
34629
|
},
|
|
34554
34630
|
async (params) => {
|
|
34555
34631
|
const result = await executeJsxHeavy(jsxCode19, params);
|
|
34556
|
-
|
|
34632
|
+
const output = {
|
|
34633
|
+
...result,
|
|
34634
|
+
_note: "PDF exported. This file should be verified by a human before final print submission \u2014 automated checks cannot catch all print-critical issues."
|
|
34635
|
+
};
|
|
34636
|
+
return { content: [{ type: "text", text: JSON.stringify(output, null, 2) }] };
|
|
34557
34637
|
}
|
|
34558
34638
|
);
|
|
34559
34639
|
}
|
|
@@ -35137,7 +35217,7 @@ function register22(server) {
|
|
|
35137
35217
|
"preflight_check",
|
|
35138
35218
|
{
|
|
35139
35219
|
title: "Preflight Check",
|
|
35140
|
-
description: "Run pre-press quality checks. Note: GrayColor uses ink-quantity interpretation (0=white/no ink, 100=black/full ink), which differs from the API reference.",
|
|
35220
|
+
description: "Run pre-press quality checks. Note: This check is not exhaustive \u2014 it does not replace a human final review. GrayColor uses ink-quantity interpretation (0=white/no ink, 100=black/full ink), which differs from the API reference.",
|
|
35141
35221
|
inputSchema: {
|
|
35142
35222
|
coordinate_system: coordinateSystemSchema,
|
|
35143
35223
|
min_dpi: external_exports.number().int().min(1).optional().default(300).describe("Minimum acceptable DPI for images (default: 300)"),
|
|
@@ -35239,6 +35319,10 @@ function register22(server) {
|
|
|
35239
35319
|
}
|
|
35240
35320
|
delete result.targetPdfProfile;
|
|
35241
35321
|
delete result.pdfxSummary;
|
|
35322
|
+
const hasIssues = result.results.some((r) => r.level === "error" || r.level === "warning");
|
|
35323
|
+
if (!hasIssues) {
|
|
35324
|
+
result._note = "No issues detected by these automated checks. This does not mean the document is free of problems \u2014 items outside the scope of automated checks (design intent, contextual spelling, regulatory requirements, print-shop-specific rules) still require human review.";
|
|
35325
|
+
}
|
|
35242
35326
|
return {
|
|
35243
35327
|
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
35244
35328
|
};
|
|
@@ -35483,7 +35567,7 @@ function register23(server) {
|
|
|
35483
35567
|
"check_text_consistency",
|
|
35484
35568
|
{
|
|
35485
35569
|
title: "Check Text Consistency",
|
|
35486
|
-
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.",
|
|
35570
|
+
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.",
|
|
35487
35571
|
inputSchema: {
|
|
35488
35572
|
artboard_index: external_exports.number().int().min(0).optional().describe("Filter by artboard index (0-based)"),
|
|
35489
35573
|
coordinate_system: coordinateSystemSchema
|
|
@@ -35504,9 +35588,15 @@ function register23(server) {
|
|
|
35504
35588
|
text: JSON.stringify(
|
|
35505
35589
|
{
|
|
35506
35590
|
totalFrames: result.totalFrames,
|
|
35507
|
-
|
|
35508
|
-
|
|
35509
|
-
|
|
35591
|
+
mechanicalChecks: {
|
|
35592
|
+
_reliability: "deterministic",
|
|
35593
|
+
dummyTexts: analysis.dummyTexts,
|
|
35594
|
+
knownVariations: analysis.knownVariations
|
|
35595
|
+
},
|
|
35596
|
+
llmAnalysis: {
|
|
35597
|
+
_reliability: "ai-assisted \u2014 may miss errors or produce false positives. Clearly distinguish AI-based findings from mechanical checks when reporting to the user.",
|
|
35598
|
+
allTexts: analysis.allTexts
|
|
35599
|
+
}
|
|
35510
35600
|
},
|
|
35511
35601
|
null,
|
|
35512
35602
|
2
|
|
@@ -35663,9 +35753,7 @@ function register25(server) {
|
|
|
35663
35753
|
annotations: WRITE_ANNOTATIONS
|
|
35664
35754
|
},
|
|
35665
35755
|
async (params) => {
|
|
35666
|
-
|
|
35667
|
-
const result = await executeJsx(jsxCode24, resolvedParams, { activate: true });
|
|
35668
|
-
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
35756
|
+
return executeToolJsx(jsxCode24, params, { activate: true, resolveCoordinate: true });
|
|
35669
35757
|
}
|
|
35670
35758
|
);
|
|
35671
35759
|
}
|
|
@@ -35730,9 +35818,7 @@ function register26(server) {
|
|
|
35730
35818
|
annotations: WRITE_ANNOTATIONS
|
|
35731
35819
|
},
|
|
35732
35820
|
async (params) => {
|
|
35733
|
-
|
|
35734
|
-
const result = await executeJsx(jsxCode25, resolvedParams, { activate: true });
|
|
35735
|
-
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
35821
|
+
return executeToolJsx(jsxCode25, params, { activate: true, resolveCoordinate: true });
|
|
35736
35822
|
}
|
|
35737
35823
|
);
|
|
35738
35824
|
}
|
|
@@ -35814,9 +35900,7 @@ function register27(server) {
|
|
|
35814
35900
|
annotations: WRITE_ANNOTATIONS
|
|
35815
35901
|
},
|
|
35816
35902
|
async (params) => {
|
|
35817
|
-
|
|
35818
|
-
const result = await executeJsx(jsxCode26, resolvedParams, { activate: true });
|
|
35819
|
-
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
35903
|
+
return executeToolJsx(jsxCode26, params, { activate: true, resolveCoordinate: true });
|
|
35820
35904
|
}
|
|
35821
35905
|
);
|
|
35822
35906
|
}
|
|
@@ -36036,9 +36120,7 @@ function register29(server) {
|
|
|
36036
36120
|
annotations: WRITE_ANNOTATIONS
|
|
36037
36121
|
},
|
|
36038
36122
|
async (params) => {
|
|
36039
|
-
|
|
36040
|
-
const result = await executeJsx(jsxCode28, resolvedParams, { activate: true });
|
|
36041
|
-
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
36123
|
+
return executeToolJsx(jsxCode28, params, { activate: true, resolveCoordinate: true });
|
|
36042
36124
|
}
|
|
36043
36125
|
);
|
|
36044
36126
|
}
|
|
@@ -38153,13 +38235,32 @@ if (preflight) {
|
|
|
38153
38235
|
doc.save();
|
|
38154
38236
|
writeResultFile(RESULT_PATH, { success: true, mode: "save" });
|
|
38155
38237
|
} else if (mode === "save_as") {
|
|
38156
|
-
|
|
38157
|
-
|
|
38158
|
-
|
|
38159
|
-
var
|
|
38160
|
-
|
|
38161
|
-
|
|
38238
|
+
var savePath = params.path;
|
|
38239
|
+
// Default path generation when path is omitted
|
|
38240
|
+
if (!savePath) {
|
|
38241
|
+
var dir;
|
|
38242
|
+
try {
|
|
38243
|
+
var docPath = doc.path ? doc.path.fsName : '';
|
|
38244
|
+
if (docPath && docPath !== '/') {
|
|
38245
|
+
dir = docPath;
|
|
38246
|
+
} else {
|
|
38247
|
+
dir = Folder.desktop.fsName;
|
|
38248
|
+
}
|
|
38249
|
+
} catch (e) {
|
|
38250
|
+
dir = Folder.desktop.fsName;
|
|
38251
|
+
}
|
|
38252
|
+
var baseName = doc.name.replace(/\\.[^.]+$/, '').replace(/ /g, '-');
|
|
38253
|
+
var sep = Folder.fs === 'Windows' ? '\\\\' : '/';
|
|
38254
|
+
savePath = dir + sep + baseName + '.ai';
|
|
38255
|
+
var counter = 2;
|
|
38256
|
+
while (new File(savePath).exists) {
|
|
38257
|
+
savePath = dir + sep + baseName + '_' + counter + '.ai';
|
|
38258
|
+
counter++;
|
|
38259
|
+
}
|
|
38162
38260
|
}
|
|
38261
|
+
var saveFile = new File(savePath);
|
|
38262
|
+
doc.saveAs(saveFile);
|
|
38263
|
+
writeResultFile(RESULT_PATH, { success: true, mode: "save_as", path: savePath });
|
|
38163
38264
|
} else {
|
|
38164
38265
|
writeResultFile(RESULT_PATH, { error: true, message: "Unknown mode: " + mode });
|
|
38165
38266
|
}
|
|
@@ -38176,7 +38277,7 @@ function register42(server) {
|
|
|
38176
38277
|
description: "Save the active Illustrator document. Note: Illustrator will be activated (brought to foreground) during execution.",
|
|
38177
38278
|
inputSchema: {
|
|
38178
38279
|
mode: external_exports.enum(["save", "save_as"]).optional().default("save").describe("save = overwrite, save_as = save to new path"),
|
|
38179
|
-
path: external_exports.string().optional().describe("File path for save_as mode (
|
|
38280
|
+
path: external_exports.string().optional().describe("File path for save_as mode. If omitted, auto-generates in the same directory as the document (or ~/Desktop for unsaved documents)")
|
|
38180
38281
|
},
|
|
38181
38282
|
annotations: WRITE_IDEMPOTENT_ANNOTATIONS
|
|
38182
38283
|
},
|
|
@@ -40023,6 +40124,12 @@ After all checks are complete, output a summary report in this format:
|
|
|
40023
40124
|
- OK: no issues found
|
|
40024
40125
|
Include object name, UUID, and specific remediation steps for each item.
|
|
40025
40126
|
|
|
40127
|
+
## AI Limitation Awareness
|
|
40128
|
+
Do NOT add a disclaimer to every report. Instead, apply these rules:
|
|
40129
|
+
1. **Distinguish mechanical vs AI findings**: When reporting text consistency results, clearly separate deterministic pattern-match results (dummy text, fullwidth/halfwidth, katakana long vowel) from AI-based findings (typos, contextual inconsistencies). Label AI-based findings as such \u2014 they may miss errors or produce false positives.
|
|
40130
|
+
2. **When no issues are detected**: Never say "no issues found, ready to submit." Say "no issues were detected by these automated checks" and note that items outside scope (design intent, contextual spelling, regulatory requirements, print-shop-specific rules) still require human review.
|
|
40131
|
+
3. **When the user treats this as a final verification** \u2014 either explicitly ("Is this ready for submission?", "Can I send this to print?") or implicitly ("\u6700\u7D42\u30C1\u30A7\u30C3\u30AF", "\u5165\u7A3F\u524D\u30C1\u30A7\u30C3\u30AF", "final check"): Remind them that automated checks are not exhaustive and a human must perform the final review.
|
|
40132
|
+
|
|
40026
40133
|
## Language
|
|
40027
40134
|
Always respond in the user's language.`
|
|
40028
40135
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export declare const TMP_DIR: string;
|
|
2
1
|
export interface TempFiles {
|
|
3
2
|
id: string;
|
|
4
3
|
paramsPath: string;
|
|
@@ -16,7 +15,9 @@ export declare function writeAppleScript(scptPath: string, scriptPath: string, o
|
|
|
16
15
|
activate?: boolean;
|
|
17
16
|
}): Promise<void>;
|
|
18
17
|
/** Windows 用 PowerShell スクリプト生成 */
|
|
19
|
-
export declare function writePowerShellScript(ps1Path: string, scriptPath: string
|
|
18
|
+
export declare function writePowerShellScript(ps1Path: string, scriptPath: string, options?: {
|
|
19
|
+
activate?: boolean;
|
|
20
|
+
}): Promise<void>;
|
|
20
21
|
export declare function readResult(resultPath: string): Promise<unknown>;
|
|
21
22
|
export declare function cleanupTempFiles(files: TempFiles): Promise<void>;
|
|
22
23
|
export declare function cleanupTmpDirSync(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-transport.d.ts","sourceRoot":"","sources":["../../src/executor/file-transport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-transport.d.ts","sourceRoot":"","sources":["../../src/executor/file-transport.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAElD;AAED,wBAAgB,eAAe,IAAI,SAAS,CAW3C;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpF;AAED,wBAAsB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjF;AAED,6BAA6B;AAC7B,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,OAAO,CAAC,IAAI,CAAC,CASf;AAED,mCAAmC;AACnC,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,OAAO,CAAC,IAAI,CAAC,CAef;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGrE;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAatE;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAOxC"}
|
|
@@ -3,20 +3,22 @@ import * as fs from 'fs/promises';
|
|
|
3
3
|
import { rmSync } from 'fs';
|
|
4
4
|
import * as os from 'os';
|
|
5
5
|
import * as path from 'path';
|
|
6
|
-
|
|
6
|
+
let tmpDir = null;
|
|
7
7
|
const BOM = '\uFEFF';
|
|
8
8
|
export async function ensureTmpDir() {
|
|
9
|
-
await fs.
|
|
9
|
+
tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), 'illustrator-mcp-'));
|
|
10
10
|
}
|
|
11
11
|
export function createTempFiles() {
|
|
12
|
+
if (!tmpDir)
|
|
13
|
+
throw new Error('Temp directory not initialized. Call ensureTmpDir() first.');
|
|
12
14
|
const id = randomUUID();
|
|
13
15
|
const ext = process.platform === 'win32' ? 'ps1' : 'scpt';
|
|
14
16
|
return {
|
|
15
17
|
id,
|
|
16
|
-
paramsPath: path.join(
|
|
17
|
-
scriptPath: path.join(
|
|
18
|
-
runnerPath: path.join(
|
|
19
|
-
resultPath: path.join(
|
|
18
|
+
paramsPath: path.join(tmpDir, `params-${id}.json`),
|
|
19
|
+
scriptPath: path.join(tmpDir, `script-${id}.jsx`),
|
|
20
|
+
runnerPath: path.join(tmpDir, `run-${id}.${ext}`),
|
|
21
|
+
resultPath: path.join(tmpDir, `result-${id}.json`),
|
|
20
22
|
};
|
|
21
23
|
}
|
|
22
24
|
export async function writeParams(paramsPath, params) {
|
|
@@ -37,13 +39,14 @@ export async function writeAppleScript(scptPath, scriptPath, options) {
|
|
|
37
39
|
await fs.writeFile(scptPath, lines.join('\n'), 'utf-8');
|
|
38
40
|
}
|
|
39
41
|
/** Windows 用 PowerShell スクリプト生成 */
|
|
40
|
-
export async function writePowerShellScript(ps1Path, scriptPath) {
|
|
42
|
+
export async function writePowerShellScript(ps1Path, scriptPath, options) {
|
|
41
43
|
// ExtendScript の File() はスラッシュ区切りを要求
|
|
42
44
|
const jsxPathForward = scriptPath.replace(/\\/g, '/');
|
|
43
45
|
const jsxPathEscaped = jsxPathForward.replace(/'/g, "\\'");
|
|
44
46
|
const lines = [
|
|
45
47
|
'try {',
|
|
46
48
|
' $ai = New-Object -ComObject "Illustrator.Application" -ErrorAction Stop',
|
|
49
|
+
...(options?.activate ? [' $ai.Visible = $true'] : []),
|
|
47
50
|
` $ai.DoJavaScript("$.evalFile(new File('${jsxPathEscaped}'))")`,
|
|
48
51
|
'} catch {',
|
|
49
52
|
' Write-Error "Illustrator COM automation failed: $_"',
|
|
@@ -71,11 +74,13 @@ export async function cleanupTempFiles(files) {
|
|
|
71
74
|
});
|
|
72
75
|
}
|
|
73
76
|
export function cleanupTmpDirSync() {
|
|
77
|
+
if (!tmpDir)
|
|
78
|
+
return;
|
|
74
79
|
try {
|
|
75
|
-
rmSync(
|
|
80
|
+
rmSync(tmpDir, { recursive: true, force: true });
|
|
76
81
|
}
|
|
77
82
|
catch (e) {
|
|
78
|
-
console.warn('Failed to clean up temp directory:',
|
|
83
|
+
console.warn('Failed to clean up temp directory:', tmpDir, e);
|
|
79
84
|
}
|
|
80
85
|
}
|
|
81
86
|
function isIgnorableCleanupError(error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-transport.js","sourceRoot":"","sources":["../../src/executor/file-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,
|
|
1
|
+
{"version":3,"file":"file-transport.js","sourceRoot":"","sources":["../../src/executor/file-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runner.d.ts","sourceRoot":"","sources":["../../src/executor/jsx-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AA8BvD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;AAEnD,wBAAgB,gBAAgB,CAC9B,QAAQ,GAAE,MAAyB,EACnC,MAAM,GAAE,MAAM,GAAG,SAAoD,GACpE,SAAS,CAMX;AAID,iBAAS,YAAY,IAAI,SAAS,CAGjC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKxD;AAsBD,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAsCD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,SAAuB,GACjC,MAAM,CASR;
|
|
1
|
+
{"version":3,"file":"jsx-runner.d.ts","sourceRoot":"","sources":["../../src/executor/jsx-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AA8BvD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;AAEnD,wBAAgB,gBAAgB,CAC9B,QAAQ,GAAE,MAAyB,EACnC,MAAM,GAAE,MAAM,GAAG,SAAoD,GACpE,SAAS,CAMX;AAID,iBAAS,YAAY,IAAI,SAAS,CAGjC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKxD;AAsBD,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAsCD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,SAAuB,GACjC,MAAM,CASR;AA6GD;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACjD,OAAO,CAAC,SAAS,CAAC,CAepB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,SAAS,CAAC,CAEpB;AAGD,OAAO,EAAE,YAAY,IAAI,SAAS,EAAE,CAAC"}
|
|
@@ -118,13 +118,13 @@ async function executeViaOsascript(jsxCode, params, timeout, activate) {
|
|
|
118
118
|
await cleanupTempFiles(files);
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
-
async function executeViaPowerShell(jsxCode, params, timeout) {
|
|
121
|
+
async function executeViaPowerShell(jsxCode, params, timeout, activate) {
|
|
122
122
|
const files = createTempFiles();
|
|
123
123
|
try {
|
|
124
124
|
await writeParams(files.paramsPath, params);
|
|
125
125
|
const fullJsx = await buildJsx(jsxCode, files.paramsPath, files.resultPath);
|
|
126
126
|
await writeJsx(files.scriptPath, fullJsx);
|
|
127
|
-
await writePowerShellScript(files.runnerPath, files.scriptPath);
|
|
127
|
+
await writePowerShellScript(files.runnerPath, files.scriptPath, { activate });
|
|
128
128
|
await new Promise((resolve, reject) => {
|
|
129
129
|
execFile('powershell.exe', ['-ExecutionPolicy', 'Bypass', '-NonInteractive', '-File', files.runnerPath], { timeout }, (error, _stdout, stderr) => {
|
|
130
130
|
if (error) {
|
|
@@ -169,7 +169,7 @@ async function executeJsxRaw(jsxCode, params, timeout = TIMEOUT_NORMAL, activate
|
|
|
169
169
|
case 'osascript':
|
|
170
170
|
return await executeViaOsascript(jsxCode, params, timeout, activate);
|
|
171
171
|
case 'powershell':
|
|
172
|
-
return await executeViaPowerShell(jsxCode, params, timeout);
|
|
172
|
+
return await executeViaPowerShell(jsxCode, params, timeout, activate);
|
|
173
173
|
default: {
|
|
174
174
|
const _ = transport;
|
|
175
175
|
throw new Error(`Unknown transport: ${_}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runner.js","sourceRoot":"","sources":["../../src/executor/jsx-runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"jsx-runner.js","sourceRoot":"","sources":["../../src/executor/jsx-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"print-preflight-workflow.d.ts","sourceRoot":"","sources":["../../src/prompts/print-preflight-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"print-preflight-workflow.d.ts","sourceRoot":"","sources":["../../src/prompts/print-preflight-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqDhD"}
|
|
@@ -34,6 +34,12 @@ After all checks are complete, output a summary report in this format:
|
|
|
34
34
|
- OK: no issues found
|
|
35
35
|
Include object name, UUID, and specific remediation steps for each item.
|
|
36
36
|
|
|
37
|
+
## AI Limitation Awareness
|
|
38
|
+
Do NOT add a disclaimer to every report. Instead, apply these rules:
|
|
39
|
+
1. **Distinguish mechanical vs AI findings**: When reporting text consistency results, clearly separate deterministic pattern-match results (dummy text, fullwidth/halfwidth, katakana long vowel) from AI-based findings (typos, contextual inconsistencies). Label AI-based findings as such — they may miss errors or produce false positives.
|
|
40
|
+
2. **When no issues are detected**: Never say "no issues found, ready to submit." Say "no issues were detected by these automated checks" and note that items outside scope (design intent, contextual spelling, regulatory requirements, print-shop-specific rules) still require human review.
|
|
41
|
+
3. **When the user treats this as a final verification** — either explicitly ("Is this ready for submission?", "Can I send this to print?") or implicitly ("最終チェック", "入稿前チェック", "final check"): Remind them that automated checks are not exhaustive and a human must perform the final review.
|
|
42
|
+
|
|
37
43
|
## Language
|
|
38
44
|
Always respond in the user's language.`,
|
|
39
45
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"print-preflight-workflow.js","sourceRoot":"","sources":["../../src/prompts/print-preflight-workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,cAAc,CACnB,0BAA0B,EAC1B;QACE,WAAW,EACT,qKAAqK;QACvK,UAAU,EAAE;YACV,cAAc,EAAE,CAAC;iBACd,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBACnB,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;SAC1D;KACF,EACD,CAAC,IAAI,EAAE,EAAE;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,cAAoC,CAAC;QAC1D,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;;;;6CAIyB,OAAO,CAAC,CAAC,CAAC,0BAA0B,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"print-preflight-workflow.js","sourceRoot":"","sources":["../../src/prompts/print-preflight-workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,cAAc,CACnB,0BAA0B,EAC1B;QACE,WAAW,EACT,qKAAqK;QACvK,UAAU,EAAE;YACV,cAAc,EAAE,CAAC;iBACd,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBACnB,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;SAC1D;KACF,EACD,CAAC,IAAI,EAAE,EAAE;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,cAAoC,CAAC;QAC1D,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;;;;6CAIyB,OAAO,CAAC,CAAC,CAAC,0BAA0B,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;uCAqB1D;qBAC1B;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-pdf.d.ts","sourceRoot":"","sources":["../../../src/tools/export/export-pdf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"export-pdf.d.ts","sourceRoot":"","sources":["../../../src/tools/export/export-pdf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmLpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyChD"}
|