hanseol-dev 5.0.2-dev.59 → 5.0.2-dev.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/office/powerpoint-create-agent.d.ts.map +1 -1
- package/dist/agents/office/powerpoint-create-agent.js +221 -50
- package/dist/agents/office/powerpoint-create-agent.js.map +1 -1
- package/dist/agents/office/powerpoint-create-prompts.d.ts +1 -1
- package/dist/agents/office/powerpoint-create-prompts.d.ts.map +1 -1
- package/dist/agents/office/powerpoint-create-prompts.js +14 -12
- 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/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":"AAgBA,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;
|
|
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;AAuwBhE,wBAAgB,iCAAiC,IAAI,YAAY,CA2BhE"}
|
|
@@ -133,6 +133,180 @@ function extractHtml(raw) {
|
|
|
133
133
|
}
|
|
134
134
|
return null;
|
|
135
135
|
}
|
|
136
|
+
function escapeHtml(text) {
|
|
137
|
+
return text
|
|
138
|
+
.replace(/&/g, '&')
|
|
139
|
+
.replace(/</g, '<')
|
|
140
|
+
.replace(/>/g, '>')
|
|
141
|
+
.replace(/"/g, '"');
|
|
142
|
+
}
|
|
143
|
+
function buildTitleSlideHtml(design, mainTitle, subtitle, date, slideNum) {
|
|
144
|
+
return `<!DOCTYPE html>
|
|
145
|
+
<html lang="ko">
|
|
146
|
+
<head>
|
|
147
|
+
<meta charset="UTF-8">
|
|
148
|
+
<style>
|
|
149
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
150
|
+
html, body { width: 1920px; height: 1080px; overflow: hidden; }
|
|
151
|
+
body {
|
|
152
|
+
background: linear-gradient(135deg, ${design.primary_color} 0%, ${design.gradient_end} 60%, ${design.primary_color} 100%);
|
|
153
|
+
display: flex;
|
|
154
|
+
align-items: center;
|
|
155
|
+
justify-content: center;
|
|
156
|
+
position: relative;
|
|
157
|
+
font-family: "${design.font_title}", "Segoe UI", sans-serif;
|
|
158
|
+
}
|
|
159
|
+
.decor {
|
|
160
|
+
position: absolute;
|
|
161
|
+
border-radius: 50%;
|
|
162
|
+
background: rgba(255,255,255,0.03);
|
|
163
|
+
pointer-events: none;
|
|
164
|
+
}
|
|
165
|
+
.d1 { width: 700px; height: 700px; top: -250px; right: -150px; }
|
|
166
|
+
.d2 { width: 500px; height: 500px; bottom: -180px; left: -120px; }
|
|
167
|
+
.d3 { width: 250px; height: 250px; top: 40%; left: 8%; background: rgba(255,255,255,0.02); }
|
|
168
|
+
.d4 { width: 180px; height: 180px; bottom: 15%; right: 12%; background: rgba(255,255,255,0.02); }
|
|
169
|
+
.top-accent {
|
|
170
|
+
position: absolute;
|
|
171
|
+
top: 0; left: 0; width: 100%; height: 6px;
|
|
172
|
+
background: linear-gradient(90deg, transparent, ${design.accent_color}, transparent);
|
|
173
|
+
}
|
|
174
|
+
.content {
|
|
175
|
+
text-align: center;
|
|
176
|
+
z-index: 1;
|
|
177
|
+
max-width: 1400px;
|
|
178
|
+
padding: 0 60px;
|
|
179
|
+
}
|
|
180
|
+
.main-title {
|
|
181
|
+
font-size: 96px;
|
|
182
|
+
font-weight: 800;
|
|
183
|
+
color: #ffffff;
|
|
184
|
+
letter-spacing: -2px;
|
|
185
|
+
text-shadow: 0 6px 40px rgba(0,0,0,0.25);
|
|
186
|
+
line-height: 1.1;
|
|
187
|
+
margin-bottom: 32px;
|
|
188
|
+
}
|
|
189
|
+
.accent-bar {
|
|
190
|
+
width: 120px; height: 5px;
|
|
191
|
+
background: ${design.accent_color};
|
|
192
|
+
margin: 0 auto 32px;
|
|
193
|
+
border-radius: 3px;
|
|
194
|
+
box-shadow: 0 0 20px ${design.accent_color}40;
|
|
195
|
+
}
|
|
196
|
+
.subtitle {
|
|
197
|
+
font-size: 32px;
|
|
198
|
+
font-weight: 400;
|
|
199
|
+
color: rgba(255,255,255,0.88);
|
|
200
|
+
font-family: "${design.font_body}", "Malgun Gothic", sans-serif;
|
|
201
|
+
line-height: 1.5;
|
|
202
|
+
margin-bottom: 16px;
|
|
203
|
+
}
|
|
204
|
+
.date-text {
|
|
205
|
+
font-size: 22px;
|
|
206
|
+
font-weight: 300;
|
|
207
|
+
color: rgba(255,255,255,0.55);
|
|
208
|
+
font-family: "${design.font_body}", "Malgun Gothic", sans-serif;
|
|
209
|
+
}
|
|
210
|
+
.page-num {
|
|
211
|
+
position: absolute;
|
|
212
|
+
bottom: 24px; right: 44px;
|
|
213
|
+
font-size: 13px;
|
|
214
|
+
color: rgba(255,255,255,0.35);
|
|
215
|
+
}
|
|
216
|
+
</style>
|
|
217
|
+
</head>
|
|
218
|
+
<body>
|
|
219
|
+
<div class="top-accent"></div>
|
|
220
|
+
<div class="decor d1"></div>
|
|
221
|
+
<div class="decor d2"></div>
|
|
222
|
+
<div class="decor d3"></div>
|
|
223
|
+
<div class="decor d4"></div>
|
|
224
|
+
<div class="content">
|
|
225
|
+
<div class="main-title">${escapeHtml(mainTitle)}</div>
|
|
226
|
+
<div class="accent-bar"></div>
|
|
227
|
+
${subtitle ? `<div class="subtitle">${escapeHtml(subtitle)}</div>` : ''}
|
|
228
|
+
<div class="date-text">${escapeHtml(date)}</div>
|
|
229
|
+
</div>
|
|
230
|
+
<div class="page-num">${slideNum}</div>
|
|
231
|
+
</body>
|
|
232
|
+
</html>`;
|
|
233
|
+
}
|
|
234
|
+
function buildClosingSlideHtml(design, companyName, slideNum, language) {
|
|
235
|
+
const thankYou = language === 'ko' ? '감사합니다' : 'Thank You';
|
|
236
|
+
return `<!DOCTYPE html>
|
|
237
|
+
<html lang="${language}">
|
|
238
|
+
<head>
|
|
239
|
+
<meta charset="UTF-8">
|
|
240
|
+
<style>
|
|
241
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
242
|
+
html, body { width: 1920px; height: 1080px; overflow: hidden; }
|
|
243
|
+
body {
|
|
244
|
+
background: linear-gradient(135deg, ${design.primary_color} 0%, ${design.gradient_end} 60%, ${design.primary_color} 100%);
|
|
245
|
+
display: flex;
|
|
246
|
+
align-items: center;
|
|
247
|
+
justify-content: center;
|
|
248
|
+
position: relative;
|
|
249
|
+
font-family: "${design.font_title}", "Segoe UI", sans-serif;
|
|
250
|
+
}
|
|
251
|
+
.decor {
|
|
252
|
+
position: absolute;
|
|
253
|
+
border-radius: 50%;
|
|
254
|
+
background: rgba(255,255,255,0.03);
|
|
255
|
+
pointer-events: none;
|
|
256
|
+
}
|
|
257
|
+
.d1 { width: 600px; height: 600px; top: -200px; left: -150px; }
|
|
258
|
+
.d2 { width: 400px; height: 400px; bottom: -120px; right: -80px; }
|
|
259
|
+
.bottom-accent {
|
|
260
|
+
position: absolute;
|
|
261
|
+
bottom: 0; left: 0; width: 100%; height: 6px;
|
|
262
|
+
background: linear-gradient(90deg, transparent, ${design.accent_color}, transparent);
|
|
263
|
+
}
|
|
264
|
+
.content {
|
|
265
|
+
text-align: center;
|
|
266
|
+
z-index: 1;
|
|
267
|
+
}
|
|
268
|
+
.thank-you {
|
|
269
|
+
font-size: 96px;
|
|
270
|
+
font-weight: 800;
|
|
271
|
+
color: #ffffff;
|
|
272
|
+
letter-spacing: -1px;
|
|
273
|
+
text-shadow: 0 6px 40px rgba(0,0,0,0.25);
|
|
274
|
+
margin-bottom: 32px;
|
|
275
|
+
}
|
|
276
|
+
.accent-bar {
|
|
277
|
+
width: 100px; height: 5px;
|
|
278
|
+
background: ${design.accent_color};
|
|
279
|
+
margin: 0 auto 32px;
|
|
280
|
+
border-radius: 3px;
|
|
281
|
+
box-shadow: 0 0 20px ${design.accent_color}40;
|
|
282
|
+
}
|
|
283
|
+
.company {
|
|
284
|
+
font-size: 36px;
|
|
285
|
+
font-weight: 500;
|
|
286
|
+
color: rgba(255,255,255,0.80);
|
|
287
|
+
font-family: "${design.font_body}", "Malgun Gothic", sans-serif;
|
|
288
|
+
}
|
|
289
|
+
.page-num {
|
|
290
|
+
position: absolute;
|
|
291
|
+
bottom: 24px; right: 44px;
|
|
292
|
+
font-size: 13px;
|
|
293
|
+
color: rgba(255,255,255,0.35);
|
|
294
|
+
}
|
|
295
|
+
</style>
|
|
296
|
+
</head>
|
|
297
|
+
<body>
|
|
298
|
+
<div class="decor d1"></div>
|
|
299
|
+
<div class="decor d2"></div>
|
|
300
|
+
<div class="bottom-accent"></div>
|
|
301
|
+
<div class="content">
|
|
302
|
+
<div class="thank-you">${escapeHtml(thankYou)}</div>
|
|
303
|
+
<div class="accent-bar"></div>
|
|
304
|
+
<div class="company">${escapeHtml(companyName)}</div>
|
|
305
|
+
</div>
|
|
306
|
+
<div class="page-num">${slideNum}</div>
|
|
307
|
+
</body>
|
|
308
|
+
</html>`;
|
|
309
|
+
}
|
|
136
310
|
function getTempDir() {
|
|
137
311
|
const platform = getPlatform();
|
|
138
312
|
if (platform === 'wsl') {
|
|
@@ -182,7 +356,7 @@ async function runStructured(llmClient, instruction) {
|
|
|
182
356
|
});
|
|
183
357
|
const enhMsg = enhRes.choices[0]?.message;
|
|
184
358
|
guidance = enhMsg ? extractContent(enhMsg) : '';
|
|
185
|
-
if (guidance.length <
|
|
359
|
+
if (guidance.length < 500) {
|
|
186
360
|
logger.warn('PPT enhancement too short, retrying', { length: guidance.length });
|
|
187
361
|
const retryEnhRes = await llmClient.chatCompletion({
|
|
188
362
|
messages: [
|
|
@@ -291,12 +465,24 @@ async function runStructured(llmClient, instruction) {
|
|
|
291
465
|
});
|
|
292
466
|
return agent.run(instruction);
|
|
293
467
|
}
|
|
468
|
+
if (plan.slides.length > 15) {
|
|
469
|
+
logger.warn(`PPT plan has ${plan.slides.length} slides, capping to 15`);
|
|
470
|
+
const firstSlide = plan.slides[0];
|
|
471
|
+
const lastSlide = plan.slides[plan.slides.length - 1];
|
|
472
|
+
const contentSlides = plan.slides.slice(1, -1).slice(0, 13);
|
|
473
|
+
plan.slides = [firstSlide, ...contentSlides, lastSlide];
|
|
474
|
+
if (phaseLogger)
|
|
475
|
+
phaseLogger('powerpoint-create', 'planning', `Capped to ${plan.slides.length} slides`);
|
|
476
|
+
}
|
|
294
477
|
if (phaseLogger)
|
|
295
478
|
phaseLogger('powerpoint-create', 'execution', 'Starting HTML rendering pipeline...');
|
|
296
479
|
const { writePath: tempWritePath, winPath: tempWinPath } = getTempDir();
|
|
297
480
|
ensureTempDir(tempWritePath);
|
|
298
481
|
const pathMatch = instruction.match(/([A-Za-z]:\\[^\s,]+\.pptx|\/[^\s,]+\.pptx)/i);
|
|
299
482
|
const savePath = pathMatch ? pathMatch[1] : undefined;
|
|
483
|
+
const kstNow = new Date(Date.now() + 9 * 60 * 60 * 1000);
|
|
484
|
+
const kstDate = `${kstNow.getUTCFullYear()}년 ${kstNow.getUTCMonth() + 1}월`;
|
|
485
|
+
const titleSlideTitle = (plan.slides.find(s => s.type === 'title')?.title) || '';
|
|
300
486
|
const createResult = await powerpointClient.powerpointCreate();
|
|
301
487
|
totalToolCalls++;
|
|
302
488
|
if (toolCallLogger)
|
|
@@ -304,30 +490,6 @@ async function runStructured(llmClient, instruction) {
|
|
|
304
490
|
if (!createResult.success) {
|
|
305
491
|
return { success: false, error: `Failed to create presentation: ${createResult['error']}` };
|
|
306
492
|
}
|
|
307
|
-
const titleSlide = plan.slides.find(s => s.type === 'title');
|
|
308
|
-
if (titleSlide) {
|
|
309
|
-
const kstNow = new Date(Date.now() + 9 * 60 * 60 * 1000);
|
|
310
|
-
const kstDate = `${kstNow.getUTCFullYear()}년 ${kstNow.getUTCMonth() + 1}월`;
|
|
311
|
-
const titleBoost = `\n\nCRITICAL DESIGN OVERRIDE — TITLE SLIDE:
|
|
312
|
-
• The company/topic name MUST be the LARGEST element: font-size: 96px, font-weight: 800, centered horizontally and vertically
|
|
313
|
-
• Use a dramatic full-page gradient background (linear-gradient from primary_color to gradient_end)
|
|
314
|
-
• Subtitle below at 32px, date at 24px
|
|
315
|
-
• This slide sets the FIRST IMPRESSION — it must look powerful and premium
|
|
316
|
-
• Date text to display: ${kstDate}`;
|
|
317
|
-
titleSlide.content_direction = (titleSlide.content_direction || '') + titleBoost;
|
|
318
|
-
}
|
|
319
|
-
const closingSlide = plan.slides.find(s => s.type === 'closing');
|
|
320
|
-
if (closingSlide) {
|
|
321
|
-
const thankYou = language === 'ko' ? '감사합니다' : 'Thank You';
|
|
322
|
-
const closingBoost = `\n\nCRITICAL DESIGN OVERRIDE — CLOSING SLIDE:
|
|
323
|
-
• "${thankYou}" text MUST be font-size: 96px, font-weight: 800, white color, centered vertically and horizontally
|
|
324
|
-
• Use a dramatic full-page gradient background (linear-gradient from primary_color to gradient_end)
|
|
325
|
-
• Company/topic name below in 40px white text
|
|
326
|
-
• Optional tagline in 24px, semi-transparent white
|
|
327
|
-
• NOTHING else on this slide — keep it grand, simple, and impactful
|
|
328
|
-
• Do NOT add contact info, social media, or bullet points`;
|
|
329
|
-
closingSlide.content_direction = (closingSlide.content_direction || '') + closingBoost;
|
|
330
|
-
}
|
|
331
493
|
const builtSlides = [];
|
|
332
494
|
let failCount = 0;
|
|
333
495
|
const tempFiles = [];
|
|
@@ -340,37 +502,46 @@ async function runStructured(llmClient, instruction) {
|
|
|
340
502
|
}
|
|
341
503
|
if (phaseLogger)
|
|
342
504
|
phaseLogger('powerpoint-create', 'execution', `Rendering slide ${slideNum}/${plan.slides.length}: ${slidePlan.title}`);
|
|
343
|
-
const htmlPrompt = buildSlideHtmlPrompt(slidePlan.title, slidePlan.content_direction || '', plan.design, i, plan.slides.length, language);
|
|
344
505
|
let html = null;
|
|
345
|
-
|
|
346
|
-
const
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
html = extractHtml(rawHtml);
|
|
357
|
-
if (!html && rawHtml.length > 100) {
|
|
358
|
-
logger.warn(`Slide ${slideNum}: HTML extraction failed, retrying`);
|
|
359
|
-
const retryRes = await llmClient.chatCompletion({
|
|
506
|
+
if (slidePlan.type === 'title') {
|
|
507
|
+
const subtitle = ((slidePlan.content_direction || '').split('\n')[0] || '').trim().slice(0, 120);
|
|
508
|
+
html = buildTitleSlideHtml(plan.design, slidePlan.title, subtitle, kstDate, slideNum);
|
|
509
|
+
}
|
|
510
|
+
else if (slidePlan.type === 'closing') {
|
|
511
|
+
html = buildClosingSlideHtml(plan.design, titleSlideTitle, slideNum, language);
|
|
512
|
+
}
|
|
513
|
+
else {
|
|
514
|
+
const htmlPrompt = buildSlideHtmlPrompt(slidePlan.title, slidePlan.content_direction || '', plan.design, i, plan.slides.length, language);
|
|
515
|
+
try {
|
|
516
|
+
const htmlRes = await llmClient.chatCompletion({
|
|
360
517
|
messages: [
|
|
361
518
|
{ role: 'system', content: htmlPrompt },
|
|
362
|
-
{ role: 'user', content: 'Generate the
|
|
519
|
+
{ role: 'user', content: 'Generate the HTML slide now.' },
|
|
363
520
|
],
|
|
364
|
-
temperature: 0.
|
|
365
|
-
max_tokens:
|
|
521
|
+
temperature: 0.3,
|
|
522
|
+
max_tokens: 8000,
|
|
366
523
|
});
|
|
367
|
-
const
|
|
368
|
-
const
|
|
369
|
-
html = extractHtml(
|
|
524
|
+
const htmlMsg = htmlRes.choices[0]?.message;
|
|
525
|
+
const rawHtml = htmlMsg ? extractContent(htmlMsg) : '';
|
|
526
|
+
html = extractHtml(rawHtml);
|
|
527
|
+
if (!html && rawHtml.length > 100) {
|
|
528
|
+
logger.warn(`Slide ${slideNum}: HTML extraction failed, retrying`);
|
|
529
|
+
const retryRes = await llmClient.chatCompletion({
|
|
530
|
+
messages: [
|
|
531
|
+
{ role: 'system', content: htmlPrompt },
|
|
532
|
+
{ role: 'user', content: 'Generate the complete HTML document. Start with <!DOCTYPE html> and end with </html>. No markdown fences.' },
|
|
533
|
+
],
|
|
534
|
+
temperature: 0.2,
|
|
535
|
+
max_tokens: 4000,
|
|
536
|
+
});
|
|
537
|
+
const retryMsg = retryRes.choices[0]?.message;
|
|
538
|
+
const retryRaw = retryMsg ? extractContent(retryMsg) : '';
|
|
539
|
+
html = extractHtml(retryRaw);
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
catch (e) {
|
|
543
|
+
logger.warn(`Slide ${slideNum}: LLM call failed: ${e}`);
|
|
370
544
|
}
|
|
371
|
-
}
|
|
372
|
-
catch (e) {
|
|
373
|
-
logger.warn(`Slide ${slideNum}: LLM call failed: ${e}`);
|
|
374
545
|
}
|
|
375
546
|
if (!html) {
|
|
376
547
|
logger.warn(`Slide ${slideNum}: Failed to generate HTML, skipping`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powerpoint-create-agent.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"powerpoint-create-agent.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const PPT_CREATE_ENHANCEMENT_PROMPT = "You are an elite presentation design consultant.\nAnalyze the user's request and produce a DESIGN SYSTEM and CONTENT PLAN.\n\nOUTPUT FORMAT (structured text, max 1000 words):\n\n1. DOCUMENT_TYPE: pitch deck / business report / training / product launch / general\n2. AUDIENCE: Target audience description\n3. MOOD: modern-minimal / bold-energetic / corporate-elegant / warm-friendly / academic-clean\n\n4. COLOR PALETTE (6 hex values \u2014 choose colors that match the topic and mood):\n - primary: Deep main color for headers and key elements (e.g., #1B2A4A for corporate, #6C63FF for tech)\n - accent: Vibrant contrast color for highlights and CTAs (e.g., #00D4AA, #FF6B35)\n - background: Page background \u2014 near white (#F8F9FA) or near black (#0D1117) or subtle tint\n - text: Main text color \u2014 dark (#1A1A2E) for light bg, light (#E8E8E8) for dark bg\n - accent_light: Light tint of accent for subtle backgrounds (e.g., #E8F5F0)\n - gradient_end: Secondary gradient color paired with primary (e.g., #2D5F8A)\n\n5. FONTS: title_font, body_font (system only: Segoe UI, Malgun Gothic, Arial, Calibri, Georgia)\n6. SLIDE PLAN: 10-15 slides, each with:\n - Slide number and type (title / content / data / comparison / process / highlight / table / closing)\n - Title in user's language\n - Specific content direction (what data, text, visuals to include)\n - Visual approach hint (e.g., \"gradient hero section\", \"3-column card grid\", \"big number with ring chart\")\n7. DESIGN NOTES: Overall visual approach \u2014 use of gradients, shadows, card layouts, whitespace\n\nLANGUAGE RULE: ALL slide titles and content MUST be in the SAME language as the user's instruction.\nKorean input \u2192 Korean output. English slogans for Korean input = FAILURE.\n\nOutput structured text only. No preamble.";
|
|
2
|
-
export declare const PPT_STRUCTURED_PLANNING_PROMPT = "You are a presentation structure planner. Output ONLY valid JSON \u2014 no markdown, no explanation, no code fences.\n\nGiven the user's instruction and CREATIVE GUIDANCE, produce a JSON object with this exact structure:\n\n{\n \"design\": {\n \"primary_color\": \"<CHOOSE: deep color matching the topic \u2014 NOT #1B2A4A>\",\n \"accent_color\": \"<CHOOSE: vibrant contrast color \u2014 NOT #00D4AA>\",\n \"background_color\": \"<CHOOSE: near-white or near-black or subtle tint>\",\n \"text_color\": \"<CHOOSE: must contrast with background>\",\n \"accent_light\": \"<CHOOSE: light tint of your accent color>\",\n \"gradient_end\": \"<CHOOSE: secondary gradient paired with primary>\",\n \"font_title\": \"Segoe UI\",\n \"font_body\": \"Malgun Gothic\",\n \"mood\": \"modern-minimal\",\n \"design_notes\": \"Describe your visual approach in 1-2 sentences\"\n },\n \"slides\": [\n { \"type\": \"title\", \"title\": \"...\", \"content_direction\": \"...\" },\n { \"type\": \"content\", \"title\": \"...\", \"content_direction\": \"...\" },\n { \"type\": \"closing\", \"title\": \"...\", \"content_direction\": \"...\" }\n ]\n}\n\n\u2550\u2550\u2550 FIELD DEFINITIONS \u2550\u2550\u2550\n\u2022 design.primary_color: Deep main color (headers, key elements)\n\u2022 design.accent_color: Vibrant contrast (highlights, CTAs)\n\u2022 design.background_color: Page background (near white, near black, or subtle tint)\n\u2022 design.text_color: Main text color (must contrast with background)\n\u2022 design.accent_light: Light tint for subtle section backgrounds\n\u2022 design.gradient_end: Paired gradient color for primary\n\u2022 design.font_title: System font for titles (Segoe UI, Arial, Georgia, Calibri)\n\u2022 design.font_body: System font for body (Malgun Gothic, Segoe UI, Arial, Calibri)\n\u2022 design.mood: One of modern-minimal, bold-energetic, corporate-elegant, warm-friendly, academic-clean\n\u2022 design.design_notes: 1-2 sentence visual approach description\n\n\u2022 slides[].type: One of \"title\", \"content\", \"closing\"\n\u2022 slides[].title: Slide title in user's language (max 60 chars)\n\u2022 slides[].content_direction: Detailed content direction (3-6 sentences). Include SPECIFIC data, names, numbers. Also describe the VISUAL APPROACH for this slide (e.g., \"3-column card grid showing...\", \"big centered number with explanation below...\", \"comparison table with 5 rows...\")\n\n\u2550\u2550\u2550 SLIDE TYPE GUIDELINES \u2550\u2550\u2550\nEvery presentation MUST have: 1 title slide (first) + 1 closing slide (last)\nContent slides between them \u2014 aim for 10-15 total slides.\n\nFor each content slide, the content_direction should specify:\n- What information to show (specific text, numbers, names)\n- How to lay it out (cards, columns, table, big number, timeline, etc.)\n- This is the ONLY instruction the HTML-generating LLM will see, so be DETAILED\n\n\u2550\u2550\u2550 TEMPLATES \u2550\u2550\u2550\nPITCH DECK (startup/\uC0AC\uC5C5\uACC4\uD68D\uC11C/\uD53C\uCE58\uB371): 12 slides\n title \u2192 problem \u2192 solution \u2192 market size \u2192 product \u2192 business model \u2192 competition \u2192 traction \u2192 team \u2192 roadmap \u2192 investment ask \u2192 closing\n\nBUSINESS REPORT (\uBCF4\uACE0\uC11C/\uBD84\uC11D/\uC2E4\uC801): 10 slides\n title \u2192 executive summary \u2192 key metrics \u2192 analysis \u2192 comparison \u2192 spotlight \u2192 breakdown \u2192 action plan \u2192 recommendations \u2192 closing\n\nTRAINING (\uAD50\uC721/\uC138\uBBF8\uB098/\uAC15\uC758): 10 slides\n title \u2192 objectives \u2192 core concepts \u2192 key data \u2192 process \u2192 details \u2192 case study \u2192 summary \u2192 key takeaway \u2192 closing\n\nPRODUCT LAUNCH (\uC81C\uD488/\uCD9C\uC2DC/\uC18C\uAC1C): 11 slides\n title \u2192 market need \u2192 overview \u2192 key feature \u2192 features \u2192 metrics \u2192 use cases \u2192 pricing \u2192 timeline \u2192 CTA \u2192 closing\n\nGENERAL (\uBC1C\uD45C/\uD504\uB808\uC820\uD14C\uC774\uC158): 10 slides\n title \u2192 overview \u2192 key points \u2192 data \u2192 detail \u2192 spotlight \u2192 comparison \u2192 process \u2192 summary \u2192 closing\n\n\u2550\u2550\u2550 CONTENT DENSITY RULES \u2550\u2550\u2550\n\u26A0 Each slide must display a MANAGEABLE amount of information:\n \u2022 Card grids: maximum 4 cards per slide (2\u00D72 grid preferred for 4 items), 3-4 bullets per card max\n \u2022 Tables: maximum 5 data rows \u00D7 4 columns. Put items as ROWS, metrics as columns.\n \u2022 Timeline/Roadmap: maximum 4-5 milestones per slide. If more needed, split into 2 slides.\n \u2022 Comparison/Competition: put competitors as ROWS in a table (not columns). Max 4-5 competitor rows.\n \u2022 Data/metrics: maximum 3-4 big numbers per slide\n\u26A0 content_direction MUST specify the exact number of items AND the layout:\n \u2022 GOOD: \"3 cards in a row showing: [item1], [item2], [item3]\"\n \u2022 GOOD: \"Comparison table with 4 rows (competitors) \u00D7 3 columns (metrics)\"\n \u2022 BAD: \"show all the company's products and features\" (too vague, will overflow)\n \u2022 BAD: \"compare 5 companies side by side in columns\" (too many columns, will be unreadable)\n\n\u2550\u2550\u2550 CLOSING SLIDE
|
|
2
|
+
export declare const PPT_STRUCTURED_PLANNING_PROMPT = "You are a presentation structure planner. Output ONLY valid JSON \u2014 no markdown, no explanation, no code fences.\n\nGiven the user's instruction and CREATIVE GUIDANCE, produce a JSON object with this exact structure:\n\n{\n \"design\": {\n \"primary_color\": \"<CHOOSE: deep color matching the topic \u2014 NOT #1B2A4A>\",\n \"accent_color\": \"<CHOOSE: vibrant contrast color \u2014 NOT #00D4AA>\",\n \"background_color\": \"<CHOOSE: near-white or near-black or subtle tint>\",\n \"text_color\": \"<CHOOSE: must contrast with background>\",\n \"accent_light\": \"<CHOOSE: light tint of your accent color>\",\n \"gradient_end\": \"<CHOOSE: secondary gradient paired with primary>\",\n \"font_title\": \"Segoe UI\",\n \"font_body\": \"Malgun Gothic\",\n \"mood\": \"modern-minimal\",\n \"design_notes\": \"Describe your visual approach in 1-2 sentences\"\n },\n \"slides\": [\n { \"type\": \"title\", \"title\": \"...\", \"content_direction\": \"...\" },\n { \"type\": \"content\", \"title\": \"...\", \"content_direction\": \"...\" },\n { \"type\": \"closing\", \"title\": \"...\", \"content_direction\": \"...\" }\n ]\n}\n\n\u2550\u2550\u2550 FIELD DEFINITIONS \u2550\u2550\u2550\n\u2022 design.primary_color: Deep main color (headers, key elements)\n\u2022 design.accent_color: Vibrant contrast (highlights, CTAs)\n\u2022 design.background_color: Page background (near white, near black, or subtle tint)\n\u2022 design.text_color: Main text color (must contrast with background)\n\u2022 design.accent_light: Light tint for subtle section backgrounds\n\u2022 design.gradient_end: Paired gradient color for primary\n\u2022 design.font_title: System font for titles (Segoe UI, Arial, Georgia, Calibri)\n\u2022 design.font_body: System font for body (Malgun Gothic, Segoe UI, Arial, Calibri)\n\u2022 design.mood: One of modern-minimal, bold-energetic, corporate-elegant, warm-friendly, academic-clean\n\u2022 design.design_notes: 1-2 sentence visual approach description\n\n\u2022 slides[].type: One of \"title\", \"content\", \"closing\"\n\u2022 slides[].title: Slide title in user's language (max 60 chars)\n\u2022 slides[].content_direction: Detailed content direction (3-6 sentences). Include SPECIFIC data, names, numbers. Also describe the VISUAL APPROACH for this slide (e.g., \"3-column card grid showing...\", \"big centered number with explanation below...\", \"comparison table with 5 rows...\")\n\n\u2550\u2550\u2550 SLIDE TYPE GUIDELINES \u2550\u2550\u2550\nEvery presentation MUST have: 1 title slide (first) + 1 closing slide (last)\nContent slides between them \u2014 aim for 10-15 total slides.\n\nFor each content slide, the content_direction should specify:\n- What information to show (specific text, numbers, names)\n- How to lay it out (cards, columns, table, big number, timeline, etc.)\n- This is the ONLY instruction the HTML-generating LLM will see, so be DETAILED\n\n\u2550\u2550\u2550 TEMPLATES \u2550\u2550\u2550\nPITCH DECK (startup/\uC0AC\uC5C5\uACC4\uD68D\uC11C/\uD53C\uCE58\uB371): 12 slides\n title \u2192 problem \u2192 solution \u2192 market size \u2192 product \u2192 business model \u2192 competition \u2192 traction \u2192 team \u2192 roadmap \u2192 investment ask \u2192 closing\n\nBUSINESS REPORT (\uBCF4\uACE0\uC11C/\uBD84\uC11D/\uC2E4\uC801): 10 slides\n title \u2192 executive summary \u2192 key metrics \u2192 analysis \u2192 comparison \u2192 spotlight \u2192 breakdown \u2192 action plan \u2192 recommendations \u2192 closing\n\nTRAINING (\uAD50\uC721/\uC138\uBBF8\uB098/\uAC15\uC758): 10 slides\n title \u2192 objectives \u2192 core concepts \u2192 key data \u2192 process \u2192 details \u2192 case study \u2192 summary \u2192 key takeaway \u2192 closing\n\nPRODUCT LAUNCH (\uC81C\uD488/\uCD9C\uC2DC/\uC18C\uAC1C): 11 slides\n title \u2192 market need \u2192 overview \u2192 key feature \u2192 features \u2192 metrics \u2192 use cases \u2192 pricing \u2192 timeline \u2192 CTA \u2192 closing\n\nGENERAL (\uBC1C\uD45C/\uD504\uB808\uC820\uD14C\uC774\uC158): 10 slides\n title \u2192 overview \u2192 key points \u2192 data \u2192 detail \u2192 spotlight \u2192 comparison \u2192 process \u2192 summary \u2192 closing\n\n\u2550\u2550\u2550 CONTENT DENSITY RULES \u2550\u2550\u2550\n\u26A0 Each slide must display a MANAGEABLE amount of information:\n \u2022 Card grids: maximum 4 cards per slide (2\u00D72 grid preferred for 4 items), 3-4 bullets per card max\n \u2022 Tables: maximum 5 data rows \u00D7 4 columns. Put items as ROWS, metrics as columns.\n \u2022 Timeline/Roadmap: maximum 4-5 milestones per slide. If more needed, split into 2 slides.\n \u2022 Comparison/Competition: put competitors as ROWS in a table (not columns). Max 4-5 competitor rows.\n \u2022 Data/metrics: maximum 3-4 big numbers per slide\n\u26A0 content_direction MUST specify the exact number of items AND the layout:\n \u2022 GOOD: \"3 cards in a row showing: [item1], [item2], [item3]\"\n \u2022 GOOD: \"Comparison table with 4 rows (competitors) \u00D7 3 columns (metrics)\"\n \u2022 BAD: \"show all the company's products and features\" (too vague, will overflow)\n \u2022 BAD: \"compare 5 companies side by side in columns\" (too many columns, will be unreadable)\n\n\u2550\u2550\u2550 TITLE & CLOSING SLIDE FORMAT \u2550\u2550\u2550\n\u26A0 Title slide (FIRST):\n \u2022 title: The company name or presentation topic (rendered at 96px by the system)\n \u2022 content_direction: ONLY the subtitle/tagline text (1-2 lines max, under 120 chars). Example: \"AI \uAE30\uBC18 \uC758\uB8CC \uC9C4\uB2E8 \uD601\uC2E0 \uD50C\uB7AB\uD3FC\"\n \u2022 Do NOT include visual/layout instructions \u2014 the title slide uses a fixed premium template\n\u26A0 Closing slide (LAST):\n \u2022 title: \"\uAC10\uC0AC\uD569\uB2C8\uB2E4\" (Korean) or \"Thank You\" (English)\n \u2022 content_direction: The company/topic name to display below the thank-you text\n \u2022 Do NOT include visual/layout instructions \u2014 the closing slide uses a fixed premium template\n\n\u2550\u2550\u2550 LAYOUT VARIETY \u2550\u2550\u2550\n\u26A0 Vary the visual approach across slides. Do NOT use the same card-grid layout for every slide.\n Suggested variety: hero section, 2-column split, 3-card row, 2\u00D72 grid, big-number spotlight,\n comparison table, timeline with icons, full-width data bar, centered quote/highlight\n\n\u2550\u2550\u2550 COLOR PALETTE RULES \u2550\u2550\u2550\n\u26A0 NEVER use placeholder/example colors. EVERY presentation must have a UNIQUE palette:\n \u2022 Medical/Health: blues + greens (#0B5394, #27AE60)\n \u2022 Tech/AI: purples + cyans (#6C63FF, #00BCD4)\n \u2022 Finance: navy + gold (#1A237E, #F4A300)\n \u2022 Education: teal + orange (#00796B, #FF7043)\n \u2022 Marketing: coral + purple (#FF6B6B, #7C3AED)\n\u26A0 Choose colors that MATCH the specific topic. Generic blue = LAZY.\n\u26A0 Ensure accent_color has HIGH contrast with primary_color.\n\n\u2550\u2550\u2550 HARD RULES \u2550\u2550\u2550\n\u26A0 First slide MUST be type \"title\"\n\u26A0 Last slide MUST be type \"closing\" with \"\uAC10\uC0AC\uD569\uB2C8\uB2E4\"/\"Thank You\" as title\n\u26A0 ALL titles and content_direction MUST be in the SAME language as the user's instruction\n\u26A0 content_direction: include SPECIFIC data, names, numbers AND visual layout hints AND item count\n\u26A0 HARD MAXIMUM: 15 slides total. Slides beyond 15 are DISCARDED by the system. Aim for 10-12.\n\u26A0 Each slide's content_direction must be unique and substantive \u2014 no generic placeholders\n\nOutput ONLY the JSON object. No preamble, no markdown fences, no explanation.";
|
|
3
3
|
export interface DesignSystem {
|
|
4
4
|
primary_color: string;
|
|
5
5
|
accent_color: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powerpoint-create-prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-prompts.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,6BAA6B,yyDA4BA,CAAC;AAM3C,eAAO,MAAM,8BAA8B,
|
|
1
|
+
{"version":3,"file":"powerpoint-create-prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-prompts.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,6BAA6B,yyDA4BA,CAAC;AAM3C,eAAO,MAAM,8BAA8B,09OA+GmC,CAAC;AAM/E,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,GAAG,IAAI,GACpB,MAAM,CA8ER;AAMD,eAAO,MAAM,wBAAwB,2pDA6BmC,CAAC;AAEzE,eAAO,MAAM,0BAA0B,wlBAaqB,CAAC;AAG7D,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,IAAI,GAAG,IAAI,GACpB,MAAM,CAqBR"}
|
|
@@ -105,11 +105,15 @@ GENERAL (발표/프레젠테이션): 10 slides
|
|
|
105
105
|
• BAD: "show all the company's products and features" (too vague, will overflow)
|
|
106
106
|
• BAD: "compare 5 companies side by side in columns" (too many columns, will be unreadable)
|
|
107
107
|
|
|
108
|
-
═══ CLOSING SLIDE
|
|
109
|
-
⚠
|
|
110
|
-
•
|
|
111
|
-
• content_direction
|
|
112
|
-
• Do NOT
|
|
108
|
+
═══ TITLE & CLOSING SLIDE FORMAT ═══
|
|
109
|
+
⚠ Title slide (FIRST):
|
|
110
|
+
• title: The company name or presentation topic (rendered at 96px by the system)
|
|
111
|
+
• content_direction: ONLY the subtitle/tagline text (1-2 lines max, under 120 chars). Example: "AI 기반 의료 진단 혁신 플랫폼"
|
|
112
|
+
• Do NOT include visual/layout instructions — the title slide uses a fixed premium template
|
|
113
|
+
⚠ Closing slide (LAST):
|
|
114
|
+
• title: "감사합니다" (Korean) or "Thank You" (English)
|
|
115
|
+
• content_direction: The company/topic name to display below the thank-you text
|
|
116
|
+
• Do NOT include visual/layout instructions — the closing slide uses a fixed premium template
|
|
113
117
|
|
|
114
118
|
═══ LAYOUT VARIETY ═══
|
|
115
119
|
⚠ Vary the visual approach across slides. Do NOT use the same card-grid layout for every slide.
|
|
@@ -131,7 +135,7 @@ GENERAL (발표/프레젠테이션): 10 slides
|
|
|
131
135
|
⚠ Last slide MUST be type "closing" with "감사합니다"/"Thank You" as title
|
|
132
136
|
⚠ ALL titles and content_direction MUST be in the SAME language as the user's instruction
|
|
133
137
|
⚠ content_direction: include SPECIFIC data, names, numbers AND visual layout hints AND item count
|
|
134
|
-
⚠
|
|
138
|
+
⚠ HARD MAXIMUM: 15 slides total. Slides beyond 15 are DISCARDED by the system. Aim for 10-12.
|
|
135
139
|
⚠ Each slide's content_direction must be unique and substantive — no generic placeholders
|
|
136
140
|
|
|
137
141
|
Output ONLY the JSON object. No preamble, no markdown fences, no explanation.`;
|
|
@@ -172,7 +176,7 @@ Notes: ${design.design_notes}
|
|
|
172
176
|
═══ DESIGN REQUIREMENTS ═══
|
|
173
177
|
1. Use the EXACT colors from the design system above
|
|
174
178
|
2. Title text: 48-64px, bold, using the title font
|
|
175
|
-
3. Body text: 24-32px, using the body font. Minimum text size:
|
|
179
|
+
3. Body text: 24-32px, using the body font. Minimum text size: 20px (no text smaller than 20px — reduce content if needed)
|
|
176
180
|
4. Use CSS gradients (linear-gradient, radial-gradient) for visual richness
|
|
177
181
|
5. Use box-shadow for depth and card effects
|
|
178
182
|
6. Use border-radius (12-20px) for modern rounded elements
|
|
@@ -197,18 +201,16 @@ Notes: ${design.design_notes}
|
|
|
197
201
|
• Table: MAXIMUM 5 data rows. Minimum cell padding: 12px. Min column width: 150px.
|
|
198
202
|
• Cards: MAXIMUM 3-4 bullet points per card. Each bullet MUST be 1 line only.
|
|
199
203
|
• Minimum element width: 300px for cards, 150px for table columns
|
|
200
|
-
• ALL content must end ABOVE y=
|
|
204
|
+
• ALL content must end ABOVE y=980px — leave 100px bottom margin. If content overflows, REDUCE item count.
|
|
201
205
|
• NEVER create bar chart labels that overlap with bars — position labels ABOVE or BELOW
|
|
202
|
-
• If your content doesn't fit, REMOVE items rather than shrinking text below
|
|
206
|
+
• If your content doesn't fit, REMOVE items rather than shrinking text below 20px
|
|
203
207
|
|
|
204
208
|
═══ CONTENT RULES ═══
|
|
205
209
|
• ${langRule}
|
|
206
210
|
• Generate REAL, specific, professional content — NO placeholders like "[내용]" or "Lorem ipsum"
|
|
207
211
|
• Fill ALL areas with actual content — no empty sections
|
|
208
212
|
• Keep text readable: sufficient contrast, appropriate sizes, minimum 20px for body text
|
|
209
|
-
• Balance text and whitespace — do not overcrowd
|
|
210
|
-
• Title slides: company/topic name MUST be the largest element on the page — use font-size: 80px or bigger, font-weight: 800, centered. Subtitle below at 28-36px. This is NON-NEGOTIABLE.
|
|
211
|
-
• Closing slides: "감사합니다"/"Thank You" MUST be font-size: 80px or bigger, font-weight: 700, centered vertically and horizontally on a full-page gradient (primary→gradient_end). Company name below at 36-48px. NOTHING else needed. Keep it simple and GRAND.
|
|
213
|
+
• Balance text and whitespace — do not overcrowd. Max 70% content area, 30% whitespace.
|
|
212
214
|
|
|
213
215
|
═══ SLIDE PAGE NUMBER ═══
|
|
214
216
|
Add a small page number "${slideIndex + 1}" in the bottom-right corner (12px, opacity 0.4)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powerpoint-create-prompts.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-prompts.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA4BH,CAAC;AAM3C,MAAM,CAAC,MAAM,8BAA8B,GAAG
|
|
1
|
+
{"version":3,"file":"powerpoint-create-prompts.js","sourceRoot":"","sources":["../../../src/agents/office/powerpoint-create-prompts.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA4BH,CAAC;AAM3C,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8EA+GgC,CAAC;AAuB/E,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,gBAAwB,EACxB,MAAoB,EACpB,UAAkB,EAClB,WAAmB,EACnB,QAAqB;IAErB,MAAM,QAAQ,GAAG,QAAQ,KAAK,IAAI;QAChC,CAAC,CAAC,gEAAgE;QAClE,CAAC,CAAC,sCAAsC,CAAC;IAE3C,OAAO;;;;UAIC,UAAU;QACZ,UAAU,GAAG,CAAC,OAAO,WAAW;;;EAGtC,gBAAgB;;;WAGP,MAAM,CAAC,aAAa;UACrB,MAAM,CAAC,YAAY;cACf,MAAM,CAAC,gBAAgB;QAC7B,MAAM,CAAC,UAAU;gBACT,MAAM,CAAC,YAAY;gBACnB,MAAM,CAAC,YAAY;cACrB,MAAM,CAAC,UAAU;aAClB,MAAM,CAAC,SAAS;QACrB,MAAM,CAAC,IAAI;SACV,MAAM,CAAC,YAAY;;;;;;yBAMH,MAAM,CAAC,UAAU,OAAO,MAAM,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqC7D,QAAQ;;;;;;;2BAOe,UAAU,GAAG,CAAC;;wFAE+C,CAAC;AACzF,CAAC;AAMD,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEA6BgC,CAAC;AAEzE,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;4DAakB,CAAC;AAG7D,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,KAAa,EACb,SAAiB,EACjB,QAAgB,EAChB,QAAqB;IAErB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzD,MAAM,QAAQ,GAAG,QAAQ,KAAK,IAAI;QAChC,CAAC,CAAC,6BAA6B;QAC/B,CAAC,CAAC,8BAA8B,CAAC;IAEnC,OAAO,2BAA2B,KAAK;;;;EAIvC,SAAS;;;EAGT,QAAQ;;;IAGN,QAAQ;;;0DAG8C,CAAC;AAC3D,CAAC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare const PROJECTS_DIR: string;
|
|
|
7
7
|
export declare const CREDENTIALS_FILE_PATH: string;
|
|
8
8
|
export declare const APP_NAME = "hanseol-dev";
|
|
9
9
|
export declare const SERVICE_ID = "hanseol";
|
|
10
|
-
export declare const APP_VERSION = "5.0.2-dev.
|
|
10
|
+
export declare const APP_VERSION = "5.0.2-dev.60";
|
|
11
11
|
export declare const DASHBOARD_URL = "https://52.78.246.50.nip.io";
|
|
12
12
|
export declare const ONCE_URL = "https://52.78.246.50.nip.io:5090";
|
|
13
13
|
export declare const FREE_URL = "https://52.78.246.50.nip.io:6090";
|
package/dist/constants.js
CHANGED
|
@@ -9,7 +9,7 @@ export const PROJECTS_DIR = path.join(LOCAL_HOME_DIR, 'projects');
|
|
|
9
9
|
export const CREDENTIALS_FILE_PATH = path.join(LOCAL_HOME_DIR, 'credentials.json');
|
|
10
10
|
export const APP_NAME = 'hanseol-dev';
|
|
11
11
|
export const SERVICE_ID = 'hanseol';
|
|
12
|
-
export const APP_VERSION = '5.0.2-dev.
|
|
12
|
+
export const APP_VERSION = '5.0.2-dev.60';
|
|
13
13
|
export const DASHBOARD_URL = 'https://52.78.246.50.nip.io';
|
|
14
14
|
export const ONCE_URL = 'https://52.78.246.50.nip.io:5090';
|
|
15
15
|
export const FREE_URL = 'https://52.78.246.50.nip.io:6090';
|