hanseol-dev 5.0.2-dev.133 → 5.0.2-dev.135

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.
@@ -1 +1 @@
1
- {"version":3,"file":"powerpoint-create-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAkoDhE,wBAAgB,iCAAiC,IAAI,YAAY,CAkChE"}
1
+ {"version":3,"file":"powerpoint-create-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAmtDhE,wBAAgB,iCAAiC,IAAI,YAAY,CAkChE"}
@@ -4,7 +4,7 @@ import { powerpointClient } from '../../tools/office/powerpoint-client.js';
4
4
  import { getSubAgentPhaseLogger, getSubAgentToolCallLogger } from '../common/sub-agent.js';
5
5
  import { logger } from '../../utils/logger.js';
6
6
  import { getPlatform } from '../../utils/platform-utils.js';
7
- import { PPT_CREATE_ENHANCEMENT_PROMPT, PPT_STRUCTURED_PLANNING_PROMPT, buildSlideHtmlPrompt, buildReviewPrompt, extractLayoutHint, checkLayoutCompliance, } from './powerpoint-create-prompts.js';
7
+ import { PPT_CREATE_ENHANCEMENT_PROMPT, PPT_STRUCTURED_PLANNING_PROMPT, buildSlideHtmlPrompt, buildReviewPrompt, extractLayoutHint, checkLayoutCompliance, postProcessSlideHtml, buildLayoutSetPrompt, parseLayoutSet, buildAllSkeletonsPrompt, parseSkeletons, buildFillPrompt, } from './powerpoint-create-prompts.js';
8
8
  const DEFAULT_DESIGN = {
9
9
  primary_color: '#1B2A4A',
10
10
  accent_color: '#00D4AA',
@@ -850,6 +850,56 @@ async function runStructured(llmClient, instruction, explicitSavePath) {
850
850
  }
851
851
  }
852
852
  }
853
+ let layoutTemplates = [];
854
+ let slideSkeletons = new Map();
855
+ if (plan.design) {
856
+ try {
857
+ if (phaseLogger)
858
+ phaseLogger('powerpoint-create', 'layout-set', 'Generating custom layout components...');
859
+ const layoutSetPrompt = buildLayoutSetPrompt(plan.design);
860
+ const layoutRes = await llmClient.chatCompletion({
861
+ messages: [
862
+ { role: 'system', content: layoutSetPrompt },
863
+ { role: 'user', content: 'Generate the layout components now. Start with ---LAYOUT: and end each with ---END---.' },
864
+ ],
865
+ temperature: 0.7,
866
+ max_tokens: 10000,
867
+ });
868
+ const layoutRaw = layoutRes.choices[0]?.message;
869
+ const layoutText = layoutRaw ? extractContent(layoutRaw) : '';
870
+ layoutTemplates = parseLayoutSet(layoutText);
871
+ logger.info(`Layout Set: generated ${layoutTemplates.length} templates: ${layoutTemplates.map(l => l.name).join(', ')}`);
872
+ if (phaseLogger)
873
+ phaseLogger('powerpoint-create', 'layout-set', `Generated ${layoutTemplates.length} layout templates`);
874
+ }
875
+ catch (e) {
876
+ logger.warn(`Layout Set generation failed, will use fallback: ${e}`);
877
+ }
878
+ }
879
+ if (layoutTemplates.length >= 4) {
880
+ try {
881
+ if (phaseLogger)
882
+ phaseLogger('powerpoint-create', 'skeleton', 'Generating slide skeletons...');
883
+ const skeletonPrompt = buildAllSkeletonsPrompt(plan.slides, layoutTemplates);
884
+ const skeletonRes = await llmClient.chatCompletion({
885
+ messages: [
886
+ { role: 'system', content: skeletonPrompt },
887
+ { role: 'user', content: 'Generate skeletons for all content slides. Use ===SLIDE:N=== format.' },
888
+ ],
889
+ temperature: 0.3,
890
+ max_tokens: 8000,
891
+ });
892
+ const skeletonRaw = skeletonRes.choices[0]?.message;
893
+ const skeletonText = skeletonRaw ? extractContent(skeletonRaw) : '';
894
+ slideSkeletons = parseSkeletons(skeletonText);
895
+ logger.info(`Skeletons: generated ${slideSkeletons.size} slide skeletons`);
896
+ if (phaseLogger)
897
+ phaseLogger('powerpoint-create', 'skeleton', `Generated ${slideSkeletons.size} slide skeletons`);
898
+ }
899
+ catch (e) {
900
+ logger.warn(`Skeleton generation failed, will use fallback: ${e}`);
901
+ }
902
+ }
853
903
  if (phaseLogger)
854
904
  phaseLogger('powerpoint-create', 'execution', 'Starting HTML rendering pipeline...');
855
905
  const { writePath: tempWritePath, winPath: tempWinPath } = getTempDir();
@@ -942,12 +992,22 @@ async function runStructured(llmClient, instruction, explicitSavePath) {
942
992
  }
943
993
  let slideLayoutType = 'cards';
944
994
  if (!html && slidePlan.type !== 'title' && slidePlan.type !== 'closing') {
945
- slideLayoutType = extractLayoutHint(slidePlan.content_direction || '');
946
- logger.info(`Slide ${slideNum}: Layout hint extracted → "${slideLayoutType}"`);
947
995
  const cleanedDirection = (slidePlan.content_direction || '')
948
996
  .replace(/\s*Layout\s*:\s*[^\n]*/gi, '')
949
997
  .trim();
950
- htmlPrompt = buildSlideHtmlPrompt(slidePlan.title, cleanedDirection, plan.design, i, plan.slides.length, language, slideLayoutType);
998
+ const skeletonInfo = slideSkeletons.get(slideNum);
999
+ const matchedLayout = skeletonInfo
1000
+ ? layoutTemplates.find(l => l.name === skeletonInfo.layout)
1001
+ : null;
1002
+ if (skeletonInfo && matchedLayout) {
1003
+ logger.info(`Slide ${slideNum}: Using skeleton "${skeletonInfo.layout}" from Phase 4`);
1004
+ htmlPrompt = buildFillPrompt(skeletonInfo.skeleton, matchedLayout.css, cleanedDirection, slidePlan.title, plan.design, i, plan.slides.length, language);
1005
+ }
1006
+ else {
1007
+ slideLayoutType = extractLayoutHint(slidePlan.content_direction || '');
1008
+ logger.info(`Slide ${slideNum}: Fallback to layout-specific prompt → "${slideLayoutType}"`);
1009
+ htmlPrompt = buildSlideHtmlPrompt(slidePlan.title, cleanedDirection, plan.design, i, plan.slides.length, language, slideLayoutType);
1010
+ }
951
1011
  try {
952
1012
  const htmlRes = await llmClient.chatCompletion({
953
1013
  messages: [
@@ -1126,6 +1186,9 @@ async function runStructured(llmClient, instruction, explicitSavePath) {
1126
1186
  }
1127
1187
  }
1128
1188
  }
1189
+ if (html && slidePlan.type === 'content') {
1190
+ html = postProcessSlideHtml(html);
1191
+ }
1129
1192
  if (htmlPrompt && html && slidePlan.type === 'content') {
1130
1193
  const MAX_LAYOUT_REGEN = 2;
1131
1194
  for (let layoutAttempt = 0; layoutAttempt < MAX_LAYOUT_REGEN; layoutAttempt++) {
@@ -1 +1 @@
1
- {"version":3,"file":"powerpoint-create-agent.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"powerpoint-create-agent.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,27 @@ export interface DesignSystem {
15
15
  export type LayoutType = 'cards' | 'table' | 'timeline' | 'two_col_split' | 'big_numbers' | 'bar_chart' | 'donut_chart' | 'process_flow' | 'progress_bars' | 'hero_stat';
16
16
  export declare function extractLayoutHint(contentDirection: string): LayoutType;
17
17
  export declare function checkLayoutCompliance(html: string, layoutType: LayoutType): string | null;
18
+ export declare function postProcessSlideHtml(html: string): string;
18
19
  export declare function buildReviewPrompt(html: string, expectedLayout: LayoutType, slideTitle: string): string;
19
20
  export declare function buildSlideHtmlPrompt(slideTitle: string, contentDirection: string, design: DesignSystem, slideIndex: number, totalSlides: number, language: 'ko' | 'en', layoutType?: LayoutType): string;
21
+ export interface LayoutTemplate {
22
+ name: string;
23
+ description: string;
24
+ css: string;
25
+ skeleton: string;
26
+ }
27
+ export declare function buildLayoutSetPrompt(design: DesignSystem): string;
28
+ export declare function parseLayoutSet(text: string): LayoutTemplate[];
29
+ export declare function buildAllSkeletonsPrompt(slides: Array<{
30
+ type: string;
31
+ title: string;
32
+ content_direction: string;
33
+ }>, layouts: LayoutTemplate[]): string;
34
+ export declare function parseSkeletons(text: string): Map<number, {
35
+ layout: string;
36
+ skeleton: string;
37
+ }>;
38
+ export declare function buildFillPrompt(skeleton: string, layoutCss: string, contentDirection: string, slideTitle: string, design: DesignSystem, slideIndex: number, totalSlides: number, language: 'ko' | 'en'): string;
20
39
  export declare const PPT_CREATE_SYSTEM_PROMPT = "You are an elite PowerPoint presentation creator.\nYou build NEW presentations using high-level layout builder tools.\nEach tool call creates ONE complete, professionally-designed slide.\n\n\u2550\u2550\u2550 AVAILABLE TOOLS \u2550\u2550\u2550\nLifecycle: powerpoint_create, powerpoint_save\nSlides: ppt_build_title_slide, ppt_build_layout_a, ppt_build_layout_b, ppt_build_layout_c, ppt_build_layout_d, ppt_build_layout_e, ppt_build_layout_f, ppt_build_closing_slide\nChart: powerpoint_add_chart (use sparingly \u2014 prefer Layout D or F for data)\nComplete: complete (call AFTER saving)\n\n\u2550\u2550\u2550 WORKFLOW \u2550\u2550\u2550\n1. powerpoint_create \u2014 launch PowerPoint\n2. ppt_build_title_slide \u2014 first slide\n3. ppt_build_layout_[a-f] \u2014 content slides (one tool call per slide)\n4. ppt_build_closing_slide \u2014 MUST be the absolute LAST content slide\n5. powerpoint_save \u2014 save file\n6. complete \u2014 report summary\n\n\u2550\u2550\u2550 CONTENT QUALITY \u2550\u2550\u2550\n\u2022 ALL text MUST be in the same language as the user's instruction\n\u2022 Korean input \u2192 Korean titles, bullets, table headers, everything\n\u2022 NEVER use placeholder text like \"[\uB0B4\uC6A9]\", \"XXX\", \"lorem ipsum\"\n\u2022 Generate REAL, specific, professional content with concrete data\n\n\u2550\u2550\u2550 RULES \u2550\u2550\u2550\n1. Build each slide COMPLETELY with one tool call before moving to the next\n2. NEVER go back to modify a previous slide\n3. NEVER use HTML tags in text \u2014 use \\n for line breaks\n4. The LAST tool before \"complete\" MUST be powerpoint_save\n5. If save fails with path error, try \"C:\\\\temp\\\\presentation.pptx\"";
21
40
  export declare const PPT_CREATE_PLANNING_PROMPT = "You are a presentation structure planner.\nGiven the user's instruction and CREATIVE GUIDANCE, create the execution plan.\n\n\u26A0 LANGUAGE RULE: ALL slide titles and content MUST be in the SAME language as the user's instruction.\n\nOUTPUT FORMAT:\nMODE: CREATE\nDESIGN DECISIONS:\n- COLOR_SCHEME: [MODERN_TECH, WARM_EXECUTIVE, CLEAN_MINIMAL, CORPORATE, NATURE_FRESH, BOLD_MODERN]\n- DESIGN_STYLE: [sidebar / top_band / clean]\nTOTAL_SLIDES: [number]\nSLIDE_PLAN:\n- Slide 1: [Title] | Tool: ppt_build_title_slide | Subtitle: [text]\n- Slide N: [Title] | Tool: [tool name] | Content: [summary]";
22
41
  export declare function buildSlideSystemPrompt(toolName: string, title: string, direction: string, guidance: string, language: 'ko' | 'en'): string;
@@ -1 +1 @@
1
- {"version":3,"file":"powerpoint-create-prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-prompts.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,6BAA6B,q1GA6CA,CAAC;AAM3C,eAAO,MAAM,8BAA8B,QAsLmC,CAAC;AAM/E,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,eAAe,GAAG,aAAa,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,GAAG,WAAW,CAAC;AAMzK,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAetE;AAMD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CA6CzF;AAkMD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,UAAU,EAC1B,UAAU,EAAE,MAAM,GACjB,MAAM,CAkBR;AAMD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,GAAG,IAAI,EACrB,UAAU,GAAE,UAAoB,GAC/B,MAAM,CAsIR;AAMD,eAAO,MAAM,wBAAwB,2pDA6BmC,CAAC;AAEzE,eAAO,MAAM,0BAA0B,wlBAaqB,CAAC;AAG7D,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,IAAI,GAAG,IAAI,GACpB,MAAM,CAqBR"}
1
+ {"version":3,"file":"powerpoint-create-prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-prompts.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,6BAA6B,q1GA6CA,CAAC;AAM3C,eAAO,MAAM,8BAA8B,QAsLmC,CAAC;AAM/E,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,eAAe,GAAG,aAAa,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,GAAG,WAAW,CAAC;AAMzK,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAetE;AAOD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CA8DzF;AAmND,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYzD;AAKD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,UAAU,EAC1B,UAAU,EAAE,MAAM,GACjB,MAAM,CAkBR;AAMD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,GAAG,IAAI,EACrB,UAAU,GAAE,UAAoB,GAC/B,MAAM,CAkIR;AAMD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAqDjE;AAKD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CA4B7D;AASD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC,EACzE,OAAO,EAAE,cAAc,EAAE,GACxB,MAAM,CAqCR;AAKD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAwB9F;AAUD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,GAAG,IAAI,GACpB,MAAM,CAoDR;AAMD,eAAO,MAAM,wBAAwB,2pDA6BmC,CAAC;AAEzE,eAAO,MAAM,0BAA0B,wlBAaqB,CAAC;AAG7D,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,IAAI,GAAG,IAAI,GACpB,MAAM,CAqBR"}
@@ -256,44 +256,61 @@ export function checkLayoutCompliance(html, layoutType) {
256
256
  switch (layoutType) {
257
257
  case 'donut_chart':
258
258
  if (!html.includes('conic-gradient')) {
259
- return 'WRONG LAYOUT: Expected donut/pie chart with conic-gradient, but none found. You MUST use conic-gradient on a border-radius:50% div.';
259
+ return 'WRONG LAYOUT: Expected donut/pie chart with conic-gradient. You MUST use conic-gradient on a border-radius:50% div. Copy the REQUIRED HTML structure from the prompt.';
260
260
  }
261
261
  break;
262
- case 'bar_chart':
263
- if (!/(?:flex-end|height:\s*\d+%)/.test(html) || !html.includes('chart')) {
264
- return 'WRONG LAYOUT: Expected CSS bar chart with flex-end aligned bars, but no bar chart pattern found.';
262
+ case 'bar_chart': {
263
+ const hasFlexEnd = /flex-end/.test(html);
264
+ const barHeights = html.match(/style="[^"]*height:\s*\d+%/g) || [];
265
+ if (!hasFlexEnd || barHeights.length < 3) {
266
+ return `WRONG LAYOUT: Expected CSS bar chart with flex-end + at least 3 bars with height:XX%. Found flex-end:${hasFlexEnd}, bars:${barHeights.length}. Copy the REQUIRED HTML structure with .chart-area, .bar-group, .bar elements.`;
265
267
  }
266
268
  break;
269
+ }
267
270
  case 'table':
268
- if (!html.includes('<table') && !html.includes('<th')) {
269
- return 'WRONG LAYOUT: Expected HTML table, but no <table> element found.';
271
+ if (!html.includes('<table') || !html.includes('<th')) {
272
+ return 'WRONG LAYOUT: Expected HTML <table> with <th> header cells. Copy the REQUIRED HTML structure.';
270
273
  }
271
274
  break;
272
- case 'process_flow':
273
- if (!html.includes('→') && !/arrow|step/i.test(html)) {
274
- return 'WRONG LAYOUT: Expected process flow with step boxes and arrows (), but no flow pattern found.';
275
+ case 'process_flow': {
276
+ const arrowCount = (html.match(/→/g) || []).length;
277
+ const hasSteps = /class="[^"]*step/i.test(html);
278
+ if (arrowCount < 2 || !hasSteps) {
279
+ return `WRONG LAYOUT: Expected process flow with step boxes and → arrows. Found arrows:${arrowCount}, steps:${hasSteps}. You MUST have .step divs connected by .arrow divs containing "→".`;
275
280
  }
276
281
  break;
277
- case 'progress_bars':
278
- if (!/bar-fill|bar-track|progress/i.test(html)) {
279
- return 'WRONG LAYOUT: Expected horizontal progress bars, but no progress bar pattern found.';
282
+ }
283
+ case 'progress_bars': {
284
+ const hasFill = /bar-fill/i.test(html);
285
+ const hasTrack = /bar-track/i.test(html);
286
+ const widthBars = html.match(/style="[^"]*width:\s*\d+%/g) || [];
287
+ if (!hasFill || !hasTrack || widthBars.length < 3) {
288
+ return `WRONG LAYOUT: Expected progress bars with .bar-track + .bar-fill + width:XX%. Found fill:${hasFill}, track:${hasTrack}, bars:${widthBars.length}. Copy the REQUIRED HTML structure.`;
280
289
  }
281
290
  break;
282
- case 'timeline':
283
- if (!/milestone|timeline/i.test(html)) {
284
- return 'WRONG LAYOUT: Expected timeline with milestone cards, but no timeline pattern found.';
291
+ }
292
+ case 'timeline': {
293
+ const hasMilestone = /class="[^"]*milestone/i.test(html);
294
+ const milestoneCount = (html.match(/class="milestone"/g) || []).length;
295
+ if (!hasMilestone || milestoneCount < 2) {
296
+ return `WRONG LAYOUT: Expected timeline with .milestone cards. Found ${milestoneCount} milestones. You MUST have 3-4 .milestone divs side by side.`;
285
297
  }
286
298
  break;
287
- case 'big_numbers':
288
- if (!/(?:font-size:\s*(?:7|8|9)\dpx|metric|big.*num)/i.test(html)) {
289
- return 'WRONG LAYOUT: Expected big number metrics (72-96px), but no large number pattern found.';
299
+ }
300
+ case 'big_numbers': {
301
+ const bigFonts = html.match(/font-size:\s*(?:7[2-9]|[89]\d|1[0-2]\d)px/g) || [];
302
+ if (bigFonts.length < 2) {
303
+ return `WRONG LAYOUT: Expected big number metrics with font-size 72-96px. Found ${bigFonts.length} large fonts. Each .metric-card MUST have a .metric-value with font-size:80px.`;
290
304
  }
291
305
  break;
292
- case 'hero_stat':
293
- if (!/(?:font-size:\s*(?:9\d|1[0-2]\d)px|hero)/i.test(html)) {
294
- return 'WRONG LAYOUT: Expected hero stat with 96-128px number, but no hero pattern found.';
306
+ }
307
+ case 'hero_stat': {
308
+ const heroFont = html.match(/font-size:\s*(?:9[6-9]|1[0-2]\d)px/g) || [];
309
+ if (heroFont.length < 1) {
310
+ return `WRONG LAYOUT: Expected hero stat with font-size 96-128px. You MUST have ONE .hero-number with font-size:128px.`;
295
311
  }
296
312
  break;
313
+ }
297
314
  }
298
315
  return null;
299
316
  }
@@ -302,175 +319,201 @@ function getLayoutSpecificCss(layoutType, design) {
302
319
  cards: `═══ REQUIRED LAYOUT: CARD GRID ═══
303
320
  ⚠⚠⚠ You MUST create a CARD GRID layout. Using any other layout = FAILURE.
304
321
 
305
- CSS STRUCTURE:
306
- .content { flex:1; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
307
- .card { display:flex; flex-direction:column; justify-content:flex-start; gap:16px; padding:32px 28px; border-radius:16px; background:#fff; box-shadow:0 4px 20px rgba(0,0,0,0.06); }
322
+ CSS:
323
+ .content { flex:1; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:24px; }
324
+ .card { display:flex; flex-direction:column; justify-content:flex-start; gap:12px; padding:32px 28px; border-radius:16px; background:#fff; box-shadow:0 4px 20px rgba(0,0,0,0.06); overflow:hidden; }
308
325
 
309
- CARD RULES:
310
- • MAX 4 cards in 2×2 grid. NEVER 5+ cards.
311
- Each card: title (32-40px bold) + 3-5 bullets (26px) + optional stat at bottom
312
- NEVER use justify-content:space-between on cards use flex-start + gap
313
- • Cards stretch to fill height via align-items:stretch from parent grid`,
326
+ grid-template-rows:1fr 1fr is CRITICAL — it forces cards to stretch and fill vertical space. Without it, cards collapse to content height leaving huge empty bottom.
327
+ • MAX 4 cards (2×2). Each: icon/badge + title (32-40px) + 3-4 bullets (26px) + stat/metric at bottom.
328
+ If only 3 items: grid-template-columns:1fr 1fr 1fr; grid-template-rows:1fr;
329
+ Card bottom stat: use margin-top:auto to push it to card bottom, creating visual anchor.`,
314
330
  bar_chart: `═══ REQUIRED LAYOUT: BAR CHART ═══
315
- ⚠⚠⚠ You MUST create a CSS BAR CHART with vertical bars. Cards/tables/other layouts = FAILURE.
331
+ ⚠⚠⚠ You MUST create a CSS BAR CHART with vertical bars. Cards/numbers/tables = FAILURE.
316
332
 
317
- CSS STRUCTURE:
333
+ CSS:
318
334
  .content { flex:1; display:flex; flex-direction:column; }
319
- .chart-area { flex:1; display:flex; align-items:flex-end; gap:48px; padding:40px 60px; }
320
- .bar-group { flex:1; display:flex; flex-direction:column; align-items:center; }
321
- .bar-value { font-size:28px; font-weight:700; margin-bottom:8px; color:${design.primary_color}; }
322
- .bar-label { font-size:26px; font-weight:600; margin-bottom:12px; min-width:120px; text-align:center; color:${design.text_color}; }
323
- .bar { width:80%; border-radius:8px 8px 0 0; background:linear-gradient(180deg, ${design.accent_color}, ${design.primary_color}); }
324
-
325
- BAR CHART RULES:
326
- 3-6 vertical bars using height percentages (e.g., height:75%)
327
- Structure per bar (top to bottom): value label → category label → colored bar
328
- Bars aligned to bottom with flex-end on parent
329
- Labels: min-width:120px, text-align:center — prevents character-by-character wrapping
330
- Add a summary insight row below the chart area
331
- ⚠ NO line charts — only bar charts work in CSS`,
335
+ .chart-area { flex:1; display:flex; align-items:flex-end; gap:32px; padding:40px 60px 20px; }
336
+ .bar-group { flex:1; display:flex; flex-direction:column; align-items:center; gap:8px; }
337
+ .bar-value { font-size:28px; font-weight:700; color:${design.primary_color}; }
338
+ .bar { width:80%; border-radius:8px 8px 0 0; background:linear-gradient(180deg, ${design.accent_color}, ${design.primary_color}); min-height:20px; }
339
+ .bar-label { font-size:26px; font-weight:600; color:${design.text_color}; text-align:center; min-width:120px; }
340
+ .insight-row { padding:20px 60px; background:${design.accent_light}; border-radius:12px; margin-top:20px; font-size:26px; color:${design.text_color}; }
341
+
342
+ CRITICAL PATTERN your .content div MUST contain this structure:
343
+ <div class="content">
344
+ <div class="chart-area">
345
+ <div class="bar-group">
346
+ <div class="bar-value">VALUE</div>
347
+ <div class="bar" style="height:75%"></div>
348
+ <div class="bar-label">LABEL</div>
349
+ </div>
350
+ <!-- 3-6 bar-groups like above -->
351
+ </div>
352
+ <div class="insight-row">KEY INSIGHT TEXT</div>
353
+ </div>
354
+
355
+ ⚠ Each bar MUST have style="height:XX%" (tallest=85%, others proportional). align-items:flex-end on .chart-area makes bars grow upward.
356
+ ⚠ The insight-row at bottom provides context and fills space. Be creative with the insight text.`,
332
357
  donut_chart: `═══ REQUIRED LAYOUT: DONUT/PIE CHART ═══
333
358
  ⚠⚠⚠ You MUST create a CSS DONUT CHART using conic-gradient. Cards/tables = FAILURE.
334
359
 
335
- CSS STRUCTURE:
360
+ CSS:
336
361
  .content { flex:1; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
337
- .donut-section { display:flex; justify-content:center; align-items:center; }
338
- .donut { width:400px; height:400px; border-radius:50%; background:conic-gradient(${design.primary_color} 0% 40%, ${design.accent_color} 40% 65%, ${design.accent_light} 65% 100%); display:flex; align-items:center; justify-content:center; }
362
+ .donut-wrap { display:flex; justify-content:center; align-items:center; }
363
+ .donut { width:400px; height:400px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
339
364
  .donut-hole { width:200px; height:200px; border-radius:50%; background:${design.background_color}; display:flex; align-items:center; justify-content:center; }
340
- .donut-center-text { font-size:48px; font-weight:800; color:${design.primary_color}; }
341
- .legend { display:flex; flex-direction:column; gap:24px; }
342
- .legend-item { display:flex; align-items:center; gap:16px; }
365
+ .donut-center { font-size:48px; font-weight:800; color:${design.primary_color}; }
366
+ .legend { display:flex; flex-direction:column; gap:28px; }
367
+ .legend-item { display:flex; align-items:center; gap:16px; font-size:28px; }
343
368
  .legend-dot { width:20px; height:20px; border-radius:50%; flex-shrink:0; }
344
- .legend-label { font-size:28px; color:${design.text_color}; }
345
- .legend-value { font-size:28px; font-weight:700; color:${design.primary_color}; margin-left:auto; }
346
-
347
- DONUT RULES:
348
- conic-gradient segments MUST add up to exactly 100%
349
- Left side: donut with center hole showing main value
350
- • Right side: legend with colored dots + labels + percentages
351
- • conic-gradient on border-radius:50% div ONLY. No clip-path or rotated divs
352
- • Adjust the conic-gradient percentages to match the ACTUAL DATA in content_direction`,
369
+
370
+ CRITICAL PATTERN the donut MUST use conic-gradient with ACTUAL data percentages:
371
+ <div class="donut" style="background:conic-gradient(${design.primary_color} 0% 45%, ${design.accent_color} 45% 75%, ${design.gradient_end} 75% 100%);">
372
+
373
+ conic-gradient segments MUST add to 100%. Adjust percentages to match the ACTUAL DATA.
374
+ Left: donut with center hole showing total/summary. Right: legend with colored dots + labels + values.`,
353
375
  table: `═══ REQUIRED LAYOUT: DATA TABLE ═══
354
376
  ⚠⚠⚠ You MUST create a styled HTML TABLE with <table>/<th>/<td>. Cards = FAILURE.
355
377
 
356
- CSS STRUCTURE:
378
+ CSS:
357
379
  .content { flex:1; display:flex; flex-direction:column; }
358
- table { width:100%; border-collapse:separate; border-spacing:0; border-radius:12px; overflow:hidden; }
380
+ table { width:100%; border-collapse:separate; border-spacing:0; border-radius:12px; overflow:hidden; flex:1; }
359
381
  th { padding:20px 24px; background:${design.primary_color}; color:#fff; font-size:26px; font-weight:700; text-align:left; }
360
382
  td { padding:20px 24px; font-size:26px; border-bottom:1px solid ${design.accent_light}; color:${design.text_color}; }
361
383
  tr:nth-child(even) td { background:${design.accent_light}40; }
362
384
  tr.highlight td { background:${design.accent_color}15; font-weight:600; }
363
- .summary-bar { margin-top:20px; padding:16px 24px; background:${design.accent_light}; border-radius:8px; font-size:26px; color:${design.text_color}; }
364
-
365
- TABLE RULES:
366
- MAX 5 data rows × 4 columns
367
- Header row: dark background (${design.primary_color}) with WHITE text
368
- • EVERY cell MUST contain real data — NO empty cells
369
- • Add a summary bar below the table with a key insight
370
- • Optionally highlight the "best" row with accent background`,
385
+ .summary-bar { margin-top:auto; padding:20px 24px; background:${design.accent_light}; border-radius:12px; font-size:26px; color:${design.text_color}; }
386
+
387
+ table uses flex:1 to stretch vertically. Use larger padding on td (28-32px) if fewer rows to fill space.
388
+ Header: dark ${design.primary_color} background with WHITE text. MAX 5 rows × 4 columns. EVERY cell real data.
389
+ Add .summary-bar below table with margin-top:auto to anchor it at the bottom and fill remaining space.`,
371
390
  process_flow: `═══ REQUIRED LAYOUT: PROCESS FLOW ═══
372
- ⚠⚠⚠ You MUST create a HORIZONTAL PROCESS FLOW with step boxes + arrows. Cards = FAILURE.
391
+ ⚠⚠⚠ You MUST create a HORIZONTAL PROCESS FLOW with step boxes + arrows (→). Cards without arrows = FAILURE.
373
392
 
374
- CSS STRUCTURE:
375
- .content { flex:1; display:flex; align-items:stretch; gap:0; padding:40px 0; }
376
- .step { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:32px 24px; background:${design.accent_light}; border-radius:16px; text-align:center; gap:16px; }
377
- .step-number { width:48px; height:48px; border-radius:50%; background:${design.primary_color}; color:#fff; display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:700; }
393
+ CSS:
394
+ .content { flex:1; display:flex; align-items:stretch; gap:0; }
395
+ .step { flex:1; display:flex; flex-direction:column; align-items:center; padding:32px 20px; background:${design.accent_light}; border-radius:16px; text-align:center; gap:16px; }
396
+ .step-number { width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg, ${design.primary_color}, ${design.gradient_end}); color:#fff; display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:700; flex-shrink:0; }
378
397
  .step-title { font-size:28px; font-weight:700; color:${design.primary_color}; }
379
- .step-desc { font-size:24px; color:${design.text_color}; line-height:1.4; }
380
- .step-time { font-size:22px; color:${design.accent_color}; font-weight:600; margin-top:auto; }
381
- .arrow { width:60px; display:flex; align-items:center; justify-content:center; font-size:40px; color:${design.accent_color}; flex-shrink:0; }
382
-
383
- PROCESS FLOW RULES:
384
- 3-5 steps connected by → arrow divs
385
- Each step: numbered circle + title + description + optional duration at bottom
386
- Arrow divs between steps contain the "" character
387
- NEVER use position:absolute for arrows — use flexbox
388
- Steps stretch to fill full height`,
398
+ .step-desc { font-size:24px; color:${design.text_color}; line-height:1.5; flex:1; }
399
+ .step-time { font-size:24px; color:${design.accent_color}; font-weight:600; margin-top:auto; padding-top:12px; border-top:2px solid ${design.accent_color}40; }
400
+ .arrow { width:60px; display:flex; align-items:center; justify-content:center; font-size:44px; color:${design.accent_color}; flex-shrink:0; }
401
+
402
+ CRITICAL PATTERN — your .content MUST alternate .step and .arrow divs:
403
+ <div class="content">
404
+ <div class="step">
405
+ <div class="step-number">1</div>
406
+ <div class="step-title">STEP TITLE</div>
407
+ <div class="step-desc">Description text</div>
408
+ <div class="step-time">Duration/detail</div>
409
+ </div>
410
+ <div class="arrow">→</div>
411
+ <div class="step">...</div>
412
+ <div class="arrow">→</div>
413
+ <div class="step">...</div>
414
+ </div>
415
+
416
+ ⚠ 3-5 steps with → arrows between them. align-items:stretch makes all steps equal height.
417
+ ⚠ .step-time with margin-top:auto anchors it at the bottom of each step.`,
389
418
  big_numbers: `═══ REQUIRED LAYOUT: BIG NUMBER METRICS ═══
390
- ⚠⚠⚠ You MUST create BIG NUMBER SPOTLIGHT cards with 72-96px numbers. Tables = FAILURE.
419
+ ⚠⚠⚠ You MUST create BIG NUMBER SPOTLIGHT cards with 72-96px numbers. Tables/small text = FAILURE.
391
420
 
392
- CSS STRUCTURE:
421
+ CSS:
393
422
  .content { flex:1; display:flex; gap:40px; align-items:stretch; }
394
- .metric-card { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:48px 32px; border-radius:20px; background:#fff; box-shadow:0 4px 24px rgba(0,0,0,0.06); text-align:center; gap:16px; }
423
+ .metric-card { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:48px 32px; border-radius:20px; background:#fff; box-shadow:0 4px 24px rgba(0,0,0,0.06); text-align:center; gap:20px; }
395
424
  .metric-value { font-size:80px; font-weight:800; color:${design.primary_color}; line-height:1; }
396
425
  .metric-unit { font-size:32px; font-weight:600; color:${design.accent_color}; }
397
426
  .metric-label { font-size:28px; font-weight:600; color:${design.text_color}; }
398
427
  .metric-desc { font-size:24px; color:${design.text_color}aa; line-height:1.5; }
399
- .trend-up { color:#10B981; font-size:26px; font-weight:600; }
400
- .trend-down { color:#EF4444; font-size:26px; font-weight:600; }
401
-
402
- BIG NUMBERS RULES:
403
- 2-3 metric cards side by side (NEVER 4+)
404
- • Each: huge number (72-96px), unit label, description, trend indicator (▲/▼)
405
- • Green for positive trends, red for negative
406
- • Cards stretch full height`,
428
+ .metric-trend { font-size:26px; font-weight:600; margin-top:auto; }
429
+
430
+ ⚠ 2-3 metric cards side by side. Each: huge number (font-size:80px), unit, label, description, trend.
431
+ align-items:stretch makes cards fill full height. justify-content:center within each card centers content.
432
+ Trend colors: green (#10B981) for positive ▲, red (#EF4444) for negative ▼.`,
407
433
  two_col_split: `═══ REQUIRED LAYOUT: 2-COLUMN SPLIT ═══
408
434
  ⚠⚠⚠ You MUST create a 2-COLUMN layout. Single column = FAILURE.
409
435
 
410
- CSS STRUCTURE:
436
+ CSS:
411
437
  .content { flex:1; display:grid; grid-template-columns:1fr 1fr; gap:32px; }
412
- .left-col { display:flex; flex-direction:column; gap:24px; justify-content:center; }
413
- .right-col { display:flex; flex-direction:column; gap:24px; justify-content:center; }
414
-
415
- 2-COL RULES:
416
- Left column: chart, big metric, key visual, or primary content
417
- Right column: supporting text, detail cards, or secondary visual
418
- • Both columns stretch full height
419
- • Each column should be self-contained and visually balanced`,
438
+ .left-col { display:flex; flex-direction:column; gap:20px; justify-content:center; padding:20px; }
439
+ .right-col { display:flex; flex-direction:column; gap:20px; justify-content:center; padding:20px; }
440
+
441
+ Left column: primary content (big metric, chart, or main visual). Right: supporting detail cards or text.
442
+ Both columns stretch full height. Keep text LARGE (28-32px) — don't try to squeeze too much.
443
+ MAX 3-4 items per column. If content overflows, reduce items instead of shrinking text.`,
420
444
  timeline: `═══ REQUIRED LAYOUT: TIMELINE ═══
421
- ⚠⚠⚠ You MUST create a HORIZONTAL TIMELINE with milestone cards. Cards = FAILURE.
445
+ ⚠⚠⚠ You MUST create a HORIZONTAL TIMELINE with milestone cards. Generic cards = FAILURE.
422
446
 
423
- CSS STRUCTURE:
447
+ CSS:
424
448
  .content { flex:1; display:flex; align-items:stretch; gap:24px; }
425
449
  .milestone { flex:1; display:flex; flex-direction:column; padding:32px; border-radius:16px; background:#fff; box-shadow:0 4px 20px rgba(0,0,0,0.06); gap:16px; }
426
- .milestone-date { font-size:22px; font-weight:700; color:${design.accent_color}; }
450
+ .milestone-date { font-size:24px; font-weight:700; color:${design.accent_color}; }
427
451
  .milestone-icon { width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg, ${design.primary_color}, ${design.gradient_end}); display:flex; align-items:center; justify-content:center; color:#fff; font-size:24px; }
428
452
  .milestone-title { font-size:30px; font-weight:700; color:${design.primary_color}; }
429
453
  .milestone-desc { font-size:26px; color:${design.text_color}; line-height:1.5; flex:1; }
430
- .milestone-kpi { font-size:24px; font-weight:600; color:${design.accent_color}; margin-top:auto; padding-top:16px; border-top:1px solid ${design.accent_light}; }
454
+ .milestone-kpi { font-size:24px; font-weight:600; color:${design.accent_color}; margin-top:auto; padding-top:16px; border-top:2px solid ${design.accent_light}; }
431
455
 
432
- TIMELINE RULES:
433
- 3-4 milestone cards side by side (NEVER 5+)
434
- Each: date at top, icon, title, description, KPI at bottom
435
- • Cards stretch full height (align-items:stretch)`,
456
+ 3-4 .milestone cards side by side. Each: date → icon → title → description → KPI at bottom.
457
+ align-items:stretch + flex:1 on .milestone-desc ensures all cards are equal height.
458
+ .milestone-kpi with margin-top:auto anchors it at the bottom of each card.`,
436
459
  progress_bars: `═══ REQUIRED LAYOUT: PROGRESS BARS ═══
437
- ⚠⚠⚠ You MUST create HORIZONTAL PROGRESS BARS. Cards/tables = FAILURE.
460
+ ⚠⚠⚠ You MUST create FULL-WIDTH HORIZONTAL PROGRESS BARS. Small bars inside cards = FAILURE.
438
461
 
439
- CSS STRUCTURE:
440
- .content { flex:1; display:flex; flex-direction:column; justify-content:center; gap:36px; padding:40px 0; }
441
- .bar-item { display:flex; flex-direction:column; gap:8px; }
462
+ CSS:
463
+ .content { flex:1; display:flex; flex-direction:column; justify-content:space-evenly; gap:0; padding:20px 0; }
464
+ .bar-item { display:flex; flex-direction:column; gap:10px; }
442
465
  .bar-header { display:flex; justify-content:space-between; align-items:baseline; }
443
466
  .bar-label { font-size:28px; font-weight:600; color:${design.text_color}; }
444
467
  .bar-value { font-size:28px; font-weight:700; color:${design.primary_color}; }
445
- .bar-track { width:100%; height:40px; background:${design.accent_light}; border-radius:20px; overflow:hidden; }
446
- .bar-fill { height:100%; border-radius:20px; background:linear-gradient(90deg, ${design.primary_color}, ${design.accent_color}); }
447
-
448
- PROGRESS BAR RULES:
449
- 4-6 horizontal progress bars showing percentages
450
- Each: label + percentage on the same line (justify-content:space-between), bar below
451
- Bar fill width = percentage (e.g., width:85%)
452
- Use gradient fills for visual interest`,
468
+ .bar-track { width:100%; height:44px; background:${design.accent_light}; border-radius:22px; overflow:hidden; }
469
+ .bar-fill { height:100%; border-radius:22px; background:linear-gradient(90deg, ${design.primary_color}, ${design.accent_color}); }
470
+
471
+ CRITICAL PATTERN — your .content MUST be a vertical stack of .bar-item divs:
472
+ <div class="content">
473
+ <div class="bar-item">
474
+ <div class="bar-header">
475
+ <span class="bar-label">Category Name</span>
476
+ <span class="bar-value">85%</span>
477
+ </div>
478
+ <div class="bar-track"><div class="bar-fill" style="width:85%"></div></div>
479
+ </div>
480
+ <!-- repeat 4-6 bar-items -->
481
+ </div>
482
+
483
+ ⚠ justify-content:space-evenly distributes bars across the full height — NO empty bottom.
484
+ ⚠ Each bar: header row (label + percentage) + track div containing fill div with style="width:XX%".
485
+ ⚠ 4-6 bars. Bar height:44px. Use gradient fills. The structure above is non-negotiable.`,
453
486
  hero_stat: `═══ REQUIRED LAYOUT: HERO STAT ═══
454
- ⚠⚠⚠ You MUST create a SINGLE LARGE CENTRAL METRIC. Cards = FAILURE.
487
+ ⚠⚠⚠ You MUST create a SINGLE LARGE CENTRAL METRIC. Cards/tables = FAILURE.
455
488
 
456
- CSS STRUCTURE:
489
+ CSS:
457
490
  .content { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; }
458
491
  .hero-number { font-size:128px; font-weight:900; color:${design.primary_color}; line-height:1; }
459
492
  .hero-unit { font-size:48px; font-weight:600; color:${design.accent_color}; }
460
493
  .hero-label { font-size:36px; font-weight:600; color:${design.text_color}; }
461
494
  .hero-context { font-size:28px; color:${design.text_color}aa; text-align:center; max-width:800px; line-height:1.6; }
462
- .supporting-metrics { display:flex; gap:48px; margin-top:40px; }
463
- .supporting-value { font-size:36px; font-weight:700; color:${design.primary_color}; text-align:center; }
464
- .supporting-label { font-size:22px; color:${design.text_color}aa; text-align:center; }
465
-
466
- HERO STAT RULES:
467
- ONE giant metric (96-128px) in the center
468
- Context description below (max 2 lines)
469
- • Optional: 2-3 smaller metrics in a row below
470
- • This layout IS allowed to center content vertically`,
495
+ .supporting-row { display:flex; gap:60px; margin-top:48px; }
496
+ .supporting-item { text-align:center; }
497
+ .supporting-value { font-size:40px; font-weight:700; color:${design.primary_color}; }
498
+ .supporting-label { font-size:24px; color:${design.text_color}aa; margin-top:8px; }
499
+
500
+ ONE giant number (font-size:128px) center stage. Description below. Optional 2-3 supporting metrics in a row.
501
+ This is the ONLY layout where justify-content:center on .content is correct.`,
471
502
  };
472
503
  return layouts[layoutType] || layouts.cards;
473
504
  }
505
+ export function postProcessSlideHtml(html) {
506
+ const fixCss = `
507
+ /* === AUTO-INJECTED FILL FIXES === */
508
+ .content { min-height: 0; }
509
+ body > .content, body > :last-child:not(.slide-title) { flex: 1 1 auto; }
510
+ .content[style*="grid"] { align-items: stretch; }
511
+ `;
512
+ if (html.includes('</style>')) {
513
+ return html.replace('</style>', fixCss + '</style>');
514
+ }
515
+ return html;
516
+ }
474
517
  export function buildReviewPrompt(html, expectedLayout, slideTitle) {
475
518
  return `You are a presentation slide quality reviewer. Evaluate this HTML slide and output ONLY a JSON object.
476
519
 
@@ -495,19 +538,15 @@ export function buildSlideHtmlPrompt(slideTitle, contentDirection, design, slide
495
538
  ? 'ALL visible text MUST be in Korean. Write naturally in Korean.'
496
539
  : 'ALL visible text MUST be in English.';
497
540
  const styleVariants = [
498
- 'LIGHT_CARDS',
499
- 'DARK_SECTION',
500
- 'LEFT_RIGHT_SPLIT',
501
- 'GRADIENT_HEADER',
502
- 'FULL_GRADIENT',
541
+ 'LIGHT',
542
+ 'ACCENT_HEADER',
543
+ 'GRADIENT_BG',
503
544
  ];
504
545
  const styleVariant = styleVariants[slideIndex % styleVariants.length];
505
546
  const styleGuide = {
506
- 'LIGHT_CARDS': `Use ${design.background_color} as page background with white cards (background:#fff, border-radius:16px, box-shadow:0 4px 20px rgba(0,0,0,0.06)).`,
507
- 'DARK_SECTION': `Use a compact dark gradient header strip (background: linear-gradient(135deg, ${design.primary_color}, ${design.gradient_end}); height:100px; max-height:100px) with the title in white text. The content area below (flex:1, background:${design.background_color}) holds ALL the data using the full remaining ~920px. ⚠ Header MUST be exactly 100px — NOT 200-300px. Maximize content area.`,
508
- 'LEFT_RIGHT_SPLIT': `Split the slide into 2 columns: LEFT panel (width:340px, background: linear-gradient(180deg, ${design.primary_color}, ${design.gradient_end})) with the title in white text (centered vertically), RIGHT area (flex:1, background:${design.background_color}, padding:48px) with the main content. Both full-height. LEFT panel is narrow (340px) — keep title text concise. RIGHT area has 1580px for content.`,
509
- 'GRADIENT_HEADER': `Add a bold accent bar at the top (height:8px, background: linear-gradient(90deg, ${design.accent_color}, ${design.primary_color})). Title goes directly below the bar (no large background band — just the accent bar + title text). Content uses ${design.background_color}. ⚠ The accent bar is ONLY 8px tall — do NOT create a large colored header section.`,
510
- 'FULL_GRADIENT': `Use a subtle full-page gradient (background: linear-gradient(150deg, ${design.background_color} 0%, ${design.accent_light} 50%, ${design.background_color} 100%)). Cards float with stronger shadows (box-shadow: 0 8px 32px rgba(0,0,0,0.08)).`,
547
+ 'LIGHT': `Background: ${design.background_color}. Title: ${design.primary_color}, 48-56px bold. Cards/elements use white background with box-shadow.`,
548
+ 'ACCENT_HEADER': `Add a bold accent bar at top (height:6px, background: linear-gradient(90deg, ${design.accent_color}, ${design.primary_color})). Title directly below. Background: ${design.background_color}.`,
549
+ 'GRADIENT_BG': `Subtle gradient background: linear-gradient(150deg, ${design.background_color} 0%, ${design.accent_light} 50%, ${design.background_color} 100%). Elements use stronger shadows (0 8px 32px rgba(0,0,0,0.08)).`,
511
550
  };
512
551
  return `You are a world-class web designer creating a presentation slide as a complete HTML page.
513
552
  Output ONLY the complete HTML document — nothing else. No explanation, no markdown fences.
@@ -621,6 +660,196 @@ Bottom-right: "${slideIndex + 1}" (12px, opacity 0.4)
621
660
 
622
661
  Output the complete HTML document now. Start with <!DOCTYPE html> and end with </html>.`;
623
662
  }
663
+ export function buildLayoutSetPrompt(design) {
664
+ const moodGuide = {
665
+ 'modern-minimal': 'Clean lines, subtle shadows (0 2px 16px rgba(0,0,0,0.06)), generous whitespace, thin borders (1px), smooth border-radius (12-16px)',
666
+ 'bold-energetic': 'Strong gradients, deep shadows (0 8px 32px rgba(0,0,0,0.12)), thick accent bars, high contrast, border-radius (8-12px)',
667
+ 'corporate-elegant': 'Refined spacing, subtle gradients, structured grids, sophisticated thin shadows, serif-like feel',
668
+ 'warm-friendly': 'Rounded corners (20px+), soft warm shadows, inviting spacing (32-40px gaps), gentle color transitions',
669
+ 'academic-clean': 'Tight grids, minimal decoration, clear hierarchy, thin rules (1px borders), data-first design',
670
+ };
671
+ return `You are a world-class CSS layout architect. Create unique, reusable slide layout components for a presentation.
672
+
673
+ DESIGN SYSTEM:
674
+ Primary: ${design.primary_color} | Accent: ${design.accent_color}
675
+ Background: ${design.background_color} | Text: ${design.text_color}
676
+ Accent Light: ${design.accent_light} | Gradient End: ${design.gradient_end}
677
+ Title Font: ${design.font_title} | Body Font: ${design.font_body}
678
+ Mood: ${design.mood} | Notes: ${design.design_notes}
679
+
680
+ MOOD STYLE — "${design.mood}":
681
+ ${moodGuide[design.mood] || moodGuide['modern-minimal']}
682
+
683
+ Create 8-12 UNIQUE layout components. Be creative — every layout should feel different.
684
+
685
+ OUTPUT FORMAT — repeat for EACH layout:
686
+ ---LAYOUT: descriptive-name---
687
+ USE: When to use this layout (1 line)
688
+ CSS:
689
+ (CSS classes using the design system colors. .content MUST have flex:1.)
690
+ HTML:
691
+ <div class="content">
692
+ <!-- skeleton with {{VALUE1}}, {{LABEL1}}, {{TEXT1}}, {{PERCENT1}}, {{INSIGHT}} placeholders -->
693
+ </div>
694
+ ---END---
695
+
696
+ REQUIRED VARIETY (create at least one of each):
697
+ 1. VERTICAL BAR CHART — bars aligned to bottom with flex-end + style="height:XX%"
698
+ 2. DONUT/PIE CHART — conic-gradient on border-radius:50% div + legend
699
+ 3. HORIZONTAL PROGRESS BARS — .bar-track + .bar-fill with style="width:XX%"
700
+ 4. DATA TABLE — <table> with <th>/<td>, colored header row
701
+ 5. PROCESS FLOW — .step boxes connected by → arrow divs
702
+ 6. BIG NUMBERS — 2-3 large metric cards (font-size:72-80px)
703
+ 7. CARD GRID — 2×2 or 3-column cards with icons, titles, bullets
704
+ 8. TIMELINE — horizontal milestone cards with dates
705
+ Plus 0-4 more creative layouts of YOUR choice (split columns, dashboards, comparison panels, etc.)
706
+
707
+ TECHNICAL CONSTRAINTS:
708
+ ⚠ ALL CSS must use the design system colors: ${design.primary_color}, ${design.accent_color}, etc.
709
+ ⚠ .content MUST use flex:1 to fill remaining vertical space after the title.
710
+ ⚠ Grids must use grid-template-rows with explicit fr units (e.g., 1fr 1fr) to prevent height collapse.
711
+ ⚠ Font minimums: body text 26px, card titles 32px, section titles 40px, big numbers 72-96px.
712
+ ⚠ No position:absolute. No images. No external resources. CSS-only visuals.
713
+ ⚠ Charts: bar charts (flex-end alignment), donuts (conic-gradient), progress bars (width%).
714
+ ⚠ Use the mood style direction above to influence shadows, borders, spacing, and corner radii.`;
715
+ }
716
+ export function parseLayoutSet(text) {
717
+ const results = [];
718
+ const blocks = text.split(/---LAYOUT:\s*/);
719
+ for (const block of blocks) {
720
+ const trimmed = block.trim();
721
+ if (!trimmed || trimmed.length < 50)
722
+ continue;
723
+ const nameMatch = trimmed.match(/^([^\n]+?)---/);
724
+ if (!nameMatch)
725
+ continue;
726
+ const name = nameMatch[1].trim();
727
+ const useMatch = trimmed.match(/USE:\s*(.+)/);
728
+ const description = useMatch ? useMatch[1].trim() : name;
729
+ const cssMatch = trimmed.match(/CSS:\s*\n([\s\S]*?)(?=\nHTML:)/);
730
+ if (!cssMatch)
731
+ continue;
732
+ const css = cssMatch[1].trim();
733
+ const htmlMatch = trimmed.match(/HTML:\s*\n([\s\S]*?)(?=---END---|$)/);
734
+ if (!htmlMatch)
735
+ continue;
736
+ const skeleton = htmlMatch[1].trim();
737
+ if (css.length > 20 && skeleton.length > 20) {
738
+ results.push({ name, description, css, skeleton });
739
+ }
740
+ }
741
+ return results;
742
+ }
743
+ export function buildAllSkeletonsPrompt(slides, layouts) {
744
+ const layoutList = layouts.map(l => ` - "${l.name}": ${l.description}`).join('\n');
745
+ const slideList = slides
746
+ .map((s, i) => {
747
+ if (s.type === 'title' || s.type === 'closing')
748
+ return null;
749
+ const cd = s.content_direction.replace(/\n/g, ' ').slice(0, 200);
750
+ return ` Slide ${i + 1}: "${s.title}" — ${cd}`;
751
+ })
752
+ .filter(Boolean)
753
+ .join('\n');
754
+ return `You are a presentation layout composer. For each content slide, choose the best layout and create an HTML skeleton.
755
+
756
+ AVAILABLE LAYOUTS:
757
+ ${layoutList}
758
+
759
+ SLIDES:
760
+ ${slideList}
761
+
762
+ OUTPUT FORMAT — for each content slide:
763
+ ===SLIDE:N===
764
+ LAYOUT: layout-name
765
+ <div class="content">
766
+ <!-- adapted skeleton from the chosen layout, with {{PLACEHOLDER}} markers -->
767
+ <!-- adjust element count to match the slide's content -->
768
+ </div>
769
+ ===END===
770
+
771
+ RULES:
772
+ ⚠ Use at least 5 DIFFERENT layouts across all slides. Never use the same layout 3+ times.
773
+ ⚠ Match layout to content: data → chart, comparison → table, steps → flow, metrics → numbers.
774
+ ⚠ Adapt element count: if content has 4 items → 4 cards/bars. If 3 steps → 3 step divs.
775
+ ⚠ Output ONLY the .content div — no <html>, no <style>, no boilerplate.
776
+ ⚠ Skip title and closing slides (they use fixed templates).
777
+ ⚠ Placeholders: {{VALUE1}}, {{LABEL1}}, {{TEXT1}}, {{PERCENT1}}, {{HEIGHT1}}, {{TITLE}}, {{INSIGHT}}, etc.
778
+ ⚠ Keep skeletons minimal and structural — just the div hierarchy with class names and placeholders.`;
779
+ }
780
+ export function parseSkeletons(text) {
781
+ const results = new Map();
782
+ const blocks = text.split(/===SLIDE:\s*/);
783
+ for (const block of blocks) {
784
+ const trimmed = block.trim();
785
+ if (!trimmed)
786
+ continue;
787
+ const numMatch = trimmed.match(/^(\d+)\s*===/);
788
+ if (!numMatch)
789
+ continue;
790
+ const slideNum = parseInt(numMatch[1], 10);
791
+ const layoutMatch = trimmed.match(/LAYOUT:\s*([^\n]+)/);
792
+ const layout = layoutMatch ? layoutMatch[1].trim() : '';
793
+ const contentMatch = trimmed.match(/(<div class="content">[\s\S]*?<\/div>)\s*(?:===END===|$)/);
794
+ const skeleton = contentMatch ? contentMatch[1].trim() : '';
795
+ if (layout && skeleton.length > 30) {
796
+ results.set(slideNum, { layout, skeleton });
797
+ }
798
+ }
799
+ return results;
800
+ }
801
+ export function buildFillPrompt(skeleton, layoutCss, contentDirection, slideTitle, design, slideIndex, totalSlides, language) {
802
+ const langRule = language === 'ko'
803
+ ? 'ALL visible text MUST be in Korean. Write naturally in Korean.'
804
+ : 'ALL visible text MUST be in English.';
805
+ return `You are filling content into a pre-built HTML slide skeleton.
806
+ Output ONLY the complete HTML document — no explanation, no markdown.
807
+
808
+ ═══ SLIDE ═══
809
+ Title: "${slideTitle}" | Slide ${slideIndex + 1} of ${totalSlides}
810
+
811
+ ═══ CONTENT DIRECTION ═══
812
+ ${contentDirection}
813
+
814
+ ⚠ Generate REAL, specific content based on the direction above. Never display placeholder text.
815
+
816
+ ═══ SKELETON (preserve this structure, replace {{PLACEHOLDERS}} with real content) ═══
817
+ ${skeleton}
818
+
819
+ ═══ LAYOUT CSS ═══
820
+ ${layoutCss}
821
+
822
+ ═══ DESIGN SYSTEM ═══
823
+ Primary: ${design.primary_color} | Accent: ${design.accent_color} | BG: ${design.background_color}
824
+ Text: ${design.text_color} | Accent Light: ${design.accent_light} | Gradient End: ${design.gradient_end}
825
+ Title Font: ${design.font_title} | Body Font: ${design.font_body} | Mood: ${design.mood}
826
+
827
+ ═══ BUILD THE COMPLETE HTML PAGE ═══
828
+ 1. Start with <!DOCTYPE html><html><head><style>
829
+ 2. In <style>: BOILERPLATE (below) + LAYOUT CSS (above) + any extra styling you want
830
+ 3. In <body>: .slide-title with the title, then the SKELETON with placeholders filled
831
+ 4. Replace EVERY {{PLACEHOLDER}} with professional content from the content direction
832
+ 5. If content needs more/fewer elements than the skeleton has, adapt the structure
833
+ 6. Add visual polish: gradients, shadows, accent colors from the design system
834
+
835
+ BOILERPLATE CSS (copy into <style>):
836
+ * { margin:0; padding:0; box-sizing:border-box; }
837
+ html, body { width:1920px; height:1080px; overflow:hidden; font-family:"${design.font_body}","${design.font_title}","Segoe UI","Malgun Gothic",Arial,sans-serif; word-break:keep-all; overflow-wrap:break-word; }
838
+ body { display:flex; flex-direction:column; padding:60px 80px; height:1080px; background:${design.background_color}; color:${design.text_color}; font-size:26px; }
839
+ .slide-title h1 { font-size:52px; font-weight:700; color:${design.primary_color}; margin-bottom:20px; font-family:"${design.font_title}","Segoe UI",sans-serif; }
840
+ .content { flex:1; }
841
+
842
+ RULES:
843
+ ⚠ ${langRule}
844
+ ⚠ Korean text only — never Chinese characters (漢字), Japanese, or other scripts.
845
+ ⚠ Font minimum: 26px for ALL text. Reduce items instead of shrinking text.
846
+ ⚠ NO position:absolute. Flexbox/grid only.
847
+ ⚠ NO images, NO external fonts, NO JavaScript.
848
+ ⚠ .content MUST have flex:1 to fill remaining vertical space.
849
+ ⚠ Page number: bottom-right corner, "${slideIndex + 1}" (font-size:12px, opacity:0.4).
850
+
851
+ Output the complete HTML now.`;
852
+ }
624
853
  export const PPT_CREATE_SYSTEM_PROMPT = `You are an elite PowerPoint presentation creator.
625
854
  You build NEW presentations using high-level layout builder tools.
626
855
  Each tool call creates ONE complete, professionally-designed slide.
@@ -1 +1 @@
1
- {"version":3,"file":"powerpoint-create-prompts.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"powerpoint-create-prompts.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-prompts.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA6CH,CAAC;AAM3C,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmD5B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,mFAAmF,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8EAmIvE,CAAC;AA6B/E,MAAM,UAAU,iBAAiB,CAAC,gBAAwB;IACxD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE5C,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,WAAW,CAAC;IACjD,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC;IACjD,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1D,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,cAAc,CAAC;IACrD,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC;IACxD,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,eAAe,CAAC;IAC5D,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IACvD,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,eAAe,CAAC;IACxD,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,WAAW,CAAC;IACpD,OAAO,OAAO,CAAC;AACjB,CAAC;AAOD,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,UAAsB;IACxE,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,aAAa;YAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACrC,OAAO,uKAAuK,CAAC;YACjL,CAAC;YACD,MAAM;QACR,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC;YACnE,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,OAAO,wGAAwG,UAAU,UAAU,UAAU,CAAC,MAAM,iFAAiF,CAAC;YACxO,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,OAAO;YACV,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,OAAO,+FAA+F,CAAC;YACzG,CAAC;YACD,MAAM;QACR,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACnD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,OAAO,kFAAkF,UAAU,WAAW,QAAQ,qEAAqE,CAAC;YAC9L,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC;YACjE,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,OAAO,4FAA4F,OAAO,WAAW,QAAQ,UAAU,SAAS,CAAC,MAAM,qCAAqC,CAAC;YAC/L,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACvE,IAAI,CAAC,YAAY,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO,gEAAgE,cAAc,8DAA8D,CAAC;YACtJ,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,4CAA4C,CAAC,IAAI,EAAE,CAAC;YAChF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,2EAA2E,QAAQ,CAAC,MAAM,gFAAgF,CAAC;YACpL,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,IAAI,EAAE,CAAC;YACzE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,gHAAgH,CAAC;YAC1H,CAAC;YACD,MAAM;QACR,CAAC;IAEH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAQD,SAAS,oBAAoB,CAAC,UAAsB,EAAE,MAAoB;IACxE,MAAM,OAAO,GAA+B;QAC1C,KAAK,EAAE;;;;;;;;;;2FAUgF;QAEvF,SAAS,EAAE;;;;;;;sDAOuC,MAAM,CAAC,aAAa;kFACQ,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,aAAa;sDACxE,MAAM,CAAC,UAAU;+CACxB,MAAM,CAAC,YAAY,gEAAgE,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;iGAgBlD;QAE7F,WAAW,EAAE;;;;;;;yEAOwD,MAAM,CAAC,gBAAgB;yDACvC,MAAM,CAAC,aAAa;;;;;;sDAMvB,MAAM,CAAC,aAAa,YAAY,MAAM,CAAC,YAAY,aAAa,MAAM,CAAC,YAAY;;;yGAGhC;QAErG,KAAK,EAAE;;;;;;qCAM0B,MAAM,CAAC,aAAa;kEACS,MAAM,CAAC,YAAY,WAAW,MAAM,CAAC,UAAU;qCAC5E,MAAM,CAAC,YAAY;+BACzB,MAAM,CAAC,YAAY;gEACc,MAAM,CAAC,YAAY,+CAA+C,MAAM,CAAC,UAAU;;;iBAGlI,MAAM,CAAC,aAAa;yGACoE;QAErG,YAAY,EAAE;;;;;yGAKuF,MAAM,CAAC,YAAY;gGAC5B,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,YAAY;uDACrF,MAAM,CAAC,aAAa;qCACtC,MAAM,CAAC,UAAU;qCACjB,MAAM,CAAC,YAAY,8EAA8E,MAAM,CAAC,YAAY;uGAClD,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;yEAiBjD;QAErE,WAAW,EAAE;;;;;;yDAMwC,MAAM,CAAC,aAAa;wDACrB,MAAM,CAAC,YAAY;yDAClB,MAAM,CAAC,UAAU;uCACnC,MAAM,CAAC,UAAU;;;;;8EAKsB;QAE1E,aAAa,EAAE;;;;;;;;;;0FAUuE;QAEtF,QAAQ,EAAE;;;;;;2DAM6C,MAAM,CAAC,YAAY;mGACqB,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,YAAY;4DACnF,MAAM,CAAC,aAAa;0CACtC,MAAM,CAAC,UAAU;0DACD,MAAM,CAAC,YAAY,6DAA6D,MAAM,CAAC,YAAY;;;;6EAIhF;QAEzE,aAAa,EAAE;;;;;;;sDAOmC,MAAM,CAAC,UAAU;sDACjB,MAAM,CAAC,aAAa;mDACvB,MAAM,CAAC,YAAY;iFACW,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;wFAgBrC;QAEpF,SAAS,EAAE;;;;;yDAK0C,MAAM,CAAC,aAAa;sDACvB,MAAM,CAAC,YAAY;uDAClB,MAAM,CAAC,UAAU;wCAChC,MAAM,CAAC,UAAU;;;6DAGI,MAAM,CAAC,aAAa;4CACrC,MAAM,CAAC,UAAU;;;+EAGkB;KAC5E,CAAC;IAEF,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;AAC9C,CAAC;AAMD,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAE/C,MAAM,MAAM,GAAG;;;;;CAKhB,CAAC;IACA,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAKD,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,cAA0B,EAC1B,UAAkB;IAElB,OAAO;;oBAEW,cAAc;gBAClB,UAAU;;;EAGxB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;;;iCAGY,cAAc;;;;;;;6CAOF,CAAC;AAC9C,CAAC;AAMD,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,gBAAwB,EACxB,MAAoB,EACpB,UAAkB,EAClB,WAAmB,EACnB,QAAqB,EACrB,aAAyB,OAAO;IAEhC,MAAM,QAAQ,GAAG,QAAQ,KAAK,IAAI;QAChC,CAAC,CAAC,gEAAgE;QAClE,CAAC,CAAC,sCAAsC,CAAC;IAG3C,MAAM,aAAa,GAAG;QACpB,OAAO;QACP,eAAe;QACf,aAAa;KACL,CAAC;IACX,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,GAAG,aAAa,CAAC,MAAM,CAAE,CAAC;IAEvE,MAAM,UAAU,GAA2B;QACzC,OAAO,EAAE,eAAe,MAAM,CAAC,gBAAgB,YAAY,MAAM,CAAC,aAAa,sEAAsE;QACrJ,eAAe,EAAE,gFAAgF,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,aAAa,yCAAyC,MAAM,CAAC,gBAAgB,GAAG;QAChN,aAAa,EAAE,uDAAuD,MAAM,CAAC,gBAAgB,QAAQ,MAAM,CAAC,YAAY,SAAS,MAAM,CAAC,gBAAgB,sEAAsE;KAC/N,CAAC;IAEF,OAAO;;;;UAIC,UAAU;QACZ,UAAU,GAAG,CAAC,OAAO,WAAW;;;EAGtC,gBAAgB;;;;;;;;WAQP,MAAM,CAAC,aAAa,cAAc,MAAM,CAAC,YAAY,kBAAkB,MAAM,CAAC,gBAAgB;QACjG,MAAM,CAAC,UAAU,oBAAoB,MAAM,CAAC,YAAY,oBAAoB,MAAM,CAAC,YAAY;cACzF,MAAM,CAAC,UAAU,iBAAiB,MAAM,CAAC,SAAS;QACxD,MAAM,CAAC,IAAI,aAAa,MAAM,CAAC,YAAY;;;EAGjD,UAAU,CAAC,YAAY,CAAC;;;;;;;;;kBASR,MAAM,CAAC,SAAS,OAAO,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCxD,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;sCAeJ,MAAM,CAAC,aAAa;;;;;;;;;;;;;;;;;;IAkBtD,QAAQ;;;;6FAIiF,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;;;iBAKpG,UAAU,GAAG,CAAC;;wFAEyD,CAAC;AACzF,CAAC;AAiBD,MAAM,UAAU,oBAAoB,CAAC,MAAoB;IACvD,MAAM,SAAS,GAA2B;QACxC,gBAAgB,EAAE,oIAAoI;QACtJ,gBAAgB,EAAE,wHAAwH;QAC1I,mBAAmB,EAAE,kGAAkG;QACvH,eAAe,EAAE,uGAAuG;QACxH,gBAAgB,EAAE,+FAA+F;KAClH,CAAC;IAEF,OAAO;;;aAGI,MAAM,CAAC,aAAa,cAAc,MAAM,CAAC,YAAY;gBAClD,MAAM,CAAC,gBAAgB,YAAY,MAAM,CAAC,UAAU;kBAClD,MAAM,CAAC,YAAY,oBAAoB,MAAM,CAAC,YAAY;gBAC5D,MAAM,CAAC,UAAU,iBAAiB,MAAM,CAAC,SAAS;UACxD,MAAM,CAAC,IAAI,aAAa,MAAM,CAAC,YAAY;;gBAErC,MAAM,CAAC,IAAI;EACzB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA2BR,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,YAAY;;;;;;+FAMI,CAAC;AAChG,CAAC;AAKD,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;YAAE,SAAS;QAE9C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;QAElC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAE1D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;QAEhC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;QAEtC,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AASD,MAAM,UAAU,uBAAuB,CACrC,MAAyE,EACzE,OAAyB;IAEzB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEpF,MAAM,SAAS,GAAG,MAAM;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5D,MAAM,EAAE,GAAG,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,OAAO,EAAE,EAAE,CAAC;IAClD,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;EAGP,UAAU;;;EAGV,SAAS;;;;;;;;;;;;;;;;;;oGAkByF,CAAC;AACrG,CAAC;AAKD,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgD,CAAC;IACxE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;QAE5C,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAGzD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC/F,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7D,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAUD,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,SAAiB,EACjB,gBAAwB,EACxB,UAAkB,EAClB,MAAoB,EACpB,UAAkB,EAClB,WAAmB,EACnB,QAAqB;IAErB,MAAM,QAAQ,GAAG,QAAQ,KAAK,IAAI;QAChC,CAAC,CAAC,gEAAgE;QAClE,CAAC,CAAC,sCAAsC,CAAC;IAE3C,OAAO;;;;UAIC,UAAU,aAAa,UAAU,GAAG,CAAC,OAAO,WAAW;;;EAG/D,gBAAgB;;;;;EAKhB,QAAQ;;;EAGR,SAAS;;;WAGA,MAAM,CAAC,aAAa,cAAc,MAAM,CAAC,YAAY,UAAU,MAAM,CAAC,gBAAgB;QACzF,MAAM,CAAC,UAAU,oBAAoB,MAAM,CAAC,YAAY,oBAAoB,MAAM,CAAC,YAAY;cACzF,MAAM,CAAC,UAAU,iBAAiB,MAAM,CAAC,SAAS,YAAY,MAAM,CAAC,IAAI;;;;;;;;;;;;0EAYb,MAAM,CAAC,SAAS,MAAM,MAAM,CAAC,UAAU;2FACtB,MAAM,CAAC,gBAAgB,WAAW,MAAM,CAAC,UAAU;2DACnF,MAAM,CAAC,aAAa,sCAAsC,MAAM,CAAC,UAAU;;;;IAIlI,QAAQ;;;;;;uCAM2B,UAAU,GAAG,CAAC;;8BAEvB,CAAC;AAC/B,CAAC;AAMD,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEA6BgC,CAAC;AAEzE,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;4DAakB,CAAC;AAG7D,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,KAAa,EACb,SAAiB,EACjB,QAAgB,EAChB,QAAqB;IAErB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzD,MAAM,QAAQ,GAAG,QAAQ,KAAK,IAAI;QAChC,CAAC,CAAC,6BAA6B;QAC/B,CAAC,CAAC,8BAA8B,CAAC;IAEnC,OAAO,2BAA2B,KAAK;;;;EAIvC,SAAS;;;EAGT,QAAQ;;;IAGN,QAAQ;;;0DAG8C,CAAC;AAC3D,CAAC"}
@@ -7,7 +7,7 @@ export declare const PROJECTS_DIR: string;
7
7
  export declare const CREDENTIALS_FILE_PATH: string;
8
8
  export declare const APP_NAME = "hanseol-dev";
9
9
  export declare const SERVICE_ID = "hanseol";
10
- export declare const APP_VERSION = "5.0.2-dev.133";
10
+ export declare const APP_VERSION = "5.0.2-dev.135";
11
11
  export declare const DASHBOARD_URL = "https://52.78.246.50.nip.io";
12
12
  export declare const ONCE_URL = "https://52.78.246.50.nip.io:5090";
13
13
  export declare const FREE_URL = "https://52.78.246.50.nip.io:6090";
package/dist/constants.js CHANGED
@@ -9,7 +9,7 @@ export const PROJECTS_DIR = path.join(LOCAL_HOME_DIR, 'projects');
9
9
  export const CREDENTIALS_FILE_PATH = path.join(LOCAL_HOME_DIR, 'credentials.json');
10
10
  export const APP_NAME = 'hanseol-dev';
11
11
  export const SERVICE_ID = 'hanseol';
12
- export const APP_VERSION = '5.0.2-dev.133';
12
+ export const APP_VERSION = '5.0.2-dev.135';
13
13
  export const DASHBOARD_URL = 'https://52.78.246.50.nip.io';
14
14
  export const ONCE_URL = 'https://52.78.246.50.nip.io:5090';
15
15
  export const FREE_URL = 'https://52.78.246.50.nip.io:6090';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hanseol-dev",
3
- "version": "5.0.2-dev.133",
3
+ "version": "5.0.2-dev.135",
4
4
  "description": "Hanseol - OpenAI-Compatible Coding Agent",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",