hanseol-dev 5.0.2-dev.53 → 5.0.2-dev.54
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/powerpoint-create-agent.d.ts.map +1 -1
- package/dist/agents/office/powerpoint-create-agent.js +229 -163
- package/dist/agents/office/powerpoint-create-agent.js.map +1 -1
- package/dist/agents/office/powerpoint-create-prompts.d.ts +17 -4
- package/dist/agents/office/powerpoint-create-prompts.d.ts.map +1 -1
- package/dist/agents/office/powerpoint-create-prompts.js +173 -331
- package/dist/agents/office/powerpoint-create-prompts.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/tools/office/powerpoint-client.d.ts +1 -0
- package/dist/tools/office/powerpoint-client.d.ts.map +1 -1
- package/dist/tools/office/powerpoint-client.js +44 -0
- package/dist/tools/office/powerpoint-client.js.map +1 -1
- package/dist/tools/office/powerpoint-tools/layout-builders.d.ts.map +1 -1
- package/dist/tools/office/powerpoint-tools/layout-builders.js +31 -17
- package/dist/tools/office/powerpoint-tools/layout-builders.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powerpoint-create-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"powerpoint-create-agent.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAufhE,wBAAgB,iCAAiC,IAAI,YAAY,CA2BhE"}
|
|
@@ -1,23 +1,24 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
1
3
|
import { POWERPOINT_CREATE_TOOLS } from '../../tools/office/powerpoint-tools.js';
|
|
2
|
-
import {
|
|
4
|
+
import { powerpointClient } from '../../tools/office/powerpoint-client.js';
|
|
3
5
|
import { SubAgent } from '../common/sub-agent.js';
|
|
4
6
|
import { getSubAgentPhaseLogger, getSubAgentToolCallLogger } from '../common/sub-agent.js';
|
|
5
7
|
import { logger } from '../../utils/logger.js';
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
'
|
|
10
|
-
'
|
|
11
|
-
'
|
|
12
|
-
'
|
|
13
|
-
'
|
|
14
|
-
'
|
|
15
|
-
'
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const VALID_DESIGN_STYLES = new Set(['sidebar', 'top_band', 'clean']);
|
|
8
|
+
import { getPlatform } from '../../utils/platform-utils.js';
|
|
9
|
+
import { PPT_CREATE_SYSTEM_PROMPT, PPT_CREATE_PLANNING_PROMPT, PPT_CREATE_ENHANCEMENT_PROMPT, PPT_STRUCTURED_PLANNING_PROMPT, buildSlideHtmlPrompt, } from './powerpoint-create-prompts.js';
|
|
10
|
+
const DEFAULT_DESIGN = {
|
|
11
|
+
primary_color: '#1B2A4A',
|
|
12
|
+
accent_color: '#00D4AA',
|
|
13
|
+
background_color: '#FFFFFF',
|
|
14
|
+
text_color: '#1A1A2E',
|
|
15
|
+
accent_light: '#E8F5F0',
|
|
16
|
+
gradient_end: '#2D5F8A',
|
|
17
|
+
font_title: 'Segoe UI',
|
|
18
|
+
font_body: 'Malgun Gothic',
|
|
19
|
+
mood: 'modern-minimal',
|
|
20
|
+
design_notes: 'Clean gradients, card-based layouts',
|
|
21
|
+
};
|
|
21
22
|
function extractContent(msg) {
|
|
22
23
|
const content = msg['content'];
|
|
23
24
|
if (content && content.trim())
|
|
@@ -28,52 +29,25 @@ function extractContent(msg) {
|
|
|
28
29
|
return '';
|
|
29
30
|
}
|
|
30
31
|
function validatePlan(plan) {
|
|
31
|
-
if (!plan.design
|
|
32
|
-
return 'Missing design
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return `Invalid color_scheme: ${plan.design.color_scheme}`;
|
|
36
|
-
}
|
|
37
|
-
if (!VALID_DESIGN_STYLES.has(plan.design.design_style)) {
|
|
38
|
-
return `Invalid design_style: ${plan.design.design_style}`;
|
|
32
|
+
if (!plan.design)
|
|
33
|
+
return 'Missing design object';
|
|
34
|
+
if (!plan.design.primary_color || !plan.design.accent_color) {
|
|
35
|
+
return 'Missing design colors (primary_color, accent_color)';
|
|
39
36
|
}
|
|
40
37
|
if (!Array.isArray(plan.slides) || plan.slides.length < 3) {
|
|
41
38
|
return 'slides array must have at least 3 entries';
|
|
42
39
|
}
|
|
43
|
-
if (plan.slides[0]?.
|
|
44
|
-
return 'First slide must be
|
|
40
|
+
if (plan.slides[0]?.type !== 'title') {
|
|
41
|
+
return 'First slide must be type "title"';
|
|
45
42
|
}
|
|
46
|
-
if (plan.slides[plan.slides.length - 1]?.
|
|
47
|
-
return 'Last slide must be
|
|
43
|
+
if (plan.slides[plan.slides.length - 1]?.type !== 'closing') {
|
|
44
|
+
return 'Last slide must be type "closing"';
|
|
48
45
|
}
|
|
49
46
|
for (let i = 0; i < plan.slides.length; i++) {
|
|
50
|
-
|
|
51
|
-
if (!VALID_SLIDE_TOOLS.has(s.tool)) {
|
|
52
|
-
return `Slide ${i + 1}: invalid tool "${s.tool}"`;
|
|
53
|
-
}
|
|
54
|
-
if (!s.title) {
|
|
47
|
+
if (!plan.slides[i].title) {
|
|
55
48
|
return `Slide ${i + 1}: missing title`;
|
|
56
49
|
}
|
|
57
50
|
}
|
|
58
|
-
const counts = {};
|
|
59
|
-
for (const s of plan.slides) {
|
|
60
|
-
counts[s.tool] = (counts[s.tool] || 0) + 1;
|
|
61
|
-
}
|
|
62
|
-
if ((counts['ppt_build_layout_a'] || 0) > 3) {
|
|
63
|
-
return `Layout A count ${counts['ppt_build_layout_a']} exceeds max 3`;
|
|
64
|
-
}
|
|
65
|
-
if ((counts['ppt_build_layout_b'] || 0) > 4) {
|
|
66
|
-
return `Layout B count ${counts['ppt_build_layout_b']} exceeds max 4`;
|
|
67
|
-
}
|
|
68
|
-
if ((counts['ppt_build_layout_d'] || 0) > 3) {
|
|
69
|
-
return `Layout D count ${counts['ppt_build_layout_d']} exceeds max 3`;
|
|
70
|
-
}
|
|
71
|
-
const layoutTypes = new Set(plan.slides
|
|
72
|
-
.map(s => s.tool)
|
|
73
|
-
.filter(t => t.startsWith('ppt_build_layout_')));
|
|
74
|
-
if (layoutTypes.size < 5) {
|
|
75
|
-
return `Only ${layoutTypes.size} layout types used, need at least 5`;
|
|
76
|
-
}
|
|
77
51
|
return null;
|
|
78
52
|
}
|
|
79
53
|
function parseJsonPlan(raw) {
|
|
@@ -97,11 +71,53 @@ function parseJsonPlan(raw) {
|
|
|
97
71
|
return null;
|
|
98
72
|
}
|
|
99
73
|
}
|
|
74
|
+
function extractHtml(raw) {
|
|
75
|
+
const trimmed = raw.trim();
|
|
76
|
+
if (trimmed.startsWith('<!DOCTYPE') || trimmed.startsWith('<html')) {
|
|
77
|
+
return trimmed;
|
|
78
|
+
}
|
|
79
|
+
const fenceMatch = trimmed.match(/```(?:html)?\s*\n([\s\S]*?)\n```/);
|
|
80
|
+
if (fenceMatch?.[1]) {
|
|
81
|
+
return fenceMatch[1].trim();
|
|
82
|
+
}
|
|
83
|
+
const docMatch = trimmed.match(/(<!DOCTYPE[\s\S]*<\/html>)/i);
|
|
84
|
+
if (docMatch?.[1]) {
|
|
85
|
+
return docMatch[1].trim();
|
|
86
|
+
}
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
function getTempDir() {
|
|
90
|
+
const platform = getPlatform();
|
|
91
|
+
if (platform === 'wsl') {
|
|
92
|
+
return { writePath: '/mnt/c/temp', winPath: 'C:\\temp' };
|
|
93
|
+
}
|
|
94
|
+
return { writePath: 'C:\\temp', winPath: 'C:\\temp' };
|
|
95
|
+
}
|
|
96
|
+
function ensureTempDir(writePath) {
|
|
97
|
+
if (!fs.existsSync(writePath)) {
|
|
98
|
+
fs.mkdirSync(writePath, { recursive: true });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function normalizeDesign(raw) {
|
|
102
|
+
return {
|
|
103
|
+
primary_color: raw['primary_color'] || DEFAULT_DESIGN.primary_color,
|
|
104
|
+
accent_color: raw['accent_color'] || DEFAULT_DESIGN.accent_color,
|
|
105
|
+
background_color: raw['background_color'] || DEFAULT_DESIGN.background_color,
|
|
106
|
+
text_color: raw['text_color'] || DEFAULT_DESIGN.text_color,
|
|
107
|
+
accent_light: raw['accent_light'] || DEFAULT_DESIGN.accent_light,
|
|
108
|
+
gradient_end: raw['gradient_end'] || DEFAULT_DESIGN.gradient_end,
|
|
109
|
+
font_title: raw['font_title'] || DEFAULT_DESIGN.font_title,
|
|
110
|
+
font_body: raw['font_body'] || DEFAULT_DESIGN.font_body,
|
|
111
|
+
mood: raw['mood'] || DEFAULT_DESIGN.mood,
|
|
112
|
+
design_notes: raw['design_notes'] || DEFAULT_DESIGN.design_notes,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
100
115
|
async function runStructured(llmClient, instruction) {
|
|
101
116
|
const startTime = Date.now();
|
|
102
117
|
const phaseLogger = getSubAgentPhaseLogger();
|
|
103
118
|
const toolCallLogger = getSubAgentToolCallLogger();
|
|
104
119
|
let totalToolCalls = 0;
|
|
120
|
+
const timestamp = Date.now();
|
|
105
121
|
logger.enter('PPT-Create.runStructured');
|
|
106
122
|
const hasKorean = /[\uac00-\ud7af\u1100-\u11ff]/.test(instruction);
|
|
107
123
|
const language = hasKorean ? 'ko' : 'en';
|
|
@@ -115,7 +131,7 @@ async function runStructured(llmClient, instruction) {
|
|
|
115
131
|
{ role: 'user', content: instruction },
|
|
116
132
|
],
|
|
117
133
|
temperature: 0.5,
|
|
118
|
-
max_tokens:
|
|
134
|
+
max_tokens: 1200,
|
|
119
135
|
});
|
|
120
136
|
const enhMsg = enhRes.choices[0]?.message;
|
|
121
137
|
guidance = enhMsg ? extractContent(enhMsg) : '';
|
|
@@ -138,18 +154,44 @@ async function runStructured(llmClient, instruction) {
|
|
|
138
154
|
{ role: 'user', content: enhancedInstruction },
|
|
139
155
|
],
|
|
140
156
|
temperature: 0.4,
|
|
141
|
-
max_tokens:
|
|
157
|
+
max_tokens: 4000,
|
|
142
158
|
});
|
|
143
159
|
const planMsg = planRes.choices[0]?.message;
|
|
144
160
|
const rawPlan = planMsg ? extractContent(planMsg) : '';
|
|
145
161
|
plan = rawPlan ? parseJsonPlan(rawPlan) : null;
|
|
146
162
|
if (plan) {
|
|
163
|
+
plan.design = normalizeDesign(plan.design);
|
|
147
164
|
const validationError = validatePlan(plan);
|
|
148
165
|
if (validationError) {
|
|
149
166
|
logger.warn('PPT plan validation failed', { error: validationError });
|
|
150
167
|
if (phaseLogger)
|
|
151
|
-
phaseLogger('powerpoint-create', 'planning', `Validation failed: ${validationError}.
|
|
152
|
-
|
|
168
|
+
phaseLogger('powerpoint-create', 'planning', `Validation failed: ${validationError}. Retrying...`);
|
|
169
|
+
const retryRes = await llmClient.chatCompletion({
|
|
170
|
+
messages: [
|
|
171
|
+
{ role: 'system', content: PPT_STRUCTURED_PLANNING_PROMPT },
|
|
172
|
+
{ role: 'user', content: enhancedInstruction },
|
|
173
|
+
],
|
|
174
|
+
temperature: 0.2,
|
|
175
|
+
max_tokens: 4000,
|
|
176
|
+
});
|
|
177
|
+
const retryMsg = retryRes.choices[0]?.message;
|
|
178
|
+
const retryRaw = retryMsg ? extractContent(retryMsg) : '';
|
|
179
|
+
const retryPlan = retryRaw ? parseJsonPlan(retryRaw) : null;
|
|
180
|
+
if (retryPlan) {
|
|
181
|
+
retryPlan.design = normalizeDesign(retryPlan.design);
|
|
182
|
+
const retryError = validatePlan(retryPlan);
|
|
183
|
+
if (!retryError) {
|
|
184
|
+
plan = retryPlan;
|
|
185
|
+
if (phaseLogger)
|
|
186
|
+
phaseLogger('powerpoint-create', 'planning', `Retry succeeded (${plan.slides.length} slides)`);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
plan = null;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
plan = null;
|
|
194
|
+
}
|
|
153
195
|
}
|
|
154
196
|
else {
|
|
155
197
|
if (phaseLogger)
|
|
@@ -182,147 +224,171 @@ async function runStructured(llmClient, instruction) {
|
|
|
182
224
|
return agent.run(instruction);
|
|
183
225
|
}
|
|
184
226
|
if (phaseLogger)
|
|
185
|
-
phaseLogger('powerpoint-create', 'execution', 'Starting
|
|
186
|
-
const
|
|
187
|
-
|
|
188
|
-
toolMap.set(tool.definition.function.name, tool);
|
|
189
|
-
}
|
|
227
|
+
phaseLogger('powerpoint-create', 'execution', 'Starting HTML rendering pipeline...');
|
|
228
|
+
const { writePath: tempWritePath, winPath: tempWinPath } = getTempDir();
|
|
229
|
+
ensureTempDir(tempWritePath);
|
|
190
230
|
const pathMatch = instruction.match(/([A-Za-z]:\\[^\s,]+\.pptx|\/[^\s,]+\.pptx)/i);
|
|
191
231
|
const savePath = pathMatch ? pathMatch[1] : undefined;
|
|
192
|
-
const
|
|
193
|
-
if (!createTool) {
|
|
194
|
-
return { success: false, error: 'powerpoint_create tool not found' };
|
|
195
|
-
}
|
|
196
|
-
resetLayoutCounters();
|
|
197
|
-
const createResult = await createTool.execute({ reason: 'Creating new presentation' });
|
|
232
|
+
const createResult = await powerpointClient.powerpointCreate();
|
|
198
233
|
totalToolCalls++;
|
|
199
234
|
if (toolCallLogger)
|
|
200
|
-
toolCallLogger('powerpoint-create', 'powerpoint_create', {
|
|
235
|
+
toolCallLogger('powerpoint-create', 'powerpoint_create', {}, createResult.success ? 'Created' : createResult['error'] || '', createResult.success, 0, totalToolCalls);
|
|
201
236
|
if (!createResult.success) {
|
|
202
|
-
return { success: false, error: `Failed to create presentation: ${createResult
|
|
237
|
+
return { success: false, error: `Failed to create presentation: ${createResult['error']}` };
|
|
238
|
+
}
|
|
239
|
+
const titleSlide = plan.slides.find(s => s.type === 'title');
|
|
240
|
+
if (titleSlide) {
|
|
241
|
+
const kstNow = new Date(Date.now() + 9 * 60 * 60 * 1000);
|
|
242
|
+
const kstDate = `${kstNow.getUTCFullYear()}년 ${kstNow.getUTCMonth() + 1}월`;
|
|
243
|
+
titleSlide.content_direction = (titleSlide.content_direction || '') + `\nDate text to display: ${kstDate}`;
|
|
203
244
|
}
|
|
204
245
|
const builtSlides = [];
|
|
246
|
+
let failCount = 0;
|
|
247
|
+
const tempFiles = [];
|
|
205
248
|
for (let i = 0; i < plan.slides.length; i++) {
|
|
206
249
|
const slidePlan = plan.slides[i];
|
|
207
250
|
const slideNum = i + 1;
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
continue;
|
|
251
|
+
if (failCount >= 3) {
|
|
252
|
+
logger.warn('Too many slide failures, stopping');
|
|
253
|
+
break;
|
|
212
254
|
}
|
|
213
|
-
if (
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
255
|
+
if (phaseLogger)
|
|
256
|
+
phaseLogger('powerpoint-create', 'execution', `Rendering slide ${slideNum}/${plan.slides.length}: ${slidePlan.title}`);
|
|
257
|
+
const htmlPrompt = buildSlideHtmlPrompt(slidePlan.title, slidePlan.content_direction || '', plan.design, i, plan.slides.length, language);
|
|
258
|
+
let html = null;
|
|
259
|
+
try {
|
|
260
|
+
const htmlRes = await llmClient.chatCompletion({
|
|
261
|
+
messages: [
|
|
262
|
+
{ role: 'system', content: htmlPrompt },
|
|
263
|
+
{ role: 'user', content: 'Generate the HTML slide now.' },
|
|
264
|
+
],
|
|
265
|
+
temperature: 0.3,
|
|
266
|
+
max_tokens: 4000,
|
|
267
|
+
});
|
|
268
|
+
const htmlMsg = htmlRes.choices[0]?.message;
|
|
269
|
+
const rawHtml = htmlMsg ? extractContent(htmlMsg) : '';
|
|
270
|
+
html = extractHtml(rawHtml);
|
|
271
|
+
if (!html && rawHtml.length > 100) {
|
|
272
|
+
logger.warn(`Slide ${slideNum}: HTML extraction failed, retrying`);
|
|
273
|
+
const retryRes = await llmClient.chatCompletion({
|
|
274
|
+
messages: [
|
|
275
|
+
{ role: 'system', content: htmlPrompt },
|
|
276
|
+
{ role: 'user', content: 'Generate the complete HTML document. Start with <!DOCTYPE html> and end with </html>. No markdown fences.' },
|
|
277
|
+
],
|
|
278
|
+
temperature: 0.2,
|
|
279
|
+
max_tokens: 4000,
|
|
280
|
+
});
|
|
281
|
+
const retryMsg = retryRes.choices[0]?.message;
|
|
282
|
+
const retryRaw = retryMsg ? extractContent(retryMsg) : '';
|
|
283
|
+
html = extractHtml(retryRaw);
|
|
232
284
|
}
|
|
233
|
-
continue;
|
|
234
285
|
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
design_style: plan.design.design_style,
|
|
242
|
-
};
|
|
243
|
-
const result = await tool.execute(args);
|
|
244
|
-
totalToolCalls++;
|
|
245
|
-
if (toolCallLogger)
|
|
246
|
-
toolCallLogger('powerpoint-create', slidePlan.tool, args, result.result || result.error || '', result.success, slideNum, totalToolCalls);
|
|
247
|
-
if (result.success) {
|
|
248
|
-
builtSlides.push(`Slide ${slideNum}: ${closingText} (closing)`);
|
|
249
|
-
}
|
|
250
|
-
else {
|
|
251
|
-
logger.warn(`Closing slide failed: ${result.error}`);
|
|
252
|
-
}
|
|
286
|
+
catch (e) {
|
|
287
|
+
logger.warn(`Slide ${slideNum}: LLM call failed: ${e}`);
|
|
288
|
+
}
|
|
289
|
+
if (!html) {
|
|
290
|
+
logger.warn(`Slide ${slideNum}: Failed to generate HTML, skipping`);
|
|
291
|
+
failCount++;
|
|
253
292
|
continue;
|
|
254
293
|
}
|
|
255
|
-
const
|
|
256
|
-
|
|
257
|
-
|
|
294
|
+
const htmlFileName = `hanseol_slide_${slideNum}_${timestamp}.html`;
|
|
295
|
+
const pngFileName = `hanseol_slide_${slideNum}_${timestamp}.png`;
|
|
296
|
+
const htmlWritePath = path.join(tempWritePath, htmlFileName);
|
|
297
|
+
const pngWritePath = path.join(tempWritePath, pngFileName);
|
|
298
|
+
const htmlWinPath = `${tempWinPath}\\${htmlFileName}`;
|
|
299
|
+
const pngWinPath = `${tempWinPath}\\${pngFileName}`;
|
|
300
|
+
try {
|
|
301
|
+
fs.writeFileSync(htmlWritePath, html, 'utf-8');
|
|
302
|
+
tempFiles.push(htmlWritePath);
|
|
303
|
+
}
|
|
304
|
+
catch (e) {
|
|
305
|
+
logger.warn(`Slide ${slideNum}: Failed to write HTML file: ${e}`);
|
|
306
|
+
failCount++;
|
|
258
307
|
continue;
|
|
259
308
|
}
|
|
309
|
+
let renderSuccess = false;
|
|
260
310
|
try {
|
|
261
|
-
const
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
});
|
|
270
|
-
const msg = slideRes.choices[0]?.message;
|
|
271
|
-
if (!msg?.tool_calls || msg.tool_calls.length === 0) {
|
|
272
|
-
logger.warn(`Slide ${slideNum}: LLM did not call tool, skipping`);
|
|
273
|
-
continue;
|
|
311
|
+
const renderResult = await powerpointClient.renderHtmlToImage(htmlWinPath, pngWinPath);
|
|
312
|
+
totalToolCalls++;
|
|
313
|
+
renderSuccess = renderResult.success;
|
|
314
|
+
if (!renderSuccess) {
|
|
315
|
+
await new Promise(r => setTimeout(r, 2000));
|
|
316
|
+
const retryRender = await powerpointClient.renderHtmlToImage(htmlWinPath, pngWinPath);
|
|
317
|
+
totalToolCalls++;
|
|
318
|
+
renderSuccess = retryRender.success;
|
|
274
319
|
}
|
|
275
|
-
|
|
276
|
-
|
|
320
|
+
}
|
|
321
|
+
catch (e) {
|
|
322
|
+
logger.warn(`Slide ${slideNum}: Edge screenshot failed: ${e}`);
|
|
277
323
|
try {
|
|
278
|
-
|
|
324
|
+
await new Promise(r => setTimeout(r, 2000));
|
|
325
|
+
const retryRender = await powerpointClient.renderHtmlToImage(htmlWinPath, pngWinPath);
|
|
326
|
+
totalToolCalls++;
|
|
327
|
+
renderSuccess = retryRender.success;
|
|
279
328
|
}
|
|
280
329
|
catch {
|
|
281
|
-
|
|
282
|
-
continue;
|
|
283
|
-
}
|
|
284
|
-
args['color_scheme'] = plan.design.color_scheme;
|
|
285
|
-
args['design_style'] = plan.design.design_style;
|
|
286
|
-
if (slidePlan.tool === 'ppt_build_layout_f' && Array.isArray(args['table_data'])) {
|
|
287
|
-
args['table_data'] = args['table_data'].filter(row => Array.isArray(row));
|
|
288
|
-
}
|
|
289
|
-
const result = await tool.execute(args);
|
|
290
|
-
totalToolCalls++;
|
|
291
|
-
if (toolCallLogger)
|
|
292
|
-
toolCallLogger('powerpoint-create', tc.function.name, args, result.result || result.error || '', result.success, slideNum, totalToolCalls);
|
|
293
|
-
if (result.success) {
|
|
294
|
-
builtSlides.push(`Slide ${slideNum}: ${slidePlan.title} (${slidePlan.tool.replace('ppt_build_layout_', 'Layout ').toUpperCase()})`);
|
|
295
|
-
}
|
|
296
|
-
else {
|
|
297
|
-
logger.warn(`Slide ${slideNum} failed: ${result.error}`);
|
|
330
|
+
renderSuccess = false;
|
|
298
331
|
}
|
|
299
332
|
}
|
|
300
|
-
|
|
301
|
-
|
|
333
|
+
try {
|
|
334
|
+
fs.unlinkSync(htmlWritePath);
|
|
335
|
+
}
|
|
336
|
+
catch { }
|
|
337
|
+
if (!renderSuccess) {
|
|
338
|
+
logger.warn(`Slide ${slideNum}: Screenshot rendering failed, skipping`);
|
|
339
|
+
failCount++;
|
|
340
|
+
continue;
|
|
341
|
+
}
|
|
342
|
+
tempFiles.push(pngWritePath);
|
|
343
|
+
const addResult = await powerpointClient.powerpointAddSlide(7);
|
|
344
|
+
totalToolCalls++;
|
|
345
|
+
if (!addResult.success) {
|
|
346
|
+
logger.warn(`Slide ${slideNum}: Failed to add blank slide`);
|
|
347
|
+
failCount++;
|
|
348
|
+
continue;
|
|
349
|
+
}
|
|
350
|
+
const bgResult = await powerpointClient.powerpointSetBackground(slideNum, { imagePath: pngWinPath });
|
|
351
|
+
totalToolCalls++;
|
|
352
|
+
if (toolCallLogger)
|
|
353
|
+
toolCallLogger('powerpoint-create', 'setBackground', { slideNum, imagePath: pngWinPath }, bgResult.success ? 'OK' : 'Failed', bgResult.success, slideNum, totalToolCalls);
|
|
354
|
+
if (bgResult.success) {
|
|
355
|
+
builtSlides.push(`Slide ${slideNum}: ${slidePlan.title} (${slidePlan.type})`);
|
|
356
|
+
}
|
|
357
|
+
else {
|
|
358
|
+
logger.warn(`Slide ${slideNum}: Failed to set background: ${JSON.stringify(bgResult)}`);
|
|
359
|
+
failCount++;
|
|
302
360
|
}
|
|
303
361
|
}
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
const saveArgs = { reason: 'Saving completed presentation' };
|
|
362
|
+
if (builtSlides.length > 0) {
|
|
363
|
+
const saveArgs = {};
|
|
307
364
|
if (savePath)
|
|
308
365
|
saveArgs['path'] = savePath;
|
|
309
|
-
const
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
toolCallLogger('powerpoint-create', 'powerpoint_save', saveArgs, saveResult.result || saveResult.error || '', saveResult.success, 0, totalToolCalls);
|
|
313
|
-
if (!saveResult.success) {
|
|
314
|
-
const fallbackArgs = { reason: 'Retry save', path: 'C:\\temp\\presentation.pptx' };
|
|
315
|
-
const retryResult = await saveTool.execute(fallbackArgs);
|
|
366
|
+
const saveTool = POWERPOINT_CREATE_TOOLS.find(t => t.definition.function.name === 'powerpoint_save');
|
|
367
|
+
if (saveTool) {
|
|
368
|
+
const saveResult = await saveTool.execute(saveArgs);
|
|
316
369
|
totalToolCalls++;
|
|
317
370
|
if (toolCallLogger)
|
|
318
|
-
toolCallLogger('powerpoint-create', 'powerpoint_save',
|
|
371
|
+
toolCallLogger('powerpoint-create', 'powerpoint_save', saveArgs, saveResult.result || saveResult.error || '', saveResult.success, 0, totalToolCalls);
|
|
372
|
+
if (!saveResult.success) {
|
|
373
|
+
const fallbackArgs = { path: 'C:\\temp\\presentation.pptx' };
|
|
374
|
+
const retryResult = await saveTool.execute(fallbackArgs);
|
|
375
|
+
totalToolCalls++;
|
|
376
|
+
if (toolCallLogger)
|
|
377
|
+
toolCallLogger('powerpoint-create', 'powerpoint_save', fallbackArgs, retryResult.result || retryResult.error || '', retryResult.success, 0, totalToolCalls);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
for (const tempFile of tempFiles) {
|
|
382
|
+
try {
|
|
383
|
+
fs.unlinkSync(tempFile);
|
|
319
384
|
}
|
|
385
|
+
catch { }
|
|
320
386
|
}
|
|
321
387
|
const duration = Date.now() - startTime;
|
|
322
|
-
const summary = `Presentation created with ${builtSlides.length} slides (
|
|
388
|
+
const summary = `Presentation created with ${builtSlides.length} slides (HTML rendering, ${plan.design.mood}):\n${builtSlides.join('\n')}`;
|
|
323
389
|
logger.exit('PPT-Create.runStructured', { slideCount: builtSlides.length, totalToolCalls, duration });
|
|
324
390
|
return {
|
|
325
|
-
success:
|
|
391
|
+
success: builtSlides.length > 0,
|
|
326
392
|
result: summary,
|
|
327
393
|
metadata: { iterations: plan.slides.length, toolCalls: totalToolCalls, duration },
|
|
328
394
|
};
|
|
@@ -333,7 +399,7 @@ export function createPowerPointCreateRequestTool() {
|
|
|
333
399
|
type: 'function',
|
|
334
400
|
function: {
|
|
335
401
|
name: 'powerpoint_create_agent',
|
|
336
|
-
description: 'Autonomous PowerPoint CREATION agent. Creates NEW presentations from scratch with professional slide designs, color schemes, and visual hierarchy. Uses
|
|
402
|
+
description: 'Autonomous PowerPoint CREATION agent. Creates NEW presentations from scratch with professional slide designs, color schemes, and visual hierarchy. Uses HTML rendering pipeline for maximum design quality — each slide is rendered as a beautiful HTML page and captured as a high-quality image. Give it a topic or outline and it produces a polished, enterprise-grade presentation. For EDITING existing .pptx files, use powerpoint_modify_agent instead.',
|
|
337
403
|
parameters: {
|
|
338
404
|
type: 'object',
|
|
339
405
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powerpoint-create-agent.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AAsBxC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,uBAAuB;IACvB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,yBAAyB;CAC1B,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa;CAC7F,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAMtE,SAAS,cAAc,CAAC,GAA4B;IAClD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAuB,CAAC;IACrD,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE;QAAE,OAAO,OAAO,CAAC;IAC9C,MAAM,SAAS,GAAG,GAAG,CAAC,mBAAmB,CAAuB,CAAC;IACjE,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IACpD,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,YAAY,CAAC,IAAoB;IACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;QAC7D,OAAO,oDAAoD,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QACvD,OAAO,yBAAyB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QACvD,OAAO,yBAAyB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,2CAA2C,CAAC;IACrD,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,uBAAuB,EAAE,CAAC;QACrD,OAAO,2CAA2C,CAAC;IACrD,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,yBAAyB,EAAE,CAAC;QAC5E,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,GAAG,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,kBAAkB,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,CAAC;IACxE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,kBAAkB,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,CAAC;IACxE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,kBAAkB,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,CAAC;IACxE,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,IAAI,CAAC,MAAM;SACR,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAChB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAClD,CAAC;IACF,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,QAAQ,WAAW,CAAC,IAAI,qCAAqC,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAMD,SAAS,aAAa,CAAC,GAAW;IAEhC,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QAEP,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAmB,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAMD,KAAK,UAAU,aAAa,CAC1B,SAAoB,EACpB,WAAmB;IAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;IAC7C,MAAM,cAAc,GAAG,yBAAyB,EAAE,CAAC;IACnD,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAGzC,MAAM,SAAS,GAAG,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAgB,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAGtD,IAAI,WAAW;QAAE,WAAW,CAAC,mBAAmB,EAAE,aAAa,EAAE,iCAAiC,CAAC,CAAC;IACpG,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC;YAC5C,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,6BAA6B,EAAE;gBAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE;aACvC;YACD,WAAW,EAAE,GAAG;YAChB,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QAC1C,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,MAA4C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,IAAI,WAAW;YAAE,WAAW,CAAC,mBAAmB,EAAE,aAAa,EAAE,SAAS,QAAQ,CAAC,MAAM,SAAS,CAAC,CAAC;IACtG,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,mBAAmB,GAAG,QAAQ;QAClC,CAAC,CAAC,GAAG,WAAW,kCAAkC,QAAQ,wBAAwB;QAClF,CAAC,CAAC,WAAW,CAAC;IAGhB,IAAI,WAAW;QAAE,WAAW,CAAC,mBAAmB,EAAE,UAAU,EAAE,yBAAyB,CAAC,CAAC;IACzF,IAAI,IAAI,GAA0B,IAAI,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC;YAC7C,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,8BAA8B,EAAE;gBAC3D,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE;aAC/C;YACD,WAAW,EAAE,GAAG;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,OAA6C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE/C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;gBACtE,IAAI,WAAW;oBAAE,WAAW,CAAC,mBAAmB,EAAE,UAAU,EAAE,sBAAsB,eAAe,iBAAiB,CAAC,CAAC;gBACtH,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,IAAI,WAAW;oBAAE,WAAW,CAAC,mBAAmB,EAAE,UAAU,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,UAAU,CAAC,CAAC;YACvG,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC5C,IAAI,WAAW;gBAAE,WAAW,CAAC,mBAAmB,EAAE,UAAU,EAAE,oCAAoC,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,WAAW;YAAE,WAAW,CAAC,mBAAmB,EAAE,UAAU,EAAE,+BAA+B,CAAC,CAAC;IACjG,CAAC;IAGD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClD,IAAI,WAAW;YAAE,WAAW,CAAC,mBAAmB,EAAE,UAAU,EAAE,+BAA+B,CAAC,CAAC;QAC/F,MAAM,KAAK,GAAG,IAAI,QAAQ,CACxB,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB;YACE,aAAa,EAAE,EAAE;YACjB,cAAc,EAAE,0BAA0B;YAC1C,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,6BAA6B;YAChD,oBAAoB,EAAE,GAAG;YACzB,0BAA0B,EAAE,EAAE;SAC/B,CACF,CAAC;QACF,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAGD,IAAI,WAAW;QAAE,WAAW,CAAC,mBAAmB,EAAE,WAAW,EAAE,sCAAsC,CAAC,CAAC;IAGvG,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2G,CAAC;IACnI,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAGD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAGtD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;IACvE,CAAC;IACD,mBAAmB,EAAE,CAAC;IACtB,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC,CAAC;IACvF,cAAc,EAAE,CAAC;IACjB,IAAI,cAAc;QAAE,cAAc,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,EAAE,MAAM,EAAE,2BAA2B,EAAE,EAAE,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,KAAK,IAAI,EAAE,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;IAEhN,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;IAC3F,CAAC;IAGD,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,QAAQ,SAAS,CAAC,IAAI,8BAA8B,QAAQ,EAAE,CAAC,CAAC;YAC5E,SAAS;QACX,CAAC;QAGD,IAAI,SAAS,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAE/C,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,cAAc,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC;YAC3E,MAAM,IAAI,GAA4B;gBACpC,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE;gBAC9C,SAAS,EAAE,OAAO;gBAClB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;aACvC,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,cAAc,EAAE,CAAC;YACjB,IAAI,cAAc;gBAAE,cAAc,CAAC,mBAAmB,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;YAE7J,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,WAAW,CAAC,IAAI,CAAC,SAAS,QAAQ,KAAK,SAAS,CAAC,KAAK,UAAU,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;YACjD,MAAM,WAAW,GAAI,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,CAAY,IAAI,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC;YACzF,MAAM,IAAI,GAA4B;gBACpC,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE;gBAC9C,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;aACvC,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,cAAc,EAAE,CAAC;YACjB,IAAI,cAAc;gBAAE,cAAc,CAAC,mBAAmB,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;YAE7J,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,WAAW,CAAC,IAAI,CAAC,SAAS,QAAQ,KAAK,WAAW,YAAY,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,SAAS;QACX,CAAC;QAGD,MAAM,iBAAiB,GAAG,sBAAsB,CAC9C,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,KAAK,EACf,SAAS,CAAC,SAAS,IAAI,EAAE,EACzB,QAAQ,EACR,QAAQ,CACT,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,wBAAwB,SAAS,CAAC,IAAI,YAAY,CAAC,CAAC;YAChE,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC;gBAC9C,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE;oBAC9C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,SAAS,CAAC,KAAK,oDAAoD,EAAE;iBAC/G;gBACD,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;gBACxB,WAAW,EAAE,GAAG;gBAChB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;YACzC,IAAI,CAAC,GAAG,EAAE,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC,SAAS,QAAQ,mCAAmC,CAAC,CAAC;gBAClE,SAAS;YACX,CAAC;YAED,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC;YAC9B,IAAI,IAA6B,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,SAAS,QAAQ,8BAA8B,CAAC,CAAC;gBAC7D,SAAS;YACX,CAAC;YAGD,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAGhD,IAAI,SAAS,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBACjF,IAAI,CAAC,YAAY,CAAC,GAAI,IAAI,CAAC,YAAY,CAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3F,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,cAAc,EAAE,CAAC;YACjB,IAAI,cAAc;gBAAE,cAAc,CAAC,mBAAmB,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;YAE/J,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,WAAW,CAAC,IAAI,CAAC,SAAS,QAAQ,KAAK,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACtI,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,SAAS,QAAQ,YAAY,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,SAAS,QAAQ,qBAAqB,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAGD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAChD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,GAA4B,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC;QACtF,IAAI,QAAQ;YAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;QAC1C,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,cAAc,EAAE,CAAC;QACjB,IAAI,cAAc;YAAE,cAAc,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;QAEzK,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAExB,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;YACnF,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACzD,cAAc,EAAE,CAAC;YACjB,IAAI,cAAc;gBAAE,cAAc,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,KAAK,IAAI,EAAE,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;QAClL,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,MAAM,OAAO,GAAG,6BAA6B,WAAW,CAAC,MAAM,YAAY,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC,MAAM,CAAC,YAAY,aAAa,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAEtK,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEtG,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE;KAClF,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,iCAAiC;IAC/C,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EACT,gYAAgY;gBAClY,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,qOAAqO;yBACxO;qBACF;oBACD,QAAQ,EAAE,CAAC,aAAa,CAAC;iBAC1B;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACjC,OAAO,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAW,CAAC,CAAC;QACjE,CAAC;QACD,UAAU,EAAE,CAAC,WAAW,CAAC;QACzB,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"powerpoint-create-agent.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"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"}
|