@bimatrix-aud-platform/aud_mcp_server 1.1.42 → 1.1.43

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.
@@ -379,7 +379,17 @@ function fixEnumAndRangeValues(doc, datas, fixes) {
379
379
  const forms = doc.Forms || [];
380
380
  for (const form of forms) {
381
381
  if (form.Style) {
382
- fixIntRange(form.Style, "Type", 0, 2, 0, `Form("${form.Name}").Style`, fixes); // 기본값: 0(Skin)
382
+ const fPath = `Form("${form.Name}").Style`;
383
+ fixIntRange(form.Style, "Type", 0, 2, 0, fPath, fixes); // 기본값: 0(Skin)
384
+ // Background 빈 객체 보정
385
+ if (!form.Style.Background || typeof form.Style.Background !== "object") {
386
+ form.Style.Background = { Color: { R: 255, G: 255, B: 255, A: 1 } };
387
+ fixes.push(`[Rule3] ${fPath}.Background: 누락 → 흰색 기본값 보정`);
388
+ }
389
+ else if (!form.Style.Background.Color) {
390
+ form.Style.Background.Color = { R: 255, G: 255, B: 255, A: 1 };
391
+ fixes.push(`[Rule3] ${fPath}.Background.Color: 누락 → 흰색 기본값 보정`);
392
+ }
383
393
  }
384
394
  }
385
395
  // ── 4. Elements (walkElements 순회) ──
@@ -472,9 +482,17 @@ function fixEnumAndRangeValues(doc, datas, fixes) {
472
482
  if (font.Color)
473
483
  clampColorRGBA(font.Color, `${path}.Style.Font.Color`, fixes);
474
484
  }
475
- // ---- Style.Background Color ----
476
- const bg = el.Style?.Background;
477
- if (bg) {
485
+ // ---- Style.Background Color (빈 객체 {} 허용 안 됨) ----
486
+ if (el.Style) {
487
+ if (!el.Style.Background || typeof el.Style.Background !== "object") {
488
+ el.Style.Background = { Color: { R: 255, G: 255, B: 255, A: 1 } };
489
+ fixes.push(`[Rule3] ${path}.Style.Background: 누락 → 흰색 기본값 보정`);
490
+ }
491
+ else if (!el.Style.Background.Color) {
492
+ el.Style.Background.Color = { R: 255, G: 255, B: 255, A: 1 };
493
+ fixes.push(`[Rule3] ${path}.Style.Background.Color: 누락 → 흰색 기본값 보정`);
494
+ }
495
+ const bg = el.Style.Background;
478
496
  clampColorRGBA(bg, `${path}.Style.Background`, fixes);
479
497
  if (bg.Color)
480
498
  clampColorRGBA(bg.Color, `${path}.Style.Background.Color`, fixes);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bimatrix-aud-platform/aud_mcp_server",
3
- "version": "1.1.42",
3
+ "version": "1.1.43",
4
4
  "description": "MCP Server for i-AUD MTSD document validation, generation, schema querying, control info extraction, and database operations",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -226,18 +226,20 @@ export interface IColor {
226
226
 
227
227
  /**
228
228
  * 배경 스타일 인터페이스
229
+ * Color는 필수입니다. 빈 객체 {}는 허용되지 않습니다.
230
+ * 기본값: { Color: { R: 255, G: 255, B: 255, A: 1 } } (흰색)
229
231
  */
230
232
  export interface IBackground {
231
- /** 배경 색상 (IColor 객체) */
233
+ /** 배경 색상 (필수 — 빈 Background 허용 안 됨) */
232
234
  Color: IColor;
233
- /** Red 값 (개별 속성으로 지정 시) */
234
- ColorR: number;
235
- /** Green 값 (개별 속성으로 지정 시) */
236
- ColorG: number;
237
- /** Blue 값 (개별 속성으로 지정 시) */
238
- ColorB: number;
239
- /** Alpha 값 (개별 속성으로 지정 시) */
240
- ColorA: number;
235
+ /** Red 값 (Form 레벨에서 개별 속성으로 지정 시) */
236
+ ColorR?: number;
237
+ /** Green 값 (Form 레벨에서 개별 속성으로 지정 시) */
238
+ ColorG?: number;
239
+ /** Blue 값 (Form 레벨에서 개별 속성으로 지정 시) */
240
+ ColorB?: number;
241
+ /** Alpha 값 (Form 레벨에서 개별 속성으로 지정 시) */
242
+ ColorA?: number;
241
243
  }
242
244
 
243
245
  /**
@@ -246,14 +248,14 @@ export interface IBackground {
246
248
  export interface IBorder {
247
249
  /** 테두리 색상 (IColor 객체) */
248
250
  Color: IColor;
249
- /** Red 값 (개별 속성으로 지정 시) */
250
- ColorR: number;
251
- /** Green 값 (개별 속성으로 지정 시) */
252
- ColorG: number;
253
- /** Blue 값 (개별 속성으로 지정 시) */
254
- ColorB: number;
255
- /** Alpha 값 (개별 속성으로 지정 시) */
256
- ColorA: number;
251
+ /** Red 값 (Form 레벨에서 개별 속성으로 지정 시) */
252
+ ColorR?: number;
253
+ /** Green 값 (Form 레벨에서 개별 속성으로 지정 시) */
254
+ ColorG?: number;
255
+ /** Blue 값 (Form 레벨에서 개별 속성으로 지정 시) */
256
+ ColorB?: number;
257
+ /** Alpha 값 (Form 레벨에서 개별 속성으로 지정 시) */
258
+ ColorA?: number;
257
259
  /** 모서리 둥글기 (예: "5,5,5,5" - 좌상, 우상, 우하, 좌하) */
258
260
  CornerRadius: string;
259
261
  /** 테두리 선 종류 (Solid, Dashed, Dotted 등) */
@@ -1576,20 +1576,20 @@
1576
1576
  },
1577
1577
  "Background": {
1578
1578
  "type": "object",
1579
- "description": "배경 스타일 (Color 또는 ColorR/G/B/A 사용)",
1580
- "required": ["Color", "ColorR", "ColorG", "ColorB", "ColorA"],
1579
+ "description": "배경 스타일 — Color 필수 (빈 객체 {} 허용 안 됨). 기본값: 흰색 { Color: { R:255, G:255, B:255, A:1 } }",
1580
+ "required": ["Color"],
1581
1581
  "properties": {
1582
1582
  "Color": { "$ref": "#/$defs/Color" },
1583
- "ColorR": { "type": "number", "minimum": 0, "maximum": 255 },
1584
- "ColorG": { "type": "number", "minimum": 0, "maximum": 255 },
1585
- "ColorB": { "type": "number", "minimum": 0, "maximum": 255 },
1586
- "ColorA": { "type": "number", "minimum": 0, "maximum": 255 }
1583
+ "ColorR": { "type": "number", "minimum": 0, "maximum": 255, "description": "Form 레벨 개별 속성" },
1584
+ "ColorG": { "type": "number", "minimum": 0, "maximum": 255, "description": "Form 레벨 개별 속성" },
1585
+ "ColorB": { "type": "number", "minimum": 0, "maximum": 255, "description": "Form 레벨 개별 속성" },
1586
+ "ColorA": { "type": "number", "minimum": 0, "maximum": 255, "description": "Form 레벨 개별 속성" }
1587
1587
  }
1588
1588
  },
1589
1589
  "Border": {
1590
1590
  "type": "object",
1591
1591
  "description": "테두리 스타일",
1592
- "required": ["Color", "ColorR", "ColorG", "ColorB", "ColorA", "CornerRadius", "LineType", "Thickness"],
1592
+ "required": ["Color", "CornerRadius", "LineType", "Thickness"],
1593
1593
  "properties": {
1594
1594
  "Color": { "$ref": "#/$defs/Color" },
1595
1595
  "ColorR": { "type": "number", "minimum": 0, "maximum": 255 },