@bimatrix-aud-platform/aud_mcp_server 1.1.20 → 1.1.21

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.
@@ -431,10 +431,29 @@ function fixEnumAndRangeValues(doc, datas, fixes) {
431
431
  if (fields && Array.isArray(fields)) {
432
432
  for (const field of fields) {
433
433
  const fPath = `${path}.Fields["${field.Key || "?"}"]`;
434
- fixIntRange(field, "Category", 0, 4, 1, fPath, fixes); // 기본값: 1(Dimension)
435
- fixIntRange(field, "Area", 0, 4, 3, fPath, fixes); // 기본값: 3(Filter)
436
- fixIntRange(field, "SortType", 0, 5, 0, fPath, fixes); // 기본값: 0(None)
437
- fixIntRange(field, "CreateType", 0, 3, 0, fPath, fixes); // 기본값: 0(Default)
434
+ fixIntRange(field, "Category", 0, 4, 1, fPath, fixes); // 0:Default, 1:Dimension, 2:Measure, 3:Attribute, 4:Period
435
+ fixIntRange(field, "Area", 0, 4, 3, fPath, fixes); // 0:Hidden, 1:Row, 2:Column, 3:Filter, 4:Data
436
+ // 0:None, 1:Sum, 2:Min, 3:Max, 4:Average, 5:Count, 9:Calculate, 13:DistinctCount, 14:Text
437
+ fixIntEnum(field, "SummaryType", [0, 1, 2, 3, 4, 5, 9, 13, 14], 0, fPath, fixes);
438
+ fixIntRange(field, "TotalSummaryType", 0, 5, 0, fPath, fixes); // 0:None, 1:SumOfChild, 2:MinOfChild, 3:MaxOfChild, 4:AverageOfChild, 5:CountOfChild
439
+ // 0:None, 1:Absolute, 2:Percent, 3:PercentOfColumn, 4:PercentOfRow, 5:SubTotalPercentOfColumn, 6:SubTotalPercentOfRow, 7~12:Running*, 15:FirstPeriod, 16:LastPeriod, 17:PeriodIncrease, 18:PeriodIncreaseRate
440
+ fixIntEnum(field, "SummaryVariation", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18], 0, fPath, fixes);
441
+ fixIntRange(field, "GroupByType", 0, 8, 0, fPath, fixes); // 0:Auto ~ 8:AlwaysGroupBy
442
+ fixIntRange(field, "SortType", 0, 5, 0, fPath, fixes); // 0:None, 1:Asc, 2:Desc, 3:Custom, 4:MeasureAsc, 5:MeasureDesc
443
+ fixIntRange(field, "CreateType", 0, 3, 0, fPath, fixes); // 0:Default, 1:Measures, 2:DimensionGroup, 3:HierarchyGroup
444
+ fixIntRange(field, "KeyType", 0, 3, 2, fPath, fixes); // 0:None, 1:NotNull, 2:NullAble, 3:Primary
445
+ fixIntRange(field, "DataType", 0, 5, 0, fPath, fixes); // 0:Numeric, 1:String, 2:DateTime8, 3:DateTimeNow, 4:UserCode, 5:CLOB
446
+ fixIntRange(field, "SaveMode", 0, 2, 0, fPath, fixes); // 0:All, 1:InsertOnly, 2:UpdateOnly
447
+ // ---- FilterInfo (IOlapFilter) ----
448
+ const fi = field.FilterInfo;
449
+ if (fi && typeof fi === "object") {
450
+ const fiPath = `${fPath}.FilterInfo`;
451
+ fixIntRange(fi, "FilterType", 0, 7, 0, fiPath, fixes); // 0:In, 1:NotIn, 2:Like, 3:NotLike, 4:BetWeen, 5:StartWith, 6:EndWith, 7:Equals
452
+ fixIntRange(fi, "FilterKind", 0, 1, 0, fiPath, fixes); // 0:Dimension, 1:Measure
453
+ fixIntRange(fi, "MeasureFilterTypeA", 0, 5, 0, fiPath, fixes); // 0:Equals, 1:Greater, 2:GreaterOrEquals, 3:Less, 4:LessOrEquals, 5:NotEquals
454
+ fixIntRange(fi, "MeasureFilterTypeB", 0, 5, 0, fiPath, fixes); // 0:Equals, 1:Greater, 2:GreaterOrEquals, 3:Less, 4:LessOrEquals, 5:NotEquals
455
+ fixIntRange(fi, "MeasureAndOrOperator", 0, 2, 2, fiPath, fixes); // 0:None, 1:Or, 2:And (기본값: 2)
456
+ }
438
457
  }
439
458
  }
440
459
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bimatrix-aud-platform/aud_mcp_server",
3
- "version": "1.1.20",
3
+ "version": "1.1.21",
4
4
  "description": "MCP Server for i-AUD MTSD document validation and generation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1435,15 +1435,15 @@ export interface IOlapField {
1435
1435
  ToolTipText?: string;
1436
1436
  /** 필드 카테고리 (0: Default, 1: Dimension, 2: Measure, 3: Attribute, 4: Period) */
1437
1437
  Category: number;
1438
- /** 필드 영역 (0: None, 1: Row, 2: Column, 3: Data, 4: Filter) */
1438
+ /** 필드 영역 (0:Hidden, 1:Row, 2:Column, 3:Filter, 4:Data) */
1439
1439
  Area: number;
1440
- /** 요약 유형 (0: Sum, 1: Count, 2: Average, 3: Min, 4: Max ) */
1440
+ /** 요약 유형 (0 : None, 1: Sum, 2:Min, 3:Max, 4:Average, 5:Count, 9:Calculate, 13:DistinctCount, 14:Text) */
1441
1441
  SummaryType: number;
1442
- /** 합계 요약 유형 */
1442
+ /** 합계 요약 유형 (0:None, 1:SumOfChild, 2:MinOfChild, 3:MaxOfChild, 4:AverageOfChild, 5:CountOfChild) */
1443
1443
  TotalSummaryType?: number;
1444
- /** 요약 변형 (0: None, 1: PercentOfGrandTotal ) */
1444
+ /** 요약 변형 (0:None, 1:Absolute, 2:Percent, 3:PercentOfColumn, 4:PercentOfRow, 5:SubTotalPercentOfColumn, 6:SubTotalPercentOfRow, 7:RunningAverage, 8:RunningCount, 9:RunningMax, 10:RunningMin, 11:RunningProduct, 12:RunningSum, 15:FirstPeriod, 16:LastPeriod, 17:PeriodIncrease, 18:PeriodIncreaseRate) */
1445
1445
  SummaryVariation?: number;
1446
- /** 그룹 함수 유형 */
1446
+ /** 그룹 함수 유형 (0:Auto, 1:Sum, 2:Count, 3:Max, 4:Min, 5:Average, 6:DistinctCount, 7:None, 8:AlwaysGroupBy) */
1447
1447
  GroupByType?: number;
1448
1448
  /** 표시 포맷 */
1449
1449
  Format?: string;
@@ -1459,7 +1459,7 @@ export interface IOlapField {
1459
1459
  Unit?: string;
1460
1460
  /** 생성 유형 (0:Default, 1:Measures(특수필드로 다른 Measure필드의 집합, Files내 1개만 자동 생성됨), 2:DimensionGroup, 3:HierarchyGroup) */
1461
1461
  CreateType?: number;
1462
- /** 정렬 유형 (0: None, 1: Asc, 2: Desc) */
1462
+ /** 정렬 유형 (0:None, 1:Asc, 2:Desc, 3:Custom, 4:MeasureAsc, 5:MeasureDesc) */
1463
1463
  SortType?: number;
1464
1464
  /** 측정값 정렬 기준 필드 */
1465
1465
  MeasureSortField?: string;
@@ -1479,11 +1479,11 @@ export interface IOlapField {
1479
1479
  AllowColumn?: boolean;
1480
1480
  /** 데이터 허용 여부 */
1481
1481
  AllowData?: boolean;
1482
- /** 키 유형 */
1482
+ /** 키 유형 (0:None, 1:NotNull, 2:NullAble, 3:Primary) */
1483
1483
  KeyType?: number;
1484
- /** 데이터 유형 */
1484
+ /** 데이터 유형 (0:Numeric, 1:String, 2:DateTime8, 3:DateTimeNow, 4:UserCode, 5:CLOB) */
1485
1485
  DataType?: number;
1486
- /** 저장 모드 */
1486
+ /** 저장 모드 (0:All, 1:InsertOnly, 2:UpdateOnly) */
1487
1487
  SaveMode?: number;
1488
1488
  /** 다국어 코드 */
1489
1489
  LanguageCode?: string;
@@ -1572,17 +1572,17 @@ export interface IOlapDimensionGroupItem {
1572
1572
  * @see src/control/olapgrid/iOLAP.Model.ts - OlapFilter.Serialize()
1573
1573
  */
1574
1574
  export interface IOlapFilter {
1575
- /** 필터 유형 */
1575
+ /** 필터 유형 enOlapFilterType (0:In, 1:NotIn, 2:Like, 3:NotLike, 4:BetWeen, 5:StartWith, 6:EndWith, 7:Equals) */
1576
1576
  FilterType?: number;
1577
- /** 필터 종류 */
1577
+ /** 필터 종류 enOlapFilterKind (0:Dimension, 1:Measure) */
1578
1578
  FilterKind?: number;
1579
1579
  /** 측정값 필터 존재 여부 */
1580
1580
  HasMeasureFilter?: boolean;
1581
- /** 측정값 필터 유형 A */
1581
+ /** 측정값 필터 유형 A enOlapMeasureFilterType (0:Equals, 1:Greater, 2:GreaterOrEquals, 3:Less, 4:LessOrEquals, 5:NotEquals) */
1582
1582
  MeasureFilterTypeA?: number;
1583
- /** 측정값 필터 유형 B */
1583
+ /** 측정값 필터 유형 B enOlapMeasureFilterType (0:Equals, 1:Greater, 2:GreaterOrEquals, 3:Less, 4:LessOrEquals, 5:NotEquals) */
1584
1584
  MeasureFilterTypeB?: number;
1585
- /** 측정값 AND/OR 연산자 */
1585
+ /** 측정값 AND/OR 연산자 enAndOrOperator (0:None, 1:Or, 2:And) */
1586
1586
  MeasureAndOrOperator?: number;
1587
1587
  /** 측정값 필터 값 A */
1588
1588
  MeasureFilterValueA?: number;
@@ -1020,11 +1020,11 @@
1020
1020
  "ToolTipField": { "type": "string", "description": "툴팁 필드 키" },
1021
1021
  "ToolTipText": { "type": "string", "description": "툴팁 텍스트" },
1022
1022
  "Category": { "type": "number", "description": "카테고리 (0: Default, 1: Dimension, 2: Measure, 3: Attribute, 4: Period)" },
1023
- "Area": { "type": "number", "description": "영역 (0:None, 1:Row, 2:Column, 3:Data, 4:Filter)" },
1024
- "SummaryType": { "type": "number", "description": "요약 유형 (0:Sum, 1:Count, 2:Average, 3:Min, 4:Max )" },
1025
- "TotalSummaryType": { "type": "number", "description": "합계 요약 유형" },
1026
- "SummaryVariation": { "type": "number", "description": "요약 변형" },
1027
- "GroupByType": { "type": "number", "description": "그룹 함수 유형" },
1023
+ "Area": { "type": "number", "description": "영역 (0:Hidden, 1:Row, 2:Column, 3:Filter, 4:Data)" },
1024
+ "SummaryType": { "type": "number", "description": "요약 유형 (0 : None, 1: Sum, 2:Min, 3:Max, 4:Average, 5:Count, 9:Calculate, 13:DistinctCount, 14:Text)" },
1025
+ "TotalSummaryType": { "type": "number", "description": "합계 요약 유형 (0:None, 1:SumOfChild, 2:MinOfChild, 3:MaxOfChild, 4:AverageOfChild, 5:CountOfChild)" },
1026
+ "SummaryVariation": { "type": "number", "description": "요약 변형 (0:None, 1:Absolute, 2:Percent, 3:PercentOfColumn, 4:PercentOfRow, 5:SubTotalPercentOfColumn, 6:SubTotalPercentOfRow, 7:RunningAverage, 8:RunningCount, 9:RunningMax, 10:RunningMin, 11:RunningProduct, 12:RunningSum, 15:FirstPeriod, 16:LastPeriod, 17:PeriodIncrease, 18:PeriodIncreaseRate)" },
1027
+ "GroupByType": { "type": "number", "description": "그룹 함수 유형 (0:Auto, 1:Sum, 2:Count, 3:Max, 4:Min, 5:Average, 6:DistinctCount, 7:None, 8:AlwaysGroupBy)" },
1028
1028
  "Format": { "type": "string", "description": "표시 포맷" },
1029
1029
  "Formula": { "type": "string", "description": "수식" },
1030
1030
  "Formula2": { "type": "string", "description": "수식 2" },
@@ -1032,7 +1032,7 @@
1032
1032
  "Width": { "type": "number", "description": "필드 너비" },
1033
1033
  "Unit": { "type": "string", "description": "단위" },
1034
1034
  "CreateType": { "type": "number", "description": "생성 유형 (0:Default, 1:Measures(특수필드로 다른 Measure필드의 집합, Files내 1개만 자동 생성됨), 2:DimensionGroup, 3:HierarchyGroup)" },
1035
- "SortType": { "type": "number", "description": "정렬 유형 (0:None, 1:Asc, 2:Desc)" },
1035
+ "SortType": { "type": "number", "description": "정렬 유형 (0:None, 1:Asc, 2:Desc, 3:Custom, 4:MeasureAsc, 5:MeasureDesc)" },
1036
1036
  "MeasureSortField": { "type": "string", "description": "측정값 정렬 기준 필드" },
1037
1037
  "SortBaseField": { "type": "string", "description": "정렬 기준 필드" },
1038
1038
  "MoveAble": { "type": "boolean", "description": "이동 가능" },
@@ -1042,9 +1042,9 @@
1042
1042
  "AllowRow": { "type": "boolean", "description": "행 허용" },
1043
1043
  "AllowColumn": { "type": "boolean", "description": "열 허용" },
1044
1044
  "AllowData": { "type": "boolean", "description": "데이터 허용" },
1045
- "KeyType": { "type": "number", "description": "키 유형" },
1046
- "DataType": { "type": "number", "description": "데이터 유형" },
1047
- "SaveMode": { "type": "number", "description": "저장 모드" },
1045
+ "KeyType": { "type": "number", "description": "키 유형 (0:None, 1:NotNull, 2:NullAble, 3:Primary)" },
1046
+ "DataType": { "type": "number", "description": "데이터 유형 (0:Numeric, 1:String, 2:DateTime8, 3:DateTimeNow, 4:UserCode, 5:CLOB)" },
1047
+ "SaveMode": { "type": "number", "description": "저장 모드 (0:All, 1:InsertOnly, 2:UpdateOnly)" },
1048
1048
  "LanguageCode": { "type": "string", "description": "다국어 코드" },
1049
1049
  "UseChartSource": { "type": "boolean", "description": "차트 소스 사용" },
1050
1050
  "VisibleSubTotal": { "type": "boolean", "description": "소계 표시" },
@@ -1096,12 +1096,12 @@
1096
1096
  "type": "object",
1097
1097
  "description": "OLAP 필터",
1098
1098
  "properties": {
1099
- "FilterType": { "type": "number", "description": "필터 유형" },
1100
- "FilterKind": { "type": "number", "description": "필터 종류" },
1099
+ "FilterType": { "type": "number", "description": "필터 유형 enOlapFilterType (0:In, 1:NotIn, 2:Like, 3:NotLike, 4:BetWeen, 5:StartWith, 6:EndWith, 7:Equals)" },
1100
+ "FilterKind": { "type": "number", "description": "필터 종류 enOlapFilterKind (0:Dimension, 1:Measure)" },
1101
1101
  "HasMeasureFilter": { "type": "boolean", "description": "측정값 필터 존재 여부" },
1102
- "MeasureFilterTypeA": { "type": "number", "description": "측정값 필터 유형 A" },
1103
- "MeasureFilterTypeB": { "type": "number", "description": "측정값 필터 유형 B" },
1104
- "MeasureAndOrOperator": { "type": "number", "description": "측정값 AND/OR 연산자" },
1102
+ "MeasureFilterTypeA": { "type": "number", "description": "측정값 필터 유형 A enOlapMeasureFilterType (0:Equals, 1:Greater, 2:GreaterOrEquals, 3:Less, 4:LessOrEquals, 5:NotEquals)" },
1103
+ "MeasureFilterTypeB": { "type": "number", "description": "측정값 필터 유형 B enOlapMeasureFilterType (0:Equals, 1:Greater, 2:GreaterOrEquals, 3:Less, 4:LessOrEquals, 5:NotEquals)" },
1104
+ "MeasureAndOrOperator": { "type": "number", "description": "측정값 AND/OR 연산자 enAndOrOperator (0:None, 1:Or, 2:And)" },
1105
1105
  "MeasureFilterValueA": { "type": "number", "description": "측정값 필터 값 A" },
1106
1106
  "MeasureFilterValueB": { "type": "number", "description": "측정값 필터 값 B" },
1107
1107
  "Values": { "type": "array", "description": "필터 값 배열" }