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.
Files changed (57) hide show
  1. package/README.ja.md +67 -343
  2. package/README.md +68 -331
  3. package/dist/bundle.cjs +164 -57
  4. package/dist/executor/file-transport.d.ts +3 -2
  5. package/dist/executor/file-transport.d.ts.map +1 -1
  6. package/dist/executor/file-transport.js +14 -9
  7. package/dist/executor/file-transport.js.map +1 -1
  8. package/dist/executor/jsx-runner.d.ts.map +1 -1
  9. package/dist/executor/jsx-runner.js +3 -3
  10. package/dist/executor/jsx-runner.js.map +1 -1
  11. package/dist/prompts/print-preflight-workflow.d.ts.map +1 -1
  12. package/dist/prompts/print-preflight-workflow.js +6 -0
  13. package/dist/prompts/print-preflight-workflow.js.map +1 -1
  14. package/dist/tools/export/export-pdf.d.ts.map +1 -1
  15. package/dist/tools/export/export-pdf.js +30 -3
  16. package/dist/tools/export/export-pdf.js.map +1 -1
  17. package/dist/tools/export/export.d.ts.map +1 -1
  18. package/dist/tools/export/export.js +45 -3
  19. package/dist/tools/export/export.js.map +1 -1
  20. package/dist/tools/modify/create-ellipse.d.ts.map +1 -1
  21. package/dist/tools/modify/create-ellipse.js +3 -5
  22. package/dist/tools/modify/create-ellipse.js.map +1 -1
  23. package/dist/tools/modify/create-line.d.ts.map +1 -1
  24. package/dist/tools/modify/create-line.js +3 -5
  25. package/dist/tools/modify/create-line.js.map +1 -1
  26. package/dist/tools/modify/create-path.d.ts.map +1 -1
  27. package/dist/tools/modify/create-path.js +3 -5
  28. package/dist/tools/modify/create-path.js.map +1 -1
  29. package/dist/tools/modify/create-rectangle.d.ts.map +1 -1
  30. package/dist/tools/modify/create-rectangle.js +3 -5
  31. package/dist/tools/modify/create-rectangle.js.map +1 -1
  32. package/dist/tools/modify/save-document.d.ts.map +1 -1
  33. package/dist/tools/modify/save-document.js +26 -7
  34. package/dist/tools/modify/save-document.js.map +1 -1
  35. package/dist/tools/modify/shared.d.ts.map +1 -1
  36. package/dist/tools/modify/shared.js +3 -2
  37. package/dist/tools/modify/shared.js.map +1 -1
  38. package/dist/tools/read/get-artboards.d.ts.map +1 -1
  39. package/dist/tools/read/get-artboards.js +3 -5
  40. package/dist/tools/read/get-artboards.js.map +1 -1
  41. package/dist/tools/read/get-layers.d.ts.map +1 -1
  42. package/dist/tools/read/get-layers.js +3 -7
  43. package/dist/tools/read/get-layers.js.map +1 -1
  44. package/dist/tools/read/get-selection.d.ts.map +1 -1
  45. package/dist/tools/read/get-selection.js +3 -7
  46. package/dist/tools/read/get-selection.js.map +1 -1
  47. package/dist/tools/tool-executor.d.ts +17 -0
  48. package/dist/tools/tool-executor.d.ts.map +1 -0
  49. package/dist/tools/tool-executor.js +22 -0
  50. package/dist/tools/tool-executor.js.map +1 -0
  51. package/dist/tools/utility/check-text-consistency.d.ts.map +1 -1
  52. package/dist/tools/utility/check-text-consistency.js +10 -4
  53. package/dist/tools/utility/check-text-consistency.js.map +1 -1
  54. package/dist/tools/utility/preflight-check.d.ts.map +1 -1
  55. package/dist/tools/utility/preflight-check.js +7 -1
  56. package/dist/tools/utility/preflight-check.js.map +1 -1
  57. 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 TMP_DIR = path.join(os.tmpdir(), "illustrator-mcp");
30262
+ var tmpDir = null;
30263
30263
  var BOM = "\uFEFF";
30264
30264
  async function ensureTmpDir() {
30265
- await fs.mkdir(TMP_DIR, { recursive: true });
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(TMP_DIR, `params-${id}.json`),
30273
- scriptPath: path.join(TMP_DIR, `script-${id}.jsx`),
30274
- runnerPath: path.join(TMP_DIR, `run-${id}.${ext}`),
30275
- resultPath: path.join(TMP_DIR, `result-${id}.json`)
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)(TMP_DIR, { recursive: true, force: true });
30331
+ (0, import_fs.rmSync)(tmpDir, { recursive: true, force: true });
30329
30332
  } catch (e) {
30330
- console.warn("Failed to clean up temp directory:", TMP_DIR, e);
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
- if (val === "true") return true;
30701
- if (val === "false") return false;
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
- const resolvedParams = { ...params, coordinate_system: await resolveCoordinateSystem(params.coordinate_system) };
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
- const resolvedParams = { ...params, coordinate_system: await resolveCoordinateSystem(params.coordinate_system) };
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
- const resolvedParams = { ...params, coordinate_system: await resolveCoordinateSystem(params.coordinate_system) };
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: outputPath, format: format };
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
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
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
- dummyTexts: analysis.dummyTexts,
35508
- knownVariations: analysis.knownVariations,
35509
- allTexts: analysis.allTexts
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
- const resolvedParams = { ...params, coordinate_system: await resolveCoordinateSystem(params.coordinate_system) };
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
- const resolvedParams = { ...params, coordinate_system: await resolveCoordinateSystem(params.coordinate_system) };
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
- const resolvedParams = { ...params, coordinate_system: await resolveCoordinateSystem(params.coordinate_system) };
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
- const resolvedParams = { ...params, coordinate_system: await resolveCoordinateSystem(params.coordinate_system) };
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
- if (!params.path) {
38157
- writeResultFile(RESULT_PATH, { error: true, message: "path is required for save_as mode" });
38158
- } else {
38159
- var saveFile = new File(params.path);
38160
- doc.saveAs(saveFile);
38161
- writeResultFile(RESULT_PATH, { success: true, mode: "save_as", path: params.path });
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 (required when mode is save_as)")
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): Promise<void>;
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":"AAMA,eAAO,MAAM,OAAO,QAA4C,CAAC;AAGjE,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,CAU3C;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,GACjB,OAAO,CAAC,IAAI,CAAC,CAcf;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,CAMxC"}
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
- export const TMP_DIR = path.join(os.tmpdir(), 'illustrator-mcp');
6
+ let tmpDir = null;
7
7
  const BOM = '\uFEFF';
8
8
  export async function ensureTmpDir() {
9
- await fs.mkdir(TMP_DIR, { recursive: true });
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(TMP_DIR, `params-${id}.json`),
17
- scriptPath: path.join(TMP_DIR, `script-${id}.jsx`),
18
- runnerPath: path.join(TMP_DIR, `run-${id}.${ext}`),
19
- resultPath: path.join(TMP_DIR, `result-${id}.json`),
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(TMP_DIR, { recursive: true, force: true });
80
+ rmSync(tmpDir, { recursive: true, force: true });
76
81
  }
77
82
  catch (e) {
78
- console.warn('Failed to clean up temp directory:', TMP_DIR, e);
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":"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"}
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;AA4GD;;;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"}
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,CA+ChD"}
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;;;;;;;;;;;;;;;uCAe1D;qBAC1B;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
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;AA4JpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqChD"}
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"}