hanseol-dev 5.0.3-dev.9 → 5.0.4-dev.1

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 (115) hide show
  1. package/dist/agents/common/sub-agent.d.ts +2 -4
  2. package/dist/agents/common/sub-agent.d.ts.map +1 -1
  3. package/dist/agents/common/sub-agent.js +12 -11
  4. package/dist/agents/common/sub-agent.js.map +1 -1
  5. package/dist/agents/office/excel-agent.d.ts.map +1 -1
  6. package/dist/agents/office/excel-agent.js +1 -1
  7. package/dist/agents/office/excel-agent.js.map +1 -1
  8. package/dist/agents/office/excel-create-agent.d.ts.map +1 -1
  9. package/dist/agents/office/excel-create-agent.js +24 -4
  10. package/dist/agents/office/excel-create-agent.js.map +1 -1
  11. package/dist/agents/office/excel-create-prompts.d.ts +3 -3
  12. package/dist/agents/office/excel-create-prompts.d.ts.map +1 -1
  13. package/dist/agents/office/excel-create-prompts.js +83 -20
  14. package/dist/agents/office/excel-create-prompts.js.map +1 -1
  15. package/dist/agents/office/index.d.ts.map +1 -1
  16. package/dist/agents/office/index.js.map +1 -1
  17. package/dist/agents/office/powerpoint-agent.d.ts.map +1 -1
  18. package/dist/agents/office/powerpoint-agent.js +7 -1
  19. package/dist/agents/office/powerpoint-agent.js.map +1 -1
  20. package/dist/agents/office/powerpoint-create-agent.d.ts.map +1 -1
  21. package/dist/agents/office/powerpoint-create-agent.js +257 -281
  22. package/dist/agents/office/powerpoint-create-agent.js.map +1 -1
  23. package/dist/agents/office/powerpoint-create-prompts.d.ts +3 -2
  24. package/dist/agents/office/powerpoint-create-prompts.d.ts.map +1 -1
  25. package/dist/agents/office/powerpoint-create-prompts.js +284 -250
  26. package/dist/agents/office/powerpoint-create-prompts.js.map +1 -1
  27. package/dist/agents/office/prompts.d.ts +4 -4
  28. package/dist/agents/office/prompts.d.ts.map +1 -1
  29. package/dist/agents/office/prompts.js +2 -2
  30. package/dist/agents/office/word-agent.d.ts.map +1 -1
  31. package/dist/agents/office/word-agent.js +1 -1
  32. package/dist/agents/office/word-agent.js.map +1 -1
  33. package/dist/agents/office/word-create-agent.d.ts.map +1 -1
  34. package/dist/agents/office/word-create-agent.js +2 -4
  35. package/dist/agents/office/word-create-agent.js.map +1 -1
  36. package/dist/agents/office/word-create-prompts.d.ts +3 -3
  37. package/dist/agents/office/word-create-prompts.d.ts.map +1 -1
  38. package/dist/agents/office/word-create-prompts.js +167 -43
  39. package/dist/agents/office/word-create-prompts.js.map +1 -1
  40. package/dist/constants.d.ts +1 -1
  41. package/dist/constants.js +1 -1
  42. package/dist/core/background-sync.js +1 -1
  43. package/dist/core/background-sync.js.map +1 -1
  44. package/dist/core/usage-tracker.d.ts.map +1 -1
  45. package/dist/core/usage-tracker.js +19 -2
  46. package/dist/core/usage-tracker.js.map +1 -1
  47. package/dist/orchestration/plan-executor.js +3 -3
  48. package/dist/orchestration/plan-executor.js.map +1 -1
  49. package/dist/prompts/agents/planning.d.ts.map +1 -1
  50. package/dist/prompts/agents/planning.js +7 -0
  51. package/dist/prompts/agents/planning.js.map +1 -1
  52. package/dist/tools/office/common/utils.d.ts +2 -0
  53. package/dist/tools/office/common/utils.d.ts.map +1 -1
  54. package/dist/tools/office/common/utils.js +4 -0
  55. package/dist/tools/office/common/utils.js.map +1 -1
  56. package/dist/tools/office/excel-client.d.ts +6 -0
  57. package/dist/tools/office/excel-client.d.ts.map +1 -1
  58. package/dist/tools/office/excel-client.js +77 -6
  59. package/dist/tools/office/excel-client.js.map +1 -1
  60. package/dist/tools/office/excel-tools/index.js +3 -3
  61. package/dist/tools/office/excel-tools/index.js.map +1 -1
  62. package/dist/tools/office/excel-tools/launch.d.ts.map +1 -1
  63. package/dist/tools/office/excel-tools/launch.js +3 -1
  64. package/dist/tools/office/excel-tools/launch.js.map +1 -1
  65. package/dist/tools/office/excel-tools/sheet-builders.d.ts +1 -0
  66. package/dist/tools/office/excel-tools/sheet-builders.d.ts.map +1 -1
  67. package/dist/tools/office/excel-tools/sheet-builders.js +79 -10
  68. package/dist/tools/office/excel-tools/sheet-builders.js.map +1 -1
  69. package/dist/tools/office/powerpoint-client.d.ts.map +1 -1
  70. package/dist/tools/office/powerpoint-client.js +21 -18
  71. package/dist/tools/office/powerpoint-client.js.map +1 -1
  72. package/dist/tools/office/powerpoint-tools/effects.d.ts.map +1 -1
  73. package/dist/tools/office/powerpoint-tools/effects.js.map +1 -1
  74. package/dist/tools/office/powerpoint-tools/launch.d.ts.map +1 -1
  75. package/dist/tools/office/powerpoint-tools/launch.js +3 -1
  76. package/dist/tools/office/powerpoint-tools/launch.js.map +1 -1
  77. package/dist/tools/office/powerpoint-tools/media.d.ts.map +1 -1
  78. package/dist/tools/office/powerpoint-tools/media.js.map +1 -1
  79. package/dist/tools/office/powerpoint-tools/notes.d.ts.map +1 -1
  80. package/dist/tools/office/powerpoint-tools/notes.js.map +1 -1
  81. package/dist/tools/office/powerpoint-tools/sections.d.ts.map +1 -1
  82. package/dist/tools/office/powerpoint-tools/sections.js.map +1 -1
  83. package/dist/tools/office/powerpoint-tools/shapes.d.ts.map +1 -1
  84. package/dist/tools/office/powerpoint-tools/shapes.js.map +1 -1
  85. package/dist/tools/office/powerpoint-tools/slides.d.ts.map +1 -1
  86. package/dist/tools/office/powerpoint-tools/slides.js.map +1 -1
  87. package/dist/tools/office/powerpoint-tools/tables.d.ts.map +1 -1
  88. package/dist/tools/office/powerpoint-tools/tables.js.map +1 -1
  89. package/dist/tools/office/powerpoint-tools/text.d.ts.map +1 -1
  90. package/dist/tools/office/powerpoint-tools/text.js.map +1 -1
  91. package/dist/tools/office/word-client.d.ts +16 -0
  92. package/dist/tools/office/word-client.d.ts.map +1 -1
  93. package/dist/tools/office/word-client.js +295 -39
  94. package/dist/tools/office/word-client.js.map +1 -1
  95. package/dist/tools/office/word-tools/launch.d.ts.map +1 -1
  96. package/dist/tools/office/word-tools/launch.js +3 -1
  97. package/dist/tools/office/word-tools/launch.js.map +1 -1
  98. package/dist/tools/office/word-tools/section-builders.d.ts +2 -0
  99. package/dist/tools/office/word-tools/section-builders.d.ts.map +1 -1
  100. package/dist/tools/office/word-tools/section-builders.js +230 -50
  101. package/dist/tools/office/word-tools/section-builders.js.map +1 -1
  102. package/dist/ui/components/ActivityIndicator.d.ts +4 -0
  103. package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
  104. package/dist/ui/components/ActivityIndicator.js +14 -2
  105. package/dist/ui/components/ActivityIndicator.js.map +1 -1
  106. package/dist/ui/components/Logo.d.ts.map +1 -1
  107. package/dist/ui/components/Logo.js +2 -4
  108. package/dist/ui/components/Logo.js.map +1 -1
  109. package/dist/ui/components/PlanExecuteApp.d.ts.map +1 -1
  110. package/dist/ui/components/PlanExecuteApp.js +2 -4
  111. package/dist/ui/components/PlanExecuteApp.js.map +1 -1
  112. package/dist/ui/components/StatusBar.d.ts.map +1 -1
  113. package/dist/ui/components/StatusBar.js +15 -0
  114. package/dist/ui/components/StatusBar.js.map +1 -1
  115. package/package.json +1 -1
@@ -11,10 +11,9 @@ export interface SubAgentConfig {
11
11
  temperature?: number;
12
12
  maxTokens?: number;
13
13
  planningPrompt?: string;
14
- planningMaxTokens?: number;
15
14
  enhancementPrompt?: string;
16
- enhancementMaxTokens?: number;
17
15
  minToolCallsBeforeComplete?: number;
16
+ executionRules?: string;
18
17
  }
19
18
  export declare class SubAgent {
20
19
  private llmClient;
@@ -26,10 +25,9 @@ export declare class SubAgent {
26
25
  private temperature;
27
26
  private maxTokens;
28
27
  private planningPrompt?;
29
- private planningMaxTokens;
30
28
  private enhancementPrompt?;
31
- private enhancementMaxTokens;
32
29
  private minToolCallsBeforeComplete;
30
+ private executionRules?;
33
31
  constructor(llmClient: LLMClient, appName: string, tools: LLMSimpleTool[], systemPrompt: string, config?: SubAgentConfig);
34
32
  run(instruction: string): Promise<ToolResult>;
35
33
  private enhanceInstruction;
@@ -1 +1 @@
1
- {"version":3,"file":"sub-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/common/sub-agent.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKjE,KAAK,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;AAChL,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAI9E,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAE3E;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAErE;AAED,wBAAgB,yBAAyB,IAAI,gBAAgB,GAAG,IAAI,CAEnE;AAED,wBAAgB,sBAAsB,IAAI,aAAa,GAAG,IAAI,CAE7D;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,0BAA0B,CAAS;gBAGzC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,aAAa,EAAE,EACtB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,cAAc;IA0BnB,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAiNrC,kBAAkB;YA6BlB,YAAY;IAmC1B,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,WAAW;CAiBpB"}
1
+ {"version":3,"file":"sub-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/common/sub-agent.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKjE,KAAK,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;AAChL,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAI9E,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAE3E;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAErE;AAED,wBAAgB,yBAAyB,IAAI,gBAAgB,GAAG,IAAI,CAEnE;AAED,wBAAgB,sBAAsB,IAAI,aAAa,GAAG,IAAI,CAE7D;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,0BAA0B,CAAS;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAS;gBAG9B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,aAAa,EAAE,EACtB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,cAAc;IAyBnB,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAmNrC,kBAAkB;YA4BlB,YAAY;IAkC1B,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,WAAW;CAiBpB"}
@@ -24,10 +24,9 @@ export class SubAgent {
24
24
  temperature;
25
25
  maxTokens;
26
26
  planningPrompt;
27
- planningMaxTokens;
28
27
  enhancementPrompt;
29
- enhancementMaxTokens;
30
28
  minToolCallsBeforeComplete;
29
+ executionRules;
31
30
  constructor(llmClient, appName, tools, systemPrompt, config) {
32
31
  this.llmClient = llmClient;
33
32
  this.appName = appName;
@@ -37,10 +36,9 @@ export class SubAgent {
37
36
  this.temperature = config?.temperature ?? 0.3;
38
37
  this.maxTokens = config?.maxTokens ?? 4000;
39
38
  this.planningPrompt = config?.planningPrompt;
40
- this.planningMaxTokens = config?.planningMaxTokens ?? 2000;
41
39
  this.enhancementPrompt = config?.enhancementPrompt;
42
- this.enhancementMaxTokens = config?.enhancementMaxTokens ?? 800;
43
40
  this.minToolCallsBeforeComplete = config?.minToolCallsBeforeComplete ?? 0;
41
+ this.executionRules = config?.executionRules;
44
42
  this.toolMap = new Map();
45
43
  for (const tool of tools) {
46
44
  this.toolMap.set(tool.definition.function.name, tool);
@@ -94,13 +92,15 @@ export class SubAgent {
94
92
  ? this.rebuildMessages(plan, instruction, historyText, pendingMessages)
95
93
  : simpleMessages;
96
94
  const remaining = this.maxIterations - iterations;
97
- if (remaining <= 20 && remaining > 10) {
98
- const warning = `⚠️ WARNING: Only ${remaining} iteration(s) remaining out of ${this.maxIterations}! Finish your CURRENT slide, then build the CLOSING slide, SAVE, and call "complete". Do NOT start new content slides.`;
95
+ const earlyThreshold = Math.max(3, Math.floor(this.maxIterations * 0.3));
96
+ const emergencyThreshold = Math.max(2, Math.floor(this.maxIterations * 0.15));
97
+ if (remaining <= earlyThreshold && remaining > emergencyThreshold) {
98
+ const warning = `⚠️ WARNING: Only ${remaining} iteration(s) remaining out of ${this.maxIterations}! Finish your current work, SAVE the file, and call "complete". Do NOT start new content.`;
99
99
  messagesForLLM.push({ role: 'user', content: warning });
100
100
  logger.warn(`SubAgent[${this.appName}] injected early save warning`, { remaining });
101
101
  }
102
- else if (remaining <= 10 && remaining > 0) {
103
- const warning = `🚨 EMERGENCY: Only ${remaining} iteration(s) left! STOP building content NOW. If closing slide is missing, add it IMMEDIATELY. Then call powerpoint_save / word_save / excel_save and "complete". ALL UNSAVED WORK WILL BE LOST.`;
102
+ else if (remaining <= emergencyThreshold && remaining > 0) {
103
+ const warning = `🚨 EMERGENCY: Only ${remaining} iteration(s) left! STOP building content NOW. SAVE the file immediately and call "complete". ALL UNSAVED WORK WILL BE LOST.`;
104
104
  messagesForLLM.push({ role: 'user', content: warning });
105
105
  logger.warn(`SubAgent[${this.appName}] injected emergency save warning`, { remaining });
106
106
  }
@@ -216,7 +216,6 @@ export class SubAgent {
216
216
  { role: 'user', content: instruction },
217
217
  ],
218
218
  temperature: 0.5,
219
- max_tokens: this.enhancementMaxTokens,
220
219
  });
221
220
  const enhancement = response.choices[0]?.message?.content;
222
221
  if (enhancement) {
@@ -240,7 +239,6 @@ export class SubAgent {
240
239
  { role: 'user', content: instruction },
241
240
  ],
242
241
  temperature: 0.4,
243
- max_tokens: this.planningMaxTokens,
244
242
  });
245
243
  const plan = response.choices[0]?.message?.content;
246
244
  if (plan) {
@@ -261,7 +259,10 @@ export class SubAgent {
261
259
  userContent += `<PREVIOUS_WORK>\n${historyText}</PREVIOUS_WORK>\n\n`;
262
260
  }
263
261
  userContent += `<INSTRUCTION>\n${instruction}\n</INSTRUCTION>\n\n`;
264
- userContent += 'Follow the EXECUTION_PLAN step by step. Continue from where PREVIOUS_WORK left off.\nCRITICAL RULES:\n1. Build the EXACT layout type assigned in the plan. If the plan says "Layout: B", build two columns — NEVER substitute with Layout A.\n2. Layout A is MAX 3 slides total. After your 3rd Layout A, ALL remaining slides MUST be B/C/D/E/F.\n3. The LAST slide MUST be a CLOSING slide ("감사합니다"/"Thank You"). NEVER end with a content slide.\n4. Before calling powerpoint_save, verify: Is my last slide CLOSING? If not, build it NOW.';
262
+ userContent += 'Follow the EXECUTION_PLAN step by step. Continue from where PREVIOUS_WORK left off.';
263
+ if (this.executionRules) {
264
+ userContent += '\n' + this.executionRules;
265
+ }
265
266
  const hasKorean = /[\uac00-\ud7af\u1100-\u11ff]/.test(instruction);
266
267
  if (hasKorean) {
267
268
  userContent += '\n⚠ LANGUAGE: 사용자가 한국어로 작성했습니다. 모든 텍스트(제목, 본문, 테이블 헤더, 차트 라벨)를 반드시 한국어로 작성하세요. 실행 계획에 영어 제목이 있더라도 한국어로 번역하여 사용하세요.';
@@ -1 +1 @@
1
- {"version":3,"file":"sub-agent.js","sourceRoot":"","sources":["../../../src/agents/common/sub-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sub-agent.js","sourceRoot":"","sources":["../../../src/agents/common/sub-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"excel-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/office/excel-agent.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKpD,wBAAgB,4BAA4B,IAAI,YAAY,CA4B3D"}
1
+ {"version":3,"file":"excel-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/office/excel-agent.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKpD,wBAAgB,4BAA4B,IAAI,YAAY,CA4B3D"}
@@ -21,7 +21,7 @@ export function createExcelModifyRequestTool() {
21
21
  },
22
22
  },
23
23
  execute: async (args, llmClient) => {
24
- const agent = new SubAgent(llmClient, 'excel', EXCEL_TOOLS, EXCEL_SYSTEM_PROMPT, { maxIterations: 40, planningPrompt: EXCEL_PLANNING_PROMPT, planningMaxTokens: 1500, enhancementPrompt: EXCEL_ENHANCEMENT_PROMPT, enhancementMaxTokens: 600 });
24
+ const agent = new SubAgent(llmClient, 'excel', EXCEL_TOOLS, EXCEL_SYSTEM_PROMPT, { maxIterations: 60, planningPrompt: EXCEL_PLANNING_PROMPT, enhancementPrompt: EXCEL_ENHANCEMENT_PROMPT });
25
25
  return agent.run(args['instruction']);
26
26
  },
27
27
  categories: ['llm-agent'],
@@ -1 +1 @@
1
- {"version":3,"file":"excel-agent.js","sourceRoot":"","sources":["../../../src/agents/office/excel-agent.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAEpG,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,gSAAgS;gBAClS,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,uMAAuM;yBAC1M;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,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;YAChP,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
+ {"version":3,"file":"excel-agent.js","sourceRoot":"","sources":["../../../src/agents/office/excel-agent.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAEpG,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,gSAAgS;gBAClS,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,uMAAuM;yBAC1M;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,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,CAAC,CAAC;YAC5L,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 +1 @@
1
- {"version":3,"file":"excel-create-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/office/excel-create-agent.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AASpD,wBAAgB,4BAA4B,IAAI,YAAY,CAyC3D"}
1
+ {"version":3,"file":"excel-create-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/office/excel-create-agent.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AASpD,wBAAgB,4BAA4B,IAAI,YAAY,CA6D3D"}
@@ -22,12 +22,32 @@ export function createExcelCreateRequestTool() {
22
22
  },
23
23
  execute: async (args, llmClient) => {
24
24
  const agent = new SubAgent(llmClient, 'excel-create', EXCEL_CREATE_TOOLS, EXCEL_CREATE_SYSTEM_PROMPT, {
25
- maxIterations: 20,
25
+ maxIterations: 45,
26
26
  planningPrompt: EXCEL_CREATE_PLANNING_PROMPT,
27
- planningMaxTokens: 1500,
28
27
  enhancementPrompt: EXCEL_CREATE_ENHANCEMENT_PROMPT,
29
- enhancementMaxTokens: 600,
30
- minToolCallsBeforeComplete: 5,
28
+ minToolCallsBeforeComplete: 12,
29
+ executionRules: [
30
+ 'MANDATORY EXECUTION ORDER — follow EXACTLY for EACH sheet:',
31
+ '',
32
+ ' Step A: excel_build_data_sheet (minimum 5 columns, minimum 8 data rows)',
33
+ ' Step B: excel_build_formula_columns (at least 1 calculated column)',
34
+ ' Step C: excel_build_summary_row (SUM/AVERAGE for numeric columns)',
35
+ ' Step D: excel_build_conditional_format ← FIRST RULE:',
36
+ ' rule_type: "cellValue", operator: "lessThan", value1: "0", font_color: "#FF0000"',
37
+ ' (apply to the growth/change column range, e.g. "D3:D14")',
38
+ ' Step E: excel_build_conditional_format ← SECOND RULE:',
39
+ ' rule_type: "colorScale"',
40
+ ' (apply to the main numeric column range, e.g. "B3:B14")',
41
+ ' Step F: excel_build_chart (data_range must cover actual data cells only)',
42
+ '',
43
+ 'After completing A-F on Sheet 1 → excel_add_sheet → repeat A-F for Sheet 2.',
44
+ '',
45
+ 'HARD RULES:',
46
+ '- Steps D AND E are BOTH mandatory on EVERY sheet. excel_save WILL REJECT if missing.',
47
+ '- NEVER use OFFSET(), INDIRECT(), or INDEX() in formulas.',
48
+ '- NEVER call excel_save until BOTH sheets have ALL 6 steps complete.',
49
+ '- Sheet 1 = detailed monthly/item data. Sheet 2 = summary/dashboard view.',
50
+ ].join('\n'),
31
51
  });
32
52
  return agent.run(args['instruction']);
33
53
  },
@@ -1 +1 @@
1
- {"version":3,"file":"excel-create-agent.js","sourceRoot":"","sources":["../../../src/agents/office/excel-create-agent.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAEnC,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,sUAAsU;gBACxU,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,iNAAiN;yBACpN;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,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B;gBACE,aAAa,EAAE,EAAE;gBACjB,cAAc,EAAE,4BAA4B;gBAC5C,iBAAiB,EAAE,IAAI;gBACvB,iBAAiB,EAAE,+BAA+B;gBAClD,oBAAoB,EAAE,GAAG;gBACzB,0BAA0B,EAAE,CAAC;aAC9B,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
+ {"version":3,"file":"excel-create-agent.js","sourceRoot":"","sources":["../../../src/agents/office/excel-create-agent.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAEnC,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,sUAAsU;gBACxU,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,iNAAiN;yBACpN;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,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B;gBACE,aAAa,EAAE,EAAE;gBACjB,cAAc,EAAE,4BAA4B;gBAC5C,iBAAiB,EAAE,+BAA+B;gBAClD,0BAA0B,EAAE,EAAE;gBAC9B,cAAc,EAAE;oBACd,4DAA4D;oBAC5D,EAAE;oBACF,4EAA4E;oBAC5E,uEAAuE;oBACvE,sEAAsE;oBACtE,yDAAyD;oBACzD,4FAA4F;oBAC5F,oEAAoE;oBACpE,0DAA0D;oBAC1D,mCAAmC;oBACnC,mEAAmE;oBACnE,6EAA6E;oBAC7E,EAAE;oBACF,6EAA6E;oBAC7E,EAAE;oBACF,aAAa;oBACb,uFAAuF;oBACvF,2DAA2D;oBAC3D,sEAAsE;oBACtE,2EAA2E;iBAC5E,CAAC,IAAI,CAAC,IAAI,CAAC;aACb,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 EXCEL_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: Excel Spreadsheet CREATION Specialist\n\nYou create NEW Excel spreadsheets using HIGH-LEVEL sheet builder tools.\nEach tool call creates a complete structure \u2014 you never deal with individual cell formatting.\n\n## AVAILABLE TOOLS\n\n### Lifecycle\n- `excel_create` \u2014 Create a blank workbook\n- `excel_save` \u2014 Save the workbook\n- `excel_screenshot` \u2014 Take a screenshot for verification\n\n### Sheet Management\n- `excel_add_sheet` \u2014 Add a new sheet\n- `excel_rename_sheet` \u2014 Rename a sheet\n\n### Sheet Builders (1 call = 1 complete structure)\n- `excel_build_data_sheet` \u2014 Title row + styled headers + data rows + number format + autofit\n- `excel_build_formula_columns` \u2014 Add formula columns to existing data\n- `excel_build_summary_row` \u2014 Add styled totals/summary row\n- `excel_build_chart` \u2014 Add a styled chart\n- `excel_build_conditional_format` \u2014 Apply conditional formatting\n\n### Complete\n- `final_response` \u2014 Return result when all work is done\n\n## WORKFLOW\n\n1. `excel_create` \u2192 create blank workbook\n2. `excel_build_data_sheet` \u2192 main data sheet with title, headers, data\n3. `excel_build_formula_columns` \u2192 calculated columns (growth %, variance, etc.)\n4. `excel_build_summary_row` \u2192 totals/averages at bottom\n5. `excel_build_conditional_format` \u2192 highlight key values\n6. `excel_build_chart` \u2192 visual representation\n7. Additional sheets if needed (repeat steps 2-6)\n8. `excel_save` \u2192 save to path\n9. `final_response` \u2192 report completion\n\n## DESIGN CONSISTENCY\n\n- Use the SAME `color_scheme` (or `colors`) and `fonts` across ALL builders\n- The Enhancement LLM specifies the color scheme \u2014 use it consistently\n- Available presets: MODERN_GREEN, WARM_AMBER, MINIMAL_SLATE, CORPORATE_BLUE, VIBRANT_CORAL, DEEP_PURPLE\n\n## CRITICAL: Number Handling\n\n- Write numbers AS NUMBERS, not strings: `12500`, not `\"12,500\"`\n- Use `number_formats` parameter for display format: `\"#,##0\"`, `\"0.0%\"`\n- Percentages: write as decimal (0.15 for 15%), format as `\"0.0%\"`\n- Currency: write raw number, format as `\"\u20A9#,##0\"` or `\"$#,##0\"`\n\n## CONTENT QUALITY\n\n- ALL labels and titles MUST be in Korean\n- Data must be REALISTIC \u2014 use plausible numbers for the topic\n- Include at least one formula column (growth, change, ratio, etc.)\n- Include at least one summary row (SUM, AVERAGE)\n- Include at least one chart\n- NEVER use placeholder data like \"\uB370\uC774\uD1301\", \"\uAC121\"\n\n## RULES\n\n1. ALWAYS call `excel_create` first\n2. ALWAYS save before completing\n3. Numbers must be written as numbers, not formatted strings\n4. Use `excel_build_data_sheet` for the main data \u2014 it handles everything\n5. Add formulas AFTER data sheet is built (need row references)\n6. Chart data_range must reference actual data range\n7. NEVER call low-level Excel tools \u2014 only use the builders listed above\n";
2
- export declare const EXCEL_CREATE_PLANNING_PROMPT = "You are the Planning LLM for an Excel Spreadsheet 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\nDESIGN DECISIONS:\n- COLOR_SCHEME: [preset name or custom hex values]\n- FONTS: [preset name or custom]\n\nTOTAL_SHEETS: [number]\n\nSHEET_PLAN:\nFor each sheet:\n\nSHEET: \"[sheet_name]\"\n1. [DATA] excel_build_data_sheet \u2014 Title: \"...\", Headers: [...], Rows: N\n2. [FORMULA] excel_build_formula_columns \u2014 Columns: [col: formula description]\n3. [SUMMARY] excel_build_summary_row \u2014 Row N+3: SUM/AVG for columns [...]\n4. [FORMAT] excel_build_conditional_format \u2014 Range: \"...\", Rule: ...\n5. [CHART] excel_build_chart \u2014 Type: ..., Range: \"...\", Title: \"...\"\n\n## CONTENT DENSITY\n\n- Data sheet: 5-15 data rows, 4-8 columns\n- Formula columns: 1-3 calculated columns\n- Summary row: SUM and/or AVERAGE for numeric columns\n- Chart: matches the data story (bar for comparison, line for trends, pie for composition)\n\n## CRITICAL: Numbers\n\n- Plan data values as RAW NUMBERS: 125000, not \"125,000\"\n- Plan percentages as DECIMALS: 0.15, not \"15%\"\n- Specify number_formats separately: {\"C\": \"#,##0\", \"D\": \"0.0%\"}\n\n## VERIFICATION\n\nBefore finalizing the plan, check:\n\u2705 excel_create called first?\n\u2705 Data has realistic, specific values?\n\u2705 At least 1 formula column?\n\u2705 Summary row included?\n\u2705 At least 1 chart?\n\u2705 Number formats specified?\n\u2705 Save path specified?\n\u2705 All Korean labels?\n";
3
- export declare const EXCEL_CREATE_ENHANCEMENT_PROMPT = "You are the Enhancement LLM for an Excel Spreadsheet Creation Agent.\nGenerate rich, professional data content for the spreadsheet.\n\n## OUTPUT FORMAT\n\nDATA_TYPE: [sales/finance/HR/inventory/performance/survey]\nTARGET_AUDIENCE: [executives/team/analysts/general]\nTOTAL_SHEETS: [1-3]\n\nDESIGN_SPECIFICATION:\n- COLOR_SCHEME: [choose from: MODERN_GREEN, WARM_AMBER, MINIMAL_SLATE, CORPORATE_BLUE, VIBRANT_CORAL, DEEP_PURPLE \u2014 or specify custom hex]\n- FONTS: [choose matching preset or custom {title, body}]\n\nFor each sheet:\nSHEET: \"[name]\"\n- Title: \"...\"\n- Headers: [\"col1\", \"col2\", ...]\n- Data description: what each row represents, how many rows\n- Sample data: first 2-3 rows as example (use REAL numbers, not placeholders)\n- Formula columns: what calculations to add\n- Summary: what aggregations (SUM, AVERAGE)\n- Chart: type + what it shows\n- Conditional formatting: what to highlight\n\n## RULES\n\n- ALL labels, headers, and titles MUST be in Korean\n- Provide REALISTIC data appropriate for the topic\n- Numbers must be raw values (125000, not \"125,000\")\n- Percentages as decimals (0.15, not \"15%\")\n- Include at least one meaningful calculation (growth rate, variance, ratio)\n- Think like a professional analyst creating a real spreadsheet\n";
1
+ export declare const EXCEL_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), 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: Excel Spreadsheet CREATION Specialist\n\nYou create NEW Excel spreadsheets using HIGH-LEVEL sheet builder tools.\nEach tool call creates a complete structure \u2014 you never deal with individual cell formatting.\n\n## AVAILABLE TOOLS\n\n### Lifecycle\n- `excel_create` \u2014 Create a blank workbook\n- `excel_save` \u2014 Save the workbook\n- `excel_screenshot` \u2014 Take a screenshot for verification\n\n### Sheet Management\n- `excel_add_sheet` \u2014 Add a new sheet\n- `excel_rename_sheet` \u2014 Rename a sheet\n\n### Sheet Builders (1 call = 1 complete structure)\n- `excel_build_data_sheet` \u2014 Title row + styled headers + data rows + number format + autofit\n- `excel_build_formula_columns` \u2014 Add formula columns to existing data\n- `excel_build_summary_row` \u2014 Add styled totals/summary row\n- `excel_build_chart` \u2014 Add a styled chart (MUST include category_range for axis labels)\n- `excel_build_conditional_format` \u2014 Apply conditional formatting\n\n### Complete\n- `final_response` \u2014 Return result when all work is done\n\n## WORKFLOW\n\n1. `excel_create` \u2192 create blank workbook (CALL ONLY ONCE \u2014 NEVER call excel_create again!)\n2. `excel_build_data_sheet` \u2192 main data sheet with title, headers, data\n3. `excel_build_formula_columns` \u2192 calculated columns (growth %, variance, etc.)\n4. `excel_build_summary_row` \u2192 totals/averages at bottom\n5. `excel_build_conditional_format` \u2192 highlight key values\n6. `excel_build_chart` \u2192 visual representation of data\n7. `excel_add_sheet` \u2192 add more sheets (repeat steps 2-6 for each sheet)\n8. `excel_save` \u2192 save to path (CALL ONLY ONCE at the very end!)\n9. `complete` \u2192 report completion\n\n## CRITICAL RULES\n- NEVER call `excel_create` more than once! It creates a NEW blank workbook and DESTROYS all previous work.\n- Use `excel_add_sheet` to add additional sheets to the same workbook.\n- **MANDATORY: Build EXACTLY 2-3 sheets.** Single-sheet spreadsheets are UNACCEPTABLE.\n - Sheet 1: Detailed data (the main data table with all rows)\n - Sheet 2: Summary/Dashboard (aggregated view \u2014 quarterly, category, or KPI)\n - Sheet 3 (optional): Additional analysis or breakdown\n- Place charts BELOW data, never overlapping with data cells.\n- When placing 2 charts side by side: first chart left=20, second chart left=540 (500 width + 40 gap).\n- When stacking charts vertically: same left, second chart top = first chart top + 320.\n- Each sheet MUST have at least 1 chart.\n\n## DESIGN CONSISTENCY\n\n- STRONGLY PREFER `color_scheme` presets over custom `colors` \u2014 presets guarantee readability\n- Available presets: MODERN_GREEN, WARM_AMBER, MINIMAL_SLATE, CORPORATE_BLUE, VIBRANT_CORAL, DEEP_PURPLE\n- If you MUST use custom `colors`, the `body` color MUST be dark (e.g. #333333) \u2014 NEVER white or light colors\n- Use the SAME color_scheme and fonts across ALL builders on ALL sheets\n\n## CRITICAL: Number Handling\n\n- Write numbers AS NUMBERS, not strings: `12500`, not `\"12,500\"`\n- Use `number_formats` parameter for display format: `\"#,##0\"`, `\"0.0%\"`\n- Percentages: write as decimal (0.15 for 15%), format as `\"0.0%\"`\n- Currency: write raw number, format as `\"\u20A9#,##0\"` or `\"$#,##0\"`\n- **DATES**: Write as `\"2025-01-15\"` STRING, and set number_format `\"yyyy-mm-dd\"`. Do NOT write date serial numbers.\n - Example: data row `[\"2025-01-15\", \"2025-03-31\", 10]`, number_formats: `{\"A\": \"yyyy-mm-dd\", \"B\": \"yyyy-mm-dd\"}`\n\n## CONTENT QUALITY\n\n- ALL labels and titles MUST be in Korean\n- Data must be REALISTIC \u2014 use plausible numbers for the topic\n- Include at least one formula column (growth, change, ratio, etc.)\n- Include at least one summary row (SUM, AVERAGE) on EVERY sheet \u2014 call `excel_build_summary_row` for each\n- Include at least one chart PER SHEET\n- NEVER use placeholder data like \"\uB370\uC774\uD1301\", \"\uAC121\"\n\n## MANDATORY: Conditional Formatting\n\nYou MUST call `excel_build_conditional_format` at least TWICE per sheet (2+ rules per sheet).\nUse these EXACT parameter patterns (rule_type + operator, NOT shorthand):\n\nExample combo for a sales sheet:\n1. rule_type: \"cellValue\", operator: \"lessThan\", value1: \"0\", font_color: \"#FF0000\" (negative values red)\n2. rule_type: \"colorScale\" on the main numeric column (gradient visualization)\n\nOther options:\n- rule_type: \"cellValue\", operator: \"greaterThan\", value1: \"1000000\", fill_color: \"#C6EFCE\"\n- rule_type: \"dataBar\"\n\n\u26A0\uFE0F NEVER use shorthand types like \"less_than\" or \"greater_than\" \u2014 they will FAIL.\nDo NOT skip this step \u2014 a spreadsheet without conditional formatting looks unprofessional.\n\n## RULES\n\n1. ALWAYS call `excel_create` first\n2. ALWAYS save before completing\n3. Numbers must be written as numbers, not formatted strings\n4. Use `excel_build_data_sheet` for RAW data only \u2014 do NOT include formula columns in the data array\n5. Add formula columns via `excel_build_formula_columns` AFTER the data sheet is built\n - Use {row} for current row, {row-1} for previous row\n - \u26A0\uFE0F NEVER use OFFSET(), INDIRECT(), or INDEX() \u2014 they cause #VALUE! errors\n - ONLY use direct cell references with {row} and {row-1} placeholders\n - Wrap in IFERROR for edge cases: \"=IFERROR((B{row}-B{row-1})/B{row-1},0)\"\n - Growth rate: \"=IFERROR((B{row}-B{row-1})/B{row-1},0)\" with number_format \"0.0%\"\n - Running total: \"=SUM($B$3:B{row})\" with number_format \"#,##0\"\n - Difference: \"=C{row}-D{row}\" with number_format \"#,##0\"\n6. Chart `data_range` must include ALL data rows \u2014 if data is in rows 3-14, end at row 14 (not 13!).\n - Include ONLY pure numeric columns \u2014 EXCLUDE date columns, text columns, ID columns, label columns.\n - data_range includes HEADER ROW: e.g., \"B2:D14\" (row 2 = headers, rows 3-14 = data)\n - Date columns (yyyy-mm-dd) become serial numbers in charts \u2014 they WILL break the chart scale.\n - Example: columns A(label) B(start_date) C(end_date) D(duration) E(progress) \u2192 data_range = \"D2:E14\", category_range = \"A3:A14\"\n - For schedule/timeline data: chart the DURATION or COUNT columns, NOT the date columns.\n7. Chart `category_range` is MANDATORY \u2014 without it, chart X-axis shows 1,2,3 instead of labels!\n - Must point to the label/category column DATA rows (NO header): e.g., \"A3:A14\" for month names\n - For pie/doughnut: category_range = slice labels (e.g., \"A3:A14\" for category names)\n - ALWAYS provide category_range \u2014 NEVER omit it\n8. VERIFY: if data has N rows starting at row 3, the last row is row (3+N-1). data_range MUST end at that row.\n9. NEVER call low-level Excel tools \u2014 only use the builders listed above\n10. EVERY sheet must have its OWN self-contained data rows \u2014 no empty summary sheets\n11. MINIMUM DATA DENSITY: Each sheet must have at least 8 data rows. excel_save WILL REJECT sheets with fewer rows.\n12. NO EMPTY ROWS in data: Every row from row 3 to the last data row must have column A filled. Gaps will be rejected.\n13. Summary row formula must use correct ranges: if data rows are 3-14, use SUM(B3:B14) not SUM(B3:B10).\n";
2
+ export declare const EXCEL_CREATE_PLANNING_PROMPT = "You are the Planning LLM for an Excel Spreadsheet 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\nDESIGN DECISIONS:\n- COLOR_SCHEME: [preset name or custom hex values]\n- FONTS: [preset name or custom]\n\nTOTAL_SHEETS: [number]\n\nSHEET_PLAN:\nFor each sheet:\n\nSHEET: \"[sheet_name]\"\n1. [DATA] excel_build_data_sheet \u2014 Title: \"...\", Headers: [...], Rows: N\n2. [FORMULA] excel_build_formula_columns \u2014 Columns: [col: formula description]\n3. [SUMMARY] excel_build_summary_row \u2014 Row N+3: SUM/AVG for columns [...]\n4. [FORMAT] excel_build_conditional_format \u2014 Range: \"...\", Rule: ...\n5. [CHART] excel_build_chart \u2014 Type: ..., Range: \"...\", Title: \"...\"\n\n## CONTENT DENSITY\n\n- Data sheet: 8-15 data rows MINIMUM (fewer than 8 will be rejected at save), 5-8 columns\n- Summary sheet: ALSO needs 8+ data rows \u2014 aggregate by different dimension (team, quarter, category)\n- Formula columns: 1-3 calculated columns PER SHEET\n- Summary row: SUM and/or AVERAGE for numeric columns\n- Chart: matches the data story (bar for comparison, line for trends, pie for composition)\n- Chart data_range: ONLY numeric columns \u2014 NEVER include date or text columns in chart data_range\n\n## CRITICAL: Numbers\n\n- Plan data values as RAW NUMBERS: 125000, not \"125,000\"\n- Plan percentages as DECIMALS: 0.15, not \"15%\"\n- Specify number_formats separately: {\"C\": \"#,##0\", \"D\": \"0.0%\"}\n\n## MANDATORY STRUCTURE\n\n- TOTAL_SHEETS must be 2 or 3 (NEVER 1)\n- Sheet 1: Detailed data table (main analysis)\n- Sheet 2: Summary/Dashboard (aggregated or KPI view)\n- Each sheet needs: data + formula column + summary row + chart + conditional formatting\n\n## VERIFICATION\n\nBefore finalizing the plan, check:\n\u2705 excel_create called first?\n\u2705 TOTAL_SHEETS >= 2? (MANDATORY \u2014 single sheet = FAILURE)\n\u2705 Data has realistic, specific values?\n\u2705 At least 1 formula column PER SHEET?\n\u2705 Summary row included on each sheet?\n\u2705 At least 1 chart PER SHEET?\n\u2705 Conditional formatting on each sheet?\n\u2705 Number formats specified?\n\u2705 Save path specified?\n\u2705 All Korean labels?\n";
3
+ export declare const EXCEL_CREATE_ENHANCEMENT_PROMPT = "You are the Enhancement LLM for an Excel Spreadsheet Creation Agent.\nGenerate rich, professional data content for the spreadsheet.\n\n## OUTPUT FORMAT\n\nDATA_TYPE: [sales/finance/HR/inventory/performance/survey]\nTARGET_AUDIENCE: [executives/team/analysts/general]\nTOTAL_SHEETS: [2-3] (NEVER 1 \u2014 minimum 2 sheets mandatory)\n\nDESIGN_SPECIFICATION:\n- COLOR_SCHEME: [choose from: MODERN_GREEN, WARM_AMBER, MINIMAL_SLATE, CORPORATE_BLUE, VIBRANT_CORAL, DEEP_PURPLE \u2014 or specify custom hex]\n- FONTS: [choose matching preset or custom {title, body}]\n\nFor each sheet:\nSHEET: \"[name]\"\n- Title: \"...\"\n- Headers: [\"col1\", \"col2\", ...]\n- Data description: what each row represents, how many rows\n- Sample data: first 2-3 rows as example (use REAL numbers, not placeholders)\n- Formula columns: what calculations to add\n- Summary: what aggregations (SUM, AVERAGE)\n- Chart: type + what it shows\n- Conditional formatting: what to highlight\n\n## RULES\n\n- ALL labels, headers, and titles MUST be in Korean\n- Provide REALISTIC data appropriate for the topic\n- Numbers must be raw values (125000, not \"125,000\")\n- Percentages as decimals (0.15, not \"15%\")\n- Include at least one meaningful calculation (growth rate, variance, ratio)\n- Think like a professional analyst creating a real spreadsheet\n";
4
4
  //# sourceMappingURL=excel-create-prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"excel-create-prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/office/excel-create-prompts.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,0BAA0B,0zOAuEtC,CAAC;AAEF,eAAO,MAAM,4BAA4B,sjDA8CxC,CAAC;AAEF,eAAO,MAAM,+BAA+B,wwCAgC3C,CAAC"}
1
+ {"version":3,"file":"excel-create-prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/office/excel-create-prompts.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,0BAA0B,y+WA2HtC,CAAC;AAEF,eAAO,MAAM,4BAA4B,+tEAyDxC,CAAC;AAEF,eAAO,MAAM,+BAA+B,ozCAgC3C,CAAC"}
@@ -21,7 +21,7 @@ Each tool call creates a complete structure — you never deal with individual c
21
21
  - \`excel_build_data_sheet\` — Title row + styled headers + data rows + number format + autofit
22
22
  - \`excel_build_formula_columns\` — Add formula columns to existing data
23
23
  - \`excel_build_summary_row\` — Add styled totals/summary row
24
- - \`excel_build_chart\` — Add a styled chart
24
+ - \`excel_build_chart\` — Add a styled chart (MUST include category_range for axis labels)
25
25
  - \`excel_build_conditional_format\` — Apply conditional formatting
26
26
 
27
27
  ### Complete
@@ -29,21 +29,34 @@ Each tool call creates a complete structure — you never deal with individual c
29
29
 
30
30
  ## WORKFLOW
31
31
 
32
- 1. \`excel_create\` → create blank workbook
32
+ 1. \`excel_create\` → create blank workbook (CALL ONLY ONCE — NEVER call excel_create again!)
33
33
  2. \`excel_build_data_sheet\` → main data sheet with title, headers, data
34
34
  3. \`excel_build_formula_columns\` → calculated columns (growth %, variance, etc.)
35
35
  4. \`excel_build_summary_row\` → totals/averages at bottom
36
36
  5. \`excel_build_conditional_format\` → highlight key values
37
- 6. \`excel_build_chart\` → visual representation
38
- 7. Additional sheets if needed (repeat steps 2-6)
39
- 8. \`excel_save\` → save to path
40
- 9. \`final_response\` → report completion
37
+ 6. \`excel_build_chart\` → visual representation of data
38
+ 7. \`excel_add_sheet\` add more sheets (repeat steps 2-6 for each sheet)
39
+ 8. \`excel_save\` → save to path (CALL ONLY ONCE at the very end!)
40
+ 9. \`complete\` → report completion
41
+
42
+ ## CRITICAL RULES
43
+ - NEVER call \`excel_create\` more than once! It creates a NEW blank workbook and DESTROYS all previous work.
44
+ - Use \`excel_add_sheet\` to add additional sheets to the same workbook.
45
+ - **MANDATORY: Build EXACTLY 2-3 sheets.** Single-sheet spreadsheets are UNACCEPTABLE.
46
+ - Sheet 1: Detailed data (the main data table with all rows)
47
+ - Sheet 2: Summary/Dashboard (aggregated view — quarterly, category, or KPI)
48
+ - Sheet 3 (optional): Additional analysis or breakdown
49
+ - Place charts BELOW data, never overlapping with data cells.
50
+ - When placing 2 charts side by side: first chart left=20, second chart left=540 (500 width + 40 gap).
51
+ - When stacking charts vertically: same left, second chart top = first chart top + 320.
52
+ - Each sheet MUST have at least 1 chart.
41
53
 
42
54
  ## DESIGN CONSISTENCY
43
55
 
44
- - Use the SAME \`color_scheme\` (or \`colors\`) and \`fonts\` across ALL builders
45
- - The Enhancement LLM specifies the color scheme — use it consistently
56
+ - STRONGLY PREFER \`color_scheme\` presets over custom \`colors\` presets guarantee readability
46
57
  - Available presets: MODERN_GREEN, WARM_AMBER, MINIMAL_SLATE, CORPORATE_BLUE, VIBRANT_CORAL, DEEP_PURPLE
58
+ - If you MUST use custom \`colors\`, the \`body\` color MUST be dark (e.g. #333333) — NEVER white or light colors
59
+ - Use the SAME color_scheme and fonts across ALL builders on ALL sheets
47
60
 
48
61
  ## CRITICAL: Number Handling
49
62
 
@@ -51,25 +64,64 @@ Each tool call creates a complete structure — you never deal with individual c
51
64
  - Use \`number_formats\` parameter for display format: \`"#,##0"\`, \`"0.0%"\`
52
65
  - Percentages: write as decimal (0.15 for 15%), format as \`"0.0%"\`
53
66
  - Currency: write raw number, format as \`"₩#,##0"\` or \`"$#,##0"\`
67
+ - **DATES**: Write as \`"2025-01-15"\` STRING, and set number_format \`"yyyy-mm-dd"\`. Do NOT write date serial numbers.
68
+ - Example: data row \`["2025-01-15", "2025-03-31", 10]\`, number_formats: \`{"A": "yyyy-mm-dd", "B": "yyyy-mm-dd"}\`
54
69
 
55
70
  ## CONTENT QUALITY
56
71
 
57
72
  - ALL labels and titles MUST be in Korean
58
73
  - Data must be REALISTIC — use plausible numbers for the topic
59
74
  - Include at least one formula column (growth, change, ratio, etc.)
60
- - Include at least one summary row (SUM, AVERAGE)
61
- - Include at least one chart
75
+ - Include at least one summary row (SUM, AVERAGE) on EVERY sheet — call \`excel_build_summary_row\` for each
76
+ - Include at least one chart PER SHEET
62
77
  - NEVER use placeholder data like "데이터1", "값1"
63
78
 
79
+ ## MANDATORY: Conditional Formatting
80
+
81
+ You MUST call \`excel_build_conditional_format\` at least TWICE per sheet (2+ rules per sheet).
82
+ Use these EXACT parameter patterns (rule_type + operator, NOT shorthand):
83
+
84
+ Example combo for a sales sheet:
85
+ 1. rule_type: "cellValue", operator: "lessThan", value1: "0", font_color: "#FF0000" (negative values red)
86
+ 2. rule_type: "colorScale" on the main numeric column (gradient visualization)
87
+
88
+ Other options:
89
+ - rule_type: "cellValue", operator: "greaterThan", value1: "1000000", fill_color: "#C6EFCE"
90
+ - rule_type: "dataBar"
91
+
92
+ ⚠️ NEVER use shorthand types like "less_than" or "greater_than" — they will FAIL.
93
+ Do NOT skip this step — a spreadsheet without conditional formatting looks unprofessional.
94
+
64
95
  ## RULES
65
96
 
66
97
  1. ALWAYS call \`excel_create\` first
67
98
  2. ALWAYS save before completing
68
99
  3. Numbers must be written as numbers, not formatted strings
69
- 4. Use \`excel_build_data_sheet\` for the main data — it handles everything
70
- 5. Add formulas AFTER data sheet is built (need row references)
71
- 6. Chart data_range must reference actual data range
72
- 7. NEVER call low-level Excel toolsonly use the builders listed above
100
+ 4. Use \`excel_build_data_sheet\` for RAW data only do NOT include formula columns in the data array
101
+ 5. Add formula columns via \`excel_build_formula_columns\` AFTER the data sheet is built
102
+ - Use {row} for current row, {row-1} for previous row
103
+ - ⚠️ NEVER use OFFSET(), INDIRECT(), or INDEX() they cause #VALUE! errors
104
+ - ONLY use direct cell references with {row} and {row-1} placeholders
105
+ - Wrap in IFERROR for edge cases: "=IFERROR((B{row}-B{row-1})/B{row-1},0)"
106
+ - Growth rate: "=IFERROR((B{row}-B{row-1})/B{row-1},0)" with number_format "0.0%"
107
+ - Running total: "=SUM($B$3:B{row})" with number_format "#,##0"
108
+ - Difference: "=C{row}-D{row}" with number_format "#,##0"
109
+ 6. Chart \`data_range\` must include ALL data rows — if data is in rows 3-14, end at row 14 (not 13!).
110
+ - Include ONLY pure numeric columns — EXCLUDE date columns, text columns, ID columns, label columns.
111
+ - data_range includes HEADER ROW: e.g., "B2:D14" (row 2 = headers, rows 3-14 = data)
112
+ - Date columns (yyyy-mm-dd) become serial numbers in charts — they WILL break the chart scale.
113
+ - Example: columns A(label) B(start_date) C(end_date) D(duration) E(progress) → data_range = "D2:E14", category_range = "A3:A14"
114
+ - For schedule/timeline data: chart the DURATION or COUNT columns, NOT the date columns.
115
+ 7. Chart \`category_range\` is MANDATORY — without it, chart X-axis shows 1,2,3 instead of labels!
116
+ - Must point to the label/category column DATA rows (NO header): e.g., "A3:A14" for month names
117
+ - For pie/doughnut: category_range = slice labels (e.g., "A3:A14" for category names)
118
+ - ALWAYS provide category_range — NEVER omit it
119
+ 8. VERIFY: if data has N rows starting at row 3, the last row is row (3+N-1). data_range MUST end at that row.
120
+ 9. NEVER call low-level Excel tools — only use the builders listed above
121
+ 10. EVERY sheet must have its OWN self-contained data rows — no empty summary sheets
122
+ 11. MINIMUM DATA DENSITY: Each sheet must have at least 8 data rows. excel_save WILL REJECT sheets with fewer rows.
123
+ 12. NO EMPTY ROWS in data: Every row from row 3 to the last data row must have column A filled. Gaps will be rejected.
124
+ 13. Summary row formula must use correct ranges: if data rows are 3-14, use SUM(B3:B14) not SUM(B3:B10).
73
125
  `;
74
126
  export const EXCEL_CREATE_PLANNING_PROMPT = `You are the Planning LLM for an Excel Spreadsheet Creation Agent.
75
127
  Given the user's request and the Enhancement LLM's creative content, create a concrete execution plan.
@@ -95,10 +147,12 @@ SHEET: "[sheet_name]"
95
147
 
96
148
  ## CONTENT DENSITY
97
149
 
98
- - Data sheet: 5-15 data rows, 4-8 columns
99
- - Formula columns: 1-3 calculated columns
150
+ - Data sheet: 8-15 data rows MINIMUM (fewer than 8 will be rejected at save), 5-8 columns
151
+ - Summary sheet: ALSO needs 8+ data rows — aggregate by different dimension (team, quarter, category)
152
+ - Formula columns: 1-3 calculated columns PER SHEET
100
153
  - Summary row: SUM and/or AVERAGE for numeric columns
101
154
  - Chart: matches the data story (bar for comparison, line for trends, pie for composition)
155
+ - Chart data_range: ONLY numeric columns — NEVER include date or text columns in chart data_range
102
156
 
103
157
  ## CRITICAL: Numbers
104
158
 
@@ -106,14 +160,23 @@ SHEET: "[sheet_name]"
106
160
  - Plan percentages as DECIMALS: 0.15, not "15%"
107
161
  - Specify number_formats separately: {"C": "#,##0", "D": "0.0%"}
108
162
 
163
+ ## MANDATORY STRUCTURE
164
+
165
+ - TOTAL_SHEETS must be 2 or 3 (NEVER 1)
166
+ - Sheet 1: Detailed data table (main analysis)
167
+ - Sheet 2: Summary/Dashboard (aggregated or KPI view)
168
+ - Each sheet needs: data + formula column + summary row + chart + conditional formatting
169
+
109
170
  ## VERIFICATION
110
171
 
111
172
  Before finalizing the plan, check:
112
173
  ✅ excel_create called first?
174
+ ✅ TOTAL_SHEETS >= 2? (MANDATORY — single sheet = FAILURE)
113
175
  ✅ Data has realistic, specific values?
114
- ✅ At least 1 formula column?
115
- ✅ Summary row included?
116
- ✅ At least 1 chart?
176
+ ✅ At least 1 formula column PER SHEET?
177
+ ✅ Summary row included on each sheet?
178
+ ✅ At least 1 chart PER SHEET?
179
+ ✅ Conditional formatting on each sheet?
117
180
  ✅ Number formats specified?
118
181
  ✅ Save path specified?
119
182
  ✅ All Korean labels?
@@ -125,7 +188,7 @@ Generate rich, professional data content for the spreadsheet.
125
188
 
126
189
  DATA_TYPE: [sales/finance/HR/inventory/performance/survey]
127
190
  TARGET_AUDIENCE: [executives/team/analysts/general]
128
- TOTAL_SHEETS: [1-3]
191
+ TOTAL_SHEETS: [2-3] (NEVER 1 — minimum 2 sheets mandatory)
129
192
 
130
193
  DESIGN_SPECIFICATION:
131
194
  - COLOR_SCHEME: [choose from: MODERN_GREEN, WARM_AMBER, MINIMAL_SLATE, CORPORATE_BLUE, VIBRANT_CORAL, DEEP_PURPLE — or specify custom hex]
@@ -1 +1 @@
1
- {"version":3,"file":"excel-create-prompts.js","sourceRoot":"","sources":["../../../src/agents/office/excel-create-prompts.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuE9D,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8C3C,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC9C,CAAC"}
1
+ {"version":3,"file":"excel-create-prompts.js","sourceRoot":"","sources":["../../../src/agents/office/excel-create-prompts.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2H9D,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyD3C,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/office/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,KAAK,cAAc,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC7G,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/office/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,KAAK,cAAc,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC7G,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/office/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,IAAI,cAAc,EAA+C,MAAM,oBAAoB,CAAC;AAC7G,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/office/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,IAAI,cAAc,EAA+C,MAAM,oBAAoB,CAAC;AAC7G,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"powerpoint-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-agent.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKpD,wBAAgB,iCAAiC,IAAI,YAAY,CAkChE"}
1
+ {"version":3,"file":"powerpoint-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-agent.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKpD,wBAAgB,iCAAiC,IAAI,YAAY,CAwChE"}
@@ -21,7 +21,13 @@ export function createPowerPointModifyRequestTool() {
21
21
  },
22
22
  },
23
23
  execute: async (args, llmClient) => {
24
- const agent = new SubAgent(llmClient, 'powerpoint', POWERPOINT_TOOLS, POWERPOINT_SYSTEM_PROMPT, { maxIterations: 200, planningPrompt: POWERPOINT_PLANNING_PROMPT, planningMaxTokens: 2000, enhancementPrompt: POWERPOINT_ENHANCEMENT_PROMPT, enhancementMaxTokens: 800, minToolCallsBeforeComplete: 80 });
24
+ const agent = new SubAgent(llmClient, 'powerpoint', POWERPOINT_TOOLS, POWERPOINT_SYSTEM_PROMPT, {
25
+ maxIterations: 300,
26
+ planningPrompt: POWERPOINT_PLANNING_PROMPT,
27
+ enhancementPrompt: POWERPOINT_ENHANCEMENT_PROMPT,
28
+ minToolCallsBeforeComplete: 80,
29
+ executionRules: 'CRITICAL RULES:\n1. Build the EXACT layout type assigned in the plan. If the plan says "Layout: B", build two columns — NEVER substitute with Layout A.\n2. Layout A is MAX 3 slides total. After your 3rd Layout A, ALL remaining slides MUST be B/C/D/E/F.\n3. The LAST slide MUST be a CLOSING slide ("감사합니다"/"Thank You"). NEVER end with a content slide.\n4. Before calling powerpoint_save, verify: Is my last slide CLOSING? If not, build it NOW.',
30
+ });
25
31
  return agent.run(args['instruction']);
26
32
  },
27
33
  categories: ['llm-agent'],
@@ -1 +1 @@
1
- {"version":3,"file":"powerpoint-agent.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-agent.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAEnH,MAAM,UAAU,iCAAiC;IAC/C,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EACT,2SAA2S;gBAC7S,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,qPAAqP;yBACxP;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,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,GAAG,EAAE,0BAA0B,EAAE,EAAE,EAAE,CACzM,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
+ {"version":3,"file":"powerpoint-agent.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-agent.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAEnH,MAAM,UAAU,iCAAiC;IAC/C,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EACT,2SAA2S;gBAC7S,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,qPAAqP;yBACxP;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,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB;gBACE,aAAa,EAAE,GAAG;gBAClB,cAAc,EAAE,0BAA0B;gBAC1C,iBAAiB,EAAE,6BAA6B;gBAChD,0BAA0B,EAAE,EAAE;gBAC9B,cAAc,EAAE,4bAA4b;aAC7c,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 +1 @@
1
- {"version":3,"file":"powerpoint-create-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAu0ChE,wBAAgB,iCAAiC,IAAI,YAAY,CAkChE"}
1
+ {"version":3,"file":"powerpoint-create-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAwyChE,wBAAgB,iCAAiC,IAAI,YAAY,CAkChE"}