hanseol-dev 5.0.2-dev.9 → 5.0.2-dev.90

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 (122) hide show
  1. package/dist/agents/common/sub-agent.d.ts +21 -0
  2. package/dist/agents/common/sub-agent.d.ts.map +1 -1
  3. package/dist/agents/common/sub-agent.js +195 -10
  4. package/dist/agents/common/sub-agent.js.map +1 -1
  5. package/dist/agents/index.d.ts +1 -1
  6. package/dist/agents/index.d.ts.map +1 -1
  7. package/dist/agents/index.js +1 -1
  8. package/dist/agents/index.js.map +1 -1
  9. package/dist/agents/office/excel-agent.d.ts +1 -1
  10. package/dist/agents/office/excel-agent.d.ts.map +1 -1
  11. package/dist/agents/office/excel-agent.js +6 -6
  12. package/dist/agents/office/excel-agent.js.map +1 -1
  13. package/dist/agents/office/excel-create-agent.d.ts +3 -0
  14. package/dist/agents/office/excel-create-agent.d.ts.map +1 -0
  15. package/dist/agents/office/excel-create-agent.js +38 -0
  16. package/dist/agents/office/excel-create-agent.js.map +1 -0
  17. package/dist/agents/office/excel-create-prompts.d.ts +4 -0
  18. package/dist/agents/office/excel-create-prompts.d.ts.map +1 -0
  19. package/dist/agents/office/excel-create-prompts.js +154 -0
  20. package/dist/agents/office/excel-create-prompts.js.map +1 -0
  21. package/dist/agents/office/index.d.ts +6 -3
  22. package/dist/agents/office/index.d.ts.map +1 -1
  23. package/dist/agents/office/index.js +6 -3
  24. package/dist/agents/office/index.js.map +1 -1
  25. package/dist/agents/office/powerpoint-agent.d.ts +1 -1
  26. package/dist/agents/office/powerpoint-agent.d.ts.map +1 -1
  27. package/dist/agents/office/powerpoint-agent.js +6 -6
  28. package/dist/agents/office/powerpoint-agent.js.map +1 -1
  29. package/dist/agents/office/powerpoint-create-agent.d.ts +3 -0
  30. package/dist/agents/office/powerpoint-create-agent.d.ts.map +1 -0
  31. package/dist/agents/office/powerpoint-create-agent.js +918 -0
  32. package/dist/agents/office/powerpoint-create-agent.js.map +1 -0
  33. package/dist/agents/office/powerpoint-create-prompts.d.ts +19 -0
  34. package/dist/agents/office/powerpoint-create-prompts.d.ts.map +1 -0
  35. package/dist/agents/office/powerpoint-create-prompts.js +376 -0
  36. package/dist/agents/office/powerpoint-create-prompts.js.map +1 -0
  37. package/dist/agents/office/prompts.d.ts +10 -3
  38. package/dist/agents/office/prompts.d.ts.map +1 -1
  39. package/dist/agents/office/prompts.js +451 -52
  40. package/dist/agents/office/prompts.js.map +1 -1
  41. package/dist/agents/office/word-agent.d.ts +1 -1
  42. package/dist/agents/office/word-agent.d.ts.map +1 -1
  43. package/dist/agents/office/word-agent.js +6 -6
  44. package/dist/agents/office/word-agent.js.map +1 -1
  45. package/dist/agents/office/word-create-agent.d.ts +3 -0
  46. package/dist/agents/office/word-create-agent.d.ts.map +1 -0
  47. package/dist/agents/office/word-create-agent.js +38 -0
  48. package/dist/agents/office/word-create-agent.js.map +1 -0
  49. package/dist/agents/office/word-create-prompts.d.ts +4 -0
  50. package/dist/agents/office/word-create-prompts.d.ts.map +1 -0
  51. package/dist/agents/office/word-create-prompts.js +164 -0
  52. package/dist/agents/office/word-create-prompts.js.map +1 -0
  53. package/dist/cli.js +3 -0
  54. package/dist/cli.js.map +1 -1
  55. package/dist/constants.d.ts +1 -1
  56. package/dist/constants.d.ts.map +1 -1
  57. package/dist/constants.js +1 -1
  58. package/dist/constants.js.map +1 -1
  59. package/dist/pipe/pipe-runner.d.ts.map +1 -1
  60. package/dist/pipe/pipe-runner.js +20 -0
  61. package/dist/pipe/pipe-runner.js.map +1 -1
  62. package/dist/prompts/agents/planning.d.ts.map +1 -1
  63. package/dist/prompts/agents/planning.js +43 -18
  64. package/dist/prompts/agents/planning.js.map +1 -1
  65. package/dist/prompts/shared/tool-usage.d.ts.map +1 -1
  66. package/dist/prompts/shared/tool-usage.js +6 -3
  67. package/dist/prompts/shared/tool-usage.js.map +1 -1
  68. package/dist/prompts/system/plan-execute.js +1 -1
  69. package/dist/tools/office/excel-client.js +4 -4
  70. package/dist/tools/office/excel-tools/index.d.ts +2 -0
  71. package/dist/tools/office/excel-tools/index.d.ts.map +1 -1
  72. package/dist/tools/office/excel-tools/index.js +12 -0
  73. package/dist/tools/office/excel-tools/index.js.map +1 -1
  74. package/dist/tools/office/excel-tools/sheet-builders.d.ts +8 -0
  75. package/dist/tools/office/excel-tools/sheet-builders.d.ts.map +1 -0
  76. package/dist/tools/office/excel-tools/sheet-builders.js +414 -0
  77. package/dist/tools/office/excel-tools/sheet-builders.js.map +1 -0
  78. package/dist/tools/office/excel-tools.d.ts +1 -1
  79. package/dist/tools/office/excel-tools.d.ts.map +1 -1
  80. package/dist/tools/office/excel-tools.js +1 -1
  81. package/dist/tools/office/excel-tools.js.map +1 -1
  82. package/dist/tools/office/powerpoint-client.d.ts +3 -0
  83. package/dist/tools/office/powerpoint-client.d.ts.map +1 -1
  84. package/dist/tools/office/powerpoint-client.js +136 -10
  85. package/dist/tools/office/powerpoint-client.js.map +1 -1
  86. package/dist/tools/office/powerpoint-tools/export.d.ts.map +1 -1
  87. package/dist/tools/office/powerpoint-tools/export.js +16 -1
  88. package/dist/tools/office/powerpoint-tools/export.js.map +1 -1
  89. package/dist/tools/office/powerpoint-tools/index.d.ts +2 -0
  90. package/dist/tools/office/powerpoint-tools/index.d.ts.map +1 -1
  91. package/dist/tools/office/powerpoint-tools/index.js +7 -0
  92. package/dist/tools/office/powerpoint-tools/index.js.map +1 -1
  93. package/dist/tools/office/powerpoint-tools/launch.d.ts.map +1 -1
  94. package/dist/tools/office/powerpoint-tools/launch.js +2 -0
  95. package/dist/tools/office/powerpoint-tools/launch.js.map +1 -1
  96. package/dist/tools/office/powerpoint-tools/layout-builders.d.ts +12 -0
  97. package/dist/tools/office/powerpoint-tools/layout-builders.d.ts.map +1 -0
  98. package/dist/tools/office/powerpoint-tools/layout-builders.js +785 -0
  99. package/dist/tools/office/powerpoint-tools/layout-builders.js.map +1 -0
  100. package/dist/tools/office/powerpoint-tools/slides.js +1 -1
  101. package/dist/tools/office/powerpoint-tools/slides.js.map +1 -1
  102. package/dist/tools/office/powerpoint-tools.d.ts +1 -1
  103. package/dist/tools/office/powerpoint-tools.d.ts.map +1 -1
  104. package/dist/tools/office/powerpoint-tools.js +1 -1
  105. package/dist/tools/office/powerpoint-tools.js.map +1 -1
  106. package/dist/tools/office/word-client.js +4 -4
  107. package/dist/tools/office/word-tools/index.d.ts +4 -1
  108. package/dist/tools/office/word-tools/index.d.ts.map +1 -1
  109. package/dist/tools/office/word-tools/index.js +15 -0
  110. package/dist/tools/office/word-tools/index.js.map +1 -1
  111. package/dist/tools/office/word-tools/section-builders.d.ts +10 -0
  112. package/dist/tools/office/word-tools/section-builders.d.ts.map +1 -0
  113. package/dist/tools/office/word-tools/section-builders.js +421 -0
  114. package/dist/tools/office/word-tools/section-builders.js.map +1 -0
  115. package/dist/tools/office/word-tools.d.ts +1 -1
  116. package/dist/tools/office/word-tools.d.ts.map +1 -1
  117. package/dist/tools/office/word-tools.js +1 -1
  118. package/dist/tools/office/word-tools.js.map +1 -1
  119. package/dist/tools/registry.d.ts.map +1 -1
  120. package/dist/tools/registry.js +7 -4
  121. package/dist/tools/registry.js.map +1 -1
  122. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"powerpoint-create-agent.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export declare const PPT_CREATE_ENHANCEMENT_PROMPT = "You are an elite presentation design consultant specializing in modern HTML/CSS slide design.\n\nEach slide will be rendered as a standalone HTML page (1920\u00D71080px) using ONLY CSS \u2014 no images, no external resources.\nYour job: design a cohesive visual system and detailed content plan that produces beautiful HTML slides.\n\nOUTPUT FORMAT (structured text, max 1000 words):\n\n1. DOCUMENT_TYPE: pitch deck / business report / training / product launch / general\n2. AUDIENCE: Target audience description\n3. MOOD: modern-minimal / bold-energetic / corporate-elegant / warm-friendly / academic-clean\n\n4. COLOR PALETTE (6 hex values \u2014 choose colors that match the topic and mood):\n - primary: Deep main color for headers and key elements (e.g., #1B2A4A for corporate, #6C63FF for tech)\n - accent: Vibrant contrast color for highlights and CTAs (e.g., #00D4AA, #FF6B35)\n - background: Page background \u2014 near white (#F8F9FA) or near black (#0D1117) or subtle tint\n - text: Main text color \u2014 dark (#1A1A2E) for light bg, light (#E8E8E8) for dark bg\n - accent_light: Light tint of accent for subtle backgrounds (e.g., #E8F5F0)\n - gradient_end: Secondary gradient color paired with primary (e.g., #2D5F8A)\n\n5. FONTS: title_font, body_font (system only: Segoe UI, Malgun Gothic, Arial, Calibri, Georgia)\n6. SLIDE PLAN: 10-15 slides, each with:\n - Slide number and type (title / content / data / comparison / process / highlight / table / closing)\n - Title in user's language\n - Specific content direction (what data, text, visuals to include)\n - CSS layout approach (e.g., \"flexbox 3-column card grid with box-shadow\", \"CSS grid 2\u00D72 with gradient headers\", \"conic-gradient donut chart + metric cards\", \"CSS bar chart using flex-end alignment\")\n7. DESIGN NOTES: Overall HTML/CSS approach \u2014 gradients (linear-gradient, radial-gradient), box-shadows, border-radius, flexbox/grid layouts, CSS shapes, pseudo-elements for decoration\n\nKEY PRINCIPLES FOR HTML SLIDES:\n- Each slide is a full 1920\u00D71080px HTML page \u2014 use the ENTIRE space (flex:1 to stretch content)\n- CSS-only visuals: gradients, box-shadow, border-radius, conic-gradient for pie/donut charts\n- MAXIMUM 3 cards or data items per slide \u2014 whitespace is premium\n- Vary layouts across slides: don't repeat the same card grid. Mix cards, tables, big-number spotlights, split layouts, gradient headers\n- NO images, NO external fonts, NO JavaScript\n\nLANGUAGE RULE: ALL slide titles and content MUST be in the SAME language as the user's instruction.\nKorean input \u2192 Korean output. English slogans for Korean input = FAILURE.\n\nOutput structured text only. No preamble.";
2
+ export declare const PPT_STRUCTURED_PLANNING_PROMPT: string;
3
+ export interface DesignSystem {
4
+ primary_color: string;
5
+ accent_color: string;
6
+ background_color: string;
7
+ text_color: string;
8
+ accent_light: string;
9
+ gradient_end: string;
10
+ font_title: string;
11
+ font_body: string;
12
+ mood: string;
13
+ design_notes: string;
14
+ }
15
+ export declare function buildSlideHtmlPrompt(slideTitle: string, contentDirection: string, design: DesignSystem, slideIndex: number, totalSlides: number, language: 'ko' | 'en'): string;
16
+ 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\"";
17
+ 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]";
18
+ export declare function buildSlideSystemPrompt(toolName: string, title: string, direction: string, guidance: string, language: 'ko' | 'en'): string;
19
+ //# sourceMappingURL=powerpoint-create-prompts.d.ts.map
@@ -0,0 +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,qqFAqCA,CAAC;AAM3C,eAAO,MAAM,8BAA8B,QAmJmC,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,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,GACpB,MAAM,CA+HR;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"}
@@ -0,0 +1,376 @@
1
+ export const PPT_CREATE_ENHANCEMENT_PROMPT = `You are an elite presentation design consultant specializing in modern HTML/CSS slide design.
2
+
3
+ Each slide will be rendered as a standalone HTML page (1920×1080px) using ONLY CSS — no images, no external resources.
4
+ Your job: design a cohesive visual system and detailed content plan that produces beautiful HTML slides.
5
+
6
+ OUTPUT FORMAT (structured text, max 1000 words):
7
+
8
+ 1. DOCUMENT_TYPE: pitch deck / business report / training / product launch / general
9
+ 2. AUDIENCE: Target audience description
10
+ 3. MOOD: modern-minimal / bold-energetic / corporate-elegant / warm-friendly / academic-clean
11
+
12
+ 4. COLOR PALETTE (6 hex values — choose colors that match the topic and mood):
13
+ - primary: Deep main color for headers and key elements (e.g., #1B2A4A for corporate, #6C63FF for tech)
14
+ - accent: Vibrant contrast color for highlights and CTAs (e.g., #00D4AA, #FF6B35)
15
+ - background: Page background — near white (#F8F9FA) or near black (#0D1117) or subtle tint
16
+ - text: Main text color — dark (#1A1A2E) for light bg, light (#E8E8E8) for dark bg
17
+ - accent_light: Light tint of accent for subtle backgrounds (e.g., #E8F5F0)
18
+ - gradient_end: Secondary gradient color paired with primary (e.g., #2D5F8A)
19
+
20
+ 5. FONTS: title_font, body_font (system only: Segoe UI, Malgun Gothic, Arial, Calibri, Georgia)
21
+ 6. SLIDE PLAN: 10-15 slides, each with:
22
+ - Slide number and type (title / content / data / comparison / process / highlight / table / closing)
23
+ - Title in user's language
24
+ - Specific content direction (what data, text, visuals to include)
25
+ - CSS layout approach (e.g., "flexbox 3-column card grid with box-shadow", "CSS grid 2×2 with gradient headers", "conic-gradient donut chart + metric cards", "CSS bar chart using flex-end alignment")
26
+ 7. DESIGN NOTES: Overall HTML/CSS approach — gradients (linear-gradient, radial-gradient), box-shadows, border-radius, flexbox/grid layouts, CSS shapes, pseudo-elements for decoration
27
+
28
+ KEY PRINCIPLES FOR HTML SLIDES:
29
+ - Each slide is a full 1920×1080px HTML page — use the ENTIRE space (flex:1 to stretch content)
30
+ - CSS-only visuals: gradients, box-shadow, border-radius, conic-gradient for pie/donut charts
31
+ - MAXIMUM 3 cards or data items per slide — whitespace is premium
32
+ - Vary layouts across slides: don't repeat the same card grid. Mix cards, tables, big-number spotlights, split layouts, gradient headers
33
+ - NO images, NO external fonts, NO JavaScript
34
+
35
+ LANGUAGE RULE: ALL slide titles and content MUST be in the SAME language as the user's instruction.
36
+ Korean input → Korean output. English slogans for Korean input = FAILURE.
37
+
38
+ Output structured text only. No preamble.`;
39
+ export const PPT_STRUCTURED_PLANNING_PROMPT = `You are a presentation structure planner. Output ONLY valid JSON — no markdown, no explanation, no code fences.
40
+
41
+ Given the user's instruction and CREATIVE GUIDANCE, produce a JSON object with this exact structure:
42
+
43
+ {
44
+ "design": {
45
+ "primary_color": "<CHOOSE: deep color matching the topic — NOT #1B2A4A>",
46
+ "accent_color": "<CHOOSE: vibrant contrast color — NOT #00D4AA>",
47
+ "background_color": "<CHOOSE: near-white or near-black or subtle tint>",
48
+ "text_color": "<CHOOSE: must contrast with background>",
49
+ "accent_light": "<CHOOSE: light tint of your accent color>",
50
+ "gradient_end": "<CHOOSE: secondary gradient paired with primary>",
51
+ "font_title": "Segoe UI",
52
+ "font_body": "Malgun Gothic",
53
+ "mood": "modern-minimal",
54
+ "design_notes": "Describe your visual approach in 1-2 sentences"
55
+ },
56
+ "slides": [
57
+ { "type": "title", "title": "...", "content_direction": "..." },
58
+ { "type": "content", "title": "...", "content_direction": "..." },
59
+ { "type": "closing", "title": "...", "content_direction": "..." }
60
+ ]
61
+ }
62
+
63
+ ═══ FIELD DEFINITIONS ═══
64
+ • design.primary_color: Deep main color (headers, key elements)
65
+ • design.accent_color: Vibrant contrast (highlights, CTAs)
66
+ • design.background_color: Page background (near white, near black, or subtle tint)
67
+ • design.text_color: Main text color (must contrast with background)
68
+ • design.accent_light: Light tint for subtle section backgrounds
69
+ • design.gradient_end: Paired gradient color for primary
70
+ • design.font_title: System font for titles (Segoe UI, Arial, Georgia, Calibri)
71
+ • design.font_body: System font for body (Malgun Gothic, Segoe UI, Arial, Calibri)
72
+ • design.mood: One of modern-minimal, bold-energetic, corporate-elegant, warm-friendly, academic-clean
73
+ • design.design_notes: 1-2 sentence visual approach description
74
+
75
+ • slides[].type: One of "title", "content", "closing"
76
+ • slides[].title: Slide title in user's language (max 60 chars)
77
+ • slides[].content_direction: Detailed content direction (3-6 sentences). Include SPECIFIC data, names, numbers. Also describe the VISUAL APPROACH for this slide (e.g., "3-column card grid showing...", "big centered number with explanation below...", "comparison table with 5 rows...")
78
+
79
+ ═══ SLIDE TYPE GUIDELINES ═══
80
+ Every presentation MUST have: 1 title slide (first) + 1 closing slide (last)
81
+ Content slides between them — aim for 10-15 total slides.
82
+ ⚠ Current year: ${new Date().getFullYear()}. All dates, timelines, roadmaps MUST use ${new Date().getFullYear()} or later. NEVER use 2024 or older as "current".
83
+
84
+ For each content slide, the content_direction should specify:
85
+ - What information to show (specific text, numbers, names)
86
+ - How to lay it out (cards, columns, table, big number, timeline, etc.)
87
+ - This is the ONLY instruction the HTML-generating LLM will see, so be DETAILED
88
+
89
+ ═══ TEMPLATES ═══
90
+ PITCH DECK (startup/사업계획서/피치덱): 12 slides
91
+ title → problem → solution → market size → product → business model → competition → traction → team → roadmap → investment ask → closing
92
+
93
+ BUSINESS REPORT (보고서/분석/실적): 10 slides
94
+ title → executive summary → key metrics → analysis → comparison → spotlight → breakdown → action plan → recommendations → closing
95
+
96
+ TRAINING (교육/세미나/강의): 10 slides
97
+ title → objectives → core concepts → key data → process → details → case study → summary → key takeaway → closing
98
+
99
+ PRODUCT LAUNCH (제품/출시/소개): 11 slides
100
+ title → market need → overview → key feature → features → metrics → use cases → pricing → timeline → CTA → closing
101
+
102
+ GENERAL (발표/프레젠테이션): 10 slides
103
+ title → overview → key points → data → detail → spotlight → comparison → process → summary → closing
104
+
105
+ ═══ THE #1 RULE — ONE VISUAL APPROACH PER SLIDE ═══
106
+ ⚠⚠⚠ Each slide's content_direction MUST describe EXACTLY ONE visual layout.
107
+ The HTML renderer creates ONE visual element per slide — no more.
108
+ If a topic needs 2 visual elements, SPLIT IT INTO 2 SLIDES.
109
+
110
+ GOOD content_direction (ONE visual each):
111
+ ✓ "3-column card grid: (1) 이미지 분석 - 의료 영상 정밀 분석, (2) 패턴 인식 - 질병 조기 발견, (3) 예측 분석 - 발생 확률 예측"
112
+ ✓ "Comparison table: 4 rows (MediAI, CompA, CompB, CompC) × 3 columns (정확도, 속도, 데이터량). Highlight MediAI row."
113
+ ✓ "3 big metric numbers: $45B 시장 규모, 28% 연평균 성장률, 5% 1년 내 점유율 목표"
114
+ ✓ "Bar chart showing revenue growth: 2025 $1.2M → 2026 $3.6M → 2027 $10.8M"
115
+ ✓ "Pricing table: 3 rows (Basic/Pro/Enterprise) × 4 columns (플랜, 대상, 월 가격, 기능)"
116
+
117
+ BAD content_direction (MULTIPLE visuals = OVERFLOW):
118
+ ✗ "테이블로 수익 모델 + 수익 그래프 + 파트너십 + 라이선싱" ← 4 sections!
119
+ ✗ "원형 차트 + 투자 조건 테이블 + 단계적 계획 + 바 차트" ← 4 sections!
120
+ ✗ "레이더 차트 + 데이터 바 + 차별화 카드 4개" ← 3 sections!
121
+ ✗ "성장 차트 + 시장 분할 파이 + 기회 텍스트 + 과제 텍스트" ← 4 sections!
122
+
123
+ ═══ SPLITTING DENSE TOPICS INTO MULTIPLE SLIDES ═══
124
+ ⚠ If a user topic has 4+ sub-items, you MUST split it into 2 slides:
125
+ • "비즈니스모델" → "수익 모델" (pricing table) + "수익 성장 전망" (bar chart)
126
+ • "시장분석" → "시장 규모" (3 big metrics) + "고객 세분화" (pie chart or cards)
127
+ • "투자조건" → "투자 조건" (table) + "자금 사용 계획" (pie or bar chart)
128
+ • "경쟁우위" → "경쟁사 비교" (comparison table) + "핵심 차별화" (3 card grid)
129
+ • "AI 솔루션" → "핵심 기능" (3 card grid) + "진단 프로세스" (process flow)
130
+ • "로드맵" → "단기 로드맵 2026" (3 milestone cards) + "장기 비전 2027-2028" (3 milestone cards)
131
+ • "팀 소개" (4+ members) → "창업진 소개" (2-3 people) + "핵심 팀원" (2-3 people)
132
+ This keeps each slide clean with generous whitespace.
133
+
134
+ ═══ CONTENT DENSITY LIMITS — ABSOLUTE HARD CAPS ═══
135
+ ⚠⚠⚠ These limits are ENFORCED by the rendering system. Exceeding them = content CLIPPED.
136
+ ⚠ MAXIMUM 3 descriptive cards per slide. 4 cards = OVERFLOW.
137
+ ⚠ Team/People: MAXIMUM 3 people per slide. 4 people = split into 2 slides.
138
+ ⚠ Tables: maximum 4 data rows × 4 columns.
139
+ ⚠ Timeline/Roadmap: MAXIMUM 3-4 milestones per slide. 5+ milestones = text too small to read.
140
+ If a roadmap has 6+ items, SPLIT into "단기 로드맵" (3 items) + "장기 비전" (3 items).
141
+ ⚠ Data/metrics: maximum 3 big numbers per slide.
142
+ ⚠ content_direction: max 2-3 sentences. ONE visual layout + specific content items.
143
+ ⚠ EVERY item in content_direction counts: 3 cards with 3 sub-bullets each = 12 items = TOO MANY. Keep total visible items ≤ 9.
144
+
145
+ ═══ TITLE & CLOSING SLIDE FORMAT ═══
146
+ ⚠ Title slide (FIRST):
147
+ • title: Company/topic name ONLY — max 3-4 words, rendered at 96px by system
148
+ ✓ GOOD: "MediAI" ✓ GOOD: "삼성전자 AI센터"
149
+ ✗ BAD: "MediAI - 인공지능으로 의료 혁신을 선도합니다" (too long, wraps at 96px)
150
+ • content_direction: The actual subtitle/tagline TEXT. 1-2 lines, under 120 chars.
151
+ ✓ GOOD: "AI 기반 의료 진단 혁신 플랫폼 — 투자유치 발표자료"
152
+ ✗ BAD: "회사 로고, 슬로건, 연락처 정보" (instruction, not subtitle)
153
+ • Do NOT include visual/layout instructions — title uses a fixed premium template
154
+ ⚠ Closing slide (LAST):
155
+ • title: "감사합니다" (Korean) or "Thank You" (English)
156
+ • content_direction: Same company/topic name as title slide
157
+ • Do NOT include visual/layout instructions — closing uses a fixed premium template
158
+
159
+ ═══ LAYOUT VARIETY ═══
160
+ ⚠ Vary the visual approach across slides. Do NOT use the same card-grid layout for every slide.
161
+ Suggested variety: hero section, 2-column split, 3-card row, 2×2 grid, big-number spotlight,
162
+ comparison table, timeline with icons, full-width data bar, centered quote/highlight
163
+
164
+ ═══ COLOR PALETTE RULES ═══
165
+ ⚠ NEVER use placeholder/example colors. EVERY presentation must have a UNIQUE palette:
166
+ • Medical/Health: blues + greens (#0B5394, #27AE60)
167
+ • Tech/AI: purples + cyans (#6C63FF, #00BCD4)
168
+ • Finance: navy + gold (#1A237E, #F4A300)
169
+ • Education: teal + orange (#00796B, #FF7043)
170
+ • Marketing: coral + purple (#FF6B6B, #7C3AED)
171
+ ⚠ Choose colors that MATCH the specific topic. Generic blue = LAZY.
172
+ ⚠ Ensure accent_color has HIGH contrast with primary_color.
173
+
174
+ ═══ HARD RULES ═══
175
+ ⚠ First slide MUST be type "title"
176
+ ⚠ Last slide MUST be type "closing" with "감사합니다"/"Thank You" as title
177
+ ⚠ ALL titles and content_direction MUST be in the SAME language as the user's instruction
178
+ ⚠ content_direction: include SPECIFIC data, names, numbers AND visual layout hints AND item count
179
+ ⚠ HARD MAXIMUM: 15 slides total. Slides beyond 15 are DISCARDED by the system. Aim for 10-12.
180
+ ⚠ Each slide's content_direction must be unique and substantive — no generic placeholders
181
+ ⚠ NEVER use "스크린샷", "screenshot", "이미지", "사진", "placeholder", "[내용]" in content_direction
182
+ — the system cannot insert images. Describe REAL text/data content to display.
183
+ ⚠ Do NOT create a separate "연락처"/"Contact" slide — the closing slide already handles this.
184
+ — Use that slot for valuable content instead (e.g., competitive advantage, key metrics, next steps).
185
+
186
+ Output ONLY the JSON object. No preamble, no markdown fences, no explanation.`;
187
+ export function buildSlideHtmlPrompt(slideTitle, contentDirection, design, slideIndex, totalSlides, language) {
188
+ const langRule = language === 'ko'
189
+ ? 'ALL visible text MUST be in Korean. Write naturally in Korean.'
190
+ : 'ALL visible text MUST be in English.';
191
+ const styleVariants = [
192
+ 'LIGHT_CARDS',
193
+ 'DARK_SECTION',
194
+ 'LEFT_RIGHT_SPLIT',
195
+ 'GRADIENT_HEADER',
196
+ 'FULL_GRADIENT',
197
+ ];
198
+ const styleVariant = styleVariants[slideIndex % styleVariants.length];
199
+ const styleGuide = {
200
+ '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)).`,
201
+ 'DARK_SECTION': `Use a dark gradient header area (background: linear-gradient(135deg, ${design.primary_color}, ${design.gradient_end}); height ~300px) with white text for the title area. The content area below uses ${design.background_color} with cards.`,
202
+ 'LEFT_RIGHT_SPLIT': `Split the slide into 2 columns: LEFT panel (width:460px, background: linear-gradient(180deg, ${design.primary_color}, ${design.gradient_end})) with the title in white text, RIGHT area (flex:1, background:${design.background_color}) with the main content. Both full-height.`,
203
+ 'GRADIENT_HEADER': `Add a bold accent bar at the top (height:8px, background: linear-gradient(90deg, ${design.accent_color}, ${design.primary_color})). Title area has a subtle ${design.accent_light} background band. Content uses ${design.background_color}.`,
204
+ '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)).`,
205
+ };
206
+ return `You are a world-class web designer creating a presentation slide as a complete HTML page.
207
+ Output ONLY the complete HTML document — nothing else. No explanation, no markdown fences.
208
+
209
+ ═══ SLIDE INFO ═══
210
+ Title: "${slideTitle}"
211
+ Slide ${slideIndex + 1} of ${totalSlides}
212
+
213
+ ═══ CONTENT DIRECTION ═══
214
+ ${contentDirection}
215
+
216
+ ═══ DESIGN SYSTEM ═══
217
+ Primary: ${design.primary_color} | Accent: ${design.accent_color} | Background: ${design.background_color}
218
+ Text: ${design.text_color} | Accent Light: ${design.accent_light} | Gradient End: ${design.gradient_end}
219
+ Title Font: ${design.font_title} | Body Font: ${design.font_body}
220
+ Mood: ${design.mood} | Notes: ${design.design_notes}
221
+
222
+ ═══ THIS SLIDE'S VISUAL STYLE ═══
223
+ ${styleGuide[styleVariant]}
224
+ This ensures visual variety across slides. Follow this style direction.
225
+
226
+ ═══ MANDATORY CSS BOILERPLATE — COPY EXACTLY ═══
227
+ Your <style> tag MUST start with these EXACT rules (copy verbatim):
228
+
229
+ * { margin: 0; padding: 0; box-sizing: border-box; }
230
+ html, body {
231
+ width: 1920px; height: 1080px; overflow: hidden;
232
+ font-family: "${design.font_body}", "${design.font_title}", "Segoe UI", "Malgun Gothic", Arial, sans-serif;
233
+ word-break: keep-all;
234
+ overflow-wrap: break-word;
235
+ }
236
+ body {
237
+ display: flex; flex-direction: column;
238
+ padding: 60px 80px;
239
+ height: 1080px;
240
+ }
241
+
242
+ ⚠ word-break:keep-all is CRITICAL for Korean text — without it, words break at random characters.
243
+ ⚠ body MUST be display:flex + flex-direction:column + height:1080px for vertical fill.
244
+
245
+ ═══ TECHNICAL REQUIREMENTS ═══
246
+ 1. Complete HTML: <!DOCTYPE html> through </html>
247
+ 2. ALL styling in <style> tag — no external resources, images, fonts, or scripts
248
+ 3. System fonts ONLY. NO <img> tags.
249
+ 4. Use CSS for visuals: gradients, shapes, shadows, borders, pseudo-elements
250
+ 5. FIXED pixel layout — NO max-width, NO media queries, NO percentage widths below 80%
251
+ 6. body IS the container — no wrapper divs. Content goes directly in body.
252
+
253
+ ═══ VERTICAL FILL — THE #1 QUALITY RULE ═══
254
+ ⚠⚠⚠ Content MUST fill the ENTIRE 1920×1080 slide. Empty bottom space = FAILURE.
255
+
256
+ MANDATORY STRUCTURE:
257
+ body (display:flex, flex-direction:column, height:1080px, padding:60px 80px)
258
+ → .slide-title (auto height — title text)
259
+ → .content (flex:1 — STRETCHES to fill ALL remaining vertical space)
260
+
261
+ The .content div MUST use flex:1 to stretch. Then its children stretch too:
262
+
263
+ CARDS: .content { flex:1; display:flex; gap:24px; }
264
+ .card { flex:1; display:flex; flex-direction:column; justify-content:space-between; padding:40px; }
265
+ Each card: icon/number at top, title+desc in middle, metric/accent-bar at bottom.
266
+ Cards MUST be tall (flex:1 stretches them to fill .content height).
267
+
268
+ TABLES: .content { flex:1; display:flex; flex-direction:column; }
269
+ table { width:100%; } th { padding:20px 24px; background:${design.primary_color}; color:#fff; }
270
+ td { padding:24px 20px; font-size:22px; } Add a SUMMARY BAR below the table.
271
+
272
+ TIMELINES: .content { flex:1; display:flex; align-items:stretch; gap:32px; }
273
+ Each milestone: tall card (flex:1) with icon circle, title, year, description, and KPI at bottom.
274
+
275
+ 2-COL SPLIT: .content { flex:1; display:grid; grid-template-columns:1fr 1fr; gap:32px; }
276
+ Left: chart or big metric. Right: detail cards. Both stretch full height.
277
+
278
+ BIG NUMBERS: .content { flex:1; display:flex; gap:40px; align-items:stretch; }
279
+ Each: flex:1 card with huge number (72-96px), label, and description paragraph.
280
+
281
+ BAR CHARTS: .content { flex:1; display:flex; flex-direction:column; }
282
+ .chart-area { flex:1; display:flex; align-items:flex-end; gap:48px; padding:40px; }
283
+ Each bar: flex:1, label ABOVE the bar (never beside it). Min label width: 120px.
284
+ ⚠ Bar labels: use min-width:120px and text-align:center to prevent character-by-character wrapping.
285
+
286
+ ═══ DESIGN RULES ═══
287
+ 1. Title: 48-64px bold. Body: 24-32px. MINIMUM any text: 20px. If text would be <20px, REDUCE ITEM COUNT.
288
+ 2. Use gradients, box-shadow (0 4px 20px rgba(0,0,0,0.06)), border-radius (12-20px)
289
+ 3. ONE visual approach per slide — cards OR table OR chart OR metrics. Never combine 2+.
290
+ 4. HARD LIMITS: MAX 3 cards, MAX 3 horizontal items, MAX 4 table rows, MAX 4 timeline steps.
291
+ ⚠ If content_direction lists more items, select the TOP 3 most important and discard the rest.
292
+ 5. ZERO OVERLAP: Never let absolute-positioned elements overlap text. Use flexbox with gap.
293
+ 6. Decorative shapes: position:absolute with POSITIVE values only. Keep WITHIN viewport.
294
+ 7. PIE/DONUT: conic-gradient on border-radius:50% div ONLY. No clip-path or rotated divs.
295
+ 8. Bar chart labels: min-width:120px, text-align:center. Never let labels wrap per-character.
296
+ 9. Table headers: dark background (${design.primary_color}) with WHITE text. Never transparent.
297
+
298
+ ═══ CONTENT RULES ═══
299
+ • ${langRule}
300
+ • Korean text only — never Chinese characters (漢字), Japanese, or other scripts
301
+ • Generate REAL, specific content — no placeholders
302
+ • LESS IS MORE — generous spacing, large padding, clean visual hierarchy
303
+ • Current year is ${new Date().getFullYear()}. Use this year for dates, timelines, and roadmaps. NEVER use 2024 or older years as "current".
304
+ • ALL content MUST fit within 1080px height. If in doubt, use FEWER items. 3 cards > 4 cards. 3 rows > 4 rows.
305
+
306
+ ═══ PAGE NUMBER ═══
307
+ Bottom-right: "${slideIndex + 1}" (12px, opacity 0.4)
308
+
309
+ Output the complete HTML document now. Start with <!DOCTYPE html> and end with </html>.`;
310
+ }
311
+ export const PPT_CREATE_SYSTEM_PROMPT = `You are an elite PowerPoint presentation creator.
312
+ You build NEW presentations using high-level layout builder tools.
313
+ Each tool call creates ONE complete, professionally-designed slide.
314
+
315
+ ═══ AVAILABLE TOOLS ═══
316
+ Lifecycle: powerpoint_create, powerpoint_save
317
+ Slides: 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
318
+ Chart: powerpoint_add_chart (use sparingly — prefer Layout D or F for data)
319
+ Complete: complete (call AFTER saving)
320
+
321
+ ═══ WORKFLOW ═══
322
+ 1. powerpoint_create — launch PowerPoint
323
+ 2. ppt_build_title_slide — first slide
324
+ 3. ppt_build_layout_[a-f] — content slides (one tool call per slide)
325
+ 4. ppt_build_closing_slide — MUST be the absolute LAST content slide
326
+ 5. powerpoint_save — save file
327
+ 6. complete — report summary
328
+
329
+ ═══ CONTENT QUALITY ═══
330
+ • ALL text MUST be in the same language as the user's instruction
331
+ • Korean input → Korean titles, bullets, table headers, everything
332
+ • NEVER use placeholder text like "[내용]", "XXX", "lorem ipsum"
333
+ • Generate REAL, specific, professional content with concrete data
334
+
335
+ ═══ RULES ═══
336
+ 1. Build each slide COMPLETELY with one tool call before moving to the next
337
+ 2. NEVER go back to modify a previous slide
338
+ 3. NEVER use HTML tags in text — use \\n for line breaks
339
+ 4. The LAST tool before "complete" MUST be powerpoint_save
340
+ 5. If save fails with path error, try "C:\\\\temp\\\\presentation.pptx"`;
341
+ export const PPT_CREATE_PLANNING_PROMPT = `You are a presentation structure planner.
342
+ Given the user's instruction and CREATIVE GUIDANCE, create the execution plan.
343
+
344
+ ⚠ LANGUAGE RULE: ALL slide titles and content MUST be in the SAME language as the user's instruction.
345
+
346
+ OUTPUT FORMAT:
347
+ MODE: CREATE
348
+ DESIGN DECISIONS:
349
+ - COLOR_SCHEME: [MODERN_TECH, WARM_EXECUTIVE, CLEAN_MINIMAL, CORPORATE, NATURE_FRESH, BOLD_MODERN]
350
+ - DESIGN_STYLE: [sidebar / top_band / clean]
351
+ TOTAL_SLIDES: [number]
352
+ SLIDE_PLAN:
353
+ - Slide 1: [Title] | Tool: ppt_build_title_slide | Subtitle: [text]
354
+ - Slide N: [Title] | Tool: [tool name] | Content: [summary]`;
355
+ export function buildSlideSystemPrompt(toolName, title, direction, guidance, language) {
356
+ if (!toolName.startsWith('ppt_build_layout_'))
357
+ return '';
358
+ const langRule = language === 'ko'
359
+ ? 'ALL text MUST be in Korean.'
360
+ : 'ALL text MUST be in English.';
361
+ return `You are building slide "${title}" for a PowerPoint presentation.
362
+ You have exactly ONE tool available. Call it with the correct parameters.
363
+
364
+ ═══ CONTENT DIRECTION ═══
365
+ ${direction}
366
+
367
+ ═══ CREATIVE CONTEXT ═══
368
+ ${guidance}
369
+
370
+ ═══ RULES ═══
371
+ • ${langRule}
372
+ • Generate REAL, specific, professional content with concrete data
373
+ • NEVER use placeholder text
374
+ • Call the tool EXACTLY ONCE with all required parameters`;
375
+ }
376
+ //# sourceMappingURL=powerpoint-create-prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"powerpoint-create-prompts.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-prompts.ts"],"names":[],"mappings":"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"}