hanseol-dev 5.0.2-dev.6 → 5.0.2-dev.60

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 +673 -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 +285 -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 +454 -44
  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 -15
  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 +1 -0
  83. package/dist/tools/office/powerpoint-client.d.ts.map +1 -1
  84. package/dist/tools/office/powerpoint-client.js +53 -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 +11 -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.\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 CONTENT DENSITY RULES \u2550\u2550\u2550\n\u26A0 Each slide must display a MANAGEABLE amount of information:\n \u2022 Card grids: maximum 4 cards per slide (2\u00D72 grid preferred for 4 items), 3-4 bullets per card max\n \u2022 Tables: maximum 5 data rows \u00D7 4 columns. Put items as ROWS, metrics as columns.\n \u2022 Timeline/Roadmap: maximum 4-5 milestones per slide. If more needed, split into 2 slides.\n \u2022 Comparison/Competition: put competitors as ROWS in a table (not columns). Max 4-5 competitor rows.\n \u2022 Data/metrics: maximum 3-4 big numbers per slide\n\u26A0 content_direction MUST specify the exact number of items AND the layout:\n \u2022 GOOD: \"3 cards in a row showing: [item1], [item2], [item3]\"\n \u2022 GOOD: \"Comparison table with 4 rows (competitors) \u00D7 3 columns (metrics)\"\n \u2022 BAD: \"show all the company's products and features\" (too vague, will overflow)\n \u2022 BAD: \"compare 5 companies side by side in columns\" (too many columns, will be unreadable)\n\n\u2550\u2550\u2550 TITLE & CLOSING SLIDE FORMAT \u2550\u2550\u2550\n\u26A0 Title slide (FIRST):\n \u2022 title: The company name or presentation topic (rendered at 96px by the system)\n \u2022 content_direction: ONLY the subtitle/tagline text (1-2 lines max, under 120 chars). Example: \"AI \uAE30\uBC18 \uC758\uB8CC \uC9C4\uB2E8 \uD601\uC2E0 \uD50C\uB7AB\uD3FC\"\n \u2022 Do NOT include visual/layout instructions \u2014 the title slide 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: The company/topic name to display below the thank-you text\n \u2022 Do NOT include visual/layout instructions \u2014 the closing slide 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,09OA+GmC,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,CA8ER;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,285 @@
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
+ ═══ CONTENT DENSITY RULES ═══
96
+ ⚠ Each slide must display a MANAGEABLE amount of information:
97
+ • Card grids: maximum 4 cards per slide (2×2 grid preferred for 4 items), 3-4 bullets per card max
98
+ • Tables: maximum 5 data rows × 4 columns. Put items as ROWS, metrics as columns.
99
+ • Timeline/Roadmap: maximum 4-5 milestones per slide. If more needed, split into 2 slides.
100
+ • Comparison/Competition: put competitors as ROWS in a table (not columns). Max 4-5 competitor rows.
101
+ • Data/metrics: maximum 3-4 big numbers per slide
102
+ ⚠ content_direction MUST specify the exact number of items AND the layout:
103
+ • GOOD: "3 cards in a row showing: [item1], [item2], [item3]"
104
+ • GOOD: "Comparison table with 4 rows (competitors) × 3 columns (metrics)"
105
+ • BAD: "show all the company's products and features" (too vague, will overflow)
106
+ • BAD: "compare 5 companies side by side in columns" (too many columns, will be unreadable)
107
+
108
+ ═══ TITLE & CLOSING SLIDE FORMAT ═══
109
+ ⚠ Title slide (FIRST):
110
+ • title: The company name or presentation topic (rendered at 96px by the system)
111
+ • content_direction: ONLY the subtitle/tagline text (1-2 lines max, under 120 chars). Example: "AI 기반 의료 진단 혁신 플랫폼"
112
+ • Do NOT include visual/layout instructions — the title slide uses a fixed premium template
113
+ ⚠ Closing slide (LAST):
114
+ • title: "감사합니다" (Korean) or "Thank You" (English)
115
+ • content_direction: The company/topic name to display below the thank-you text
116
+ • Do NOT include visual/layout instructions — the closing slide uses a fixed premium template
117
+
118
+ ═══ LAYOUT VARIETY ═══
119
+ ⚠ Vary the visual approach across slides. Do NOT use the same card-grid layout for every slide.
120
+ Suggested variety: hero section, 2-column split, 3-card row, 2×2 grid, big-number spotlight,
121
+ comparison table, timeline with icons, full-width data bar, centered quote/highlight
122
+
123
+ ═══ COLOR PALETTE RULES ═══
124
+ ⚠ NEVER use placeholder/example colors. EVERY presentation must have a UNIQUE palette:
125
+ • Medical/Health: blues + greens (#0B5394, #27AE60)
126
+ • Tech/AI: purples + cyans (#6C63FF, #00BCD4)
127
+ • Finance: navy + gold (#1A237E, #F4A300)
128
+ • Education: teal + orange (#00796B, #FF7043)
129
+ • Marketing: coral + purple (#FF6B6B, #7C3AED)
130
+ ⚠ Choose colors that MATCH the specific topic. Generic blue = LAZY.
131
+ ⚠ Ensure accent_color has HIGH contrast with primary_color.
132
+
133
+ ═══ HARD RULES ═══
134
+ ⚠ First slide MUST be type "title"
135
+ ⚠ Last slide MUST be type "closing" with "감사합니다"/"Thank You" as title
136
+ ⚠ ALL titles and content_direction MUST be in the SAME language as the user's instruction
137
+ ⚠ content_direction: include SPECIFIC data, names, numbers AND visual layout hints AND item count
138
+ ⚠ HARD MAXIMUM: 15 slides total. Slides beyond 15 are DISCARDED by the system. Aim for 10-12.
139
+ ⚠ Each slide's content_direction must be unique and substantive — no generic placeholders
140
+
141
+ Output ONLY the JSON object. No preamble, no markdown fences, no explanation.`;
142
+ export function buildSlideHtmlPrompt(slideTitle, contentDirection, design, slideIndex, totalSlides, language) {
143
+ const langRule = language === 'ko'
144
+ ? 'ALL visible text MUST be in Korean. Write naturally in Korean.'
145
+ : 'ALL visible text MUST be in English.';
146
+ return `You are a world-class web designer creating a presentation slide as a complete HTML page.
147
+ Output ONLY the complete HTML document — nothing else. No explanation, no markdown fences.
148
+
149
+ ═══ SLIDE INFO ═══
150
+ Title: "${slideTitle}"
151
+ Slide ${slideIndex + 1} of ${totalSlides}
152
+
153
+ ═══ CONTENT DIRECTION ═══
154
+ ${contentDirection}
155
+
156
+ ═══ DESIGN SYSTEM ═══
157
+ Primary: ${design.primary_color}
158
+ Accent: ${design.accent_color}
159
+ Background: ${design.background_color}
160
+ Text: ${design.text_color}
161
+ Accent Light: ${design.accent_light}
162
+ Gradient End: ${design.gradient_end}
163
+ Title Font: ${design.font_title}
164
+ Body Font: ${design.font_body}
165
+ Mood: ${design.mood}
166
+ Notes: ${design.design_notes}
167
+
168
+ ═══ TECHNICAL REQUIREMENTS ═══
169
+ 1. Output a complete HTML document: <!DOCTYPE html> through </html>
170
+ 2. Viewport: exactly 1920px wide × 1080px tall. Set body/html to exactly this size with overflow:hidden
171
+ 3. ALL styling must be inline CSS in a <style> tag — no external resources
172
+ 4. System fonts ONLY: "${design.font_title}", "${design.font_body}", "Segoe UI", "Malgun Gothic", Arial, sans-serif
173
+ 5. NO external images, icons, fonts, or scripts. NO <img> tags with URLs.
174
+ 6. Use CSS for all visual elements: gradients, shapes, shadows, borders, pseudo-elements
175
+
176
+ ═══ DESIGN REQUIREMENTS ═══
177
+ 1. Use the EXACT colors from the design system above
178
+ 2. Title text: 48-64px, bold, using the title font
179
+ 3. Body text: 24-32px, using the body font. Minimum text size: 20px (no text smaller than 20px — reduce content if needed)
180
+ 4. Use CSS gradients (linear-gradient, radial-gradient) for visual richness
181
+ 5. Use box-shadow for depth and card effects
182
+ 6. Use border-radius (12-20px) for modern rounded elements
183
+ 7. Use flexbox or CSS grid for layout — create visual hierarchy
184
+ 8. Generous padding (60-80px from edges) — content should NOT touch edges
185
+ 9. Create VISUAL ELEMENTS with CSS: colored cards, accent bars, decorative shapes, numbered circles
186
+ 10. Each slide must look UNIQUE — vary layouts, proportions, and visual elements
187
+ 11. For data: use styled div-based tables, card grids, or metric displays — NOT plain text lists
188
+ 12. Subtle decorative elements: corner accents, gradient overlays, geometric shapes using CSS
189
+ 13. All visual elements (bars, charts, numbers) must have at least 20px gap between them — NO overlapping
190
+
191
+ ═══ ABSOLUTE LAYOUT LIMITS — VIOLATION = FAILURE ═══
192
+ • MAXIMUM 3 items side by side in any horizontal row. NEVER 4, 5, 6, or 7 columns.
193
+ - 2 items: use 2-column (50/50 or 60/40) split
194
+ - 3 items: use 3-column with min 350px each
195
+ - 4 items: use 2×2 GRID (2 rows × 2 columns), NOT 4 columns in a row
196
+ - 5+ items: use 2×3 grid or vertical list — NEVER put all in one row
197
+ • Comparison/Competition tables: put competitors as ROWS (vertical), NOT columns. Example:
198
+ | Company | Metric 1 | Metric 2 | Metric 3 |
199
+ Put EACH competitor as one ROW. Do NOT create 5+ columns for companies.
200
+ • Timeline/Roadmap: MAXIMUM 4 steps in a horizontal row. Use vertical layout for 5+.
201
+ • Table: MAXIMUM 5 data rows. Minimum cell padding: 12px. Min column width: 150px.
202
+ • Cards: MAXIMUM 3-4 bullet points per card. Each bullet MUST be 1 line only.
203
+ • Minimum element width: 300px for cards, 150px for table columns
204
+ • ALL content must end ABOVE y=980px — leave 100px bottom margin. If content overflows, REDUCE item count.
205
+ • NEVER create bar chart labels that overlap with bars — position labels ABOVE or BELOW
206
+ • If your content doesn't fit, REMOVE items rather than shrinking text below 20px
207
+
208
+ ═══ CONTENT RULES ═══
209
+ • ${langRule}
210
+ • Generate REAL, specific, professional content — NO placeholders like "[내용]" or "Lorem ipsum"
211
+ • Fill ALL areas with actual content — no empty sections
212
+ • Keep text readable: sufficient contrast, appropriate sizes, minimum 20px for body text
213
+ • Balance text and whitespace — do not overcrowd. Max 70% content area, 30% whitespace.
214
+
215
+ ═══ SLIDE PAGE NUMBER ═══
216
+ Add a small page number "${slideIndex + 1}" in the bottom-right corner (12px, opacity 0.4)
217
+
218
+ Output the complete HTML document now. Start with <!DOCTYPE html> and end with </html>.`;
219
+ }
220
+ export const PPT_CREATE_SYSTEM_PROMPT = `You are an elite PowerPoint presentation creator.
221
+ You build NEW presentations using high-level layout builder tools.
222
+ Each tool call creates ONE complete, professionally-designed slide.
223
+
224
+ ═══ AVAILABLE TOOLS ═══
225
+ Lifecycle: powerpoint_create, powerpoint_save
226
+ 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
227
+ Chart: powerpoint_add_chart (use sparingly — prefer Layout D or F for data)
228
+ Complete: complete (call AFTER saving)
229
+
230
+ ═══ WORKFLOW ═══
231
+ 1. powerpoint_create — launch PowerPoint
232
+ 2. ppt_build_title_slide — first slide
233
+ 3. ppt_build_layout_[a-f] — content slides (one tool call per slide)
234
+ 4. ppt_build_closing_slide — MUST be the absolute LAST content slide
235
+ 5. powerpoint_save — save file
236
+ 6. complete — report summary
237
+
238
+ ═══ CONTENT QUALITY ═══
239
+ • ALL text MUST be in the same language as the user's instruction
240
+ • Korean input → Korean titles, bullets, table headers, everything
241
+ • NEVER use placeholder text like "[내용]", "XXX", "lorem ipsum"
242
+ • Generate REAL, specific, professional content with concrete data
243
+
244
+ ═══ RULES ═══
245
+ 1. Build each slide COMPLETELY with one tool call before moving to the next
246
+ 2. NEVER go back to modify a previous slide
247
+ 3. NEVER use HTML tags in text — use \\n for line breaks
248
+ 4. The LAST tool before "complete" MUST be powerpoint_save
249
+ 5. If save fails with path error, try "C:\\\\temp\\\\presentation.pptx"`;
250
+ export const PPT_CREATE_PLANNING_PROMPT = `You are a presentation structure planner.
251
+ Given the user's instruction and CREATIVE GUIDANCE, create the execution plan.
252
+
253
+ ⚠ LANGUAGE RULE: ALL slide titles and content MUST be in the SAME language as the user's instruction.
254
+
255
+ OUTPUT FORMAT:
256
+ MODE: CREATE
257
+ DESIGN DECISIONS:
258
+ - COLOR_SCHEME: [MODERN_TECH, WARM_EXECUTIVE, CLEAN_MINIMAL, CORPORATE, NATURE_FRESH, BOLD_MODERN]
259
+ - DESIGN_STYLE: [sidebar / top_band / clean]
260
+ TOTAL_SLIDES: [number]
261
+ SLIDE_PLAN:
262
+ - Slide 1: [Title] | Tool: ppt_build_title_slide | Subtitle: [text]
263
+ - Slide N: [Title] | Tool: [tool name] | Content: [summary]`;
264
+ export function buildSlideSystemPrompt(toolName, title, direction, guidance, language) {
265
+ if (!toolName.startsWith('ppt_build_layout_'))
266
+ return '';
267
+ const langRule = language === 'ko'
268
+ ? 'ALL text MUST be in Korean.'
269
+ : 'ALL text MUST be in English.';
270
+ return `You are building slide "${title}" for a PowerPoint presentation.
271
+ You have exactly ONE tool available. Call it with the correct parameters.
272
+
273
+ ═══ CONTENT DIRECTION ═══
274
+ ${direction}
275
+
276
+ ═══ CREATIVE CONTEXT ═══
277
+ ${guidance}
278
+
279
+ ═══ RULES ═══
280
+ • ${langRule}
281
+ • Generate REAL, specific, professional content with concrete data
282
+ • NEVER use placeholder text
283
+ • Call the tool EXACTLY ONCE with all required parameters`;
284
+ }
285
+ //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8EA+GgC,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;;;;;;yBAMH,MAAM,CAAC,UAAU,OAAO,MAAM,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqC7D,QAAQ;;;;;;;2BAOe,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"}