sonance-brand-mcp 1.3.112 → 1.3.114

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.
@@ -369,7 +369,7 @@ export function parseTailwindConfig(configPath: string, projectRoot: string): Re
369
369
  // This is a simplified parser that handles common patterns
370
370
 
371
371
  // Pattern 1: colors: { name: "value" } or colors: { name: { DEFAULT: "value" } }
372
- const colorBlockMatch = content.match(/colors\s*:\s*\{([^}]+(?:\{[^}]*\}[^}]*)*)\}/s);
372
+ const colorBlockMatch = content.match(/colors\s*:\s*\{([^}]+(?:\{[^}]*\}[^}]*)*)\}/);
373
373
  if (colorBlockMatch) {
374
374
  const colorBlock = colorBlockMatch[1];
375
375
 
@@ -388,7 +388,7 @@ export function parseTailwindConfig(configPath: string, projectRoot: string): Re
388
388
  }
389
389
 
390
390
  // Pattern 2: extend: { colors: { ... } }
391
- const extendColorMatch = content.match(/extend\s*:\s*\{[^}]*colors\s*:\s*\{([^}]+(?:\{[^}]*\}[^}]*)*)\}/s);
391
+ const extendColorMatch = content.match(/extend\s*:\s*\{[^}]*colors\s*:\s*\{([^}]+(?:\{[^}]*\}[^}]*)*)\}/);
392
392
  if (extendColorMatch) {
393
393
  const extendBlock = extendColorMatch[1];
394
394
 
package/dist/index.js CHANGED
@@ -377,6 +377,9 @@ function runDevToolsInstaller() {
377
377
  let sourceApiInjectId;
378
378
  let sourceApiAnalyze;
379
379
  let sourceApiVisionApply;
380
+ let sourceApiVisionApplyThemeDiscovery;
381
+ let sourceApiVisionApplyStylingDetection;
382
+ let sourceApiVisionApplyImageStylingDetection;
380
383
  let sourceApiVisionEdit;
381
384
  let sourceApiAiEdit;
382
385
  let sourceApiSaveColors;
@@ -395,6 +398,9 @@ function runDevToolsInstaller() {
395
398
  sourceApiInjectId = path.join(BUNDLED_ASSETS, "api/sonance-inject-id/route.ts");
396
399
  sourceApiAnalyze = path.join(BUNDLED_ASSETS, "api/sonance-analyze/route.ts");
397
400
  sourceApiVisionApply = path.join(BUNDLED_ASSETS, "api/sonance-vision-apply/route.ts");
401
+ sourceApiVisionApplyThemeDiscovery = path.join(BUNDLED_ASSETS, "api/sonance-vision-apply/theme-discovery.ts");
402
+ sourceApiVisionApplyStylingDetection = path.join(BUNDLED_ASSETS, "api/sonance-vision-apply/styling-detection.ts");
403
+ sourceApiVisionApplyImageStylingDetection = path.join(BUNDLED_ASSETS, "api/sonance-vision-apply/image-styling-detection.ts");
398
404
  sourceApiVisionEdit = path.join(BUNDLED_ASSETS, "api/sonance-vision-edit/route.ts");
399
405
  sourceApiAiEdit = path.join(BUNDLED_ASSETS, "api/sonance-ai-edit/route.ts");
400
406
  sourceApiSaveColors = path.join(BUNDLED_ASSETS, "api/sonance-save-colors/route.ts");
@@ -414,6 +420,9 @@ function runDevToolsInstaller() {
414
420
  sourceApiInjectId = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-inject-id/route.ts");
415
421
  sourceApiAnalyze = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-analyze/route.ts");
416
422
  sourceApiVisionApply = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-vision-apply/route.ts");
423
+ sourceApiVisionApplyThemeDiscovery = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-vision-apply/theme-discovery.ts");
424
+ sourceApiVisionApplyStylingDetection = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-vision-apply/styling-detection.ts");
425
+ sourceApiVisionApplyImageStylingDetection = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-vision-apply/image-styling-detection.ts");
417
426
  sourceApiVisionEdit = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-vision-edit/route.ts");
418
427
  sourceApiAiEdit = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-ai-edit/route.ts");
419
428
  sourceApiSaveColors = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-save-colors/route.ts");
@@ -563,6 +572,16 @@ function runDevToolsInstaller() {
563
572
  fs.copyFileSync(sourceApiVisionApply, path.join(apiVisionApplyDir, "route.ts"));
564
573
  createdFiles.push(`${pathPrefix}app/api/sonance-vision-apply/route.ts`);
565
574
  console.log(` ✓ Created ${pathPrefix}app/api/sonance-vision-apply/route.ts`);
575
+ // Copy supporting files for vision-apply
576
+ fs.copyFileSync(sourceApiVisionApplyThemeDiscovery, path.join(apiVisionApplyDir, "theme-discovery.ts"));
577
+ createdFiles.push(`${pathPrefix}app/api/sonance-vision-apply/theme-discovery.ts`);
578
+ console.log(` ✓ Created ${pathPrefix}app/api/sonance-vision-apply/theme-discovery.ts`);
579
+ fs.copyFileSync(sourceApiVisionApplyStylingDetection, path.join(apiVisionApplyDir, "styling-detection.ts"));
580
+ createdFiles.push(`${pathPrefix}app/api/sonance-vision-apply/styling-detection.ts`);
581
+ console.log(` ✓ Created ${pathPrefix}app/api/sonance-vision-apply/styling-detection.ts`);
582
+ fs.copyFileSync(sourceApiVisionApplyImageStylingDetection, path.join(apiVisionApplyDir, "image-styling-detection.ts"));
583
+ createdFiles.push(`${pathPrefix}app/api/sonance-vision-apply/image-styling-detection.ts`);
584
+ console.log(` ✓ Created ${pathPrefix}app/api/sonance-vision-apply/image-styling-detection.ts`);
566
585
  if (!fs.existsSync(apiVisionEditDir)) {
567
586
  fs.mkdirSync(apiVisionEditDir, { recursive: true });
568
587
  }
@@ -1101,6 +1120,9 @@ function runDevToolsSync(fullSync = false) {
1101
1120
  let sourceApiAnalyze;
1102
1121
  let sourceApiSaveColors;
1103
1122
  let sourceApiVisionApply;
1123
+ let sourceApiVisionApplyThemeDiscovery;
1124
+ let sourceApiVisionApplyStylingDetection;
1125
+ let sourceApiVisionApplyImageStylingDetection;
1104
1126
  let sourceApiVisionEdit;
1105
1127
  if (IS_BUNDLED) {
1106
1128
  sourceDevTools = path.join(BUNDLED_ASSETS, "dev-tools");
@@ -1109,6 +1131,9 @@ function runDevToolsSync(fullSync = false) {
1109
1131
  sourceApiAnalyze = path.join(BUNDLED_ASSETS, "api/sonance-analyze/route.ts");
1110
1132
  sourceApiSaveColors = path.join(BUNDLED_ASSETS, "api/sonance-save-colors/route.ts");
1111
1133
  sourceApiVisionApply = path.join(BUNDLED_ASSETS, "api/sonance-vision-apply/route.ts");
1134
+ sourceApiVisionApplyThemeDiscovery = path.join(BUNDLED_ASSETS, "api/sonance-vision-apply/theme-discovery.ts");
1135
+ sourceApiVisionApplyStylingDetection = path.join(BUNDLED_ASSETS, "api/sonance-vision-apply/styling-detection.ts");
1136
+ sourceApiVisionApplyImageStylingDetection = path.join(BUNDLED_ASSETS, "api/sonance-vision-apply/image-styling-detection.ts");
1112
1137
  sourceApiVisionEdit = path.join(BUNDLED_ASSETS, "api/sonance-vision-edit/route.ts");
1113
1138
  }
1114
1139
  else {
@@ -1118,6 +1143,9 @@ function runDevToolsSync(fullSync = false) {
1118
1143
  sourceApiAnalyze = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-analyze/route.ts");
1119
1144
  sourceApiSaveColors = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-save-colors/route.ts");
1120
1145
  sourceApiVisionApply = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-vision-apply/route.ts");
1146
+ sourceApiVisionApplyThemeDiscovery = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-vision-apply/theme-discovery.ts");
1147
+ sourceApiVisionApplyStylingDetection = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-vision-apply/styling-detection.ts");
1148
+ sourceApiVisionApplyImageStylingDetection = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-vision-apply/image-styling-detection.ts");
1121
1149
  sourceApiVisionEdit = path.join(DEV_PROJECT_ROOT, "src/app/api/sonance-vision-edit/route.ts");
1122
1150
  }
1123
1151
  // Core files to sync (always synced)
@@ -1173,7 +1201,10 @@ function runDevToolsSync(fullSync = false) {
1173
1201
  }
1174
1202
  // Always sync Vision API routes (critical for Vision Mode)
1175
1203
  const visionApiFiles = [
1176
- { src: sourceApiVisionApply, dest: path.join(targetDir, baseDir, "app/api/sonance-vision-apply/route.ts"), name: "sonance-vision-apply" },
1204
+ { src: sourceApiVisionApply, dest: path.join(targetDir, baseDir, "app/api/sonance-vision-apply/route.ts"), name: "sonance-vision-apply/route" },
1205
+ { src: sourceApiVisionApplyThemeDiscovery, dest: path.join(targetDir, baseDir, "app/api/sonance-vision-apply/theme-discovery.ts"), name: "sonance-vision-apply/theme-discovery" },
1206
+ { src: sourceApiVisionApplyStylingDetection, dest: path.join(targetDir, baseDir, "app/api/sonance-vision-apply/styling-detection.ts"), name: "sonance-vision-apply/styling-detection" },
1207
+ { src: sourceApiVisionApplyImageStylingDetection, dest: path.join(targetDir, baseDir, "app/api/sonance-vision-apply/image-styling-detection.ts"), name: "sonance-vision-apply/image-styling-detection" },
1177
1208
  { src: sourceApiVisionEdit, dest: path.join(targetDir, baseDir, "app/api/sonance-vision-edit/route.ts"), name: "sonance-vision-edit" },
1178
1209
  ];
1179
1210
  for (const file of visionApiFiles) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sonance-brand-mcp",
3
- "version": "1.3.112",
3
+ "version": "1.3.114",
4
4
  "description": "MCP Server for Sonance Brand Guidelines and Component Library - gives Claude instant access to brand colors, typography, and UI components.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",