marhup 0.1.8 → 0.1.9

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.
Files changed (129) hide show
  1. package/README.md +419 -2
  2. package/dist/cli.js +659 -78
  3. package/dist/cli.js.map +1 -1
  4. package/dist/errors.d.ts +29 -0
  5. package/dist/errors.d.ts.map +1 -0
  6. package/dist/errors.js +62 -0
  7. package/dist/errors.js.map +1 -0
  8. package/dist/generator/code.d.ts +4 -3
  9. package/dist/generator/code.d.ts.map +1 -1
  10. package/dist/generator/code.js +7 -7
  11. package/dist/generator/code.js.map +1 -1
  12. package/dist/generator/gen-animations.d.ts +13 -0
  13. package/dist/generator/gen-animations.d.ts.map +1 -0
  14. package/dist/generator/gen-animations.js +77 -0
  15. package/dist/generator/gen-animations.js.map +1 -0
  16. package/dist/generator/image.d.ts +4 -3
  17. package/dist/generator/image.d.ts.map +1 -1
  18. package/dist/generator/image.js +67 -80
  19. package/dist/generator/image.js.map +1 -1
  20. package/dist/generator/index.d.ts +2 -0
  21. package/dist/generator/index.d.ts.map +1 -1
  22. package/dist/generator/index.js +9 -18
  23. package/dist/generator/index.js.map +1 -1
  24. package/dist/generator/list.d.ts +4 -3
  25. package/dist/generator/list.d.ts.map +1 -1
  26. package/dist/generator/list.js +15 -17
  27. package/dist/generator/list.js.map +1 -1
  28. package/dist/generator/mermaid.d.ts +9 -4
  29. package/dist/generator/mermaid.d.ts.map +1 -1
  30. package/dist/generator/mermaid.js +120 -85
  31. package/dist/generator/mermaid.js.map +1 -1
  32. package/dist/generator/pptx.d.ts +1 -1
  33. package/dist/generator/pptx.d.ts.map +1 -1
  34. package/dist/generator/pptx.js +232 -60
  35. package/dist/generator/pptx.js.map +1 -1
  36. package/dist/generator/presentation.d.ts +149 -0
  37. package/dist/generator/presentation.d.ts.map +1 -0
  38. package/dist/generator/presentation.js +163 -0
  39. package/dist/generator/presentation.js.map +1 -0
  40. package/dist/generator/table.d.ts +4 -3
  41. package/dist/generator/table.d.ts.map +1 -1
  42. package/dist/generator/table.js +12 -33
  43. package/dist/generator/table.js.map +1 -1
  44. package/dist/generator/text.d.ts +5 -4
  45. package/dist/generator/text.d.ts.map +1 -1
  46. package/dist/generator/text.js +34 -20
  47. package/dist/generator/text.js.map +1 -1
  48. package/dist/generator/video.d.ts +18 -0
  49. package/dist/generator/video.d.ts.map +1 -0
  50. package/dist/generator/video.js +83 -0
  51. package/dist/generator/video.js.map +1 -0
  52. package/dist/index.d.ts +8 -1
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +144 -55
  55. package/dist/index.js.map +1 -1
  56. package/dist/layout/auto.d.ts +14 -2
  57. package/dist/layout/auto.d.ts.map +1 -1
  58. package/dist/layout/auto.js +129 -37
  59. package/dist/layout/auto.js.map +1 -1
  60. package/dist/layout/engine.d.ts +1 -1
  61. package/dist/layout/engine.d.ts.map +1 -1
  62. package/dist/layout/engine.js +10 -12
  63. package/dist/layout/engine.js.map +1 -1
  64. package/dist/layout/index.d.ts +1 -1
  65. package/dist/layout/index.d.ts.map +1 -1
  66. package/dist/layout/index.js +2 -10
  67. package/dist/layout/index.js.map +1 -1
  68. package/dist/layout/types.d.ts +1 -0
  69. package/dist/layout/types.d.ts.map +1 -1
  70. package/dist/layout/types.js +1 -2
  71. package/dist/layout/types.js.map +1 -1
  72. package/dist/mcp-handlers.d.ts.map +1 -1
  73. package/dist/mcp-handlers.js +15 -51
  74. package/dist/mcp-handlers.js.map +1 -1
  75. package/dist/mcp.js +10 -12
  76. package/dist/mcp.js.map +1 -1
  77. package/dist/parser/frontmatter.d.ts.map +1 -1
  78. package/dist/parser/frontmatter.js +95 -16
  79. package/dist/parser/frontmatter.js.map +1 -1
  80. package/dist/parser/grid.d.ts +5 -7
  81. package/dist/parser/grid.d.ts.map +1 -1
  82. package/dist/parser/grid.js +190 -19
  83. package/dist/parser/grid.js.map +1 -1
  84. package/dist/parser/index.js +3 -13
  85. package/dist/parser/index.js.map +1 -1
  86. package/dist/parser/markdown.d.ts +1 -1
  87. package/dist/parser/markdown.d.ts.map +1 -1
  88. package/dist/parser/markdown.js +247 -137
  89. package/dist/parser/markdown.js.map +1 -1
  90. package/dist/theme/default.d.ts.map +1 -1
  91. package/dist/theme/default.js +13 -8
  92. package/dist/theme/default.js.map +1 -1
  93. package/dist/theme/index.d.ts +11 -0
  94. package/dist/theme/index.d.ts.map +1 -1
  95. package/dist/theme/index.js +70 -7
  96. package/dist/theme/index.js.map +1 -1
  97. package/dist/types/index.d.ts +54 -2
  98. package/dist/types/index.d.ts.map +1 -1
  99. package/dist/types/index.js +4 -6
  100. package/dist/types/index.js.map +1 -1
  101. package/dist/types/plugin.d.ts +50 -0
  102. package/dist/types/plugin.d.ts.map +1 -0
  103. package/dist/types/plugin.js +5 -0
  104. package/dist/types/plugin.js.map +1 -0
  105. package/dist/utils/file-lock.d.ts +27 -0
  106. package/dist/utils/file-lock.d.ts.map +1 -0
  107. package/dist/utils/file-lock.js +118 -0
  108. package/dist/utils/file-lock.js.map +1 -0
  109. package/dist/utils/i18n.d.ts +5 -0
  110. package/dist/utils/i18n.d.ts.map +1 -0
  111. package/dist/utils/i18n.js +41 -0
  112. package/dist/utils/i18n.js.map +1 -0
  113. package/dist/utils/logger.d.ts +7 -0
  114. package/dist/utils/logger.d.ts.map +1 -0
  115. package/dist/utils/logger.js +43 -0
  116. package/dist/utils/logger.js.map +1 -0
  117. package/dist/utils/path-validation.d.ts +20 -0
  118. package/dist/utils/path-validation.d.ts.map +1 -0
  119. package/dist/utils/path-validation.js +39 -0
  120. package/dist/utils/path-validation.js.map +1 -0
  121. package/dist/utils/plugin-manager.d.ts +18 -0
  122. package/dist/utils/plugin-manager.d.ts.map +1 -0
  123. package/dist/utils/plugin-manager.js +108 -0
  124. package/dist/utils/plugin-manager.js.map +1 -0
  125. package/dist/utils/sanitizer.d.ts +14 -0
  126. package/dist/utils/sanitizer.d.ts.map +1 -0
  127. package/dist/utils/sanitizer.js +73 -0
  128. package/dist/utils/sanitizer.js.map +1 -0
  129. package/package.json +23 -8
@@ -2,6 +2,6 @@
2
2
  * レイアウトモジュール
3
3
  */
4
4
  export { layoutSlide, gridToCoordinates } from './engine.js';
5
- export { autoPlaceElements, estimateElementHeight, findAvailablePosition } from './auto.js';
5
+ export { autoPlaceElements, estimateElementHeight, estimateElementWidth, findAvailablePosition, findBestAvailablePosition, validateGridPosition } from './auto.js';
6
6
  export type { PlacedElement, GridMap, LayoutResult } from './types.js';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC5F,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACnK,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
@@ -1,14 +1,6 @@
1
- "use strict";
2
1
  /**
3
2
  * レイアウトモジュール
4
3
  */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.findAvailablePosition = exports.estimateElementHeight = exports.autoPlaceElements = exports.gridToCoordinates = exports.layoutSlide = void 0;
7
- var engine_js_1 = require("./engine.js");
8
- Object.defineProperty(exports, "layoutSlide", { enumerable: true, get: function () { return engine_js_1.layoutSlide; } });
9
- Object.defineProperty(exports, "gridToCoordinates", { enumerable: true, get: function () { return engine_js_1.gridToCoordinates; } });
10
- var auto_js_1 = require("./auto.js");
11
- Object.defineProperty(exports, "autoPlaceElements", { enumerable: true, get: function () { return auto_js_1.autoPlaceElements; } });
12
- Object.defineProperty(exports, "estimateElementHeight", { enumerable: true, get: function () { return auto_js_1.estimateElementHeight; } });
13
- Object.defineProperty(exports, "findAvailablePosition", { enumerable: true, get: function () { return auto_js_1.findAvailablePosition; } });
4
+ export { layoutSlide, gridToCoordinates } from './engine.js';
5
+ export { autoPlaceElements, estimateElementHeight, estimateElementWidth, findAvailablePosition, findBestAvailablePosition, validateGridPosition } from './auto.js';
14
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yCAA6D;AAApD,wGAAA,WAAW,OAAA;AAAE,8GAAA,iBAAiB,OAAA;AACvC,qCAA4F;AAAnF,4GAAA,iBAAiB,OAAA;AAAE,gHAAA,qBAAqB,OAAA;AAAE,gHAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
@@ -8,6 +8,7 @@ export interface PlacedElement {
8
8
  level?: number;
9
9
  position: GridPosition;
10
10
  style?: StyleOptions;
11
+ altText?: string;
11
12
  raw?: string;
12
13
  }
13
14
  export interface GridCell {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/layout/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGlF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,MAAM,OAAO,GAAG,QAAQ,EAAE,EAAE,CAAC;AAGnC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/layout/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGlF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,MAAM,OAAO,GAAG,QAAQ,EAAE,EAAE,CAAC;AAGnC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -1,6 +1,5 @@
1
- "use strict";
2
1
  /**
3
2
  * レイアウト関連の型定義
4
3
  */
5
- Object.defineProperty(exports, "__esModule", { value: true });
4
+ export {};
6
5
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/layout/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/layout/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-handlers.d.ts","sourceRoot":"","sources":["../src/mcp-handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAyDrD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CA0HvC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,UAAU,CAAC,CA6FrB"}
1
+ {"version":3,"file":"mcp-handlers.d.ts","sourceRoot":"","sources":["../src/mcp-handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAyDrD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CA0HvC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,UAAU,CAAC,CA0GrB"}
@@ -1,52 +1,16 @@
1
- "use strict";
2
1
  /**
3
2
  * MCP ツールハンドラー
4
3
  * テスト可能な形でMCPツールのロジックを提供
5
4
  */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || (function () {
23
- var ownKeys = function(o) {
24
- ownKeys = Object.getOwnPropertyNames || function (o) {
25
- var ar = [];
26
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
- return ar;
28
- };
29
- return ownKeys(o);
30
- };
31
- return function (mod) {
32
- if (mod && mod.__esModule) return mod;
33
- var result = {};
34
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
- __setModuleDefault(result, mod);
36
- return result;
37
- };
38
- })();
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.getToolDefinitions = getToolDefinitions;
41
- exports.getMarhupGuide = getMarhupGuide;
42
- exports.handleToolCall = handleToolCall;
43
- const fs = __importStar(require("fs"));
44
- const path = __importStar(require("path"));
45
- const index_1 = require("./index");
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ import { marhup, marhupFile } from './index.js';
8
+ import { MarhupError } from './errors.js';
9
+ import { t } from './utils/i18n.js';
46
10
  /**
47
11
  * 利用可能なツール一覧を取得
48
12
  */
49
- function getToolDefinitions() {
13
+ export function getToolDefinitions() {
50
14
  return [
51
15
  {
52
16
  name: 'convert_markdown_to_pptx',
@@ -102,7 +66,7 @@ function getToolDefinitions() {
102
66
  /**
103
67
  * Markdownテキストから記法ガイドを生成
104
68
  */
105
- function getMarhupGuide() {
69
+ export function getMarhupGuide() {
106
70
  return `# marhup Markdown記法ガイド
107
71
 
108
72
  ## 基本構造
@@ -228,20 +192,20 @@ graph TD
228
192
  /**
229
193
  * ツールを実行
230
194
  */
231
- async function handleToolCall(name, args) {
195
+ export async function handleToolCall(name, args) {
232
196
  try {
233
197
  switch (name) {
234
198
  case 'convert_markdown_to_pptx': {
235
199
  const { markdown, outputPath, basePath } = args;
236
200
  if (!markdown || !outputPath) {
237
- throw new Error('markdown outputPath は必須パラメータです');
201
+ throw new MarhupError(t('errors.requiredParameters', { params: 'markdown and outputPath' }), 'MISSING_PARAMETERS', t('errors.specifyBothMarkdownAndOutputPath'));
238
202
  }
239
203
  // 出力ディレクトリが存在しない場合は作成
240
204
  const outputDir = path.dirname(outputPath);
241
205
  if (!fs.existsSync(outputDir)) {
242
206
  fs.mkdirSync(outputDir, { recursive: true });
243
207
  }
244
- await (0, index_1.marhup)(markdown, {
208
+ await marhup(markdown, {
245
209
  output: outputPath,
246
210
  basePath: basePath || process.cwd(),
247
211
  });
@@ -257,17 +221,17 @@ async function handleToolCall(name, args) {
257
221
  case 'convert_file_to_pptx': {
258
222
  const { inputPath, outputPath } = args;
259
223
  if (!inputPath || !outputPath) {
260
- throw new Error('inputPath outputPath は必須パラメータです');
224
+ throw new MarhupError(t('errors.requiredParameters', { params: 'inputPath and outputPath' }), 'MISSING_PARAMETERS', t('errors.specifyBothInputPathAndOutputPath'));
261
225
  }
262
226
  if (!fs.existsSync(inputPath)) {
263
- throw new Error(`入力ファイルが見つかりません: ${inputPath}`);
227
+ throw new MarhupError(t('errors.inputFileNotFound', { path: inputPath }), 'FILE_NOT_FOUND', t('errors.suggestionCheckFilePath'), inputPath);
264
228
  }
265
229
  // 出力ディレクトリが存在しない場合は作成
266
230
  const outputDir = path.dirname(outputPath);
267
231
  if (!fs.existsSync(outputDir)) {
268
232
  fs.mkdirSync(outputDir, { recursive: true });
269
233
  }
270
- await (0, index_1.marhupFile)(inputPath, { output: outputPath });
234
+ await marhupFile(inputPath, { output: outputPath });
271
235
  return {
272
236
  content: [
273
237
  {
@@ -292,12 +256,12 @@ async function handleToolCall(name, args) {
292
256
  }
293
257
  }
294
258
  catch (error) {
295
- const errorMessage = error instanceof Error ? error.message : String(error);
259
+ const errorMessage = error instanceof MarhupError ? error.toString() : (error instanceof Error ? error.message : String(error));
296
260
  return {
297
261
  content: [
298
262
  {
299
263
  type: 'text',
300
- text: `エラー: ${errorMessage}`,
264
+ text: t('errors.errorPrefix', { message: errorMessage }),
301
265
  },
302
266
  ],
303
267
  isError: true,
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-handlers.js","sourceRoot":"","sources":["../src/mcp-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-handlers.js","sourceRoot":"","sources":["../src/mcp-handlers.ts"],"names":[],"mappings":"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"}
package/dist/mcp.js CHANGED
@@ -1,15 +1,13 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
2
  /**
4
3
  * marhup MCP Server
5
4
  * Model Context Protocol サーバーとしてmarhup機能を提供
6
5
  */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
9
- const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
10
- const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
11
- const mcp_handlers_1 = require("./mcp-handlers");
12
- const server = new index_js_1.Server({
6
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
7
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
8
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
9
+ import { getToolDefinitions, handleToolCall } from './mcp-handlers.js';
10
+ const server = new Server({
13
11
  name: 'marhup',
14
12
  version: '0.1.0',
15
13
  }, {
@@ -18,22 +16,22 @@ const server = new index_js_1.Server({
18
16
  },
19
17
  });
20
18
  // ツール一覧
21
- server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
19
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
22
20
  return {
23
- tools: (0, mcp_handlers_1.getToolDefinitions)(),
21
+ tools: getToolDefinitions(),
24
22
  };
25
23
  });
26
24
  // ツール実行
27
- server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
25
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
28
26
  const { name, arguments: args } = request.params;
29
- const result = await (0, mcp_handlers_1.handleToolCall)(name, args);
27
+ const result = await handleToolCall(name, args);
30
28
  return {
31
29
  ...result,
32
30
  };
33
31
  });
34
32
  // サーバー起動
35
33
  async function main() {
36
- const transport = new stdio_js_1.StdioServerTransport();
34
+ const transport = new StdioServerTransport();
37
35
  await server.connect(transport);
38
36
  console.error('marhup MCP server started');
39
37
  }
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":";;AACA;;;GAGG;;AAEH,wEAAmE;AACnE,wEAAiF;AACjF,iEAG4C;AAC5C,iDAAoE;AAEpE,MAAM,MAAM,GAAG,IAAI,iBAAM,CACvB;IACE,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,QAAQ;AACR,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE,IAAA,iCAAkB,GAAE;KAC5B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ;AACR,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAc,EAAC,IAAI,EAAE,IAA+B,CAAC,CAAC;IAC3E,OAAO;QACL,GAAG,MAAM;KACD,CAAC;AACb,CAAC,CAAC,CAAC;AAEH,SAAS;AACT,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC7C,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEvE,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,QAAQ;AACR,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE,kBAAkB,EAAE;KAC5B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ;AACR,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,IAA+B,CAAC,CAAC;IAC3E,OAAO;QACL,GAAG,MAAM;KACD,CAAC;AACb,CAAC,CAAC,CAAC;AAEH,SAAS;AACT,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC7C,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../src/parser/frontmatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;IACjD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd,CAwBA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAS/E"}
1
+ {"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../src/parser/frontmatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAuD,MAAM,mBAAmB,CAAC;AAuI/G;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;IACjD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd,CAwCA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAS/E"}
@@ -1,18 +1,93 @@
1
- "use strict";
2
1
  /**
3
2
  * YAML Front Matter パーサー
4
3
  */
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.parseFrontmatter = parseFrontmatter;
10
- exports.parseGridString = parseGridString;
11
- const yaml_1 = __importDefault(require("yaml"));
4
+ import YAML from 'yaml';
5
+ import { FrontmatterError } from '../errors.js';
6
+ /**
7
+ * Front Matterの構造を検証
8
+ */
9
+ function validateFrontmatter(frontmatter) {
10
+ const validated = {};
11
+ for (const [key, value] of Object.entries(frontmatter)) {
12
+ switch (key) {
13
+ case 'title':
14
+ if (typeof value !== 'string') {
15
+ throw new FrontmatterError(`'title' must be a string, got ${typeof value}`, 'title', value, 'Use a string value for the title, e.g., title: "My Presentation"');
16
+ }
17
+ validated.title = value;
18
+ break;
19
+ case 'grid':
20
+ if (typeof value !== 'string') {
21
+ throw new FrontmatterError(`'grid' must be a string, got ${typeof value}`, 'grid', value, 'Use a grid size string like "12x9" or "16x10"');
22
+ }
23
+ validated.grid = value;
24
+ break;
25
+ case 'layout':
26
+ if (typeof value !== 'string') {
27
+ throw new FrontmatterError(`'layout' must be a string, got ${typeof value}`, 'layout', value, 'Use "auto" for automatic layout or "manual" for custom positioning');
28
+ }
29
+ validated.layout = value;
30
+ break;
31
+ case 'theme':
32
+ if (typeof value === 'string') {
33
+ validated.theme = value;
34
+ }
35
+ else if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
36
+ // Allow partial theme overrides
37
+ validated.theme = value;
38
+ }
39
+ else {
40
+ throw new FrontmatterError(`'theme' must be a string or an object, got ${typeof value}`, 'theme', value, 'Use a theme name like "default" or an object with theme properties');
41
+ }
42
+ break;
43
+ case 'classes':
44
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
45
+ throw new FrontmatterError(`'classes' must be an object, got ${typeof value}`, 'classes', value, 'Use an object with class names as keys and style objects as values');
46
+ }
47
+ for (const [className, classProps] of Object.entries(value)) {
48
+ if (typeof classProps !== 'object' || classProps === null || Array.isArray(classProps)) {
49
+ throw new FrontmatterError(`Class '${className}' must be an object, got ${typeof classProps}`, `classes.${className}`, classProps, 'Each class should be an object with CSS properties');
50
+ }
51
+ }
52
+ validated.classes = value;
53
+ break;
54
+ case 'aliases':
55
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
56
+ throw new FrontmatterError(`'aliases' must be an object, got ${typeof value}`, 'aliases', value, 'Use an object with alias names as keys and grid positions as values');
57
+ }
58
+ for (const [aliasKey, aliasValue] of Object.entries(value)) {
59
+ if (typeof aliasValue !== 'string') {
60
+ throw new FrontmatterError(`Alias '${aliasKey}' must be a string, got ${typeof aliasValue}`, `aliases.${aliasKey}`, aliasValue, 'Each alias should be a grid position string like "[1-6,1-4]"');
61
+ }
62
+ }
63
+ validated.aliases = value;
64
+ break;
65
+ case 'animations':
66
+ if (!Array.isArray(value)) {
67
+ throw new FrontmatterError(`'animations' must be an array, got ${typeof value}`, 'animations', value, 'Use an array of animation objects');
68
+ }
69
+ // Basic validation - more detailed validation can be added later
70
+ validated.animations = value;
71
+ break;
72
+ case 'transition':
73
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
74
+ throw new FrontmatterError(`'transition' must be an object, got ${typeof value}`, 'transition', value, 'Use an object with transition properties like { type: "fade", duration: 1, direction: "left" }');
75
+ }
76
+ // Basic validation - more detailed validation can be added later
77
+ validated.transition = value;
78
+ break;
79
+ default:
80
+ // その他のキーはそのまま
81
+ validated[key] = value;
82
+ break;
83
+ }
84
+ }
85
+ return validated;
86
+ }
12
87
  /**
13
88
  * Front Matterを抽出してパース
14
89
  */
15
- function parseFrontmatter(content) {
90
+ export function parseFrontmatter(content) {
16
91
  const frontmatterRegex = /^---\s*\n([\s\S]*?)\n---\s*\n?/;
17
92
  const match = content.match(frontmatterRegex);
18
93
  if (!match) {
@@ -24,21 +99,25 @@ function parseFrontmatter(content) {
24
99
  const yamlContent = match[1];
25
100
  const body = content.slice(match[0].length);
26
101
  try {
27
- const frontmatter = yaml_1.default.parse(yamlContent) || {};
102
+ const parsed = YAML.parse(yamlContent) || {};
103
+ const frontmatter = validateFrontmatter(parsed);
28
104
  return { frontmatter, body };
29
105
  }
30
106
  catch (error) {
31
- console.warn('Front Matterのパースに失敗しました:', error);
32
- return {
33
- frontmatter: {},
34
- body: content,
35
- };
107
+ if (error instanceof FrontmatterError) {
108
+ // Validation error - re-throw with file context
109
+ throw new FrontmatterError(error.message, error.code, undefined, 'Check your YAML syntax and ensure all values have correct types', undefined, // filePath will be added by caller
110
+ undefined // lineNumber
111
+ );
112
+ }
113
+ // YAML parsing error
114
+ throw new FrontmatterError(`Invalid YAML syntax: ${error instanceof Error ? error.message : 'Unknown YAML error'}`, undefined, undefined, 'Check your YAML syntax. Ensure proper indentation and valid YAML format.', undefined, undefined);
36
115
  }
37
116
  }
38
117
  /**
39
118
  * グリッド文字列をパース
40
119
  */
41
- function parseGridString(gridStr) {
120
+ export function parseGridString(gridStr) {
42
121
  const match = gridStr.match(/^(\d+)\s*x\s*(\d+)$/i);
43
122
  if (!match) {
44
123
  return { cols: 12, rows: 9 };
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../src/parser/frontmatter.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAQH,4CA2BC;AAKD,0CASC;AA/CD,gDAAwB;AAGxB;;GAEG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAI9C,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,OAAO;SACd,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,cAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO;YACL,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,OAAO;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,OAAe;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;KAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../src/parser/frontmatter.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,8 @@
1
1
  /**
2
2
  * グリッド記法パーサー
3
3
  */
4
- import type { GridPosition, StyleOptions } from '../types/index';
5
- /**
6
- * 行からグリッド位置を抽出
7
- */
8
- export declare function extractGridPosition(text: string, aliases?: Record<string, string>): {
4
+ import type { GridPosition, StyleOptions, AnimationConfig, GridConfig } from '../types/index.js';
5
+ export declare function extractGridPosition(text: string, aliases?: Record<string, string>, gridConfig?: GridConfig): {
9
6
  position: GridPosition | undefined;
10
7
  cleanText: string;
11
8
  };
@@ -19,16 +16,17 @@ export declare function extractStyle(text: string): {
19
16
  /**
20
17
  * テキストからグリッド位置とスタイルを両方抽出
21
18
  */
22
- export declare function extractGridAndStyle(text: string, aliases?: Record<string, string>): {
19
+ export declare function extractGridAndStyle(text: string, aliases?: Record<string, string>, gridConfig?: GridConfig): {
23
20
  position: GridPosition | undefined;
24
21
  style: StyleOptions | undefined;
22
+ animation: AnimationConfig | undefined;
25
23
  cleanText: string;
26
24
  };
27
25
  /**
28
26
  * ブロックの開始行からグリッド位置を抽出(ブロック用)
29
27
  * 例: "[1-6, 2-8]" で始まる行
30
28
  */
31
- export declare function parseBlockGridLine(line: string, aliases?: Record<string, string>): {
29
+ export declare function parseBlockGridLine(line: string, aliases?: Record<string, string>, gridConfig?: GridConfig): {
32
30
  isGridBlock: boolean;
33
31
  position: GridPosition | undefined;
34
32
  style: StyleOptions | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../src/parser/grid.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAWjE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IACnF,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB,CAiCA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;IAC1C,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB,CA+BA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IACnF,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB,CAOA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAClF,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;CACjC,CAkBA"}
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../src/parser/grid.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA0EjG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG;IAC5G,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB,CAuCA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;IAC1C,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB,CAyHA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG;IAC5G,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB,CAmBA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG;IAC3G,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;CACjC,CAkBA"}