hanseol-dev 5.0.2-dev.7 → 5.0.2-dev.71
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.
- package/dist/agents/common/sub-agent.d.ts +21 -0
- package/dist/agents/common/sub-agent.d.ts.map +1 -1
- package/dist/agents/common/sub-agent.js +195 -10
- package/dist/agents/common/sub-agent.js.map +1 -1
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +1 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/office/excel-agent.d.ts +1 -1
- package/dist/agents/office/excel-agent.d.ts.map +1 -1
- package/dist/agents/office/excel-agent.js +6 -6
- package/dist/agents/office/excel-agent.js.map +1 -1
- package/dist/agents/office/excel-create-agent.d.ts +3 -0
- package/dist/agents/office/excel-create-agent.d.ts.map +1 -0
- package/dist/agents/office/excel-create-agent.js +38 -0
- package/dist/agents/office/excel-create-agent.js.map +1 -0
- package/dist/agents/office/excel-create-prompts.d.ts +4 -0
- package/dist/agents/office/excel-create-prompts.d.ts.map +1 -0
- package/dist/agents/office/excel-create-prompts.js +154 -0
- package/dist/agents/office/excel-create-prompts.js.map +1 -0
- package/dist/agents/office/index.d.ts +6 -3
- package/dist/agents/office/index.d.ts.map +1 -1
- package/dist/agents/office/index.js +6 -3
- package/dist/agents/office/index.js.map +1 -1
- package/dist/agents/office/powerpoint-agent.d.ts +1 -1
- package/dist/agents/office/powerpoint-agent.d.ts.map +1 -1
- package/dist/agents/office/powerpoint-agent.js +6 -6
- package/dist/agents/office/powerpoint-agent.js.map +1 -1
- package/dist/agents/office/powerpoint-create-agent.d.ts +3 -0
- package/dist/agents/office/powerpoint-create-agent.d.ts.map +1 -0
- package/dist/agents/office/powerpoint-create-agent.js +802 -0
- package/dist/agents/office/powerpoint-create-agent.js.map +1 -0
- package/dist/agents/office/powerpoint-create-prompts.d.ts +19 -0
- package/dist/agents/office/powerpoint-create-prompts.d.ts.map +1 -0
- package/dist/agents/office/powerpoint-create-prompts.js +353 -0
- package/dist/agents/office/powerpoint-create-prompts.js.map +1 -0
- package/dist/agents/office/prompts.d.ts +10 -3
- package/dist/agents/office/prompts.d.ts.map +1 -1
- package/dist/agents/office/prompts.js +452 -51
- package/dist/agents/office/prompts.js.map +1 -1
- package/dist/agents/office/word-agent.d.ts +1 -1
- package/dist/agents/office/word-agent.d.ts.map +1 -1
- package/dist/agents/office/word-agent.js +6 -6
- package/dist/agents/office/word-agent.js.map +1 -1
- package/dist/agents/office/word-create-agent.d.ts +3 -0
- package/dist/agents/office/word-create-agent.d.ts.map +1 -0
- package/dist/agents/office/word-create-agent.js +38 -0
- package/dist/agents/office/word-create-agent.js.map +1 -0
- package/dist/agents/office/word-create-prompts.d.ts +4 -0
- package/dist/agents/office/word-create-prompts.d.ts.map +1 -0
- package/dist/agents/office/word-create-prompts.js +164 -0
- package/dist/agents/office/word-create-prompts.js.map +1 -0
- package/dist/cli.js +3 -0
- package/dist/cli.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/pipe/pipe-runner.d.ts.map +1 -1
- package/dist/pipe/pipe-runner.js +20 -0
- package/dist/pipe/pipe-runner.js.map +1 -1
- package/dist/prompts/agents/planning.d.ts.map +1 -1
- package/dist/prompts/agents/planning.js +43 -15
- package/dist/prompts/agents/planning.js.map +1 -1
- package/dist/prompts/shared/tool-usage.d.ts.map +1 -1
- package/dist/prompts/shared/tool-usage.js +6 -3
- package/dist/prompts/shared/tool-usage.js.map +1 -1
- package/dist/prompts/system/plan-execute.js +1 -1
- package/dist/tools/office/excel-client.js +4 -4
- package/dist/tools/office/excel-tools/index.d.ts +2 -0
- package/dist/tools/office/excel-tools/index.d.ts.map +1 -1
- package/dist/tools/office/excel-tools/index.js +12 -0
- package/dist/tools/office/excel-tools/index.js.map +1 -1
- package/dist/tools/office/excel-tools/sheet-builders.d.ts +8 -0
- package/dist/tools/office/excel-tools/sheet-builders.d.ts.map +1 -0
- package/dist/tools/office/excel-tools/sheet-builders.js +414 -0
- package/dist/tools/office/excel-tools/sheet-builders.js.map +1 -0
- package/dist/tools/office/excel-tools.d.ts +1 -1
- package/dist/tools/office/excel-tools.d.ts.map +1 -1
- package/dist/tools/office/excel-tools.js +1 -1
- package/dist/tools/office/excel-tools.js.map +1 -1
- package/dist/tools/office/powerpoint-client.d.ts +1 -0
- package/dist/tools/office/powerpoint-client.d.ts.map +1 -1
- package/dist/tools/office/powerpoint-client.js +53 -10
- package/dist/tools/office/powerpoint-client.js.map +1 -1
- package/dist/tools/office/powerpoint-tools/export.d.ts.map +1 -1
- package/dist/tools/office/powerpoint-tools/export.js +16 -1
- package/dist/tools/office/powerpoint-tools/export.js.map +1 -1
- package/dist/tools/office/powerpoint-tools/index.d.ts +2 -0
- package/dist/tools/office/powerpoint-tools/index.d.ts.map +1 -1
- package/dist/tools/office/powerpoint-tools/index.js +11 -0
- package/dist/tools/office/powerpoint-tools/index.js.map +1 -1
- package/dist/tools/office/powerpoint-tools/launch.d.ts.map +1 -1
- package/dist/tools/office/powerpoint-tools/launch.js +2 -0
- package/dist/tools/office/powerpoint-tools/launch.js.map +1 -1
- package/dist/tools/office/powerpoint-tools/layout-builders.d.ts +12 -0
- package/dist/tools/office/powerpoint-tools/layout-builders.d.ts.map +1 -0
- package/dist/tools/office/powerpoint-tools/layout-builders.js +785 -0
- package/dist/tools/office/powerpoint-tools/layout-builders.js.map +1 -0
- package/dist/tools/office/powerpoint-tools/slides.js +1 -1
- package/dist/tools/office/powerpoint-tools/slides.js.map +1 -1
- package/dist/tools/office/powerpoint-tools.d.ts +1 -1
- package/dist/tools/office/powerpoint-tools.d.ts.map +1 -1
- package/dist/tools/office/powerpoint-tools.js +1 -1
- package/dist/tools/office/powerpoint-tools.js.map +1 -1
- package/dist/tools/office/word-client.js +4 -4
- package/dist/tools/office/word-tools/index.d.ts +4 -1
- package/dist/tools/office/word-tools/index.d.ts.map +1 -1
- package/dist/tools/office/word-tools/index.js +15 -0
- package/dist/tools/office/word-tools/index.js.map +1 -1
- package/dist/tools/office/word-tools/section-builders.d.ts +10 -0
- package/dist/tools/office/word-tools/section-builders.d.ts.map +1 -0
- package/dist/tools/office/word-tools/section-builders.js +421 -0
- package/dist/tools/office/word-tools/section-builders.js.map +1 -0
- package/dist/tools/office/word-tools.d.ts +1 -1
- package/dist/tools/office/word-tools.d.ts.map +1 -1
- package/dist/tools/office/word-tools.js +1 -1
- package/dist/tools/office/word-tools.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +7 -4
- package/dist/tools/registry.js.map +1 -1
- 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.\nAnalyze the user's request and produce a DESIGN SYSTEM and CONTENT PLAN.\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 - Visual approach hint (e.g., \"gradient hero section\", \"3-column card grid\", \"big number with ring chart\")\n7. DESIGN NOTES: Overall visual approach \u2014 use of gradients, shadows, card layouts, whitespace\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 = "You are a presentation structure planner. Output ONLY valid JSON \u2014 no markdown, no explanation, no code fences.\n\nGiven the user's instruction and CREATIVE GUIDANCE, produce a JSON object with this exact structure:\n\n{\n \"design\": {\n \"primary_color\": \"<CHOOSE: deep color matching the topic \u2014 NOT #1B2A4A>\",\n \"accent_color\": \"<CHOOSE: vibrant contrast color \u2014 NOT #00D4AA>\",\n \"background_color\": \"<CHOOSE: near-white or near-black or subtle tint>\",\n \"text_color\": \"<CHOOSE: must contrast with background>\",\n \"accent_light\": \"<CHOOSE: light tint of your accent color>\",\n \"gradient_end\": \"<CHOOSE: secondary gradient paired with primary>\",\n \"font_title\": \"Segoe UI\",\n \"font_body\": \"Malgun Gothic\",\n \"mood\": \"modern-minimal\",\n \"design_notes\": \"Describe your visual approach in 1-2 sentences\"\n },\n \"slides\": [\n { \"type\": \"title\", \"title\": \"...\", \"content_direction\": \"...\" },\n { \"type\": \"content\", \"title\": \"...\", \"content_direction\": \"...\" },\n { \"type\": \"closing\", \"title\": \"...\", \"content_direction\": \"...\" }\n ]\n}\n\n\u2550\u2550\u2550 FIELD DEFINITIONS \u2550\u2550\u2550\n\u2022 design.primary_color: Deep main color (headers, key elements)\n\u2022 design.accent_color: Vibrant contrast (highlights, CTAs)\n\u2022 design.background_color: Page background (near white, near black, or subtle tint)\n\u2022 design.text_color: Main text color (must contrast with background)\n\u2022 design.accent_light: Light tint for subtle section backgrounds\n\u2022 design.gradient_end: Paired gradient color for primary\n\u2022 design.font_title: System font for titles (Segoe UI, Arial, Georgia, Calibri)\n\u2022 design.font_body: System font for body (Malgun Gothic, Segoe UI, Arial, Calibri)\n\u2022 design.mood: One of modern-minimal, bold-energetic, corporate-elegant, warm-friendly, academic-clean\n\u2022 design.design_notes: 1-2 sentence visual approach description\n\n\u2022 slides[].type: One of \"title\", \"content\", \"closing\"\n\u2022 slides[].title: Slide title in user's language (max 60 chars)\n\u2022 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...\")\n\n\u2550\u2550\u2550 SLIDE TYPE GUIDELINES \u2550\u2550\u2550\nEvery presentation MUST have: 1 title slide (first) + 1 closing slide (last)\nContent slides between them \u2014 aim for 10-15 total slides.\n\nFor each content slide, the content_direction should specify:\n- What information to show (specific text, numbers, names)\n- How to lay it out (cards, columns, table, big number, timeline, etc.)\n- This is the ONLY instruction the HTML-generating LLM will see, so be DETAILED\n\n\u2550\u2550\u2550 TEMPLATES \u2550\u2550\u2550\nPITCH DECK (startup/\uC0AC\uC5C5\uACC4\uD68D\uC11C/\uD53C\uCE58\uB371): 12 slides\n title \u2192 problem \u2192 solution \u2192 market size \u2192 product \u2192 business model \u2192 competition \u2192 traction \u2192 team \u2192 roadmap \u2192 investment ask \u2192 closing\n\nBUSINESS REPORT (\uBCF4\uACE0\uC11C/\uBD84\uC11D/\uC2E4\uC801): 10 slides\n title \u2192 executive summary \u2192 key metrics \u2192 analysis \u2192 comparison \u2192 spotlight \u2192 breakdown \u2192 action plan \u2192 recommendations \u2192 closing\n\nTRAINING (\uAD50\uC721/\uC138\uBBF8\uB098/\uAC15\uC758): 10 slides\n title \u2192 objectives \u2192 core concepts \u2192 key data \u2192 process \u2192 details \u2192 case study \u2192 summary \u2192 key takeaway \u2192 closing\n\nPRODUCT LAUNCH (\uC81C\uD488/\uCD9C\uC2DC/\uC18C\uAC1C): 11 slides\n title \u2192 market need \u2192 overview \u2192 key feature \u2192 features \u2192 metrics \u2192 use cases \u2192 pricing \u2192 timeline \u2192 CTA \u2192 closing\n\nGENERAL (\uBC1C\uD45C/\uD504\uB808\uC820\uD14C\uC774\uC158): 10 slides\n title \u2192 overview \u2192 key points \u2192 data \u2192 detail \u2192 spotlight \u2192 comparison \u2192 process \u2192 summary \u2192 closing\n\n\u2550\u2550\u2550 THE #1 RULE \u2014 ONE VISUAL APPROACH PER SLIDE \u2550\u2550\u2550\n\u26A0\u26A0\u26A0 Each slide's content_direction MUST describe EXACTLY ONE visual layout.\n The HTML renderer creates ONE visual element per slide \u2014 no more.\n If a topic needs 2 visual elements, SPLIT IT INTO 2 SLIDES.\n\nGOOD content_direction (ONE visual each):\n \u2713 \"3-column card grid: (1) \uC774\uBBF8\uC9C0 \uBD84\uC11D - \uC758\uB8CC \uC601\uC0C1 \uC815\uBC00 \uBD84\uC11D, (2) \uD328\uD134 \uC778\uC2DD - \uC9C8\uBCD1 \uC870\uAE30 \uBC1C\uACAC, (3) \uC608\uCE21 \uBD84\uC11D - \uBC1C\uC0DD \uD655\uB960 \uC608\uCE21\"\n \u2713 \"Comparison table: 4 rows (MediAI, CompA, CompB, CompC) \u00D7 3 columns (\uC815\uD655\uB3C4, \uC18D\uB3C4, \uB370\uC774\uD130\uB7C9). Highlight MediAI row.\"\n \u2713 \"3 big metric numbers: $45B \uC2DC\uC7A5 \uADDC\uBAA8, 28% \uC5F0\uD3C9\uADE0 \uC131\uC7A5\uB960, 5% 1\uB144 \uB0B4 \uC810\uC720\uC728 \uBAA9\uD45C\"\n \u2713 \"Bar chart showing revenue growth: 2025 $1.2M \u2192 2026 $3.6M \u2192 2027 $10.8M\"\n \u2713 \"Pricing table: 3 rows (Basic/Pro/Enterprise) \u00D7 4 columns (\uD50C\uB79C, \uB300\uC0C1, \uC6D4 \uAC00\uACA9, \uAE30\uB2A5)\"\n\nBAD content_direction (MULTIPLE visuals = OVERFLOW):\n \u2717 \"\uD14C\uC774\uBE14\uB85C \uC218\uC775 \uBAA8\uB378 + \uC218\uC775 \uADF8\uB798\uD504 + \uD30C\uD2B8\uB108\uC2ED + \uB77C\uC774\uC120\uC2F1\" \u2190 4 sections!\n \u2717 \"\uC6D0\uD615 \uCC28\uD2B8 + \uD22C\uC790 \uC870\uAC74 \uD14C\uC774\uBE14 + \uB2E8\uACC4\uC801 \uACC4\uD68D + \uBC14 \uCC28\uD2B8\" \u2190 4 sections!\n \u2717 \"\uB808\uC774\uB354 \uCC28\uD2B8 + \uB370\uC774\uD130 \uBC14 + \uCC28\uBCC4\uD654 \uCE74\uB4DC 4\uAC1C\" \u2190 3 sections!\n \u2717 \"\uC131\uC7A5 \uCC28\uD2B8 + \uC2DC\uC7A5 \uBD84\uD560 \uD30C\uC774 + \uAE30\uD68C \uD14D\uC2A4\uD2B8 + \uACFC\uC81C \uD14D\uC2A4\uD2B8\" \u2190 4 sections!\n\n\u2550\u2550\u2550 SPLITTING DENSE TOPICS INTO MULTIPLE SLIDES \u2550\u2550\u2550\n\u26A0 If a user topic has 4+ sub-items, you MUST split it into 2 slides:\n \u2022 \"\uBE44\uC988\uB2C8\uC2A4\uBAA8\uB378\" \u2192 \"\uC218\uC775 \uBAA8\uB378\" (pricing table) + \"\uC218\uC775 \uC131\uC7A5 \uC804\uB9DD\" (bar chart)\n \u2022 \"\uC2DC\uC7A5\uBD84\uC11D\" \u2192 \"\uC2DC\uC7A5 \uADDC\uBAA8\" (3 big metrics) + \"\uACE0\uAC1D \uC138\uBD84\uD654\" (pie chart or cards)\n \u2022 \"\uD22C\uC790\uC870\uAC74\" \u2192 \"\uD22C\uC790 \uC870\uAC74\" (table) + \"\uC790\uAE08 \uC0AC\uC6A9 \uACC4\uD68D\" (pie or bar chart)\n \u2022 \"\uACBD\uC7C1\uC6B0\uC704\" \u2192 \"\uACBD\uC7C1\uC0AC \uBE44\uAD50\" (comparison table) + \"\uD575\uC2EC \uCC28\uBCC4\uD654\" (3 card grid)\n \u2022 \"AI \uC194\uB8E8\uC158\" \u2192 \"\uD575\uC2EC \uAE30\uB2A5\" (3 card grid) + \"\uC9C4\uB2E8 \uD504\uB85C\uC138\uC2A4\" (process flow)\n This keeps each slide clean with generous whitespace.\n\n\u2550\u2550\u2550 CONTENT DENSITY LIMITS \u2550\u2550\u2550\n\u26A0 MAXIMUM 3 descriptive cards per slide.\n\u26A0 Team/People: MAXIMUM 3 people per slide.\n\u26A0 Tables: maximum 4 data rows \u00D7 4 columns.\n\u26A0 Timeline/Roadmap: maximum 4 milestones.\n\u26A0 Data/metrics: maximum 3 big numbers per slide.\n\u26A0 content_direction: max 2-3 sentences. ONE visual layout + specific content items.\n\n\u2550\u2550\u2550 TITLE & CLOSING SLIDE FORMAT \u2550\u2550\u2550\n\u26A0 Title slide (FIRST):\n \u2022 title: Company/topic name ONLY \u2014 max 3-4 words, rendered at 96px by system\n \u2713 GOOD: \"MediAI\" \u2713 GOOD: \"\uC0BC\uC131\uC804\uC790 AI\uC13C\uD130\"\n \u2717 BAD: \"MediAI - \uC778\uACF5\uC9C0\uB2A5\uC73C\uB85C \uC758\uB8CC \uD601\uC2E0\uC744 \uC120\uB3C4\uD569\uB2C8\uB2E4\" (too long, wraps at 96px)\n \u2022 content_direction: The actual subtitle/tagline TEXT. 1-2 lines, under 120 chars.\n \u2713 GOOD: \"AI \uAE30\uBC18 \uC758\uB8CC \uC9C4\uB2E8 \uD601\uC2E0 \uD50C\uB7AB\uD3FC \u2014 \uD22C\uC790\uC720\uCE58 \uBC1C\uD45C\uC790\uB8CC\"\n \u2717 BAD: \"\uD68C\uC0AC \uB85C\uACE0, \uC2AC\uB85C\uAC74, \uC5F0\uB77D\uCC98 \uC815\uBCF4\" (instruction, not subtitle)\n \u2022 Do NOT include visual/layout instructions \u2014 title uses a fixed premium template\n\u26A0 Closing slide (LAST):\n \u2022 title: \"\uAC10\uC0AC\uD569\uB2C8\uB2E4\" (Korean) or \"Thank You\" (English)\n \u2022 content_direction: Same company/topic name as title slide\n \u2022 Do NOT include visual/layout instructions \u2014 closing uses a fixed premium template\n\n\u2550\u2550\u2550 LAYOUT VARIETY \u2550\u2550\u2550\n\u26A0 Vary the visual approach across slides. Do NOT use the same card-grid layout for every slide.\n Suggested variety: hero section, 2-column split, 3-card row, 2\u00D72 grid, big-number spotlight,\n comparison table, timeline with icons, full-width data bar, centered quote/highlight\n\n\u2550\u2550\u2550 COLOR PALETTE RULES \u2550\u2550\u2550\n\u26A0 NEVER use placeholder/example colors. EVERY presentation must have a UNIQUE palette:\n \u2022 Medical/Health: blues + greens (#0B5394, #27AE60)\n \u2022 Tech/AI: purples + cyans (#6C63FF, #00BCD4)\n \u2022 Finance: navy + gold (#1A237E, #F4A300)\n \u2022 Education: teal + orange (#00796B, #FF7043)\n \u2022 Marketing: coral + purple (#FF6B6B, #7C3AED)\n\u26A0 Choose colors that MATCH the specific topic. Generic blue = LAZY.\n\u26A0 Ensure accent_color has HIGH contrast with primary_color.\n\n\u2550\u2550\u2550 HARD RULES \u2550\u2550\u2550\n\u26A0 First slide MUST be type \"title\"\n\u26A0 Last slide MUST be type \"closing\" with \"\uAC10\uC0AC\uD569\uB2C8\uB2E4\"/\"Thank You\" as title\n\u26A0 ALL titles and content_direction MUST be in the SAME language as the user's instruction\n\u26A0 content_direction: include SPECIFIC data, names, numbers AND visual layout hints AND item count\n\u26A0 HARD MAXIMUM: 15 slides total. Slides beyond 15 are DISCARDED by the system. Aim for 10-12.\n\u26A0 Each slide's content_direction must be unique and substantive \u2014 no generic placeholders\n\nOutput ONLY the JSON object. No preamble, no markdown fences, no explanation.";
|
|
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,yyDA4BA,CAAC;AAM3C,eAAO,MAAM,8BAA8B,oiUAyImC,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,CAwHR;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,353 @@
|
|
|
1
|
+
export const PPT_CREATE_ENHANCEMENT_PROMPT = `You are an elite presentation design consultant.
|
|
2
|
+
Analyze the user's request and produce a DESIGN SYSTEM and CONTENT PLAN.
|
|
3
|
+
|
|
4
|
+
OUTPUT FORMAT (structured text, max 1000 words):
|
|
5
|
+
|
|
6
|
+
1. DOCUMENT_TYPE: pitch deck / business report / training / product launch / general
|
|
7
|
+
2. AUDIENCE: Target audience description
|
|
8
|
+
3. MOOD: modern-minimal / bold-energetic / corporate-elegant / warm-friendly / academic-clean
|
|
9
|
+
|
|
10
|
+
4. COLOR PALETTE (6 hex values — choose colors that match the topic and mood):
|
|
11
|
+
- primary: Deep main color for headers and key elements (e.g., #1B2A4A for corporate, #6C63FF for tech)
|
|
12
|
+
- accent: Vibrant contrast color for highlights and CTAs (e.g., #00D4AA, #FF6B35)
|
|
13
|
+
- background: Page background — near white (#F8F9FA) or near black (#0D1117) or subtle tint
|
|
14
|
+
- text: Main text color — dark (#1A1A2E) for light bg, light (#E8E8E8) for dark bg
|
|
15
|
+
- accent_light: Light tint of accent for subtle backgrounds (e.g., #E8F5F0)
|
|
16
|
+
- gradient_end: Secondary gradient color paired with primary (e.g., #2D5F8A)
|
|
17
|
+
|
|
18
|
+
5. FONTS: title_font, body_font (system only: Segoe UI, Malgun Gothic, Arial, Calibri, Georgia)
|
|
19
|
+
6. SLIDE PLAN: 10-15 slides, each with:
|
|
20
|
+
- Slide number and type (title / content / data / comparison / process / highlight / table / closing)
|
|
21
|
+
- Title in user's language
|
|
22
|
+
- Specific content direction (what data, text, visuals to include)
|
|
23
|
+
- Visual approach hint (e.g., "gradient hero section", "3-column card grid", "big number with ring chart")
|
|
24
|
+
7. DESIGN NOTES: Overall visual approach — use of gradients, shadows, card layouts, whitespace
|
|
25
|
+
|
|
26
|
+
LANGUAGE RULE: ALL slide titles and content MUST be in the SAME language as the user's instruction.
|
|
27
|
+
Korean input → Korean output. English slogans for Korean input = FAILURE.
|
|
28
|
+
|
|
29
|
+
Output structured text only. No preamble.`;
|
|
30
|
+
export const PPT_STRUCTURED_PLANNING_PROMPT = `You are a presentation structure planner. Output ONLY valid JSON — no markdown, no explanation, no code fences.
|
|
31
|
+
|
|
32
|
+
Given the user's instruction and CREATIVE GUIDANCE, produce a JSON object with this exact structure:
|
|
33
|
+
|
|
34
|
+
{
|
|
35
|
+
"design": {
|
|
36
|
+
"primary_color": "<CHOOSE: deep color matching the topic — NOT #1B2A4A>",
|
|
37
|
+
"accent_color": "<CHOOSE: vibrant contrast color — NOT #00D4AA>",
|
|
38
|
+
"background_color": "<CHOOSE: near-white or near-black or subtle tint>",
|
|
39
|
+
"text_color": "<CHOOSE: must contrast with background>",
|
|
40
|
+
"accent_light": "<CHOOSE: light tint of your accent color>",
|
|
41
|
+
"gradient_end": "<CHOOSE: secondary gradient paired with primary>",
|
|
42
|
+
"font_title": "Segoe UI",
|
|
43
|
+
"font_body": "Malgun Gothic",
|
|
44
|
+
"mood": "modern-minimal",
|
|
45
|
+
"design_notes": "Describe your visual approach in 1-2 sentences"
|
|
46
|
+
},
|
|
47
|
+
"slides": [
|
|
48
|
+
{ "type": "title", "title": "...", "content_direction": "..." },
|
|
49
|
+
{ "type": "content", "title": "...", "content_direction": "..." },
|
|
50
|
+
{ "type": "closing", "title": "...", "content_direction": "..." }
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
═══ FIELD DEFINITIONS ═══
|
|
55
|
+
• design.primary_color: Deep main color (headers, key elements)
|
|
56
|
+
• design.accent_color: Vibrant contrast (highlights, CTAs)
|
|
57
|
+
• design.background_color: Page background (near white, near black, or subtle tint)
|
|
58
|
+
• design.text_color: Main text color (must contrast with background)
|
|
59
|
+
• design.accent_light: Light tint for subtle section backgrounds
|
|
60
|
+
• design.gradient_end: Paired gradient color for primary
|
|
61
|
+
• design.font_title: System font for titles (Segoe UI, Arial, Georgia, Calibri)
|
|
62
|
+
• design.font_body: System font for body (Malgun Gothic, Segoe UI, Arial, Calibri)
|
|
63
|
+
• design.mood: One of modern-minimal, bold-energetic, corporate-elegant, warm-friendly, academic-clean
|
|
64
|
+
• design.design_notes: 1-2 sentence visual approach description
|
|
65
|
+
|
|
66
|
+
• slides[].type: One of "title", "content", "closing"
|
|
67
|
+
• slides[].title: Slide title in user's language (max 60 chars)
|
|
68
|
+
• 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...")
|
|
69
|
+
|
|
70
|
+
═══ SLIDE TYPE GUIDELINES ═══
|
|
71
|
+
Every presentation MUST have: 1 title slide (first) + 1 closing slide (last)
|
|
72
|
+
Content slides between them — aim for 10-15 total slides.
|
|
73
|
+
|
|
74
|
+
For each content slide, the content_direction should specify:
|
|
75
|
+
- What information to show (specific text, numbers, names)
|
|
76
|
+
- How to lay it out (cards, columns, table, big number, timeline, etc.)
|
|
77
|
+
- This is the ONLY instruction the HTML-generating LLM will see, so be DETAILED
|
|
78
|
+
|
|
79
|
+
═══ TEMPLATES ═══
|
|
80
|
+
PITCH DECK (startup/사업계획서/피치덱): 12 slides
|
|
81
|
+
title → problem → solution → market size → product → business model → competition → traction → team → roadmap → investment ask → closing
|
|
82
|
+
|
|
83
|
+
BUSINESS REPORT (보고서/분석/실적): 10 slides
|
|
84
|
+
title → executive summary → key metrics → analysis → comparison → spotlight → breakdown → action plan → recommendations → closing
|
|
85
|
+
|
|
86
|
+
TRAINING (교육/세미나/강의): 10 slides
|
|
87
|
+
title → objectives → core concepts → key data → process → details → case study → summary → key takeaway → closing
|
|
88
|
+
|
|
89
|
+
PRODUCT LAUNCH (제품/출시/소개): 11 slides
|
|
90
|
+
title → market need → overview → key feature → features → metrics → use cases → pricing → timeline → CTA → closing
|
|
91
|
+
|
|
92
|
+
GENERAL (발표/프레젠테이션): 10 slides
|
|
93
|
+
title → overview → key points → data → detail → spotlight → comparison → process → summary → closing
|
|
94
|
+
|
|
95
|
+
═══ THE #1 RULE — ONE VISUAL APPROACH PER SLIDE ═══
|
|
96
|
+
⚠⚠⚠ Each slide's content_direction MUST describe EXACTLY ONE visual layout.
|
|
97
|
+
The HTML renderer creates ONE visual element per slide — no more.
|
|
98
|
+
If a topic needs 2 visual elements, SPLIT IT INTO 2 SLIDES.
|
|
99
|
+
|
|
100
|
+
GOOD content_direction (ONE visual each):
|
|
101
|
+
✓ "3-column card grid: (1) 이미지 분석 - 의료 영상 정밀 분석, (2) 패턴 인식 - 질병 조기 발견, (3) 예측 분석 - 발생 확률 예측"
|
|
102
|
+
✓ "Comparison table: 4 rows (MediAI, CompA, CompB, CompC) × 3 columns (정확도, 속도, 데이터량). Highlight MediAI row."
|
|
103
|
+
✓ "3 big metric numbers: $45B 시장 규모, 28% 연평균 성장률, 5% 1년 내 점유율 목표"
|
|
104
|
+
✓ "Bar chart showing revenue growth: 2025 $1.2M → 2026 $3.6M → 2027 $10.8M"
|
|
105
|
+
✓ "Pricing table: 3 rows (Basic/Pro/Enterprise) × 4 columns (플랜, 대상, 월 가격, 기능)"
|
|
106
|
+
|
|
107
|
+
BAD content_direction (MULTIPLE visuals = OVERFLOW):
|
|
108
|
+
✗ "테이블로 수익 모델 + 수익 그래프 + 파트너십 + 라이선싱" ← 4 sections!
|
|
109
|
+
✗ "원형 차트 + 투자 조건 테이블 + 단계적 계획 + 바 차트" ← 4 sections!
|
|
110
|
+
✗ "레이더 차트 + 데이터 바 + 차별화 카드 4개" ← 3 sections!
|
|
111
|
+
✗ "성장 차트 + 시장 분할 파이 + 기회 텍스트 + 과제 텍스트" ← 4 sections!
|
|
112
|
+
|
|
113
|
+
═══ SPLITTING DENSE TOPICS INTO MULTIPLE SLIDES ═══
|
|
114
|
+
⚠ If a user topic has 4+ sub-items, you MUST split it into 2 slides:
|
|
115
|
+
• "비즈니스모델" → "수익 모델" (pricing table) + "수익 성장 전망" (bar chart)
|
|
116
|
+
• "시장분석" → "시장 규모" (3 big metrics) + "고객 세분화" (pie chart or cards)
|
|
117
|
+
• "투자조건" → "투자 조건" (table) + "자금 사용 계획" (pie or bar chart)
|
|
118
|
+
• "경쟁우위" → "경쟁사 비교" (comparison table) + "핵심 차별화" (3 card grid)
|
|
119
|
+
• "AI 솔루션" → "핵심 기능" (3 card grid) + "진단 프로세스" (process flow)
|
|
120
|
+
This keeps each slide clean with generous whitespace.
|
|
121
|
+
|
|
122
|
+
═══ CONTENT DENSITY LIMITS ═══
|
|
123
|
+
⚠ MAXIMUM 3 descriptive cards per slide.
|
|
124
|
+
⚠ Team/People: MAXIMUM 3 people per slide.
|
|
125
|
+
⚠ Tables: maximum 4 data rows × 4 columns.
|
|
126
|
+
⚠ Timeline/Roadmap: maximum 4 milestones.
|
|
127
|
+
⚠ Data/metrics: maximum 3 big numbers per slide.
|
|
128
|
+
⚠ content_direction: max 2-3 sentences. ONE visual layout + specific content items.
|
|
129
|
+
|
|
130
|
+
═══ TITLE & CLOSING SLIDE FORMAT ═══
|
|
131
|
+
⚠ Title slide (FIRST):
|
|
132
|
+
• title: Company/topic name ONLY — max 3-4 words, rendered at 96px by system
|
|
133
|
+
✓ GOOD: "MediAI" ✓ GOOD: "삼성전자 AI센터"
|
|
134
|
+
✗ BAD: "MediAI - 인공지능으로 의료 혁신을 선도합니다" (too long, wraps at 96px)
|
|
135
|
+
• content_direction: The actual subtitle/tagline TEXT. 1-2 lines, under 120 chars.
|
|
136
|
+
✓ GOOD: "AI 기반 의료 진단 혁신 플랫폼 — 투자유치 발표자료"
|
|
137
|
+
✗ BAD: "회사 로고, 슬로건, 연락처 정보" (instruction, not subtitle)
|
|
138
|
+
• Do NOT include visual/layout instructions — title uses a fixed premium template
|
|
139
|
+
⚠ Closing slide (LAST):
|
|
140
|
+
• title: "감사합니다" (Korean) or "Thank You" (English)
|
|
141
|
+
• content_direction: Same company/topic name as title slide
|
|
142
|
+
• Do NOT include visual/layout instructions — closing uses a fixed premium template
|
|
143
|
+
|
|
144
|
+
═══ LAYOUT VARIETY ═══
|
|
145
|
+
⚠ Vary the visual approach across slides. Do NOT use the same card-grid layout for every slide.
|
|
146
|
+
Suggested variety: hero section, 2-column split, 3-card row, 2×2 grid, big-number spotlight,
|
|
147
|
+
comparison table, timeline with icons, full-width data bar, centered quote/highlight
|
|
148
|
+
|
|
149
|
+
═══ COLOR PALETTE RULES ═══
|
|
150
|
+
⚠ NEVER use placeholder/example colors. EVERY presentation must have a UNIQUE palette:
|
|
151
|
+
• Medical/Health: blues + greens (#0B5394, #27AE60)
|
|
152
|
+
• Tech/AI: purples + cyans (#6C63FF, #00BCD4)
|
|
153
|
+
• Finance: navy + gold (#1A237E, #F4A300)
|
|
154
|
+
• Education: teal + orange (#00796B, #FF7043)
|
|
155
|
+
• Marketing: coral + purple (#FF6B6B, #7C3AED)
|
|
156
|
+
⚠ Choose colors that MATCH the specific topic. Generic blue = LAZY.
|
|
157
|
+
⚠ Ensure accent_color has HIGH contrast with primary_color.
|
|
158
|
+
|
|
159
|
+
═══ HARD RULES ═══
|
|
160
|
+
⚠ First slide MUST be type "title"
|
|
161
|
+
⚠ Last slide MUST be type "closing" with "감사합니다"/"Thank You" as title
|
|
162
|
+
⚠ ALL titles and content_direction MUST be in the SAME language as the user's instruction
|
|
163
|
+
⚠ content_direction: include SPECIFIC data, names, numbers AND visual layout hints AND item count
|
|
164
|
+
⚠ HARD MAXIMUM: 15 slides total. Slides beyond 15 are DISCARDED by the system. Aim for 10-12.
|
|
165
|
+
⚠ Each slide's content_direction must be unique and substantive — no generic placeholders
|
|
166
|
+
|
|
167
|
+
Output ONLY the JSON object. No preamble, no markdown fences, no explanation.`;
|
|
168
|
+
export function buildSlideHtmlPrompt(slideTitle, contentDirection, design, slideIndex, totalSlides, language) {
|
|
169
|
+
const langRule = language === 'ko'
|
|
170
|
+
? 'ALL visible text MUST be in Korean. Write naturally in Korean.'
|
|
171
|
+
: 'ALL visible text MUST be in English.';
|
|
172
|
+
return `You are a world-class web designer creating a presentation slide as a complete HTML page.
|
|
173
|
+
Output ONLY the complete HTML document — nothing else. No explanation, no markdown fences.
|
|
174
|
+
|
|
175
|
+
═══ SLIDE INFO ═══
|
|
176
|
+
Title: "${slideTitle}"
|
|
177
|
+
Slide ${slideIndex + 1} of ${totalSlides}
|
|
178
|
+
|
|
179
|
+
═══ CONTENT DIRECTION ═══
|
|
180
|
+
${contentDirection}
|
|
181
|
+
|
|
182
|
+
═══ DESIGN SYSTEM ═══
|
|
183
|
+
Primary: ${design.primary_color}
|
|
184
|
+
Accent: ${design.accent_color}
|
|
185
|
+
Background: ${design.background_color}
|
|
186
|
+
Text: ${design.text_color}
|
|
187
|
+
Accent Light: ${design.accent_light}
|
|
188
|
+
Gradient End: ${design.gradient_end}
|
|
189
|
+
Title Font: ${design.font_title}
|
|
190
|
+
Body Font: ${design.font_body}
|
|
191
|
+
Mood: ${design.mood}
|
|
192
|
+
Notes: ${design.design_notes}
|
|
193
|
+
|
|
194
|
+
═══ TECHNICAL REQUIREMENTS ═══
|
|
195
|
+
1. Output a complete HTML document: <!DOCTYPE html> through </html>
|
|
196
|
+
2. Viewport: exactly 1920px × 1080px. Your FIRST CSS rules MUST be this exact boilerplate:
|
|
197
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
198
|
+
html, body { width: 1920px; height: 1080px; overflow: hidden; font-family: "${design.font_body}", "${design.font_title}", "Segoe UI", "Malgun Gothic", Arial, sans-serif; }
|
|
199
|
+
body { padding: 60px 80px; }
|
|
200
|
+
This is NON-NEGOTIABLE. Without it, the page may render at wrong size.
|
|
201
|
+
3. ALL styling must be inline CSS in a <style> tag — no external resources
|
|
202
|
+
4. System fonts ONLY: "${design.font_title}", "${design.font_body}", "Segoe UI", "Malgun Gothic", Arial, sans-serif
|
|
203
|
+
5. NO external images, icons, fonts, or scripts. NO <img> tags with URLs.
|
|
204
|
+
6. Use CSS for all visual elements: gradients, shapes, shadows, borders, pseudo-elements
|
|
205
|
+
7. NEVER use responsive/mobile CSS patterns:
|
|
206
|
+
- NO max-width on ANY element (NO max-width: 1200px; margin: 0 auto;)
|
|
207
|
+
- NO media queries
|
|
208
|
+
- NO percentage-based widths less than 80% on main containers
|
|
209
|
+
- NO wrapper divs with centered narrow width
|
|
210
|
+
- The page is EXACTLY 1920×1080. Use FIXED pixel widths (e.g., width: 1760px, not max-width: 1200px).
|
|
211
|
+
- The body IS your container. Put content directly in body with padding: 60px 80px.
|
|
212
|
+
|
|
213
|
+
═══ DESIGN REQUIREMENTS ═══
|
|
214
|
+
1. Use the EXACT colors from the design system above
|
|
215
|
+
2. Title text: 48-64px, bold, using the title font
|
|
216
|
+
3. Body text: 24-32px, using the body font. Minimum text size: 20px (no text smaller than 20px — reduce content if needed)
|
|
217
|
+
4. Use CSS gradients (linear-gradient, radial-gradient) for visual richness
|
|
218
|
+
5. Use box-shadow for depth and card effects
|
|
219
|
+
6. Use border-radius (12-20px) for modern rounded elements
|
|
220
|
+
7. Use flexbox or CSS grid for layout — create visual hierarchy
|
|
221
|
+
8. Generous padding (60-80px from edges) — content should NOT touch edges
|
|
222
|
+
9. Create VISUAL ELEMENTS with CSS: colored cards, accent bars, decorative shapes, numbered circles
|
|
223
|
+
10. Each slide must look UNIQUE — vary layouts, proportions, and visual elements
|
|
224
|
+
11. For data: use styled div-based tables, card grids, or metric displays — NOT plain text lists
|
|
225
|
+
12. Subtle decorative elements: corner accents, gradient overlays, geometric shapes using CSS
|
|
226
|
+
13. ZERO OVERLAP: All elements must have at least 20px gap. Never let icons, circles, or badges overlap text.
|
|
227
|
+
If an icon/badge is next to text, use flexbox with gap:12px — NOT absolute positioning.
|
|
228
|
+
14. PIE/DONUT CHARTS: Use ONLY this CSS technique — conic-gradient on a border-radius:50% div.
|
|
229
|
+
Example: background: conic-gradient(#1B4D8F 0% 40%, #00A896 40% 65%, #E8F5F0 65% 100%);
|
|
230
|
+
NEVER use overlapping divs, rotated rectangles, or clip-path for pie charts.
|
|
231
|
+
15. ⚠⚠⚠ CONTENT MUST FILL THE ENTIRE 1920×1080 SLIDE — THIS IS THE #1 VISUAL QUALITY RULE.
|
|
232
|
+
MANDATORY BODY CSS: body { display: flex; flex-direction: column; padding: 60px 80px; }
|
|
233
|
+
Then use flex: 1 on the main content area to stretch it vertically:
|
|
234
|
+
.title { ... } /* fixed height */
|
|
235
|
+
.content { flex: 1; display: flex; gap: 24px; } /* grows to fill remaining space */
|
|
236
|
+
.card { flex: 1; display: flex; flex-direction: column; padding: 40px; } /* each card fills height */
|
|
237
|
+
Cards MUST have min-height: 500px or use flex:1 to grow tall.
|
|
238
|
+
If content is sparse, use BIGGER fonts (title 64px, body 32px), bigger padding (40-60px) inside cards,
|
|
239
|
+
add a summary sentence, or add a decorative bottom bar.
|
|
240
|
+
✗ FAILURE: cards that stop at 40% height with 60% empty white space below.
|
|
241
|
+
✓ SUCCESS: cards that stretch from title area to bottom edge with generous internal spacing.
|
|
242
|
+
16. ALLOWED CHART TYPES (CSS only):
|
|
243
|
+
✓ Bar chart: Use div elements with varying height/width. Labels ABOVE bars.
|
|
244
|
+
✓ Donut/Pie chart: Use conic-gradient only.
|
|
245
|
+
✓ Progress bar: Use width% on a colored div inside a track.
|
|
246
|
+
✓ Metric display: Big numbers with labels.
|
|
247
|
+
✗ FORBIDDEN: Line charts, area charts, radar charts, scatter plots, any chart requiring SVG paths or CSS lines.
|
|
248
|
+
If content_direction asks for a line/area chart, use a BAR CHART or METRIC TABLE instead.
|
|
249
|
+
|
|
250
|
+
═══ ABSOLUTE LAYOUT LIMITS — VIOLATION = FAILURE ═══
|
|
251
|
+
• CRITICAL: Use body as the main container with padding: 60px 80px. Do NOT create a wrapper div.
|
|
252
|
+
body has overflow:hidden, so content beyond 1080px is invisible. Keep content within 960px height.
|
|
253
|
+
• ⚠⚠⚠ ONE VISUAL APPROACH PER SLIDE — THE MOST IMPORTANT RULE:
|
|
254
|
+
Your entire slide MUST use exactly ONE primary layout pattern. Choose ONE of these:
|
|
255
|
+
- A card grid (2-3 cards in a row)
|
|
256
|
+
- A data table (HTML <table>)
|
|
257
|
+
- A chart (bar chart OR pie chart — not both)
|
|
258
|
+
- A big-number display (2-3 metrics)
|
|
259
|
+
- A process/timeline flow
|
|
260
|
+
- A 2-column split (text left, visual right)
|
|
261
|
+
NEVER combine 2+ patterns. Table + chart = FAILURE. Cards + process flow = FAILURE.
|
|
262
|
+
If the content_direction mentions multiple patterns, use ONLY the FIRST one mentioned.
|
|
263
|
+
• MAXIMUM 3 descriptive cards per slide. Each card: title (24-28px bold) + 2-3 bullet points (20-22px).
|
|
264
|
+
• MAXIMUM 3 items side by side in any horizontal row.
|
|
265
|
+
• Team/People: MAXIMUM 3 people per slide.
|
|
266
|
+
• Tables: MAXIMUM 4 data rows. Min cell padding: 12px. Min column width: 150px.
|
|
267
|
+
• Timeline: MAXIMUM 4 steps in a horizontal row.
|
|
268
|
+
• Minimum text size: body 22px, bullets 20px, titles 24px. NEVER below 20px.
|
|
269
|
+
• ALL content must fit within 900px height. If it overflows, REMOVE items — do NOT shrink text.
|
|
270
|
+
• Bar chart labels: position ABOVE each bar. Never overlap.
|
|
271
|
+
|
|
272
|
+
═══ CONTENT RULES ═══
|
|
273
|
+
• ${langRule}
|
|
274
|
+
• ALL text content must be in Korean (한국어). Never use Chinese characters (漢字/한자), Japanese, or other scripts.
|
|
275
|
+
Use Korean words only: "맞춤" not "定制", "분석" not "分析".
|
|
276
|
+
• Generate REAL, specific, professional content — NO placeholders like "[내용]" or "Lorem ipsum"
|
|
277
|
+
• Fill ALL areas with actual content — no empty sections
|
|
278
|
+
• MINIMUM body text: 22px. MINIMUM any text: 20px.
|
|
279
|
+
• Generous spacing between elements. LESS IS MORE.
|
|
280
|
+
• If content_direction mentions multiple visual approaches, use ONLY the first/primary one.
|
|
281
|
+
Drop the rest. One clean visual > two cramped visuals.
|
|
282
|
+
|
|
283
|
+
═══ SLIDE PAGE NUMBER ═══
|
|
284
|
+
Add a small page number "${slideIndex + 1}" in the bottom-right corner (12px, opacity 0.4)
|
|
285
|
+
|
|
286
|
+
Output the complete HTML document now. Start with <!DOCTYPE html> and end with </html>.`;
|
|
287
|
+
}
|
|
288
|
+
export const PPT_CREATE_SYSTEM_PROMPT = `You are an elite PowerPoint presentation creator.
|
|
289
|
+
You build NEW presentations using high-level layout builder tools.
|
|
290
|
+
Each tool call creates ONE complete, professionally-designed slide.
|
|
291
|
+
|
|
292
|
+
═══ AVAILABLE TOOLS ═══
|
|
293
|
+
Lifecycle: powerpoint_create, powerpoint_save
|
|
294
|
+
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
|
|
295
|
+
Chart: powerpoint_add_chart (use sparingly — prefer Layout D or F for data)
|
|
296
|
+
Complete: complete (call AFTER saving)
|
|
297
|
+
|
|
298
|
+
═══ WORKFLOW ═══
|
|
299
|
+
1. powerpoint_create — launch PowerPoint
|
|
300
|
+
2. ppt_build_title_slide — first slide
|
|
301
|
+
3. ppt_build_layout_[a-f] — content slides (one tool call per slide)
|
|
302
|
+
4. ppt_build_closing_slide — MUST be the absolute LAST content slide
|
|
303
|
+
5. powerpoint_save — save file
|
|
304
|
+
6. complete — report summary
|
|
305
|
+
|
|
306
|
+
═══ CONTENT QUALITY ═══
|
|
307
|
+
• ALL text MUST be in the same language as the user's instruction
|
|
308
|
+
• Korean input → Korean titles, bullets, table headers, everything
|
|
309
|
+
• NEVER use placeholder text like "[내용]", "XXX", "lorem ipsum"
|
|
310
|
+
• Generate REAL, specific, professional content with concrete data
|
|
311
|
+
|
|
312
|
+
═══ RULES ═══
|
|
313
|
+
1. Build each slide COMPLETELY with one tool call before moving to the next
|
|
314
|
+
2. NEVER go back to modify a previous slide
|
|
315
|
+
3. NEVER use HTML tags in text — use \\n for line breaks
|
|
316
|
+
4. The LAST tool before "complete" MUST be powerpoint_save
|
|
317
|
+
5. If save fails with path error, try "C:\\\\temp\\\\presentation.pptx"`;
|
|
318
|
+
export const PPT_CREATE_PLANNING_PROMPT = `You are a presentation structure planner.
|
|
319
|
+
Given the user's instruction and CREATIVE GUIDANCE, create the execution plan.
|
|
320
|
+
|
|
321
|
+
⚠ LANGUAGE RULE: ALL slide titles and content MUST be in the SAME language as the user's instruction.
|
|
322
|
+
|
|
323
|
+
OUTPUT FORMAT:
|
|
324
|
+
MODE: CREATE
|
|
325
|
+
DESIGN DECISIONS:
|
|
326
|
+
- COLOR_SCHEME: [MODERN_TECH, WARM_EXECUTIVE, CLEAN_MINIMAL, CORPORATE, NATURE_FRESH, BOLD_MODERN]
|
|
327
|
+
- DESIGN_STYLE: [sidebar / top_band / clean]
|
|
328
|
+
TOTAL_SLIDES: [number]
|
|
329
|
+
SLIDE_PLAN:
|
|
330
|
+
- Slide 1: [Title] | Tool: ppt_build_title_slide | Subtitle: [text]
|
|
331
|
+
- Slide N: [Title] | Tool: [tool name] | Content: [summary]`;
|
|
332
|
+
export function buildSlideSystemPrompt(toolName, title, direction, guidance, language) {
|
|
333
|
+
if (!toolName.startsWith('ppt_build_layout_'))
|
|
334
|
+
return '';
|
|
335
|
+
const langRule = language === 'ko'
|
|
336
|
+
? 'ALL text MUST be in Korean.'
|
|
337
|
+
: 'ALL text MUST be in English.';
|
|
338
|
+
return `You are building slide "${title}" for a PowerPoint presentation.
|
|
339
|
+
You have exactly ONE tool available. Call it with the correct parameters.
|
|
340
|
+
|
|
341
|
+
═══ CONTENT DIRECTION ═══
|
|
342
|
+
${direction}
|
|
343
|
+
|
|
344
|
+
═══ CREATIVE CONTEXT ═══
|
|
345
|
+
${guidance}
|
|
346
|
+
|
|
347
|
+
═══ RULES ═══
|
|
348
|
+
• ${langRule}
|
|
349
|
+
• Generate REAL, specific, professional content with concrete data
|
|
350
|
+
• NEVER use placeholder text
|
|
351
|
+
• Call the tool EXACTLY ONCE with all required parameters`;
|
|
352
|
+
}
|
|
353
|
+
//# 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":"AAcA,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA4BH,CAAC;AAM3C,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8EAyIgC,CAAC;AAuB/E,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,gBAAwB,EACxB,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;QACZ,UAAU,GAAG,CAAC,OAAO,WAAW;;;EAGtC,gBAAgB;;;WAGP,MAAM,CAAC,aAAa;UACrB,MAAM,CAAC,YAAY;cACf,MAAM,CAAC,gBAAgB;QAC7B,MAAM,CAAC,UAAU;gBACT,MAAM,CAAC,YAAY;gBACnB,MAAM,CAAC,YAAY;cACrB,MAAM,CAAC,UAAU;aAClB,MAAM,CAAC,SAAS;QACrB,MAAM,CAAC,IAAI;SACV,MAAM,CAAC,YAAY;;;;;;iFAMqD,MAAM,CAAC,SAAS,OAAO,MAAM,CAAC,UAAU;;;;yBAIhG,MAAM,CAAC,UAAU,OAAO,MAAM,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuE7D,QAAQ;;;;;;;;;;;2BAWe,UAAU,GAAG,CAAC;;wFAE+C,CAAC;AACzF,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"}
|