@bimatrix-aud-platform/aud_mcp_server 1.1.64 → 1.1.66

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.
@@ -11,6 +11,7 @@ export interface AudApiConfig {
11
11
  serviceUrl: string;
12
12
  apiKey: string;
13
13
  userName: string;
14
+ serverMode?: number;
14
15
  }
15
16
  export interface SchemaServiceResult {
16
17
  CODE: number;
@@ -10,7 +10,7 @@
10
10
  import { readFileSync, existsSync, mkdirSync, unlinkSync } from "fs";
11
11
  import { join, dirname, resolve, basename } from "path";
12
12
  import { fileURLToPath } from "url";
13
- import { SCHEMA_SERVICE_COMMAND, DBMS_LIST_COMMAND, BOXSTYLE_LIST_COMMAND, BOXSTYLE_SAVE_COMMAND, SAVE_REPORT_COMMAND, READ_REPORT_COMMAND, MODULE_SERVICE_COMMAND } from "../resources/encrypted-commands.js";
13
+ import { SERVICE_SOURCE_LIST } from "../resources/encrypted-commands.js";
14
14
  import { generateId } from "./uuid.js";
15
15
  // 캐시: 한 번 읽으면 재사용
16
16
  let _cachedConfig = null;
@@ -158,7 +158,8 @@ function loadFromVscodeSettings() {
158
158
  const userName = audConfig.UserName || "";
159
159
  if (serviceUrl && apiKey && userName) {
160
160
  process.stderr.write(`[aud_mcp_server] Config loaded from: ${settingsPath}\n`);
161
- return { serviceUrl, apiKey, userName };
161
+ const serverMode = typeof audConfig.SERVER_MODE === "number" ? audConfig.SERVER_MODE : 0;
162
+ return { serviceUrl, apiKey, userName, serverMode };
162
163
  }
163
164
  }
164
165
  catch (e) {
@@ -215,13 +216,13 @@ function buildPacket(config, scriptCode, script, params) {
215
216
  DataTables: []
216
217
  },
217
218
  JScript: {
218
- Code: "", //scriptCode,
219
+ Code: config.serverMode === 1 ? scriptCode : "",
219
220
  Encryped: true,
220
- Command: script
221
+ Command: config.serverMode === 1 ? "" : script
221
222
  },
222
223
  ExecuteInfo: {
223
- ReportCode: "AUD_MCP_SERVER",
224
- ExecuteCode: "AUD_MCP_SERVER"
224
+ ReportCode: "",
225
+ ExecuteCode: ""
225
226
  },
226
227
  };
227
228
  return JSON.stringify(packet);
@@ -243,7 +244,7 @@ export async function callSchemaService(schemaType, params) {
243
244
  ];
244
245
  const url = config.serviceUrl
245
246
  + (config.serviceUrl.endsWith("/") ? "servlet/DataSet.maf" : "/servlet/DataSet.maf");
246
- const packetStr = buildPacket(config, "@AUD_SAVE_SERVICE@SCHEMA_SERVICE", SCHEMA_SERVICE_COMMAND, allParams);
247
+ const packetStr = buildPacket(config, "@AUD_SAVE_SERVICE@SCHEMA_SERVICE", SERVICE_SOURCE_LIST.SCHEMA_SERVICE, allParams);
247
248
  // multipart/form-data 형식으로 전송 (VS Code Extension과 동일)
248
249
  const formBody = new URLSearchParams();
249
250
  formBody.append("ENC", "false");
@@ -289,7 +290,7 @@ export async function callModuleService(schemaType, params) {
289
290
  ];
290
291
  const url = config.serviceUrl
291
292
  + (config.serviceUrl.endsWith("/") ? "servlet/DataSet.maf" : "/servlet/DataSet.maf");
292
- const packetStr = buildPacket(config, "@AUD_SAVE_SERVICE@MODULE_SERVICE", MODULE_SERVICE_COMMAND, allParams);
293
+ const packetStr = buildPacket(config, "@AUD_SAVE_SERVICE@MODULE_SERVICE", SERVICE_SOURCE_LIST.MODULE_SERVICE, allParams);
293
294
  // multipart/form-data 형식으로 전송 (VS Code Extension과 동일)
294
295
  const formBody = new URLSearchParams();
295
296
  formBody.append("ENC", "false");
@@ -329,7 +330,7 @@ export async function callDbmsList() {
329
330
  }
330
331
  const url = config.serviceUrl
331
332
  + (config.serviceUrl.endsWith("/") ? "servlet/DataSet.maf" : "/servlet/DataSet.maf");
332
- const packetStr = buildPacket(config, "@AUD_SAVE_SERVICE@DBMS_LIST", DBMS_LIST_COMMAND, []);
333
+ const packetStr = buildPacket(config, "@AUD_SAVE_SERVICE@DBMS_LIST", SERVICE_SOURCE_LIST.DBMS_LIST, []);
333
334
  const formBody = new URLSearchParams();
334
335
  formBody.append("ENC", "false");
335
336
  formBody.append("OUT", "1");
@@ -367,7 +368,7 @@ export async function callBoxStyleService() {
367
368
  }
368
369
  const url = config.serviceUrl
369
370
  + (config.serviceUrl.endsWith("/") ? "servlet/DataSet.maf" : "/servlet/DataSet.maf");
370
- const packetStr = buildPacket(config, "@AUD_SAVE_SERVICE@BOXSTYLE_LIST", BOXSTYLE_LIST_COMMAND, []);
371
+ const packetStr = buildPacket(config, "@AUD_SAVE_SERVICE@BOXSTYLE_LIST", SERVICE_SOURCE_LIST.BOXSTYLE_LIST, []);
371
372
  const formBody = new URLSearchParams();
372
373
  formBody.append("ENC", "false");
373
374
  formBody.append("OUT", "1");
@@ -405,7 +406,7 @@ export async function callBoxStyleSaveService(boxStyle) {
405
406
  }
406
407
  const url = config.serviceUrl
407
408
  + (config.serviceUrl.endsWith("/") ? "servlet/DataSet.maf" : "/servlet/DataSet.maf");
408
- const packetStr = buildPacket(config, "@AUD_SAVE_SERVICE@BOXSTYLE_SAVE", BOXSTYLE_SAVE_COMMAND, [
409
+ const packetStr = buildPacket(config, "@AUD_SAVE_SERVICE@BOXSTYLE_SAVE", SERVICE_SOURCE_LIST.BOXSTYLE_SAVE, [
409
410
  { Key: "#BOXSTYLE_DATA#", Value: [JSON.stringify(boxStyle)] },
410
411
  ]);
411
412
  const formBody = new URLSearchParams();
@@ -445,7 +446,7 @@ export async function callSaveReportService(saveModel) {
445
446
  }
446
447
  const url = config.serviceUrl
447
448
  + (config.serviceUrl.endsWith("/") ? "servlet/DataSet.maf" : "/servlet/DataSet.maf");
448
- const packetStr = buildPacket(config, "@AUD_SAVE_SERVICE@SAVE_REPORT", SAVE_REPORT_COMMAND, [
449
+ const packetStr = buildPacket(config, "@AUD_SAVE_SERVICE@SAVE_REPORT", SERVICE_SOURCE_LIST.SAVE_REPORT, [
449
450
  { Key: "VS_REPORT_INFO", Value: [JSON.stringify(saveModel)] },
450
451
  ]);
451
452
  const formBody = new URLSearchParams();
@@ -485,7 +486,7 @@ export async function callReadReportService(reportCode) {
485
486
  }
486
487
  const url = config.serviceUrl
487
488
  + (config.serviceUrl.endsWith("/") ? "servlet/DataSet.maf" : "/servlet/DataSet.maf");
488
- const packetStr = buildPacket(config, "@AUD_SAVE_SERVICE@READ_REPORT", READ_REPORT_COMMAND, [
489
+ const packetStr = buildPacket(config, "@AUD_SAVE_SERVICE@READ_REPORT", SERVICE_SOURCE_LIST.READ_REPORT, [
489
490
  { Key: "VS_REPORT_CODE", Value: [reportCode] },
490
491
  { Key: "VS_REPORT_NAME", Value: [""] },
491
492
  ]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bimatrix-aud-platform/aud_mcp_server",
3
- "version": "1.1.64",
3
+ "version": "1.1.66",
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",
@@ -5072,6 +5072,64 @@
5072
5072
  },
5073
5073
  "LanguageCode": {
5074
5074
  "type": "string"
5075
+ },
5076
+ "CellStyle": {
5077
+ "$ref": "#/$defs/MultiHeaderCellStyle",
5078
+ "description": "셀 배경 스타일 (단색/BoxStyle/그라데이션)"
5079
+ }
5080
+ }
5081
+ },
5082
+ "MultiHeaderCellStyle": {
5083
+ "type": "object",
5084
+ "description": "멀티 헤더 셀 배경 스타일 (단색: Type=0 + Color, BoxStyle: UseBoxStyle + BoxStyle, 그라데이션: Type=1 + GradientStopList)",
5085
+ "properties": {
5086
+ "Type": {
5087
+ "type": "integer",
5088
+ "description": "브러시 타입 (0: Solid, 1: LinearGradient)"
5089
+ },
5090
+ "Color": {
5091
+ "$ref": "#/$defs/Color",
5092
+ "description": "단색 배경 색상 (Type=0)"
5093
+ },
5094
+ "UseBoxStyle": {
5095
+ "type": "boolean",
5096
+ "description": "BoxStyle 사용 여부"
5097
+ },
5098
+ "BoxStyle": {
5099
+ "type": "string",
5100
+ "description": "BoxStyle 키 이름"
5101
+ },
5102
+ "StartPointX": {
5103
+ "type": "number",
5104
+ "description": "그라데이션 시작점 X (Type=1)"
5105
+ },
5106
+ "StartPointY": {
5107
+ "type": "number",
5108
+ "description": "그라데이션 시작점 Y (Type=1)"
5109
+ },
5110
+ "EndPointX": {
5111
+ "type": "number",
5112
+ "description": "그라데이션 끝점 X (Type=1)"
5113
+ },
5114
+ "EndPointY": {
5115
+ "type": "number",
5116
+ "description": "그라데이션 끝점 Y (Type=1)"
5117
+ },
5118
+ "GradientStopList": {
5119
+ "type": "array",
5120
+ "items": {
5121
+ "type": "object",
5122
+ "properties": {
5123
+ "GradientStop": {
5124
+ "type": "object",
5125
+ "properties": {
5126
+ "Offset": { "type": "number" },
5127
+ "Color": { "$ref": "#/$defs/Color" }
5128
+ }
5129
+ }
5130
+ }
5131
+ },
5132
+ "description": "그라데이션 정지점 배열 (Type=1)"
5075
5133
  }
5076
5134
  }
5077
5135
  },
@@ -757,6 +757,43 @@ export interface IMultiHeaderCell {
757
757
  Tooltip: string;
758
758
  /** 다국어 키 코드 */
759
759
  LanguageCode?: string;
760
+ /**
761
+ * 셀 배경 스타일
762
+ * - 단색: { Type: 0, Color: { R, G, B, A } }
763
+ * - BoxStyle: { UseBoxStyle: true, BoxStyle: "스타일키" }
764
+ * - 그라데이션: { Type: 1, StartPointX, StartPointY, EndPointX, EndPointY, GradientStopList: [{ GradientStop: { Offset, Color: { R, G, B, A } } }] }
765
+ */
766
+ CellStyle?: IMultiHeaderCellStyle;
767
+ }
768
+
769
+ /**
770
+ * 멀티 헤더 셀 배경 스타일 인터페이스
771
+ * @see src/control/grid/cell/MultiHeaderCell.ts - Serialize() CellStyle 부분
772
+ */
773
+ export interface IMultiHeaderCellStyle {
774
+ /** 브러시 타입 (0: Solid, 1: LinearGradient) */
775
+ Type?: number;
776
+ /** 단색 배경 색상 (Type=0) */
777
+ Color?: IColor;
778
+ /** BoxStyle 사용 여부 */
779
+ UseBoxStyle?: boolean;
780
+ /** BoxStyle 키 이름 */
781
+ BoxStyle?: string;
782
+ /** 그라데이션 시작점 X (Type=1) */
783
+ StartPointX?: number;
784
+ /** 그라데이션 시작점 Y (Type=1) */
785
+ StartPointY?: number;
786
+ /** 그라데이션 끝점 X (Type=1) */
787
+ EndPointX?: number;
788
+ /** 그라데이션 끝점 Y (Type=1) */
789
+ EndPointY?: number;
790
+ /** 그라데이션 정지점 배열 (Type=1) */
791
+ GradientStopList?: Array<{
792
+ GradientStop: {
793
+ Offset: number;
794
+ Color: IColor;
795
+ };
796
+ }>;
760
797
  }
761
798
 
762
799
  // ============================================