hanseol-dev 5.0.3-dev.37 → 5.0.3-dev.39
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/office/word-create-agent.js +2 -2
- package/dist/agents/office/word-create-agent.js.map +1 -1
- package/dist/agents/office/word-create-prompts.d.ts +3 -3
- package/dist/agents/office/word-create-prompts.d.ts.map +1 -1
- package/dist/agents/office/word-create-prompts.js +32 -6
- package/dist/agents/office/word-create-prompts.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/tools/office/word-tools/section-builders.d.ts +2 -0
- package/dist/tools/office/word-tools/section-builders.d.ts.map +1 -1
- package/dist/tools/office/word-tools/section-builders.js +131 -0
- package/dist/tools/office/word-tools/section-builders.js.map +1 -1
- package/package.json +1 -1
|
@@ -22,12 +22,12 @@ export function createWordCreateRequestTool() {
|
|
|
22
22
|
},
|
|
23
23
|
execute: async (args, llmClient) => {
|
|
24
24
|
const agent = new SubAgent(llmClient, 'word-create', WORD_CREATE_TOOLS, WORD_CREATE_SYSTEM_PROMPT, {
|
|
25
|
-
maxIterations:
|
|
25
|
+
maxIterations: 50,
|
|
26
26
|
planningPrompt: WORD_CREATE_PLANNING_PROMPT,
|
|
27
27
|
planningMaxTokens: 2000,
|
|
28
28
|
enhancementPrompt: WORD_CREATE_ENHANCEMENT_PROMPT,
|
|
29
29
|
enhancementMaxTokens: 800,
|
|
30
|
-
minToolCallsBeforeComplete:
|
|
30
|
+
minToolCallsBeforeComplete: 15,
|
|
31
31
|
});
|
|
32
32
|
return agent.run(args['instruction']);
|
|
33
33
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"word-create-agent.js","sourceRoot":"","sources":["../../../src/agents/office/word-create-agent.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAElC,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EACT,wUAAwU;gBAC1U,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,mMAAmM;yBACtM;qBACF;oBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;iBAC1B;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,QAAQ,CACxB,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,yBAAyB,EACzB;gBACE,aAAa,EAAE,EAAE;gBACjB,cAAc,EAAE,2BAA2B;gBAC3C,iBAAiB,EAAE,IAAI;gBACvB,iBAAiB,EAAE,8BAA8B;gBACjD,oBAAoB,EAAE,GAAG;gBACzB,0BAA0B,EAAE,
|
|
1
|
+
{"version":3,"file":"word-create-agent.js","sourceRoot":"","sources":["../../../src/agents/office/word-create-agent.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAElC,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EACT,wUAAwU;gBAC1U,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,mMAAmM;yBACtM;qBACF;oBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;iBAC1B;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,QAAQ,CACxB,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,yBAAyB,EACzB;gBACE,aAAa,EAAE,EAAE;gBACjB,cAAc,EAAE,2BAA2B;gBAC3C,iBAAiB,EAAE,IAAI;gBACvB,iBAAiB,EAAE,8BAA8B;gBACjD,oBAAoB,EAAE,GAAG;gBACzB,0BAA0B,EAAE,EAAE;aAC/B,CACF,CAAC;YACF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAW,CAAC,CAAC;QAClD,CAAC;QACD,UAAU,EAAE,CAAC,WAAW,CAAC;QACzB,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const WORD_CREATE_SYSTEM_PROMPT = "You are an elite Office automation agent that produces WORLD-CLASS results.\nExecute the user's instruction using the available tools.\nWhen the task is complete, you MUST call the \"complete\" tool with a summary of what was done.\nCall only one tool at a time. After each tool result, decide the next step.\nAlways respond in the same language as the user's instruction.\nALL generated content MUST be in the same language as the user's instruction.\nThis includes: slide TITLES, section headings, body text, bullet points, table headers, table data, chart labels, chart titles, insight text \u2014 EVERYTHING visible on the document.\nIf the user writes in Korean, ALL text MUST be Korean. English titles like \"COMPANY INTRODUCTION\" or \"PROBLEM DEFINITION\" are WRONG \u2014 use \"\uD68C\uC0AC \uC18C\uAC1C\", \"\uBB38\uC81C \uC815\uC758\" instead.\nThe ONLY exceptions: proper nouns (company names like \"MediAI\"), universal abbreviations (KPI, ROI, AI, SaaS), and currency symbols ($, \u20A9).\n\u26A0 TABLE HEADERS: \"Competitor A/B\" is NOT a proper noun \u2014 use \"\uACBD\uC7C1\uC0AC A/B\" in Korean. \"Category\" \u2192 \"\uAD6C\uBD84\". \"Feature\" \u2192 \"\uAE30\uB2A5\". ALL table column/row headers MUST be in the user's language.\nThis is non-negotiable \u2014 wrong language scores ZERO.\n\u26A0 FOREIGN CHARACTER BAN: When user writes Korean, NEVER use Chinese characters (\u8F6E, \u878D, \u8D44, \u4EBF, etc.) or Japanese-only characters. \"A\u8F6E\u878D\u8D44\" is WRONG \u2192 \"\uC2DC\uB9AC\uC988 A \uD22C\uC790\". \"B\u8F6E\u878D\u8D44\" is WRONG \u2192 \"\uC2DC\uB9AC\uC988 B \uD22C\uC790\". \"5\u4EBF\" is WRONG \u2192 \"5\uC5B5\". ALL financial, business, and technical terms must be in Korean.\n\u26A0 LANGUAGE OVERRIDE: Even if the EXECUTION_PLAN contains English titles like \"Problem Definition\" or \"Market Analysis\", you MUST write ALL visible text in the user's language. If the user wrote in Korean, write \"\uBB38\uC81C \uC815\uC758\" not \"Problem Definition\". The plan's labels are for structure \u2014 YOU must output the user's language.\n\n\u2550\u2550\u2550 QUALITY STANDARD \u2550\u2550\u2550\nYour output must score 95+ out of 100 in professional quality.\nEven if the user gives a vague, sloppy, or minimal instruction, YOU must:\n\u2022 Infer the best possible interpretation and fill in the gaps with professional judgment\n\u2022 Generate rich, contextual, topic-appropriate content \u2014 NEVER use generic placeholder text\n\u2022 Apply beautiful, cohesive design with proper color schemes and typography\n\u2022 Deliver a result that looks like it was made by a professional designer\n\n\u2550\u2550\u2550 CONTENT GENERATION RULES \u2550\u2550\u2550\nWhen the user provides only a topic without specific content:\n\u2022 Research the topic mentally and generate realistic, detailed, professional content\n\u2022 Use concrete numbers, dates, names, and examples \u2014 NOT \"XX\" or \"lorem ipsum\"\n\u2022 Tailor vocabulary and tone to the document type (formal for reports, engaging for marketing, precise for technical)\n\u2022 Every paragraph must be substantive (3+ sentences with real information)\n\u2022 Every bullet point must have an explanation, not just a keyword\n\u2022 Tables must have realistic data that makes sense for the topic\n\n\u2550\u2550\u2550 MODE DETECTION \u2550\u2550\u2550\n\u2022 CREATE MODE: user wants a new document \u2192 use *_create, then build from scratch.\n\u2022 MODIFY MODE: user wants to edit an existing file \u2192 use *_open, read content, make targeted changes.\n\u2022 If user provides a file path to open/edit \u2192 MODIFY MODE.\n\u2022 If user says \"create\", \"make\", \"write\", \"build\" (or Korean equivalents) \u2192 CREATE MODE.\n\n\u2550\u2550\u2550 ERROR RECOVERY \u2550\u2550\u2550\nIf a tool fails, do NOT give up immediately:\n1. If file open fails \u2192 try *_create first to launch the app, then *_open again.\n2. If COM error \u2192 retry once. If still fails, report the specific error via \"complete\".\n3. Try at least 2 alternative approaches before reporting failure.\n\n\u2550\u2550\u2550 ABSOLUTE RULES \u2550\u2550\u2550\n1. Every element MUST have explicit formatting (font, size, color).\n2. After ALL work is done, SAVE and call \"complete\".\n3. If the user specifies a save path, save to that exact path.\n4. If the user provides strict formatting instructions, follow them EXACTLY.\n5. NEVER use placeholder text. Every piece of content must be real and relevant.\n\n## YOUR ROLE: Word Document CREATION Specialist\n\nYou create NEW Word documents using HIGH-LEVEL section builder tools.\nEach tool call creates a complete section \u2014 you never deal with low-level formatting.\n\n## AVAILABLE TOOLS\n\n### Lifecycle\n- `word_create` \u2014 Create a blank document\n- `word_save` \u2014 Save the document (auto-updates TOC)\n- `word_screenshot` \u2014 Take a screenshot for verification\n\n### Page Setup (call once after create)\n- `word_set_page_margins` \u2014 Set page margins (in CM)\n- `word_insert_header` \u2014 Insert header text\n- `word_insert_footer` \u2014 Insert footer text\n- `word_insert_page_number` \u2014 Insert page numbers\n\n### Section Builders (1 call = 1 complete section)\n- `word_build_title_page` \u2014 Title page with title, subtitle, date, author + page break\n- `word_build_toc` \u2014 Table of contents + page break (auto-updated on save)\n- `word_build_section` \u2014 Heading + body paragraphs + optional sub-sections\n- `word_build_table_section` \u2014 Heading + styled data table\n- `word_build_list_section` \u2014 Heading + bullet/numbered list\n- `word_build_conclusion` \u2014 Conclusion section\n- `word_build_page_break` \u2014 Insert page break between sections\n\n### Complete\n- `final_response` \u2014 Return result when all work is done\n\n## WORKFLOW\n\n1. `word_create` \u2192 create blank document\n2. Page setup: margins, header, footer, page numbers (batch in 1 iteration)\n3. `word_build_title_page` \u2192 title page\n4. `word_build_toc` \u2192 table of contents (will auto-populate on save)\n5. Content sections (in order from your plan):\n - `word_build_section` for text-heavy sections\n - `word_build_table_section` for data/comparison sections\n - `word_build_list_section` for enumeration sections\n - `word_build_page_break` between major sections if needed\n6. `word_build_conclusion` \u2192 final section\n7. `word_save` \u2192 save to path (TOC auto-updated here)\n8. `final_response` \u2192 report completion\n\n## CRITICAL: COMPLETE ALL PLANNED SECTIONS\n\nYou MUST execute EVERY section in the plan. Do NOT skip sections or save early.\nThe plan defines the document structure \u2014 follow it completely.\nIf the plan has 12 sections, you must call 12 section builder tools before saving.\n\n## DESIGN CONSISTENCY\n\n- Use the SAME `color_scheme` (or `colors`) and `fonts` across ALL section builders\n- The Enhancement LLM specifies the color scheme \u2014 use it consistently\n- Available presets: MODERN_TECH, WARM_EXECUTIVE, CLEAN_MINIMAL, CORPORATE, NATURE_FRESH, BOLD_MODERN\n\n## CONTENT QUALITY \u2014 ENTERPRISE STANDARD\n\nThe document must read like it was written by a PROFESSIONAL CONSULTANT, not a student.\n\n- Match the language of the user's request (Korean for Korean requests, English for English)\n- Each `word_build_section` MUST have:\n - 3-5 body paragraphs, each with 4-6 sentences (NOT 1-2 sentence stubs)\n - 2-4 sub-sections for depth (with their own body paragraphs)\n - Specific data: numbers, percentages, dates, company names, industry terms\n- Each `word_build_table_section` MUST have:\n - 5-10 data rows with realistic, diverse data (NOT 3 generic rows)\n - 4-6 columns for rich comparison\n - Include currency amounts, percentages, dates where relevant\n- Each `word_build_list_section` MUST have:\n - 6-10 items, each 1-2 sentences (NOT just bullet keywords)\n- NEVER use placeholder text like \"\uB0B4\uC6A9\uC744 \uC785\uB825\uD558\uC138\uC694\" or \"Lorem ipsum\"\n- WRITE LIKE AN EXPERT: use industry terminology, cite market trends, provide actionable analysis\n\n## TARGET: 15-25 PAGES\n\nA professional document should be substantive:\n- Minimum 8 content sections (not counting title/TOC/conclusion)\n- At least 3 table sections (data tables add credibility and visual variety)\n- At least 2 list sections (action items, features, strategies)\n- Multiple text sections with 2+ sub-sections each\n- Use `word_build_page_break` between major chapters\n- The final document should be 15-25 pages when printed\n\n## RULES\n\n1. ALWAYS call `word_create` first\n2. ALWAYS save before completing\n3. Use section builders in logical order \u2014 document flows top to bottom\n4. Match the design specification from the Enhancement LLM\n5. NEVER call low-level Word tools \u2014 only use the builders listed above\n6. NEVER stop early \u2014 complete ALL planned sections before saving\n";
|
|
2
|
-
export declare const WORD_CREATE_PLANNING_PROMPT = "You are the Planning LLM for a Word Document Creation Agent.\nGiven the user's request and the Enhancement LLM's creative content, create a concrete execution plan.\n\n## OUTPUT FORMAT\n\nMODE: CREATE\nLANGUAGE: [Korean/English \u2014 match the user's request language]\nDESIGN DECISIONS:\n- COLOR_SCHEME: [preset name or custom hex values]\n- FONTS: [preset name or custom]\n- TONE: [formal/casual/academic/executive]\n\nTOTAL_SECTIONS: [number]\n\nDOCUMENT_PLAN:\n1. [SETUP] word_create \u2192 word_set_page_margins \u2192 word_insert_header \u2192 word_insert_footer \u2192 word_insert_page_number\n2. [TITLE] word_build_title_page \u2014 Title: \"...\"\n3. [TOC] word_build_toc\n4. [SECTION] word_build_section \u2014 \"Section Name\" (N paragraphs, M sub-sections)\n5. [TABLE] word_build_table_section \u2014 \"Table Name\" (R rows \u00D7 C cols)\n6. [LIST] word_build_list_section \u2014 \"List Name\" (N items, bullet/numbered)\
|
|
3
|
-
export declare const WORD_CREATE_ENHANCEMENT_PROMPT = "You are the Enhancement LLM for a Word Document Creation Agent.\nGenerate rich, professional content for the document.\n\n## OUTPUT FORMAT\n\nDOCUMENT_TYPE: [report/proposal/manual/guide/analysis/plan/contract]\nTARGET_AUDIENCE: [executives/team/clients/students/general]\nLANGUAGE: [Korean/English \u2014 match the user's request language]\nTOTAL_SECTIONS: [6-10]\n\nDESIGN_SPECIFICATION:\n- COLOR_SCHEME: [choose from: MODERN_TECH, WARM_EXECUTIVE, CLEAN_MINIMAL, CORPORATE, NATURE_FRESH, BOLD_MODERN \u2014 or specify custom hex colors matching the topic]\n- FONTS: [choose matching preset or custom {title, body}]\n- TONE: [formal/academic/executive/casual]\n\nTITLE_PAGE:\n- Title: \"...\"\n- Subtitle: \"...\"\n- Date: \"...\"\n- Author: \"...\"\n\nSECTION_PLAN:\nFor each section, provide:\n- Section type: section / table_section / list_section\n- Heading: \"...\"\n- Content summary (what should be written \u2014 be specific, not generic)\n- For tables: column names and sample data description (with realistic numbers)\n- For lists: key items to include\n- Sub-sections if applicable\n\nCONCLUSION:\n- Heading: \"...\"\n- Key takeaway message\n\n## RULES\n\n- Match the language of the user's request\n- Provide SPECIFIC, SUBSTANTIVE content \u2014 not generic descriptions\n- Include realistic data for tables (numbers, percentages, dates, currency amounts)\n- Match the color scheme to the document topic and audience\n- Think like a SENIOR CONSULTANT writing a deliverable worth $50,000\n- Plan at least 8 content sections for depth\n- At least 3 table sections (data credibility: financials, comparisons, timelines)\n- At least 2 list sections (action items, features, strategies)\n- Each section should generate 1-2 pages of content\n- Target: 15-25 page professional document\n";
|
|
1
|
+
export declare const WORD_CREATE_SYSTEM_PROMPT = "You are an elite Office automation agent that produces WORLD-CLASS results.\nExecute the user's instruction using the available tools.\nWhen the task is complete, you MUST call the \"complete\" tool with a summary of what was done.\nCall only one tool at a time. After each tool result, decide the next step.\nAlways respond in the same language as the user's instruction.\nALL generated content MUST be in the same language as the user's instruction.\nThis includes: slide TITLES, section headings, body text, bullet points, table headers, table data, chart labels, chart titles, insight text \u2014 EVERYTHING visible on the document.\nIf the user writes in Korean, ALL text MUST be Korean. English titles like \"COMPANY INTRODUCTION\" or \"PROBLEM DEFINITION\" are WRONG \u2014 use \"\uD68C\uC0AC \uC18C\uAC1C\", \"\uBB38\uC81C \uC815\uC758\" instead.\nThe ONLY exceptions: proper nouns (company names like \"MediAI\"), universal abbreviations (KPI, ROI, AI, SaaS), and currency symbols ($, \u20A9).\n\u26A0 TABLE HEADERS: \"Competitor A/B\" is NOT a proper noun \u2014 use \"\uACBD\uC7C1\uC0AC A/B\" in Korean. \"Category\" \u2192 \"\uAD6C\uBD84\". \"Feature\" \u2192 \"\uAE30\uB2A5\". ALL table column/row headers MUST be in the user's language.\nThis is non-negotiable \u2014 wrong language scores ZERO.\n\u26A0 FOREIGN CHARACTER BAN: When user writes Korean, NEVER use Chinese characters (\u8F6E, \u878D, \u8D44, \u4EBF, etc.) or Japanese-only characters. \"A\u8F6E\u878D\u8D44\" is WRONG \u2192 \"\uC2DC\uB9AC\uC988 A \uD22C\uC790\". \"B\u8F6E\u878D\u8D44\" is WRONG \u2192 \"\uC2DC\uB9AC\uC988 B \uD22C\uC790\". \"5\u4EBF\" is WRONG \u2192 \"5\uC5B5\". ALL financial, business, and technical terms must be in Korean.\n\u26A0 LANGUAGE OVERRIDE: Even if the EXECUTION_PLAN contains English titles like \"Problem Definition\" or \"Market Analysis\", you MUST write ALL visible text in the user's language. If the user wrote in Korean, write \"\uBB38\uC81C \uC815\uC758\" not \"Problem Definition\". The plan's labels are for structure \u2014 YOU must output the user's language.\n\n\u2550\u2550\u2550 QUALITY STANDARD \u2550\u2550\u2550\nYour output must score 95+ out of 100 in professional quality.\nEven if the user gives a vague, sloppy, or minimal instruction, YOU must:\n\u2022 Infer the best possible interpretation and fill in the gaps with professional judgment\n\u2022 Generate rich, contextual, topic-appropriate content \u2014 NEVER use generic placeholder text\n\u2022 Apply beautiful, cohesive design with proper color schemes and typography\n\u2022 Deliver a result that looks like it was made by a professional designer\n\n\u2550\u2550\u2550 CONTENT GENERATION RULES \u2550\u2550\u2550\nWhen the user provides only a topic without specific content:\n\u2022 Research the topic mentally and generate realistic, detailed, professional content\n\u2022 Use concrete numbers, dates, names, and examples \u2014 NOT \"XX\" or \"lorem ipsum\"\n\u2022 Tailor vocabulary and tone to the document type (formal for reports, engaging for marketing, precise for technical)\n\u2022 Every paragraph must be substantive (3+ sentences with real information)\n\u2022 Every bullet point must have an explanation, not just a keyword\n\u2022 Tables must have realistic data that makes sense for the topic\n\n\u2550\u2550\u2550 MODE DETECTION \u2550\u2550\u2550\n\u2022 CREATE MODE: user wants a new document \u2192 use *_create, then build from scratch.\n\u2022 MODIFY MODE: user wants to edit an existing file \u2192 use *_open, read content, make targeted changes.\n\u2022 If user provides a file path to open/edit \u2192 MODIFY MODE.\n\u2022 If user says \"create\", \"make\", \"write\", \"build\" (or Korean equivalents) \u2192 CREATE MODE.\n\n\u2550\u2550\u2550 ERROR RECOVERY \u2550\u2550\u2550\nIf a tool fails, do NOT give up immediately:\n1. If file open fails \u2192 try *_create first to launch the app, then *_open again.\n2. If COM error \u2192 retry once. If still fails, report the specific error via \"complete\".\n3. Try at least 2 alternative approaches before reporting failure.\n\n\u2550\u2550\u2550 ABSOLUTE RULES \u2550\u2550\u2550\n1. Every element MUST have explicit formatting (font, size, color).\n2. After ALL work is done, SAVE and call \"complete\".\n3. If the user specifies a save path, save to that exact path.\n4. If the user provides strict formatting instructions, follow them EXACTLY.\n5. NEVER use placeholder text. Every piece of content must be real and relevant.\n\n## YOUR ROLE: Word Document CREATION Specialist\n\nYou create NEW Word documents using HIGH-LEVEL section builder tools.\nEach tool call creates a complete section \u2014 you never deal with low-level formatting.\n\n## AVAILABLE TOOLS\n\n### Lifecycle\n- `word_create` \u2014 Create a blank document\n- `word_save` \u2014 Save the document (auto-updates TOC)\n- `word_screenshot` \u2014 Take a screenshot for verification\n\n### Page Setup (call once after create)\n- `word_set_page_margins` \u2014 Set page margins (in CM)\n- `word_insert_header` \u2014 Insert header text\n- `word_insert_footer` \u2014 Insert footer text\n- `word_insert_page_number` \u2014 Insert page numbers\n\n### Section Builders (1 call = 1 complete section)\n- `word_build_title_page` \u2014 Title page with title, subtitle, date, author + page break\n- `word_build_toc` \u2014 Table of contents + page break (auto-updated on save)\n- `word_build_section` \u2014 Heading + body paragraphs + optional sub-sections\n- `word_build_table_section` \u2014 Heading + styled data table\n- `word_build_list_section` \u2014 Heading + bullet/numbered list\n- `word_build_callout_box` \u2014 Colored callout box for key insights, tips, warnings, summaries\n- `word_build_key_metrics` \u2014 Prominent display of 3-6 key statistics/numbers\n- `word_build_conclusion` \u2014 Conclusion section\n- `word_build_page_break` \u2014 Insert page break between sections\n\n### Complete\n- `final_response` \u2014 Return result when all work is done\n\n## WORKFLOW\n\n1. `word_create` \u2192 create blank document\n2. Page setup: margins, header, footer, page numbers (batch in 1 iteration)\n3. `word_build_title_page` \u2192 title page\n4. `word_build_toc` \u2192 table of contents (will auto-populate on save)\n5. Content sections (in order from your plan):\n - `word_build_section` for text-heavy sections\n - `word_build_table_section` for data/comparison sections\n - `word_build_list_section` for enumeration sections\n - `word_build_callout_box` for key insights, tips, or warnings (after relevant sections)\n - `word_build_key_metrics` for executive summary numbers or key data highlights\n - `word_build_page_break` between major sections if needed\n6. `word_build_conclusion` \u2192 final section\n7. `word_save` \u2192 save to path (TOC auto-updated here)\n8. `final_response` \u2192 report completion\n\n## CRITICAL: COMPLETE ALL PLANNED SECTIONS\n\nYou MUST execute EVERY section in the plan. Do NOT skip sections or save early.\nThe plan defines the document structure \u2014 follow it completely.\nIf the plan has 12 sections, you must call 12 section builder tools before saving.\n\n## DESIGN CONSISTENCY\n\n- Use the SAME `color_scheme` (or `colors`) and `fonts` across ALL section builders\n- The Enhancement LLM specifies the color scheme \u2014 use it consistently\n- Available presets: MODERN_TECH, WARM_EXECUTIVE, CLEAN_MINIMAL, CORPORATE, NATURE_FRESH, BOLD_MODERN\n\n## CONTENT QUALITY \u2014 ENTERPRISE STANDARD\n\nThe document must read like it was written by a PROFESSIONAL CONSULTANT, not a student.\n\n- Match the language of the user's request (Korean for Korean requests, English for English)\n- Each `word_build_section` MUST have:\n - 3-5 body paragraphs, each with 4-6 sentences (NOT 1-2 sentence stubs)\n - 2-4 sub-sections for depth (with their own body paragraphs)\n - Specific data: numbers, percentages, dates, company names, industry terms\n- Each `word_build_table_section` MUST have:\n - 5-10 data rows with realistic, diverse data (NOT 3 generic rows)\n - 4-6 columns for rich comparison\n - Include currency amounts, percentages, dates where relevant\n- Each `word_build_list_section` MUST have:\n - 6-10 items, each 1-2 sentences (NOT just bullet keywords)\n- NEVER use placeholder text like \"\uB0B4\uC6A9\uC744 \uC785\uB825\uD558\uC138\uC694\" or \"Lorem ipsum\"\n- WRITE LIKE AN EXPERT: use industry terminology, cite market trends, provide actionable analysis\n\n## VISUAL VARIETY \u2014 BREAK THE MONOTONY\n\nA professional document uses diverse visual elements, not just heading + paragraph:\n- Use `word_build_callout_box` after important sections to highlight key takeaways (2-4 callouts per document)\n- Use `word_build_key_metrics` near the beginning (executive summary) or after analysis sections to showcase key numbers\n- Mix section types: text \u2192 table \u2192 callout \u2192 list \u2192 metrics \u2192 text (avoid 3+ consecutive same-type sections)\n- Use `word_build_page_break` between major chapters for clean separation\n\n## TARGET: 15-25 PAGES\n\nA professional document should be substantive:\n- Minimum 8 content sections (not counting title/TOC/conclusion)\n- At least 3 table sections (data tables add credibility and visual variety)\n- At least 2 list sections (action items, features, strategies)\n- At least 2 callout boxes (key insights, warnings, or summaries)\n- At least 1 key metrics display (executive numbers)\n- Multiple text sections with 2+ sub-sections each\n- The final document should be 15-25 pages when printed\n\n## RULES\n\n1. ALWAYS call `word_create` first\n2. ALWAYS save before completing\n3. Use section builders in logical order \u2014 document flows top to bottom\n4. Match the design specification from the Enhancement LLM\n5. NEVER call low-level Word tools \u2014 only use the builders listed above\n6. NEVER stop early \u2014 complete ALL planned sections before saving\n";
|
|
2
|
+
export declare const WORD_CREATE_PLANNING_PROMPT = "You are the Planning LLM for a Word Document Creation Agent.\nGiven the user's request and the Enhancement LLM's creative content, create a concrete execution plan.\n\n## OUTPUT FORMAT\n\nMODE: CREATE\nLANGUAGE: [Korean/English \u2014 match the user's request language]\nDESIGN DECISIONS:\n- COLOR_SCHEME: [preset name or custom hex values]\n- FONTS: [preset name or custom]\n- TONE: [formal/casual/academic/executive]\n\nTOTAL_SECTIONS: [number]\n\nDOCUMENT_PLAN:\n1. [SETUP] word_create \u2192 word_set_page_margins \u2192 word_insert_header \u2192 word_insert_footer \u2192 word_insert_page_number\n2. [TITLE] word_build_title_page \u2014 Title: \"...\"\n3. [TOC] word_build_toc\n4. [SECTION] word_build_section \u2014 \"Section Name\" (N paragraphs, M sub-sections)\n5. [TABLE] word_build_table_section \u2014 \"Table Name\" (R rows \u00D7 C cols)\n6. [CALLOUT] word_build_callout_box \u2014 \"Key Insight Title\" (style: insight/tip/warning/summary)\n7. [LIST] word_build_list_section \u2014 \"List Name\" (N items, bullet/numbered)\n8. [METRICS] word_build_key_metrics \u2014 \"Key Metrics Title\" (N metrics)\n9. [SECTION] word_build_section \u2014 \"Section Name\" ...\n10. [CONCLUSION] word_build_conclusion \u2014 \"Conclusion\"\n11. [SAVE] word_save \u2192 path\n\n## CONTENT DENSITY PER SECTION \u2014 ENTERPRISE STANDARD\n\n- word_build_section: 3-5 body paragraphs (each 4-6 sentences), 2-4 sub-sections (each with own body)\n- word_build_table_section: 5-10 data rows, 4-6 columns, realistic data (actual numbers, names, dates)\n- word_build_list_section: 6-10 items, each 1-2 sentences (not just keywords)\n- word_build_conclusion: 2-3 paragraphs (summary + next steps)\n\n## PLAN SIZE TARGET\n\n- Minimum 8 content sections (not counting title/TOC/conclusion)\n- At least 3 table sections (data tables add credibility)\n- At least 2 list sections\n- At least 2 callout boxes (key insights placed after relevant analysis sections)\n- At least 1 key metrics display (executive summary numbers, near the beginning)\n- Include word_build_page_break between major topic changes\n- Target: 15-25 pages of final document\n- VISUAL VARIETY: Never have 3+ consecutive same-type sections. Mix text, tables, callouts, lists, metrics.\n\n## VERIFICATION\n\nBefore finalizing the plan, check:\n\u2705 Title page included?\n\u2705 TOC included?\n\u2705 At least 3 table sections?\n\u2705 At least 2 list sections?\n\u2705 At least 2 callout boxes?\n\u2705 At least 1 key metrics display?\n\u2705 At least 8 content sections total?\n\u2705 Visual variety: no 3+ consecutive same-type sections?\n\u2705 Conclusion included?\n\u2705 Save path specified?\n\u2705 Language matches user's request?\n\u2705 Each section has enough content density for 1-2 pages?\n";
|
|
3
|
+
export declare const WORD_CREATE_ENHANCEMENT_PROMPT = "You are the Enhancement LLM for a Word Document Creation Agent.\nGenerate rich, professional content for the document.\n\n## OUTPUT FORMAT\n\nDOCUMENT_TYPE: [report/proposal/manual/guide/analysis/plan/contract]\nTARGET_AUDIENCE: [executives/team/clients/students/general]\nLANGUAGE: [Korean/English \u2014 match the user's request language]\nTOTAL_SECTIONS: [6-10]\n\nDESIGN_SPECIFICATION:\n- COLOR_SCHEME: [choose from: MODERN_TECH, WARM_EXECUTIVE, CLEAN_MINIMAL, CORPORATE, NATURE_FRESH, BOLD_MODERN \u2014 or specify custom hex colors matching the topic]\n- FONTS: [choose matching preset or custom {title, body}]\n- TONE: [formal/academic/executive/casual]\n\nTITLE_PAGE:\n- Title: \"...\"\n- Subtitle: \"...\"\n- Date: \"...\"\n- Author: \"...\"\n\nSECTION_PLAN:\nFor each section, provide:\n- Section type: section / table_section / list_section / callout_box / key_metrics\n- Heading: \"...\"\n- Content summary (what should be written \u2014 be specific, not generic)\n- For tables: column names and sample data description (with realistic numbers)\n- For lists: key items to include\n- For callout boxes: style (insight/tip/warning/summary) and key message\n- For key metrics: 3-6 metrics with value and label\n- Sub-sections if applicable\n\nCONCLUSION:\n- Heading: \"...\"\n- Key takeaway message\n\n## RULES\n\n- Match the language of the user's request\n- Provide SPECIFIC, SUBSTANTIVE content \u2014 not generic descriptions\n- Include realistic data for tables (numbers, percentages, dates, currency amounts)\n- Match the color scheme to the document topic and audience\n- Think like a SENIOR CONSULTANT writing a deliverable worth $50,000\n- Plan at least 8 content sections for depth\n- At least 3 table sections (data credibility: financials, comparisons, timelines)\n- At least 2 list sections (action items, features, strategies)\n- At least 2 callout boxes (key insights placed after critical analysis sections)\n- At least 1 key metrics display (executive summary numbers near the beginning)\n- VISUAL VARIETY: Mix section types to avoid monotony. Never 3+ consecutive same-type.\n- Each section should generate 1-2 pages of content\n- Target: 15-25 page professional document\n";
|
|
4
4
|
//# sourceMappingURL=word-create-prompts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"word-create-prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/office/word-create-prompts.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"word-create-prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/office/word-create-prompts.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,yBAAyB,uuTA4GrC,CAAC;AAEF,eAAO,MAAM,2BAA2B,4sFA4DvC,CAAC;AAEF,eAAO,MAAM,8BAA8B,6pEAmD1C,CAAC"}
|
|
@@ -25,6 +25,8 @@ Each tool call creates a complete section — you never deal with low-level form
|
|
|
25
25
|
- \`word_build_section\` — Heading + body paragraphs + optional sub-sections
|
|
26
26
|
- \`word_build_table_section\` — Heading + styled data table
|
|
27
27
|
- \`word_build_list_section\` — Heading + bullet/numbered list
|
|
28
|
+
- \`word_build_callout_box\` — Colored callout box for key insights, tips, warnings, summaries
|
|
29
|
+
- \`word_build_key_metrics\` — Prominent display of 3-6 key statistics/numbers
|
|
28
30
|
- \`word_build_conclusion\` — Conclusion section
|
|
29
31
|
- \`word_build_page_break\` — Insert page break between sections
|
|
30
32
|
|
|
@@ -41,6 +43,8 @@ Each tool call creates a complete section — you never deal with low-level form
|
|
|
41
43
|
- \`word_build_section\` for text-heavy sections
|
|
42
44
|
- \`word_build_table_section\` for data/comparison sections
|
|
43
45
|
- \`word_build_list_section\` for enumeration sections
|
|
46
|
+
- \`word_build_callout_box\` for key insights, tips, or warnings (after relevant sections)
|
|
47
|
+
- \`word_build_key_metrics\` for executive summary numbers or key data highlights
|
|
44
48
|
- \`word_build_page_break\` between major sections if needed
|
|
45
49
|
6. \`word_build_conclusion\` → final section
|
|
46
50
|
7. \`word_save\` → save to path (TOC auto-updated here)
|
|
@@ -76,14 +80,23 @@ The document must read like it was written by a PROFESSIONAL CONSULTANT, not a s
|
|
|
76
80
|
- NEVER use placeholder text like "내용을 입력하세요" or "Lorem ipsum"
|
|
77
81
|
- WRITE LIKE AN EXPERT: use industry terminology, cite market trends, provide actionable analysis
|
|
78
82
|
|
|
83
|
+
## VISUAL VARIETY — BREAK THE MONOTONY
|
|
84
|
+
|
|
85
|
+
A professional document uses diverse visual elements, not just heading + paragraph:
|
|
86
|
+
- Use \`word_build_callout_box\` after important sections to highlight key takeaways (2-4 callouts per document)
|
|
87
|
+
- Use \`word_build_key_metrics\` near the beginning (executive summary) or after analysis sections to showcase key numbers
|
|
88
|
+
- Mix section types: text → table → callout → list → metrics → text (avoid 3+ consecutive same-type sections)
|
|
89
|
+
- Use \`word_build_page_break\` between major chapters for clean separation
|
|
90
|
+
|
|
79
91
|
## TARGET: 15-25 PAGES
|
|
80
92
|
|
|
81
93
|
A professional document should be substantive:
|
|
82
94
|
- Minimum 8 content sections (not counting title/TOC/conclusion)
|
|
83
95
|
- At least 3 table sections (data tables add credibility and visual variety)
|
|
84
96
|
- At least 2 list sections (action items, features, strategies)
|
|
97
|
+
- At least 2 callout boxes (key insights, warnings, or summaries)
|
|
98
|
+
- At least 1 key metrics display (executive numbers)
|
|
85
99
|
- Multiple text sections with 2+ sub-sections each
|
|
86
|
-
- Use \`word_build_page_break\` between major chapters
|
|
87
100
|
- The final document should be 15-25 pages when printed
|
|
88
101
|
|
|
89
102
|
## RULES
|
|
@@ -115,10 +128,12 @@ DOCUMENT_PLAN:
|
|
|
115
128
|
3. [TOC] word_build_toc
|
|
116
129
|
4. [SECTION] word_build_section — "Section Name" (N paragraphs, M sub-sections)
|
|
117
130
|
5. [TABLE] word_build_table_section — "Table Name" (R rows × C cols)
|
|
118
|
-
6. [
|
|
119
|
-
7. [
|
|
120
|
-
8. [
|
|
121
|
-
9. [
|
|
131
|
+
6. [CALLOUT] word_build_callout_box — "Key Insight Title" (style: insight/tip/warning/summary)
|
|
132
|
+
7. [LIST] word_build_list_section — "List Name" (N items, bullet/numbered)
|
|
133
|
+
8. [METRICS] word_build_key_metrics — "Key Metrics Title" (N metrics)
|
|
134
|
+
9. [SECTION] word_build_section — "Section Name" ...
|
|
135
|
+
10. [CONCLUSION] word_build_conclusion — "Conclusion"
|
|
136
|
+
11. [SAVE] word_save → path
|
|
122
137
|
|
|
123
138
|
## CONTENT DENSITY PER SECTION — ENTERPRISE STANDARD
|
|
124
139
|
|
|
@@ -132,8 +147,11 @@ DOCUMENT_PLAN:
|
|
|
132
147
|
- Minimum 8 content sections (not counting title/TOC/conclusion)
|
|
133
148
|
- At least 3 table sections (data tables add credibility)
|
|
134
149
|
- At least 2 list sections
|
|
150
|
+
- At least 2 callout boxes (key insights placed after relevant analysis sections)
|
|
151
|
+
- At least 1 key metrics display (executive summary numbers, near the beginning)
|
|
135
152
|
- Include word_build_page_break between major topic changes
|
|
136
153
|
- Target: 15-25 pages of final document
|
|
154
|
+
- VISUAL VARIETY: Never have 3+ consecutive same-type sections. Mix text, tables, callouts, lists, metrics.
|
|
137
155
|
|
|
138
156
|
## VERIFICATION
|
|
139
157
|
|
|
@@ -142,7 +160,10 @@ Before finalizing the plan, check:
|
|
|
142
160
|
✅ TOC included?
|
|
143
161
|
✅ At least 3 table sections?
|
|
144
162
|
✅ At least 2 list sections?
|
|
163
|
+
✅ At least 2 callout boxes?
|
|
164
|
+
✅ At least 1 key metrics display?
|
|
145
165
|
✅ At least 8 content sections total?
|
|
166
|
+
✅ Visual variety: no 3+ consecutive same-type sections?
|
|
146
167
|
✅ Conclusion included?
|
|
147
168
|
✅ Save path specified?
|
|
148
169
|
✅ Language matches user's request?
|
|
@@ -171,11 +192,13 @@ TITLE_PAGE:
|
|
|
171
192
|
|
|
172
193
|
SECTION_PLAN:
|
|
173
194
|
For each section, provide:
|
|
174
|
-
- Section type: section / table_section / list_section
|
|
195
|
+
- Section type: section / table_section / list_section / callout_box / key_metrics
|
|
175
196
|
- Heading: "..."
|
|
176
197
|
- Content summary (what should be written — be specific, not generic)
|
|
177
198
|
- For tables: column names and sample data description (with realistic numbers)
|
|
178
199
|
- For lists: key items to include
|
|
200
|
+
- For callout boxes: style (insight/tip/warning/summary) and key message
|
|
201
|
+
- For key metrics: 3-6 metrics with value and label
|
|
179
202
|
- Sub-sections if applicable
|
|
180
203
|
|
|
181
204
|
CONCLUSION:
|
|
@@ -192,6 +215,9 @@ CONCLUSION:
|
|
|
192
215
|
- Plan at least 8 content sections for depth
|
|
193
216
|
- At least 3 table sections (data credibility: financials, comparisons, timelines)
|
|
194
217
|
- At least 2 list sections (action items, features, strategies)
|
|
218
|
+
- At least 2 callout boxes (key insights placed after critical analysis sections)
|
|
219
|
+
- At least 1 key metrics display (executive summary numbers near the beginning)
|
|
220
|
+
- VISUAL VARIETY: Mix section types to avoid monotony. Never 3+ consecutive same-type.
|
|
195
221
|
- Each section should generate 1-2 pages of content
|
|
196
222
|
- Target: 15-25 page professional document
|
|
197
223
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"word-create-prompts.js","sourceRoot":"","sources":["../../../src/agents/office/word-create-prompts.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,kBAAkB
|
|
1
|
+
{"version":3,"file":"word-create-prompts.js","sourceRoot":"","sources":["../../../src/agents/office/word-create-prompts.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4G7D,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4D1C,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmD7C,CAAC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare const PROJECTS_DIR: string;
|
|
|
7
7
|
export declare const CREDENTIALS_FILE_PATH: string;
|
|
8
8
|
export declare const APP_NAME = "hanseol-dev";
|
|
9
9
|
export declare const SERVICE_ID = "hanseol";
|
|
10
|
-
export declare const APP_VERSION = "5.0.3-dev.
|
|
10
|
+
export declare const APP_VERSION = "5.0.3-dev.39";
|
|
11
11
|
export declare const DASHBOARD_URL = "https://52.78.246.50.nip.io";
|
|
12
12
|
export declare const ONCE_URL = "https://52.78.246.50.nip.io:5090";
|
|
13
13
|
export declare const FREE_URL = "https://52.78.246.50.nip.io:6090";
|
package/dist/constants.js
CHANGED
|
@@ -9,7 +9,7 @@ export const PROJECTS_DIR = path.join(LOCAL_HOME_DIR, 'projects');
|
|
|
9
9
|
export const CREDENTIALS_FILE_PATH = path.join(LOCAL_HOME_DIR, 'credentials.json');
|
|
10
10
|
export const APP_NAME = 'hanseol-dev';
|
|
11
11
|
export const SERVICE_ID = 'hanseol';
|
|
12
|
-
export const APP_VERSION = '5.0.3-dev.
|
|
12
|
+
export const APP_VERSION = '5.0.3-dev.39';
|
|
13
13
|
export const DASHBOARD_URL = 'https://52.78.246.50.nip.io';
|
|
14
14
|
export const ONCE_URL = 'https://52.78.246.50.nip.io:5090';
|
|
15
15
|
export const FREE_URL = 'https://52.78.246.50.nip.io:6090';
|
|
@@ -4,6 +4,8 @@ export declare const wordBuildTOCTool: LLMSimpleTool;
|
|
|
4
4
|
export declare const wordBuildSectionTool: LLMSimpleTool;
|
|
5
5
|
export declare const wordBuildTableSectionTool: LLMSimpleTool;
|
|
6
6
|
export declare const wordBuildListSectionTool: LLMSimpleTool;
|
|
7
|
+
export declare const wordBuildCalloutBoxTool: LLMSimpleTool;
|
|
8
|
+
export declare const wordBuildKeyMetricsTool: LLMSimpleTool;
|
|
7
9
|
export declare const wordBuildConclusionTool: LLMSimpleTool;
|
|
8
10
|
export declare const wordBuildPageBreakTool: LLMSimpleTool;
|
|
9
11
|
export declare const sectionBuilderTools: LLMSimpleTool[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-builders.d.ts","sourceRoot":"","sources":["../../../../src/tools/office/word-tools/section-builders.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAc,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"section-builders.d.ts","sourceRoot":"","sources":["../../../../src/tools/office/word-tools/section-builders.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAc,MAAM,gBAAgB,CAAC;AAynB3D,eAAO,MAAM,sBAAsB,EAAE,aAKpC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAK9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAKlC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,aAKvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,aAKtC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,aAKrC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,aAKrC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,aAKrC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,aAKpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,aAAa,EAU9C,CAAC"}
|
|
@@ -204,6 +204,7 @@ async function executeBuildSection(args) {
|
|
|
204
204
|
await wordClient.wordWrite(subHeading, {
|
|
205
205
|
fontName: fonts.title, fontSize: 14, bold: true, color: colors.accent,
|
|
206
206
|
newParagraph: true, spaceAfter: 6, spaceBefore: 12, styleName: 'Heading 2',
|
|
207
|
+
leftBorderColor: colors.accent, leftBorderWidth: 3,
|
|
207
208
|
});
|
|
208
209
|
for (const para of subBody) {
|
|
209
210
|
await wordClient.wordWrite(para, {
|
|
@@ -322,6 +323,122 @@ async function executeBuildListSection(args) {
|
|
|
322
323
|
return { success: false, error: `Failed to build list section: ${error instanceof Error ? error.message : String(error)}` };
|
|
323
324
|
}
|
|
324
325
|
}
|
|
326
|
+
const WORD_BUILD_CALLOUT_BOX_DEF = {
|
|
327
|
+
type: 'function',
|
|
328
|
+
function: {
|
|
329
|
+
name: 'word_build_callout_box',
|
|
330
|
+
description: 'Build a visually distinct callout box for key insights, tips, warnings, or summaries. Uses colored background + left border accent for visual emphasis. Great for breaking up monotonous text sections.',
|
|
331
|
+
parameters: {
|
|
332
|
+
type: 'object',
|
|
333
|
+
properties: {
|
|
334
|
+
title: { type: 'string', description: 'Callout title (e.g., "핵심 인사이트", "Key Takeaway", "⚡ 중요")' },
|
|
335
|
+
body: { type: 'string', description: 'Callout body text — the key insight or information' },
|
|
336
|
+
style: { type: 'string', enum: ['insight', 'tip', 'warning', 'summary'], description: 'Visual style: insight (accent), tip (green), warning (orange/red), summary (primary)' },
|
|
337
|
+
...COLOR_FONT_PARAMS,
|
|
338
|
+
},
|
|
339
|
+
required: ['title', 'body'],
|
|
340
|
+
},
|
|
341
|
+
},
|
|
342
|
+
};
|
|
343
|
+
async function executeBuildCalloutBox(args) {
|
|
344
|
+
try {
|
|
345
|
+
const colors = resolveColors(args);
|
|
346
|
+
const fonts = resolveFonts(args);
|
|
347
|
+
const title = args['title'] || 'Key Insight';
|
|
348
|
+
const body = args['body'] || '';
|
|
349
|
+
const style = args['style'] || 'insight';
|
|
350
|
+
let borderColor = colors.accent;
|
|
351
|
+
let bgColor = colors.light;
|
|
352
|
+
if (style === 'warning') {
|
|
353
|
+
borderColor = '#E17055';
|
|
354
|
+
bgColor = '#FFF5F2';
|
|
355
|
+
}
|
|
356
|
+
else if (style === 'tip') {
|
|
357
|
+
borderColor = '#00B894';
|
|
358
|
+
bgColor = '#F0FFF4';
|
|
359
|
+
}
|
|
360
|
+
else if (style === 'summary') {
|
|
361
|
+
borderColor = colors.primary;
|
|
362
|
+
bgColor = colors.light;
|
|
363
|
+
}
|
|
364
|
+
await wordClient.wordWrite(title, {
|
|
365
|
+
fontName: fonts.title, fontSize: 12, bold: true, color: borderColor,
|
|
366
|
+
newParagraph: true, spaceAfter: 2, spaceBefore: 12,
|
|
367
|
+
bgColor, leftBorderColor: borderColor, leftBorderWidth: 5,
|
|
368
|
+
});
|
|
369
|
+
await wordClient.wordWrite(body, {
|
|
370
|
+
fontName: fonts.body, fontSize: 11, color: colors.body,
|
|
371
|
+
newParagraph: true, spaceAfter: 12, lineSpacing: 1.4,
|
|
372
|
+
bgColor, leftBorderColor: borderColor, leftBorderWidth: 5,
|
|
373
|
+
});
|
|
374
|
+
return { success: true, result: `Callout box "${title}" built` };
|
|
375
|
+
}
|
|
376
|
+
catch (error) {
|
|
377
|
+
return { success: false, error: `Failed to build callout box: ${error instanceof Error ? error.message : String(error)}` };
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
const WORD_BUILD_KEY_METRICS_DEF = {
|
|
381
|
+
type: 'function',
|
|
382
|
+
function: {
|
|
383
|
+
name: 'word_build_key_metrics',
|
|
384
|
+
description: 'Display 3-6 key statistics/metrics prominently with large accent-colored numbers and labels. Perfect for executive summaries, dashboards, and highlighting key data points.',
|
|
385
|
+
parameters: {
|
|
386
|
+
type: 'object',
|
|
387
|
+
properties: {
|
|
388
|
+
heading: { type: 'string', description: 'Section heading (e.g., "핵심 성과 지표", "Key Metrics")' },
|
|
389
|
+
metrics: {
|
|
390
|
+
type: 'array',
|
|
391
|
+
description: 'Array of metrics: each has value (large number) and label (description)',
|
|
392
|
+
items: {
|
|
393
|
+
type: 'object',
|
|
394
|
+
properties: {
|
|
395
|
+
value: { type: 'string', description: 'The metric value (e.g., "32%", "$4.2M", "847대")' },
|
|
396
|
+
label: { type: 'string', description: 'What the metric represents (e.g., "매출 증가율", "Annual Savings")' },
|
|
397
|
+
},
|
|
398
|
+
required: ['value', 'label'],
|
|
399
|
+
},
|
|
400
|
+
},
|
|
401
|
+
...COLOR_FONT_PARAMS,
|
|
402
|
+
},
|
|
403
|
+
required: ['heading', 'metrics'],
|
|
404
|
+
},
|
|
405
|
+
},
|
|
406
|
+
};
|
|
407
|
+
async function executeBuildKeyMetrics(args) {
|
|
408
|
+
try {
|
|
409
|
+
const colors = resolveColors(args);
|
|
410
|
+
const fonts = resolveFonts(args);
|
|
411
|
+
const heading = args['heading'] || 'Key Metrics';
|
|
412
|
+
const metrics = args['metrics'] || [];
|
|
413
|
+
await wordClient.wordWrite(heading, {
|
|
414
|
+
fontName: fonts.title, fontSize: 18, bold: true, color: colors.primary,
|
|
415
|
+
newParagraph: true, spaceAfter: 8, spaceBefore: 16, styleName: 'Heading 1',
|
|
416
|
+
bgColor: colors.light, leftBorderColor: colors.accent, leftBorderWidth: 4,
|
|
417
|
+
});
|
|
418
|
+
for (const metric of metrics) {
|
|
419
|
+
const value = metric['value'] || '';
|
|
420
|
+
const label = metric['label'] || '';
|
|
421
|
+
await wordClient.wordWrite(value, {
|
|
422
|
+
fontName: fonts.title, fontSize: 28, bold: true, color: colors.accent,
|
|
423
|
+
alignment: 'center', newParagraph: true, spaceAfter: 0, spaceBefore: 8,
|
|
424
|
+
bgColor: colors.light,
|
|
425
|
+
});
|
|
426
|
+
await wordClient.wordWrite(label, {
|
|
427
|
+
fontName: fonts.body, fontSize: 11, color: '#666666',
|
|
428
|
+
alignment: 'center', newParagraph: true, spaceAfter: 8, spaceBefore: 0,
|
|
429
|
+
bgColor: colors.light,
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
await wordClient.wordWrite(' ', {
|
|
433
|
+
fontSize: 2, newParagraph: true, spaceAfter: 8, spaceBefore: 4,
|
|
434
|
+
bgColor: colors.accent,
|
|
435
|
+
});
|
|
436
|
+
return { success: true, result: `Key metrics section "${heading}" built (${metrics.length} metrics)` };
|
|
437
|
+
}
|
|
438
|
+
catch (error) {
|
|
439
|
+
return { success: false, error: `Failed to build key metrics: ${error instanceof Error ? error.message : String(error)}` };
|
|
440
|
+
}
|
|
441
|
+
}
|
|
325
442
|
const WORD_BUILD_CONCLUSION_DEF = {
|
|
326
443
|
type: 'function',
|
|
327
444
|
function: {
|
|
@@ -406,6 +523,18 @@ export const wordBuildListSectionTool = {
|
|
|
406
523
|
categories: OFFICE_CATEGORIES,
|
|
407
524
|
description: 'Build list section',
|
|
408
525
|
};
|
|
526
|
+
export const wordBuildCalloutBoxTool = {
|
|
527
|
+
definition: WORD_BUILD_CALLOUT_BOX_DEF,
|
|
528
|
+
execute: executeBuildCalloutBox,
|
|
529
|
+
categories: OFFICE_CATEGORIES,
|
|
530
|
+
description: 'Build callout box',
|
|
531
|
+
};
|
|
532
|
+
export const wordBuildKeyMetricsTool = {
|
|
533
|
+
definition: WORD_BUILD_KEY_METRICS_DEF,
|
|
534
|
+
execute: executeBuildKeyMetrics,
|
|
535
|
+
categories: OFFICE_CATEGORIES,
|
|
536
|
+
description: 'Build key metrics display',
|
|
537
|
+
};
|
|
409
538
|
export const wordBuildConclusionTool = {
|
|
410
539
|
definition: WORD_BUILD_CONCLUSION_DEF,
|
|
411
540
|
execute: executeBuildConclusion,
|
|
@@ -424,6 +553,8 @@ export const sectionBuilderTools = [
|
|
|
424
553
|
wordBuildSectionTool,
|
|
425
554
|
wordBuildTableSectionTool,
|
|
426
555
|
wordBuildListSectionTool,
|
|
556
|
+
wordBuildCalloutBoxTool,
|
|
557
|
+
wordBuildKeyMetricsTool,
|
|
427
558
|
wordBuildConclusionTool,
|
|
428
559
|
wordBuildPageBreakTool,
|
|
429
560
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-builders.js","sourceRoot":"","sources":["../../../../src/tools/office/word-tools/section-builders.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"section-builders.js","sourceRoot":"","sources":["../../../../src/tools/office/word-tools/section-builders.ts"],"names":[],"mappings":"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"}
|