@bimatrix-aud-platform/aud_mcp_server 1.1.13 → 1.1.15

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.
@@ -0,0 +1,605 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "json2-file-schema",
4
+ "title": "MX-GRID WorkBook Schema",
5
+ "description": "MX-GRID 템플릿(.json2) 파일 스키마. 엑셀 기반 스프레드시트 워크북 구조를 정의합니다.",
6
+ "type": "object",
7
+ "required": ["WorkSheets"],
8
+ "additionalProperties": true,
9
+ "properties": {
10
+ "FontName": {
11
+ "type": "string",
12
+ "description": "기본 폰트명 (예: '맑은 고딕')"
13
+ },
14
+ "FontSize": {
15
+ "type": "number",
16
+ "description": "기본 폰트 크기 (기본값: 11)"
17
+ },
18
+ "Version": {
19
+ "type": "number",
20
+ "description": "워크북 버전"
21
+ },
22
+ "ColumnWidthPixelRate": {
23
+ "type": "number",
24
+ "description": "열 너비 픽셀 비율"
25
+ },
26
+ "Styles": {
27
+ "type": "array",
28
+ "description": "스타일 정의 배열",
29
+ "items": { "$ref": "#/$defs/Style" }
30
+ },
31
+ "WorkSheets": {
32
+ "type": "array",
33
+ "description": "워크시트 배열",
34
+ "items": { "$ref": "#/$defs/WorkSheet" }
35
+ },
36
+ "SheetNames": {
37
+ "type": "array",
38
+ "description": "시트 이름 목록 (시트 순서 재배치용)",
39
+ "items": { "type": "string" }
40
+ },
41
+ "Names": {
42
+ "type": "array",
43
+ "description": "이름 정의(Named Range) 배열",
44
+ "items": { "$ref": "#/$defs/NameDef" }
45
+ },
46
+ "DataBinding": {
47
+ "type": "array",
48
+ "description": "데이터 바인딩 정의 배열",
49
+ "items": { "$ref": "#/$defs/DataBinding" }
50
+ }
51
+ },
52
+ "$defs": {
53
+ "Style": {
54
+ "type": "object",
55
+ "description": "셀 스타일 정의",
56
+ "required": ["Name"],
57
+ "additionalProperties": false,
58
+ "properties": {
59
+ "Name": {
60
+ "type": "string",
61
+ "description": "스타일 식별자 (예: 'S0', 'S1')"
62
+ },
63
+ "Font": {
64
+ "type": "string",
65
+ "description": "CSS-like 폰트 문자열 (예: 'font-family:맑은 고딕;font-size:10;font-weight:bold;font-color:#000000;')"
66
+ },
67
+ "Border": {
68
+ "type": "string",
69
+ "description": "CSS-like 테두리 문자열 (예: 'border-left:Thin,#000000;border-top:Thin,#000000;')"
70
+ },
71
+ "Fill": {
72
+ "type": "string",
73
+ "description": "배경색 (예: '#dce6f2' 또는 'solid,#FFEBF1DE')"
74
+ },
75
+ "Format": {
76
+ "type": "string",
77
+ "description": "숫자/날짜 포맷 (예: '#,##0.00', 'yyyy-MM-dd')"
78
+ },
79
+ "Horizontal": {
80
+ "type": "string",
81
+ "description": "가로 정렬",
82
+ "enum": ["center", "left", "right", "general", "fill", "justify", "distributed"]
83
+ },
84
+ "Vertical": {
85
+ "type": "string",
86
+ "description": "세로 정렬",
87
+ "enum": ["center", "top", "bottom", "justify", "distributed"]
88
+ },
89
+ "WrapText": {
90
+ "type": "boolean",
91
+ "description": "텍스트 줄바꿈"
92
+ },
93
+ "IndentLevel": {
94
+ "type": "integer",
95
+ "description": "들여쓰기 수준"
96
+ },
97
+ "ShrinkToFit": {
98
+ "type": "boolean",
99
+ "description": "셀에 맞추기"
100
+ },
101
+ "RotationAngle": {
102
+ "type": "integer",
103
+ "description": "텍스트 회전 각도"
104
+ },
105
+ "IsLocked": {
106
+ "type": "boolean",
107
+ "description": "셀 잠금 여부"
108
+ }
109
+ }
110
+ },
111
+ "WorkSheet": {
112
+ "type": "object",
113
+ "description": "워크시트 정의",
114
+ "required": ["Name"],
115
+ "additionalProperties": false,
116
+ "properties": {
117
+ "Name": {
118
+ "type": "string",
119
+ "description": "시트 이름"
120
+ },
121
+ "DefaultRowHeight": {
122
+ "type": "number",
123
+ "description": "기본 행 높이"
124
+ },
125
+ "DefaultRowHeightPixel": {
126
+ "type": "integer",
127
+ "description": "기본 행 높이 (픽셀)"
128
+ },
129
+ "DefaultColumnWidthPixel": {
130
+ "type": "integer",
131
+ "description": "기본 열 너비 (픽셀)"
132
+ },
133
+ "CRUD": {
134
+ "type": "boolean",
135
+ "description": "CRUD 활성화 여부"
136
+ },
137
+ "ViewType": {
138
+ "type": "string",
139
+ "description": "뷰 타입"
140
+ },
141
+ "Zoom": {
142
+ "type": "integer",
143
+ "description": "확대/축소 비율 (기본값: 100)"
144
+ },
145
+ "Active": {
146
+ "type": "boolean",
147
+ "description": "활성 시트 여부"
148
+ },
149
+ "Visible": {
150
+ "type": "boolean",
151
+ "description": "시트 표시 여부 (기본값: true)"
152
+ },
153
+ "DisplayGridlines": {
154
+ "type": ["boolean", "integer", "string"],
155
+ "description": "눈금선 표시 여부"
156
+ },
157
+ "Protection": {
158
+ "$ref": "#/$defs/Protection"
159
+ },
160
+ "HPageBreaks": {
161
+ "type": "array",
162
+ "description": "수평 페이지 나누기 위치",
163
+ "items": { "type": "integer" }
164
+ },
165
+ "VPageBreaks": {
166
+ "type": "array",
167
+ "description": "수직 페이지 나누기 위치",
168
+ "items": { "type": "integer" }
169
+ },
170
+ "FreezePanes": {
171
+ "$ref": "#/$defs/FreezePanes"
172
+ },
173
+ "PageSetup": {
174
+ "$ref": "#/$defs/PageSetup"
175
+ },
176
+ "Columns": {
177
+ "type": "array",
178
+ "description": "열 정의 배열",
179
+ "items": { "$ref": "#/$defs/Column" }
180
+ },
181
+ "Rows": {
182
+ "type": "array",
183
+ "description": "행 정의 배열",
184
+ "items": { "$ref": "#/$defs/Row" }
185
+ },
186
+ "Ranges": {
187
+ "type": "array",
188
+ "description": "셀 데이터 배열",
189
+ "items": { "$ref": "#/$defs/CellRange" }
190
+ },
191
+ "Controls": {
192
+ "type": "array",
193
+ "description": "내장 컨트롤 배열 (차트, 이미지, 데이터그리드 등)",
194
+ "items": { "$ref": "#/$defs/Control" }
195
+ },
196
+ "Shapes": {
197
+ "type": "array",
198
+ "description": "도형/이미지 배열",
199
+ "items": { "$ref": "#/$defs/Shape" }
200
+ },
201
+ "FormatConditions": {
202
+ "type": "array",
203
+ "description": "조건부 서식 배열",
204
+ "items": { "$ref": "#/$defs/FormatCondition" }
205
+ },
206
+ "Validators": {
207
+ "type": "array",
208
+ "description": "데이터 유효성 검사 배열",
209
+ "items": { "$ref": "#/$defs/Validator" }
210
+ },
211
+ "SparkLineGroups": {
212
+ "type": "array",
213
+ "description": "스파크라인 그룹 배열",
214
+ "items": { "type": "object" }
215
+ },
216
+ "xlCharts": {
217
+ "type": "array",
218
+ "description": "내장 차트 배열",
219
+ "items": { "$ref": "#/$defs/XlChart" }
220
+ }
221
+ }
222
+ },
223
+ "Column": {
224
+ "type": "object",
225
+ "description": "열 정의",
226
+ "required": ["Index"],
227
+ "additionalProperties": false,
228
+ "properties": {
229
+ "Index": {
230
+ "type": "integer",
231
+ "minimum": 1,
232
+ "description": "열 인덱스 (1부터 시작)"
233
+ },
234
+ "Width": {
235
+ "type": "number",
236
+ "description": "열 너비 (Excel 단위)"
237
+ },
238
+ "PixelWidth": {
239
+ "type": "integer",
240
+ "description": "열 너비 (픽셀)"
241
+ }
242
+ }
243
+ },
244
+ "Row": {
245
+ "type": "object",
246
+ "description": "행 정의",
247
+ "required": ["Index"],
248
+ "additionalProperties": false,
249
+ "properties": {
250
+ "Index": {
251
+ "type": "integer",
252
+ "minimum": 1,
253
+ "description": "행 인덱스 (1부터 시작)"
254
+ },
255
+ "Height": {
256
+ "type": "number",
257
+ "description": "행 높이 (Excel 단위)"
258
+ },
259
+ "PixelHeight": {
260
+ "type": "integer",
261
+ "description": "행 높이 (픽셀)"
262
+ }
263
+ }
264
+ },
265
+ "CellRange": {
266
+ "type": "object",
267
+ "description": "셀 데이터 정의",
268
+ "required": ["Range"],
269
+ "additionalProperties": true,
270
+ "properties": {
271
+ "Range": {
272
+ "type": "string",
273
+ "description": "셀 주소 (예: 'A1' 또는 'B2:C3')"
274
+ },
275
+ "Value": {
276
+ "description": "셀 값 (문자열, 숫자, 불리언, null 등)"
277
+ },
278
+ "Text": {
279
+ "description": "표시 텍스트 (문자열, 숫자, 불리언 등)"
280
+ },
281
+ "Formula": {
282
+ "type": "string",
283
+ "description": "셀 수식 (예: '=SUM(A1:A10)')"
284
+ },
285
+ "Type": {
286
+ "type": "integer",
287
+ "description": "셀 타입: 0=String, 1=Number, 2=Date, 3=Boolean, 4=Empty, 5=Error, -1=Null"
288
+ },
289
+ "ColSpan": {
290
+ "type": "integer",
291
+ "minimum": 1,
292
+ "description": "열 병합 수"
293
+ },
294
+ "RowSpan": {
295
+ "type": "integer",
296
+ "minimum": 1,
297
+ "description": "행 병합 수"
298
+ },
299
+ "Style": {
300
+ "type": ["string", "object"],
301
+ "description": "스타일 이름(문자열) 또는 인라인 스타일 객체"
302
+ },
303
+ "Format": {
304
+ "type": "string",
305
+ "description": "셀 포맷 (예: '#,##0')"
306
+ },
307
+ "ArrayIndex": {
308
+ "type": "integer",
309
+ "description": "배열 수식 인덱스"
310
+ },
311
+ "ArrayRange": {
312
+ "type": "object",
313
+ "description": "배열 수식 범위"
314
+ },
315
+ "FontSettings": {
316
+ "type": "array",
317
+ "description": "리치 텍스트 폰트 설정",
318
+ "items": { "$ref": "#/$defs/FontSetting" }
319
+ },
320
+ "Properties": {
321
+ "type": "object",
322
+ "description": "사용자 정의 속성"
323
+ },
324
+ "Editable": {
325
+ "type": "boolean",
326
+ "description": "편집 가능 여부"
327
+ },
328
+ "IsModified": {
329
+ "type": "boolean",
330
+ "description": "수정 여부"
331
+ },
332
+ "Validator": {
333
+ "type": "integer",
334
+ "description": "유효성 검사 인덱스"
335
+ },
336
+ "MaskFormat": {
337
+ "type": "string",
338
+ "description": "마스크 포맷"
339
+ }
340
+ }
341
+ },
342
+ "FontSetting": {
343
+ "type": "object",
344
+ "description": "리치 텍스트 폰트 설정",
345
+ "additionalProperties": false,
346
+ "properties": {
347
+ "Text": { "type": "string" },
348
+ "Formula": { "type": "string" },
349
+ "FontColor": { "type": "string" },
350
+ "FontName": { "type": "string" },
351
+ "FontSize": { "type": "number" },
352
+ "FontPoint": { "type": "number", "description": "폰트 포인트 크기" },
353
+ "Bold": { "type": "boolean" },
354
+ "Italic": { "type": "boolean" },
355
+ "UnderLine": { "type": "boolean" },
356
+ "Underline": { "type": "boolean" }
357
+ }
358
+ },
359
+ "Control": {
360
+ "type": "object",
361
+ "description": "내장 컨트롤 (차트, 이미지, 데이터그리드 등)",
362
+ "required": ["Name", "Type", "Range"],
363
+ "additionalProperties": true,
364
+ "properties": {
365
+ "Name": {
366
+ "type": "string",
367
+ "description": "컨트롤 이름"
368
+ },
369
+ "Type": {
370
+ "type": "integer",
371
+ "description": "컨트롤 타입: 15=Image, 16=TableLayout, 18=PivotGrid, 19=DataGrid, 20=TreeGrid, 21=Chart, 22=Pie, 25=Scatter, 26=Polygon, 27=iGrid, 28=GroupGrid"
372
+ },
373
+ "Range": {
374
+ "type": "string",
375
+ "description": "표시 영역"
376
+ },
377
+ "FileName": {
378
+ "type": "string",
379
+ "description": "이미지 파일명"
380
+ },
381
+ "Value": {
382
+ "type": "string",
383
+ "description": "Base64 인코딩 데이터"
384
+ },
385
+ "Width": {
386
+ "type": "integer",
387
+ "description": "너비 (픽셀)"
388
+ },
389
+ "Height": {
390
+ "type": "integer",
391
+ "description": "높이 (픽셀)"
392
+ }
393
+ }
394
+ },
395
+ "Shape": {
396
+ "type": "object",
397
+ "description": "도형/이미지 객체",
398
+ "required": ["Name"],
399
+ "additionalProperties": true,
400
+ "properties": {
401
+ "Name": { "type": "string", "description": "도형 이름" },
402
+ "ZIndex": { "type": "integer", "description": "Z 순서" },
403
+ "Left": { "type": "number", "description": "왼쪽 위치" },
404
+ "Top": { "type": "number", "description": "위쪽 위치" },
405
+ "Width": { "type": "number", "description": "너비" },
406
+ "Height": { "type": "number", "description": "높이" },
407
+ "FixPos": { "type": "boolean", "description": "위치 고정 여부" },
408
+ "MarginBottom": { "type": "number" },
409
+ "MarginTop": { "type": "number" },
410
+ "MarginLeft": { "type": "number" },
411
+ "MarginRight": { "type": "number" },
412
+ "TopLeftCell": { "type": "string", "description": "왼쪽 상단 셀 주소" },
413
+ "BottomRightCell": { "type": "string", "description": "오른쪽 하단 셀 주소" },
414
+ "BASE64": { "type": "string", "description": "Base64 인코딩 이미지" },
415
+ "Text": { "type": "string", "description": "텍스트 내용" },
416
+ "Formula": { "type": "string", "description": "수식" },
417
+ "Style": { "type": ["string", "object"], "description": "스타일 참조" },
418
+ "Type": { "type": ["integer", "string"], "description": "도형 타입" }
419
+ }
420
+ },
421
+ "FormatCondition": {
422
+ "type": "object",
423
+ "description": "조건부 서식 규칙",
424
+ "additionalProperties": true,
425
+ "properties": {
426
+ "Type": { "type": "integer", "description": "조건 유형" },
427
+ "Priority": { "type": "integer", "description": "우선순위" },
428
+ "Ranges": { "type": ["string", "array", "object"], "description": "적용 범위" },
429
+ "Style": { "type": ["string", "object"], "description": "스타일" },
430
+ "Formula1": { "type": "string", "description": "조건 수식 1" },
431
+ "Formula2": { "type": ["string", "null"], "description": "조건 수식 2" },
432
+ "Operator": { "type": "integer", "description": "연산자" },
433
+ "StopIfTrue": { "type": "boolean" },
434
+ "ShowValue": { "type": "boolean" },
435
+ "Border": { "type": ["string", "object"] },
436
+ "Color": { "type": "string" },
437
+ "Direction": { "type": "integer" }
438
+ }
439
+ },
440
+ "Validator": {
441
+ "type": "object",
442
+ "description": "데이터 유효성 검사 규칙",
443
+ "additionalProperties": true,
444
+ "properties": {
445
+ "Type": { "type": "integer", "description": "유효성 검사 유형" },
446
+ "Formula1": { "type": "string", "description": "검증 수식 1" },
447
+ "Operator": { "type": "integer", "description": "연산자" },
448
+ "IgnoreBlank": { "type": "boolean" },
449
+ "InCellDropDown": { "type": "boolean" },
450
+ "ShowInput": { "type": "boolean" },
451
+ "ShowError": { "type": "boolean" },
452
+ "InputTitle": { "type": "string" },
453
+ "InputMessage": { "type": "string" },
454
+ "ErrorTitle": { "type": "string" },
455
+ "ErrorMessage": { "type": "string" },
456
+ "Ranges": { "type": "string" }
457
+ }
458
+ },
459
+ "XlChart": {
460
+ "type": "object",
461
+ "description": "내장 차트 객체",
462
+ "additionalProperties": true,
463
+ "properties": {
464
+ "Name": { "type": "string", "description": "차트 이름" },
465
+ "ChartType": { "type": "integer", "description": "차트 유형" },
466
+ "CategoryReverse": { "type": "boolean" },
467
+ "Reverse": { "type": "string" },
468
+ "Range": { "type": "string", "description": "차트 위치" },
469
+ "DataRange": {
470
+ "type": "array",
471
+ "description": "데이터 시리즈 배열",
472
+ "items": { "$ref": "#/$defs/DataRangeSeries" }
473
+ },
474
+ "Json": { "type": ["string", "object"], "description": "차트 설정 JSON 문자열 또는 객체" }
475
+ }
476
+ },
477
+ "DataRangeSeries": {
478
+ "type": "object",
479
+ "description": "차트 데이터 시리즈",
480
+ "additionalProperties": true,
481
+ "properties": {
482
+ "Name": { "type": "string" },
483
+ "Label": { "type": "string" },
484
+ "Data": { "type": ["string", "array"] },
485
+ "Values": { "type": ["array", "string"] }
486
+ }
487
+ },
488
+ "FreezePanes": {
489
+ "type": "object",
490
+ "description": "틀 고정 설정",
491
+ "additionalProperties": false,
492
+ "properties": {
493
+ "Row": { "type": "integer", "description": "고정 행 (0부터)" },
494
+ "Column": { "type": "integer", "description": "고정 열 (0부터)" }
495
+ }
496
+ },
497
+ "PageSetup": {
498
+ "type": "object",
499
+ "description": "페이지 설정",
500
+ "additionalProperties": false,
501
+ "properties": {
502
+ "LeftMargin": { "type": "number" },
503
+ "RightMargin": { "type": "number" },
504
+ "TopMargin": { "type": "number" },
505
+ "BottomMargin": { "type": "number" },
506
+ "HeaderMargin": { "type": "number" },
507
+ "FooterMargin": { "type": "number" },
508
+ "Orientation": { "type": "string" },
509
+ "PaperSize": { "type": "integer" },
510
+ "Zoom": { "type": "integer" },
511
+ "FitToWidth": { "type": "integer" },
512
+ "FitToHeight": { "type": "integer" },
513
+ "IsPercentScale": { "type": "boolean" },
514
+ "CenterHorizontally": { "type": "boolean" },
515
+ "CenterVertically": { "type": "boolean" },
516
+ "PrintArea": { "type": "string" },
517
+ "LeftHeader": { "type": "string" },
518
+ "CenterHeader": { "type": "string" },
519
+ "RightHeader": { "type": "string" },
520
+ "LeftFooter": { "type": "string" },
521
+ "CenterFooter": { "type": "string" },
522
+ "RightFooter": { "type": "string" }
523
+ }
524
+ },
525
+ "Protection": {
526
+ "type": "object",
527
+ "description": "시트 보호 설정",
528
+ "additionalProperties": true,
529
+ "properties": {
530
+ "AllowSelectingLockedCell": { "type": "boolean" },
531
+ "AllowSelectingUnlockedCell": { "type": "boolean" },
532
+ "IsProtected": { "type": "boolean" },
533
+ "Password": { "type": "string" }
534
+ }
535
+ },
536
+ "NameDef": {
537
+ "type": "object",
538
+ "description": "이름 정의 (Named Range)",
539
+ "required": ["Name", "RefersTo"],
540
+ "additionalProperties": false,
541
+ "properties": {
542
+ "Name": {
543
+ "type": "string",
544
+ "description": "이름 (예: '_VIEW_AREA_', '_D_DATA', 'CRUD_TABLE1')"
545
+ },
546
+ "RefersTo": {
547
+ "type": "string",
548
+ "description": "참조 수식 (예: \"='V1'!$A$1:$B$3\")"
549
+ },
550
+ "IsFormula": {
551
+ "type": "boolean",
552
+ "description": "수식 여부"
553
+ },
554
+ "Hidden": {
555
+ "type": "boolean",
556
+ "description": "숨김 여부"
557
+ },
558
+ "SheetName": {
559
+ "type": "string",
560
+ "description": "대상 시트명"
561
+ },
562
+ "Ranges": {
563
+ "type": "array",
564
+ "description": "참조 범위 배열",
565
+ "items": {
566
+ "type": "object",
567
+ "properties": {
568
+ "SheetName": { "type": ["string", "null"] },
569
+ "Range": { "type": "string" }
570
+ },
571
+ "additionalProperties": false
572
+ }
573
+ }
574
+ }
575
+ },
576
+ "DataBinding": {
577
+ "type": "object",
578
+ "description": "데이터 바인딩 정의",
579
+ "required": ["Code", "Name", "Sheet"],
580
+ "additionalProperties": false,
581
+ "properties": {
582
+ "Code": {
583
+ "type": "string",
584
+ "description": "바인딩 코드"
585
+ },
586
+ "Name": {
587
+ "type": "string",
588
+ "description": "바인딩 이름"
589
+ },
590
+ "Sheet": {
591
+ "type": "string",
592
+ "description": "대상 시트명"
593
+ },
594
+ "WriteColumns": {
595
+ "type": "boolean",
596
+ "description": "컬럼 헤더 출력 여부"
597
+ },
598
+ "Top": { "type": "integer", "description": "상단 행 인덱스" },
599
+ "Left": { "type": "integer", "description": "좌측 열 인덱스" },
600
+ "Bottom": { "type": "integer", "description": "하단 행 인덱스" },
601
+ "Right": { "type": "integer", "description": "우측 열 인덱스" }
602
+ }
603
+ }
604
+ }
605
+ }