claude-presentation-master 7.2.0 → 7.2.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.
- package/bin/cli.js +6 -0
- package/dist/index.d.mts +96 -10
- package/dist/index.d.ts +96 -10
- package/dist/index.js +539 -54
- package/dist/index.mjs +539 -54
- package/package.json +3 -2
package/bin/cli.js
CHANGED
|
@@ -445,6 +445,12 @@ async function runGenerate(inputPath, options, generate) {
|
|
|
445
445
|
console.log(`✅ PPTX saved: ${pptxPath}`);
|
|
446
446
|
}
|
|
447
447
|
|
|
448
|
+
if (result.outputs.pdf) {
|
|
449
|
+
const pdfPath = resolve(outputDir, `${baseFilename}.pdf`);
|
|
450
|
+
writeFileSync(pdfPath, result.outputs.pdf);
|
|
451
|
+
console.log(`✅ PDF saved: ${pdfPath}`);
|
|
452
|
+
}
|
|
453
|
+
|
|
448
454
|
// Show results
|
|
449
455
|
const avgWords = result.metadata.avgWordsPerSlide?.toFixed(1) ?? 'N/A';
|
|
450
456
|
const totalWords = result.metadata.wordCount || result.metadata.totalWords || 0;
|
package/dist/index.d.mts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @module types
|
|
4
4
|
*/
|
|
5
5
|
type PresentationMode$1 = 'keynote' | 'business';
|
|
6
|
-
type OutputFormat = 'html' | 'pptx';
|
|
6
|
+
type OutputFormat = 'html' | 'pptx' | 'pdf';
|
|
7
7
|
type ThemeName = 'default' | 'light-corporate' | 'modern-tech' | 'minimal' | 'warm' | 'creative';
|
|
8
8
|
type PresentationType$1 = 'ted_keynote' | 'sales_pitch' | 'consulting_deck' | 'investment_banking' | 'investor_pitch' | 'technical_presentation' | 'all_hands';
|
|
9
9
|
interface PresentationConfig {
|
|
@@ -45,6 +45,8 @@ interface PresentationConfig {
|
|
|
45
45
|
images?: string[];
|
|
46
46
|
/** Base path for resolving image paths */
|
|
47
47
|
imageBasePath?: string;
|
|
48
|
+
/** Generate PDF alongside HTML (default: true when format includes 'html') */
|
|
49
|
+
generatePdf?: boolean;
|
|
48
50
|
}
|
|
49
51
|
type SlideType = 'title' | 'agenda' | 'section-divider' | 'thank-you' | 'big-idea' | 'single-statement' | 'big-number' | 'full-image' | 'quote' | 'two-column' | 'three-column' | 'bullet-points' | 'screenshot' | 'screenshot-left' | 'screenshot-right' | 'comparison' | 'timeline' | 'process' | 'metrics-grid' | 'pricing' | 'team' | 'features' | 'chart' | 'table' | 'social-proof' | 'case-study' | 'cta';
|
|
50
52
|
interface Slide {
|
|
@@ -96,6 +98,26 @@ interface MetricData {
|
|
|
96
98
|
change?: string;
|
|
97
99
|
trend?: 'up' | 'down' | 'neutral';
|
|
98
100
|
}
|
|
101
|
+
/** Legacy slide format for backwards compatibility */
|
|
102
|
+
interface LegacySlide {
|
|
103
|
+
index: number;
|
|
104
|
+
type: string;
|
|
105
|
+
title: string;
|
|
106
|
+
content: {
|
|
107
|
+
subtitle?: string | undefined;
|
|
108
|
+
statement?: string | undefined;
|
|
109
|
+
body?: string | undefined;
|
|
110
|
+
bullets?: string[] | undefined;
|
|
111
|
+
metrics?: MetricData[] | undefined;
|
|
112
|
+
quote?: {
|
|
113
|
+
text: string;
|
|
114
|
+
attribution?: string | undefined;
|
|
115
|
+
} | undefined;
|
|
116
|
+
callToAction?: string | undefined;
|
|
117
|
+
};
|
|
118
|
+
notes?: string | undefined;
|
|
119
|
+
template: string;
|
|
120
|
+
}
|
|
99
121
|
interface QAResults {
|
|
100
122
|
/** Visual quality results */
|
|
101
123
|
visual: VisualQAResults;
|
|
@@ -157,7 +179,7 @@ interface GlanceTestResult {
|
|
|
157
179
|
wordCount: number;
|
|
158
180
|
readingTime: number;
|
|
159
181
|
passed: boolean;
|
|
160
|
-
recommendation?: string;
|
|
182
|
+
recommendation?: string | undefined;
|
|
161
183
|
}
|
|
162
184
|
interface SignalNoiseResult {
|
|
163
185
|
slideIndex: number;
|
|
@@ -172,7 +194,7 @@ interface OneIdeaResult {
|
|
|
172
194
|
ideaCount: number;
|
|
173
195
|
mainIdea: string;
|
|
174
196
|
passed: boolean;
|
|
175
|
-
conflictingIdeas?: string[];
|
|
197
|
+
conflictingIdeas?: string[] | undefined;
|
|
176
198
|
}
|
|
177
199
|
interface ExpertQAResults {
|
|
178
200
|
/** Nancy Duarte validation */
|
|
@@ -229,11 +251,47 @@ interface QAIssue {
|
|
|
229
251
|
/** Suggested fix */
|
|
230
252
|
suggestion?: string;
|
|
231
253
|
}
|
|
254
|
+
/** Result from 7-dimension QA scoring */
|
|
255
|
+
interface SevenDimensionQAResult {
|
|
256
|
+
passed: boolean;
|
|
257
|
+
score: number;
|
|
258
|
+
visual: {
|
|
259
|
+
whitespacePercentage: number;
|
|
260
|
+
layoutBalance: number;
|
|
261
|
+
colorContrast: number;
|
|
262
|
+
};
|
|
263
|
+
content: {
|
|
264
|
+
perSlide: SlideContentScore[];
|
|
265
|
+
issues: Array<{
|
|
266
|
+
dimension: string;
|
|
267
|
+
message: string;
|
|
268
|
+
slideIndex?: number;
|
|
269
|
+
}>;
|
|
270
|
+
};
|
|
271
|
+
accessibility: {
|
|
272
|
+
wcagLevel: string;
|
|
273
|
+
issues: Array<{
|
|
274
|
+
dimension: string;
|
|
275
|
+
message: string;
|
|
276
|
+
slideIndex?: number;
|
|
277
|
+
}>;
|
|
278
|
+
};
|
|
279
|
+
issues: Array<{
|
|
280
|
+
severity: string;
|
|
281
|
+
message: string;
|
|
282
|
+
slideIndex?: number;
|
|
283
|
+
dimension: string;
|
|
284
|
+
}>;
|
|
285
|
+
dimensions: Record<string, number>;
|
|
286
|
+
iterations: unknown[];
|
|
287
|
+
report: string;
|
|
288
|
+
}
|
|
232
289
|
interface PresentationResult {
|
|
233
290
|
/** Generated outputs */
|
|
234
291
|
outputs: {
|
|
235
292
|
html?: string;
|
|
236
293
|
pptx?: Buffer;
|
|
294
|
+
pdf?: Buffer;
|
|
237
295
|
};
|
|
238
296
|
/** QA validation results */
|
|
239
297
|
qaResults: QAResults;
|
|
@@ -457,6 +515,7 @@ declare class PresentationEngine {
|
|
|
457
515
|
private qaEngine;
|
|
458
516
|
private htmlGenerator;
|
|
459
517
|
private pptxGenerator;
|
|
518
|
+
private pdfGenerator;
|
|
460
519
|
private kb;
|
|
461
520
|
constructor();
|
|
462
521
|
/**
|
|
@@ -555,6 +614,7 @@ interface ColorPalette {
|
|
|
555
614
|
contrast_ratio: string;
|
|
556
615
|
}
|
|
557
616
|
type PresentationType = 'ted_keynote' | 'sales_pitch' | 'consulting_deck' | 'investment_banking' | 'investor_pitch' | 'technical_presentation' | 'all_hands';
|
|
617
|
+
type KnowledgeBaseData = Record<string, any>;
|
|
558
618
|
declare class KnowledgeGateway {
|
|
559
619
|
private kb;
|
|
560
620
|
private loaded;
|
|
@@ -629,11 +689,11 @@ declare class KnowledgeGateway {
|
|
|
629
689
|
/**
|
|
630
690
|
* Get story framework by name
|
|
631
691
|
*/
|
|
632
|
-
getStoryFramework(name: 'sparkline' | 'scqa' | 'pyramid' | 'scr'):
|
|
692
|
+
getStoryFramework(name: 'sparkline' | 'scqa' | 'pyramid' | 'scr'): unknown;
|
|
633
693
|
/**
|
|
634
694
|
* Get expert principles by name
|
|
635
695
|
*/
|
|
636
|
-
getExpertPrinciples(expertName: string):
|
|
696
|
+
getExpertPrinciples(expertName: string): unknown;
|
|
637
697
|
/**
|
|
638
698
|
* Get Duarte's glance test requirements
|
|
639
699
|
*/
|
|
@@ -657,7 +717,7 @@ declare class KnowledgeGateway {
|
|
|
657
717
|
/**
|
|
658
718
|
* Get chart selection guidance
|
|
659
719
|
*/
|
|
660
|
-
getChartGuidance(purpose: 'comparison' | 'composition' | 'distribution' | 'relationship'):
|
|
720
|
+
getChartGuidance(purpose: 'comparison' | 'composition' | 'distribution' | 'relationship'): unknown;
|
|
661
721
|
/**
|
|
662
722
|
* Get charts to avoid
|
|
663
723
|
*/
|
|
@@ -665,7 +725,7 @@ declare class KnowledgeGateway {
|
|
|
665
725
|
/**
|
|
666
726
|
* Get investment banking pitch book structure
|
|
667
727
|
*/
|
|
668
|
-
getIBPitchBookStructure(type: 'ma_sell_side' | 'ma_buy_side' | 'ipo_pitchbook'):
|
|
728
|
+
getIBPitchBookStructure(type: 'ma_sell_side' | 'ma_buy_side' | 'ipo_pitchbook'): unknown;
|
|
669
729
|
/**
|
|
670
730
|
* Check if knowledge base is loaded
|
|
671
731
|
*/
|
|
@@ -673,7 +733,7 @@ declare class KnowledgeGateway {
|
|
|
673
733
|
/**
|
|
674
734
|
* Get the full knowledge base (for advanced queries)
|
|
675
735
|
*/
|
|
676
|
-
getRawKB():
|
|
736
|
+
getRawKB(): KnowledgeBaseData;
|
|
677
737
|
/**
|
|
678
738
|
* Get allowed slide types for a specific presentation type.
|
|
679
739
|
* CRITICAL: SlideFactory must ONLY use types from this list.
|
|
@@ -995,6 +1055,11 @@ declare class ContentAnalyzer {
|
|
|
995
1055
|
* CRITICAL: Must strip headers, CTA text, and fragments
|
|
996
1056
|
*/
|
|
997
1057
|
private extractFirstSentence;
|
|
1058
|
+
/**
|
|
1059
|
+
* Extract metrics from natural language text
|
|
1060
|
+
* Handles formats like "40% productivity loss", "$2.5M investment"
|
|
1061
|
+
*/
|
|
1062
|
+
private extractMetricsFromText;
|
|
998
1063
|
}
|
|
999
1064
|
|
|
1000
1065
|
/**
|
|
@@ -1198,7 +1263,7 @@ declare class SlideGenerator {
|
|
|
1198
1263
|
* - Content pattern to slide type mapping
|
|
1199
1264
|
* - Slide validation against KB rules
|
|
1200
1265
|
*/
|
|
1201
|
-
generate(analysis: ContentAnalysis$1, type?: PresentationType): Promise<
|
|
1266
|
+
generate(analysis: ContentAnalysis$1, type?: PresentationType): Promise<LegacySlide[]>;
|
|
1202
1267
|
/**
|
|
1203
1268
|
* Convert new Slide format to legacy format for backwards compatibility
|
|
1204
1269
|
*/
|
|
@@ -1358,6 +1423,15 @@ declare class ScoreCalculator {
|
|
|
1358
1423
|
* CRITICAL: All thresholds come from the knowledge base
|
|
1359
1424
|
*/
|
|
1360
1425
|
|
|
1426
|
+
interface RevealApi {
|
|
1427
|
+
getTotalSlides?: () => number;
|
|
1428
|
+
slide?: (index: number) => void;
|
|
1429
|
+
}
|
|
1430
|
+
declare global {
|
|
1431
|
+
interface Window {
|
|
1432
|
+
Reveal?: RevealApi;
|
|
1433
|
+
}
|
|
1434
|
+
}
|
|
1361
1435
|
declare class QAEngine {
|
|
1362
1436
|
private browser;
|
|
1363
1437
|
private kb;
|
|
@@ -1698,6 +1772,18 @@ declare class RevealJsGenerator {
|
|
|
1698
1772
|
* Lighten a hex color
|
|
1699
1773
|
*/
|
|
1700
1774
|
private lightenColor;
|
|
1775
|
+
/**
|
|
1776
|
+
* Check if a palette is "dark mode" (dark background, light text)
|
|
1777
|
+
*/
|
|
1778
|
+
private isDarkPalette;
|
|
1779
|
+
/**
|
|
1780
|
+
* Get relative luminance of a hex color (0-1, 0=black, 1=white)
|
|
1781
|
+
*/
|
|
1782
|
+
private getLuminance;
|
|
1783
|
+
/**
|
|
1784
|
+
* Darken a hex color
|
|
1785
|
+
*/
|
|
1786
|
+
private darkenColor;
|
|
1701
1787
|
/**
|
|
1702
1788
|
* Get theme-specific styles - KB-DRIVEN
|
|
1703
1789
|
*/
|
|
@@ -2101,4 +2187,4 @@ declare const _default: {
|
|
|
2101
2187
|
VERSION: string;
|
|
2102
2188
|
};
|
|
2103
2189
|
|
|
2104
|
-
export { type AccessibilityResults, AutoFixEngine, type AutoFixResult, type ChartData, type ChartDataset, ChartJsProvider, type ChartProvider, type ChartRequest, type ChartResult, type ChartType, type ColorPalette, CompositeChartProvider, CompositeImageProvider, type ContentAnalysis$1 as ContentAnalysis, ContentAnalyzer, type ContentPattern, ContentPatternClassifier, type ContentQAResults, type ContentSection$1 as ContentSection, type ContrastIssue, type DimensionIssue, type DimensionScore, type ExpertQAResults, type ExpertValidation, type FixResult, type FontSizeIssue, type GlanceTestResult, type ImageData, type ImageProvider, type ImageRequest, type ImageResult, type IterationRecord, IterativeQAEngine, type IterativeQAOptions, type IterativeQAResult, KnowledgeGateway, LocalImageProvider, MermaidProvider, type MetricData, type OneIdeaResult, type OutputFormat, PlaceholderImageProvider, PowerPointGenerator, type PresentationConfig, PresentationEngine, type PresentationMetadata, type PresentationMode$1 as PresentationMode, type PresentationResult, type PresentationType, QAEngine, QAFailureError, type QAIssue, type QAResults, QuickChartProvider, RevealJsGenerator, type SCQAStructure, ScoreCalculator, type ScoringWeights, type SevenDimensionResult, SevenDimensionScorer, type SignalNoiseResult, type Slide, type SlideContentScore, type SlideData, SlideFactory, SlideGenerator, type SlideTemplate, type SlideType, type SlideValidationResult, type SlideVisualScore, type SparklineStructure, type StoryStructure, TemplateEngine, TemplateNotFoundError, type ThemeName, type TypographyRules, UnsplashImageProvider, VERSION, ValidationError, type ValidationRules, type VisualQAResults, createAutoFixEngine, createDefaultChartProvider, createDefaultImageProvider, createIterativeQAEngine, createSlideFactory, _default as default, generate, getKnowledgeGateway, initSlideGenerator, validate };
|
|
2190
|
+
export { type AccessibilityResults, AutoFixEngine, type AutoFixResult, type ChartData, type ChartDataset, ChartJsProvider, type ChartProvider, type ChartRequest, type ChartResult, type ChartType, type ColorPalette, CompositeChartProvider, CompositeImageProvider, type ContentAnalysis$1 as ContentAnalysis, ContentAnalyzer, type ContentPattern, ContentPatternClassifier, type ContentQAResults, type ContentSection$1 as ContentSection, type ContrastIssue, type DimensionIssue, type DimensionScore, type ExpertQAResults, type ExpertValidation, type FixResult, type FontSizeIssue, type GlanceTestResult, type ImageData, type ImageProvider, type ImageRequest, type ImageResult, type IterationRecord, IterativeQAEngine, type IterativeQAOptions, type IterativeQAResult, KnowledgeGateway, type LegacySlide, LocalImageProvider, MermaidProvider, type MetricData, type OneIdeaResult, type OutputFormat, PlaceholderImageProvider, PowerPointGenerator, type PresentationConfig, PresentationEngine, type PresentationMetadata, type PresentationMode$1 as PresentationMode, type PresentationResult, type PresentationType, QAEngine, QAFailureError, type QAIssue, type QAResults, QuickChartProvider, RevealJsGenerator, type SCQAStructure, ScoreCalculator, type ScoringWeights, type SevenDimensionQAResult, type SevenDimensionResult, SevenDimensionScorer, type SignalNoiseResult, type Slide, type SlideContentScore, type SlideData, SlideFactory, SlideGenerator, type SlideTemplate, type SlideType, type SlideValidationResult, type SlideVisualScore, type SparklineStructure, type StoryStructure, TemplateEngine, TemplateNotFoundError, type ThemeName, type TypographyRules, UnsplashImageProvider, VERSION, ValidationError, type ValidationRules, type VisualQAResults, createAutoFixEngine, createDefaultChartProvider, createDefaultImageProvider, createIterativeQAEngine, createSlideFactory, _default as default, generate, getKnowledgeGateway, initSlideGenerator, validate };
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @module types
|
|
4
4
|
*/
|
|
5
5
|
type PresentationMode$1 = 'keynote' | 'business';
|
|
6
|
-
type OutputFormat = 'html' | 'pptx';
|
|
6
|
+
type OutputFormat = 'html' | 'pptx' | 'pdf';
|
|
7
7
|
type ThemeName = 'default' | 'light-corporate' | 'modern-tech' | 'minimal' | 'warm' | 'creative';
|
|
8
8
|
type PresentationType$1 = 'ted_keynote' | 'sales_pitch' | 'consulting_deck' | 'investment_banking' | 'investor_pitch' | 'technical_presentation' | 'all_hands';
|
|
9
9
|
interface PresentationConfig {
|
|
@@ -45,6 +45,8 @@ interface PresentationConfig {
|
|
|
45
45
|
images?: string[];
|
|
46
46
|
/** Base path for resolving image paths */
|
|
47
47
|
imageBasePath?: string;
|
|
48
|
+
/** Generate PDF alongside HTML (default: true when format includes 'html') */
|
|
49
|
+
generatePdf?: boolean;
|
|
48
50
|
}
|
|
49
51
|
type SlideType = 'title' | 'agenda' | 'section-divider' | 'thank-you' | 'big-idea' | 'single-statement' | 'big-number' | 'full-image' | 'quote' | 'two-column' | 'three-column' | 'bullet-points' | 'screenshot' | 'screenshot-left' | 'screenshot-right' | 'comparison' | 'timeline' | 'process' | 'metrics-grid' | 'pricing' | 'team' | 'features' | 'chart' | 'table' | 'social-proof' | 'case-study' | 'cta';
|
|
50
52
|
interface Slide {
|
|
@@ -96,6 +98,26 @@ interface MetricData {
|
|
|
96
98
|
change?: string;
|
|
97
99
|
trend?: 'up' | 'down' | 'neutral';
|
|
98
100
|
}
|
|
101
|
+
/** Legacy slide format for backwards compatibility */
|
|
102
|
+
interface LegacySlide {
|
|
103
|
+
index: number;
|
|
104
|
+
type: string;
|
|
105
|
+
title: string;
|
|
106
|
+
content: {
|
|
107
|
+
subtitle?: string | undefined;
|
|
108
|
+
statement?: string | undefined;
|
|
109
|
+
body?: string | undefined;
|
|
110
|
+
bullets?: string[] | undefined;
|
|
111
|
+
metrics?: MetricData[] | undefined;
|
|
112
|
+
quote?: {
|
|
113
|
+
text: string;
|
|
114
|
+
attribution?: string | undefined;
|
|
115
|
+
} | undefined;
|
|
116
|
+
callToAction?: string | undefined;
|
|
117
|
+
};
|
|
118
|
+
notes?: string | undefined;
|
|
119
|
+
template: string;
|
|
120
|
+
}
|
|
99
121
|
interface QAResults {
|
|
100
122
|
/** Visual quality results */
|
|
101
123
|
visual: VisualQAResults;
|
|
@@ -157,7 +179,7 @@ interface GlanceTestResult {
|
|
|
157
179
|
wordCount: number;
|
|
158
180
|
readingTime: number;
|
|
159
181
|
passed: boolean;
|
|
160
|
-
recommendation?: string;
|
|
182
|
+
recommendation?: string | undefined;
|
|
161
183
|
}
|
|
162
184
|
interface SignalNoiseResult {
|
|
163
185
|
slideIndex: number;
|
|
@@ -172,7 +194,7 @@ interface OneIdeaResult {
|
|
|
172
194
|
ideaCount: number;
|
|
173
195
|
mainIdea: string;
|
|
174
196
|
passed: boolean;
|
|
175
|
-
conflictingIdeas?: string[];
|
|
197
|
+
conflictingIdeas?: string[] | undefined;
|
|
176
198
|
}
|
|
177
199
|
interface ExpertQAResults {
|
|
178
200
|
/** Nancy Duarte validation */
|
|
@@ -229,11 +251,47 @@ interface QAIssue {
|
|
|
229
251
|
/** Suggested fix */
|
|
230
252
|
suggestion?: string;
|
|
231
253
|
}
|
|
254
|
+
/** Result from 7-dimension QA scoring */
|
|
255
|
+
interface SevenDimensionQAResult {
|
|
256
|
+
passed: boolean;
|
|
257
|
+
score: number;
|
|
258
|
+
visual: {
|
|
259
|
+
whitespacePercentage: number;
|
|
260
|
+
layoutBalance: number;
|
|
261
|
+
colorContrast: number;
|
|
262
|
+
};
|
|
263
|
+
content: {
|
|
264
|
+
perSlide: SlideContentScore[];
|
|
265
|
+
issues: Array<{
|
|
266
|
+
dimension: string;
|
|
267
|
+
message: string;
|
|
268
|
+
slideIndex?: number;
|
|
269
|
+
}>;
|
|
270
|
+
};
|
|
271
|
+
accessibility: {
|
|
272
|
+
wcagLevel: string;
|
|
273
|
+
issues: Array<{
|
|
274
|
+
dimension: string;
|
|
275
|
+
message: string;
|
|
276
|
+
slideIndex?: number;
|
|
277
|
+
}>;
|
|
278
|
+
};
|
|
279
|
+
issues: Array<{
|
|
280
|
+
severity: string;
|
|
281
|
+
message: string;
|
|
282
|
+
slideIndex?: number;
|
|
283
|
+
dimension: string;
|
|
284
|
+
}>;
|
|
285
|
+
dimensions: Record<string, number>;
|
|
286
|
+
iterations: unknown[];
|
|
287
|
+
report: string;
|
|
288
|
+
}
|
|
232
289
|
interface PresentationResult {
|
|
233
290
|
/** Generated outputs */
|
|
234
291
|
outputs: {
|
|
235
292
|
html?: string;
|
|
236
293
|
pptx?: Buffer;
|
|
294
|
+
pdf?: Buffer;
|
|
237
295
|
};
|
|
238
296
|
/** QA validation results */
|
|
239
297
|
qaResults: QAResults;
|
|
@@ -457,6 +515,7 @@ declare class PresentationEngine {
|
|
|
457
515
|
private qaEngine;
|
|
458
516
|
private htmlGenerator;
|
|
459
517
|
private pptxGenerator;
|
|
518
|
+
private pdfGenerator;
|
|
460
519
|
private kb;
|
|
461
520
|
constructor();
|
|
462
521
|
/**
|
|
@@ -555,6 +614,7 @@ interface ColorPalette {
|
|
|
555
614
|
contrast_ratio: string;
|
|
556
615
|
}
|
|
557
616
|
type PresentationType = 'ted_keynote' | 'sales_pitch' | 'consulting_deck' | 'investment_banking' | 'investor_pitch' | 'technical_presentation' | 'all_hands';
|
|
617
|
+
type KnowledgeBaseData = Record<string, any>;
|
|
558
618
|
declare class KnowledgeGateway {
|
|
559
619
|
private kb;
|
|
560
620
|
private loaded;
|
|
@@ -629,11 +689,11 @@ declare class KnowledgeGateway {
|
|
|
629
689
|
/**
|
|
630
690
|
* Get story framework by name
|
|
631
691
|
*/
|
|
632
|
-
getStoryFramework(name: 'sparkline' | 'scqa' | 'pyramid' | 'scr'):
|
|
692
|
+
getStoryFramework(name: 'sparkline' | 'scqa' | 'pyramid' | 'scr'): unknown;
|
|
633
693
|
/**
|
|
634
694
|
* Get expert principles by name
|
|
635
695
|
*/
|
|
636
|
-
getExpertPrinciples(expertName: string):
|
|
696
|
+
getExpertPrinciples(expertName: string): unknown;
|
|
637
697
|
/**
|
|
638
698
|
* Get Duarte's glance test requirements
|
|
639
699
|
*/
|
|
@@ -657,7 +717,7 @@ declare class KnowledgeGateway {
|
|
|
657
717
|
/**
|
|
658
718
|
* Get chart selection guidance
|
|
659
719
|
*/
|
|
660
|
-
getChartGuidance(purpose: 'comparison' | 'composition' | 'distribution' | 'relationship'):
|
|
720
|
+
getChartGuidance(purpose: 'comparison' | 'composition' | 'distribution' | 'relationship'): unknown;
|
|
661
721
|
/**
|
|
662
722
|
* Get charts to avoid
|
|
663
723
|
*/
|
|
@@ -665,7 +725,7 @@ declare class KnowledgeGateway {
|
|
|
665
725
|
/**
|
|
666
726
|
* Get investment banking pitch book structure
|
|
667
727
|
*/
|
|
668
|
-
getIBPitchBookStructure(type: 'ma_sell_side' | 'ma_buy_side' | 'ipo_pitchbook'):
|
|
728
|
+
getIBPitchBookStructure(type: 'ma_sell_side' | 'ma_buy_side' | 'ipo_pitchbook'): unknown;
|
|
669
729
|
/**
|
|
670
730
|
* Check if knowledge base is loaded
|
|
671
731
|
*/
|
|
@@ -673,7 +733,7 @@ declare class KnowledgeGateway {
|
|
|
673
733
|
/**
|
|
674
734
|
* Get the full knowledge base (for advanced queries)
|
|
675
735
|
*/
|
|
676
|
-
getRawKB():
|
|
736
|
+
getRawKB(): KnowledgeBaseData;
|
|
677
737
|
/**
|
|
678
738
|
* Get allowed slide types for a specific presentation type.
|
|
679
739
|
* CRITICAL: SlideFactory must ONLY use types from this list.
|
|
@@ -995,6 +1055,11 @@ declare class ContentAnalyzer {
|
|
|
995
1055
|
* CRITICAL: Must strip headers, CTA text, and fragments
|
|
996
1056
|
*/
|
|
997
1057
|
private extractFirstSentence;
|
|
1058
|
+
/**
|
|
1059
|
+
* Extract metrics from natural language text
|
|
1060
|
+
* Handles formats like "40% productivity loss", "$2.5M investment"
|
|
1061
|
+
*/
|
|
1062
|
+
private extractMetricsFromText;
|
|
998
1063
|
}
|
|
999
1064
|
|
|
1000
1065
|
/**
|
|
@@ -1198,7 +1263,7 @@ declare class SlideGenerator {
|
|
|
1198
1263
|
* - Content pattern to slide type mapping
|
|
1199
1264
|
* - Slide validation against KB rules
|
|
1200
1265
|
*/
|
|
1201
|
-
generate(analysis: ContentAnalysis$1, type?: PresentationType): Promise<
|
|
1266
|
+
generate(analysis: ContentAnalysis$1, type?: PresentationType): Promise<LegacySlide[]>;
|
|
1202
1267
|
/**
|
|
1203
1268
|
* Convert new Slide format to legacy format for backwards compatibility
|
|
1204
1269
|
*/
|
|
@@ -1358,6 +1423,15 @@ declare class ScoreCalculator {
|
|
|
1358
1423
|
* CRITICAL: All thresholds come from the knowledge base
|
|
1359
1424
|
*/
|
|
1360
1425
|
|
|
1426
|
+
interface RevealApi {
|
|
1427
|
+
getTotalSlides?: () => number;
|
|
1428
|
+
slide?: (index: number) => void;
|
|
1429
|
+
}
|
|
1430
|
+
declare global {
|
|
1431
|
+
interface Window {
|
|
1432
|
+
Reveal?: RevealApi;
|
|
1433
|
+
}
|
|
1434
|
+
}
|
|
1361
1435
|
declare class QAEngine {
|
|
1362
1436
|
private browser;
|
|
1363
1437
|
private kb;
|
|
@@ -1698,6 +1772,18 @@ declare class RevealJsGenerator {
|
|
|
1698
1772
|
* Lighten a hex color
|
|
1699
1773
|
*/
|
|
1700
1774
|
private lightenColor;
|
|
1775
|
+
/**
|
|
1776
|
+
* Check if a palette is "dark mode" (dark background, light text)
|
|
1777
|
+
*/
|
|
1778
|
+
private isDarkPalette;
|
|
1779
|
+
/**
|
|
1780
|
+
* Get relative luminance of a hex color (0-1, 0=black, 1=white)
|
|
1781
|
+
*/
|
|
1782
|
+
private getLuminance;
|
|
1783
|
+
/**
|
|
1784
|
+
* Darken a hex color
|
|
1785
|
+
*/
|
|
1786
|
+
private darkenColor;
|
|
1701
1787
|
/**
|
|
1702
1788
|
* Get theme-specific styles - KB-DRIVEN
|
|
1703
1789
|
*/
|
|
@@ -2101,4 +2187,4 @@ declare const _default: {
|
|
|
2101
2187
|
VERSION: string;
|
|
2102
2188
|
};
|
|
2103
2189
|
|
|
2104
|
-
export { type AccessibilityResults, AutoFixEngine, type AutoFixResult, type ChartData, type ChartDataset, ChartJsProvider, type ChartProvider, type ChartRequest, type ChartResult, type ChartType, type ColorPalette, CompositeChartProvider, CompositeImageProvider, type ContentAnalysis$1 as ContentAnalysis, ContentAnalyzer, type ContentPattern, ContentPatternClassifier, type ContentQAResults, type ContentSection$1 as ContentSection, type ContrastIssue, type DimensionIssue, type DimensionScore, type ExpertQAResults, type ExpertValidation, type FixResult, type FontSizeIssue, type GlanceTestResult, type ImageData, type ImageProvider, type ImageRequest, type ImageResult, type IterationRecord, IterativeQAEngine, type IterativeQAOptions, type IterativeQAResult, KnowledgeGateway, LocalImageProvider, MermaidProvider, type MetricData, type OneIdeaResult, type OutputFormat, PlaceholderImageProvider, PowerPointGenerator, type PresentationConfig, PresentationEngine, type PresentationMetadata, type PresentationMode$1 as PresentationMode, type PresentationResult, type PresentationType, QAEngine, QAFailureError, type QAIssue, type QAResults, QuickChartProvider, RevealJsGenerator, type SCQAStructure, ScoreCalculator, type ScoringWeights, type SevenDimensionResult, SevenDimensionScorer, type SignalNoiseResult, type Slide, type SlideContentScore, type SlideData, SlideFactory, SlideGenerator, type SlideTemplate, type SlideType, type SlideValidationResult, type SlideVisualScore, type SparklineStructure, type StoryStructure, TemplateEngine, TemplateNotFoundError, type ThemeName, type TypographyRules, UnsplashImageProvider, VERSION, ValidationError, type ValidationRules, type VisualQAResults, createAutoFixEngine, createDefaultChartProvider, createDefaultImageProvider, createIterativeQAEngine, createSlideFactory, _default as default, generate, getKnowledgeGateway, initSlideGenerator, validate };
|
|
2190
|
+
export { type AccessibilityResults, AutoFixEngine, type AutoFixResult, type ChartData, type ChartDataset, ChartJsProvider, type ChartProvider, type ChartRequest, type ChartResult, type ChartType, type ColorPalette, CompositeChartProvider, CompositeImageProvider, type ContentAnalysis$1 as ContentAnalysis, ContentAnalyzer, type ContentPattern, ContentPatternClassifier, type ContentQAResults, type ContentSection$1 as ContentSection, type ContrastIssue, type DimensionIssue, type DimensionScore, type ExpertQAResults, type ExpertValidation, type FixResult, type FontSizeIssue, type GlanceTestResult, type ImageData, type ImageProvider, type ImageRequest, type ImageResult, type IterationRecord, IterativeQAEngine, type IterativeQAOptions, type IterativeQAResult, KnowledgeGateway, type LegacySlide, LocalImageProvider, MermaidProvider, type MetricData, type OneIdeaResult, type OutputFormat, PlaceholderImageProvider, PowerPointGenerator, type PresentationConfig, PresentationEngine, type PresentationMetadata, type PresentationMode$1 as PresentationMode, type PresentationResult, type PresentationType, QAEngine, QAFailureError, type QAIssue, type QAResults, QuickChartProvider, RevealJsGenerator, type SCQAStructure, ScoreCalculator, type ScoringWeights, type SevenDimensionQAResult, type SevenDimensionResult, SevenDimensionScorer, type SignalNoiseResult, type Slide, type SlideContentScore, type SlideData, SlideFactory, SlideGenerator, type SlideTemplate, type SlideType, type SlideValidationResult, type SlideVisualScore, type SparklineStructure, type StoryStructure, TemplateEngine, TemplateNotFoundError, type ThemeName, type TypographyRules, UnsplashImageProvider, VERSION, ValidationError, type ValidationRules, type VisualQAResults, createAutoFixEngine, createDefaultChartProvider, createDefaultImageProvider, createIterativeQAEngine, createSlideFactory, _default as default, generate, getKnowledgeGateway, initSlideGenerator, validate };
|