@thanh01.pmt/presentation-kit 0.2.16 → 0.2.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/ai/index.cjs +68 -244
  2. package/dist/ai/index.cjs.map +1 -1
  3. package/dist/ai/index.d.cts +3 -2
  4. package/dist/ai/index.d.ts +3 -2
  5. package/dist/ai/index.js +3 -230
  6. package/dist/ai/index.js.map +1 -1
  7. package/dist/{chunk-NYLDRVHZ.js → chunk-DDOUFYLK.js} +4 -78
  8. package/dist/chunk-DDOUFYLK.js.map +1 -0
  9. package/dist/{chunk-TGI6YSZP.cjs → chunk-DIHFQ5LF.cjs} +4 -80
  10. package/dist/chunk-DIHFQ5LF.cjs.map +1 -0
  11. package/dist/chunk-HSVXH7DD.cjs +1624 -0
  12. package/dist/chunk-HSVXH7DD.cjs.map +1 -0
  13. package/dist/{chunk-7QHDWDSB.js → chunk-JJQDQIRG.js} +153 -5
  14. package/dist/chunk-JJQDQIRG.js.map +1 -0
  15. package/dist/{chunk-JNTRKKJX.cjs → chunk-SFBEDDGU.cjs} +156 -4
  16. package/dist/chunk-SFBEDDGU.cjs.map +1 -0
  17. package/dist/chunk-VRXEXUHR.js +1610 -0
  18. package/dist/chunk-VRXEXUHR.js.map +1 -0
  19. package/dist/{click-css-CktIYP3H.d.ts → click-css-B2s9B_uP.d.ts} +2 -2
  20. package/dist/{click-css-Ch_jyWaw.d.cts → click-css-Bcc1CkTN.d.cts} +2 -2
  21. package/dist/index.cjs +113 -56
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.cts +22 -5
  24. package/dist/index.d.ts +22 -5
  25. package/dist/index.js +5 -4
  26. package/dist/index.js.map +1 -1
  27. package/dist/{presets-Bkh6NzWf.d.cts → presets-BYvgAAkJ.d.cts} +2 -2
  28. package/dist/{presets-BUzebXzj.d.ts → presets-D_hfPJX9.d.ts} +2 -2
  29. package/dist/react/index.cjs +16 -16
  30. package/dist/react/index.d.cts +3 -3
  31. package/dist/react/index.d.ts +3 -3
  32. package/dist/react/index.js +3 -3
  33. package/dist/skills/index.cjs +56 -0
  34. package/dist/skills/index.cjs.map +1 -0
  35. package/dist/skills/index.d.cts +158 -0
  36. package/dist/skills/index.d.ts +158 -0
  37. package/dist/skills/index.js +3 -0
  38. package/dist/skills/index.js.map +1 -0
  39. package/dist/{types-8AVYoEUn.d.cts → types-C3d04zzP.d.cts} +1 -1
  40. package/dist/{types-8AVYoEUn.d.ts → types-C3d04zzP.d.ts} +1 -1
  41. package/package.json +7 -1
  42. package/dist/chunk-7QHDWDSB.js.map +0 -1
  43. package/dist/chunk-JNTRKKJX.cjs.map +0 -1
  44. package/dist/chunk-NYLDRVHZ.js.map +0 -1
  45. package/dist/chunk-TGI6YSZP.cjs.map +0 -1
package/dist/ai/index.cjs CHANGED
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkJNTRKKJX_cjs = require('../chunk-JNTRKKJX.cjs');
3
+ var chunkSFBEDDGU_cjs = require('../chunk-SFBEDDGU.cjs');
4
+ var chunkHSVXH7DD_cjs = require('../chunk-HSVXH7DD.cjs');
4
5
  var zod = require('zod');
5
6
 
6
7
  var listSlidePresetsSchema = zod.z.object({
@@ -64,7 +65,7 @@ var generateDeckOutlineSchema = zod.z.object({
64
65
  // src/ai/tools.ts
65
66
  function executeListSlidePresets(params) {
66
67
  const category = params?.category;
67
- const presets = !category || category === "all" ? chunkJNTRKKJX_cjs.SLIDE_LAYOUT_PRESETS : chunkJNTRKKJX_cjs.getSlideLayoutPresetsByCategory(category);
68
+ const presets = !category || category === "all" ? chunkSFBEDDGU_cjs.SLIDE_LAYOUT_PRESETS : chunkSFBEDDGU_cjs.getSlideLayoutPresetsByCategory(category);
68
69
  return {
69
70
  count: presets.length,
70
71
  presets: presets.map((p) => ({
@@ -78,7 +79,7 @@ function executeListSlidePresets(params) {
78
79
  };
79
80
  }
80
81
  function executeCreateSlideFromPreset(params) {
81
- const preset = chunkJNTRKKJX_cjs.getSlideLayoutPresetById(params.presetId);
82
+ const preset = chunkSFBEDDGU_cjs.getSlideLayoutPresetById(params.presetId);
82
83
  if (!preset) {
83
84
  return {
84
85
  success: false,
@@ -86,7 +87,7 @@ function executeCreateSlideFromPreset(params) {
86
87
  error: `Preset with ID "${params.presetId}" not found. Use listSlidePresets to see available layout templates.`
87
88
  };
88
89
  }
89
- const layoutComment = chunkJNTRKKJX_cjs.serializeLayoutToComment(preset.layout);
90
+ const layoutComment = chunkSFBEDDGU_cjs.serializeLayoutToComment(preset.layout);
90
91
  const title = params.title;
91
92
  const subtitle = params.subtitle ? `
92
93
  ### ${params.subtitle}` : "";
@@ -227,7 +228,7 @@ Presenter Notes:
227
228
  function executeApplySlideLayout(params) {
228
229
  let layoutData = null;
229
230
  if (params.presetId) {
230
- const preset = chunkJNTRKKJX_cjs.getSlideLayoutPresetById(params.presetId);
231
+ const preset = chunkSFBEDDGU_cjs.getSlideLayoutPresetById(params.presetId);
231
232
  if (!preset) {
232
233
  return {
233
234
  success: false,
@@ -239,7 +240,7 @@ function executeApplySlideLayout(params) {
239
240
  } else if (params.boxes && params.boxes.length > 0) {
240
241
  layoutData = { boxes: params.boxes };
241
242
  }
242
- const updatedMarkdown = chunkJNTRKKJX_cjs.updateSlideLayoutInMarkdown(
243
+ const updatedMarkdown = chunkSFBEDDGU_cjs.updateSlideLayoutInMarkdown(
243
244
  params.markdown,
244
245
  params.slideIndex,
245
246
  layoutData
@@ -250,7 +251,7 @@ function executeApplySlideLayout(params) {
250
251
  };
251
252
  }
252
253
  function executeUpdatePresenterNotes(params) {
253
- const { frontmatter, slides } = chunkJNTRKKJX_cjs.splitMarkdownSlides(params.markdown);
254
+ const { frontmatter, slides } = chunkSFBEDDGU_cjs.splitMarkdownSlides(params.markdown);
254
255
  if (params.slideIndex < 0 || params.slideIndex >= slides.length) {
255
256
  return {
256
257
  success: false,
@@ -469,20 +470,20 @@ function validateHtmlSlideDeck(deck, strict = false) {
469
470
  slides.forEach((slide, idx) => {
470
471
  const slideNumber = idx + 1;
471
472
  const layoutId = slide.layoutId;
472
- const preset = chunkJNTRKKJX_cjs.HTML_SLIDE_PRESETS[layoutId];
473
+ const preset = chunkSFBEDDGU_cjs.HTML_SLIDE_PRESETS[layoutId];
473
474
  if (!preset) {
474
475
  issues.push({
475
476
  slideIndex: slideNumber,
476
477
  severity: "error",
477
478
  rule: "INVALID_LAYOUT_PRESET",
478
- message: `Unknown layoutId "${slide.layoutId}". Available presets: ${Object.keys(chunkJNTRKKJX_cjs.HTML_SLIDE_PRESETS).join(", ")}`
479
+ message: `Unknown layoutId "${slide.layoutId}". Available presets: ${Object.keys(chunkSFBEDDGU_cjs.HTML_SLIDE_PRESETS).join(", ")}`
479
480
  });
480
481
  return;
481
482
  }
482
483
  if (preset.category === "cover" && idx === 0) hasCover = true;
483
484
  if (preset.id === "checkpoint-quiz") hasQuiz = true;
484
485
  if (preset.id === "summary-takeaways") hasSummary = true;
485
- const slots = chunkJNTRKKJX_cjs.normalizeSlideSlots(slide);
486
+ const slots = chunkSFBEDDGU_cjs.normalizeSlideSlots(slide);
486
487
  for (const slotDef of preset.slots) {
487
488
  if (slotDef.required) {
488
489
  const val = slots[slotDef.name];
@@ -624,7 +625,7 @@ function validateMarkdownSlideDeck(markdown, strict = false) {
624
625
  suggestions: ['Provide Markdown slide content delimited by "---".']
625
626
  };
626
627
  }
627
- const { slides: rawSlides } = chunkJNTRKKJX_cjs.splitMarkdownSlides(markdown);
628
+ const { slides: rawSlides } = chunkSFBEDDGU_cjs.splitMarkdownSlides(markdown);
628
629
  const activeSlides = rawSlides.filter((s) => s.trim().length > 0);
629
630
  const slideCount = activeSlides.length;
630
631
  if (slideCount === 0) {
@@ -770,238 +771,10 @@ var createHtmlSlideSchema = zod.z.object({
770
771
  notes: zod.z.string().optional().describe("Speaker talk track or question prompts")
771
772
  });
772
773
 
773
- // src/ai/html/prompt.ts
774
- var SLIDE_HTML_PROMPT_CONTRACT = `
775
- # \u{1F3A8} HTML SLIDE ENGINE \u2014 AGENT GENERATION CONTRACT
776
-
777
- You are an expert Presentation Designer and Curriculum Architect producing professional, high-impact slide decks.
778
- Instead of generating free-form HTML or brittle Markdown hacks, you MUST fill structured content into pre-tested **Layout Presets**.
779
-
780
- ## Available Layout Presets & Required Slots:
781
-
782
- 1. **hero-cover** (Cover / Title Slide)
783
- - \`tag\` (string): e.g. "Unit 01 \xB7 Lesson 02"
784
- - \`title\` (string): Main bold headline
785
- - \`subtitle\` (string): Subtitle or 1-sentence learning objective
786
- - \`author\` (string): Instructor / Organization
787
- - \`date\` (string): Course term or date
788
-
789
- 2. **split-concept-code** (Theory + Code Snippet)
790
- - \`tag\` (string): Section topic tag
791
- - \`title\` (string): Topic heading
792
- - \`points\` (string[]): 3 to 4 concise bullet takeaways
793
- - \`code\` (string): Executable source code
794
- - \`language\` (string): Language name (e.g. "python", "typescript", "swift")
795
- - \`codeNote\` (string, optional): One-line hint or execution output
796
-
797
- 3. **two-columns-compare** (Comparison / Pros vs Cons)
798
- - \`tag\` (string): Topic tag
799
- - \`title\` (string): Headline
800
- - \`col1Title\` (string): e.g. "Synchronous I/O"
801
- - \`col1Items\` (string[]): 3 to 4 points
802
- - \`col2Title\` (string): e.g. "Asynchronous I/O"
803
- - \`col2Items\` (string[]): 3 to 4 points
804
-
805
- 4. **three-cards-grid** (3 Core Pillars / Architecture)
806
- - \`tag\` (string): e.g. "Core Principles"
807
- - \`title\` (string): Overview headline
808
- - \`cards\` (array of objects): Exactly 3 cards:
809
- - \`badge\`: e.g. "01", "LAYER 1"
810
- - \`title\`: Card headline
811
- - \`desc\`: 1-2 sentence description
812
- - \`footer\` (optional): Key takeaway
813
-
814
- 5. **timeline-steps** (Algorithm / Execution Pipeline)
815
- - \`tag\` (string): e.g. "Workflow"
816
- - \`title\` (string): Headline
817
- - \`steps\` (array of objects): 3 to 5 steps:
818
- - \`stepNum\` (number/string): 1, 2, 3...
819
- - \`title\`: Step name
820
- - \`desc\`: What happens at this step
821
-
822
- 6. **metric-callout** (Key Theorem / Benchmark Statistic)
823
- - \`tag\` (string): e.g. "Time Complexity"
824
- - \`metric\` (string): Big stat (e.g. "O(log N)", "99.99%", "10x")
825
- - \`metricLabel\` (string): e.g. "Lookup Efficiency"
826
- - \`title\` (string): Main takeaway
827
- - \`desc\` (string): Contextual explanation
828
-
829
- 7. **checkpoint-quiz** (Interactive Checkpoint)
830
- - \`tag\` (string): e.g. "Quick Knowledge Check"
831
- - \`question\` (string): Clear question prompt
832
- - \`options\` (array of objects): 2 to 4 options:
833
- - \`label\`: "A", "B", "C", "D"
834
- - \`text\`: Option text
835
- - \`explanation\` (string): Explanatory rationale
836
-
837
- 8. **summary-takeaways** (Wrap-Up / Next Steps)
838
- - \`tag\` (string): e.g. "Recap"
839
- - \`title\` (string): Wrap-up headline
840
- - \`takeaways\` (string[]): 3 to 4 memorable bullet points
841
- - \`nextStep\` (string): Teaser for the next lesson or project
842
-
843
- ## Aesthetic & Quality Invariants ("Anti-AI-Slop"):
844
- - **Brevity is King (Zero-Scroll Invariant):** Each slide is calibrated for a 1920\xD71080 canvas. Maximum **35\u201340 words** per card or column; maximum **15 words** per bullet item. Never write dense multi-sentence paragraphs that cause vertical scrolling.
845
- - **Pedagogical Pacing:** Start with \`hero-cover\`, alternate between \`split-concept-code\`, \`two-columns-compare\` and \`three-cards-grid\`, insert a \`checkpoint-quiz\` midway, and finish with \`summary-takeaways\`.
846
- - **Theme Selection:**
847
- - \`blue-professional\`: General academic, clean engineering, trustworthy.
848
- - \`cobalt-grid\`: Advanced tech, algorithms, robotics, cybersecurity.
849
- - \`editorial-forest\`: Thoughtful design, literature, ethics, science.
850
- - \`studio\`: Minimalist product design, modern software.
851
- - \`monochrome\`: Pure high-contrast dark mode.
852
-
853
- ## \u{1FA84} Step Reveal & Progressive Disclosure:
854
- - The presentation shell supports sequential step reveal via mouse click or Space/Arrow keys.
855
- - Bullet lists (\`points\`, \`col1Items\`, \`col2Items\`), cards in \`three-cards-grid\`, and steps in \`timeline-steps\` reveal progressively one by one before navigating to the next slide.
856
- - In custom HTML slots, you can attach \`class="step-reveal"\`, \`data-step\`, \`data-reveal\`, or \`data-auto-reveal="true"\` on parent containers to enable click-by-click stepped appearance.
857
-
858
- ## \u{1F399}\uFE0F Mandatory 3-Part Presenter Notes Contract:
859
- Every single slide MUST include the \`notes\` property structured with these 3 explicit components:
860
- 1. **Talk Track:** 2-3 sentences of exact conversational speaking script for the teacher/presenter.
861
- 2. **Cold-Call Check Question:** 1 diagnostic question to check understanding with a named student or attendee.
862
- 3. **Scaffolding Tip:** 1 intuitive analogy or troubleshooting hint in case learners struggle with the concept.
863
-
864
- Example Notes:
865
- \`\`\`markdown
866
- Talk Track: Here we contrast synchronous blocking I/O with asynchronous event-driven handling. Notice how threads remain idle while waiting for network responses.
867
- Cold-Call: "Jordan, looking at the left column, what happens to thread pool throughput when network latency quadruples?"
868
- Scaffolding Tip: Compare it to ordering coffee at a counter (async buzzer) versus waiting at the register until the cup is brewed (sync blocking).
869
- \`\`\`
870
-
871
- ## \u{1F9F1} MANDATORY JSON DECK OUTPUT STRUCTURE & SCHEMA:
872
- You MUST output a single valid JSON object.
873
- CRITICAL: All layout data MUST be placed inside the \`slots\` object of each slide. Never put raw unstructured strings like \`content: "..."\`!
874
-
875
- \`\`\`json
876
- {
877
- "title": "Full Lesson Presentation Title",
878
- "theme": "blue-professional",
879
- "slides": [
880
- {
881
- "id": 1,
882
- "layoutId": "hero-cover",
883
- "slots": {
884
- "tag": "Unit 01 \xB7 Lesson 01",
885
- "title": "macOS & Xcode Environment Setup",
886
- "subtitle": "Master the Apple developer toolchain and build your first SwiftUI application lifecycle",
887
- "author": "Curriculum OS",
888
- "date": "2026"
889
- },
890
- "notes": "Talk Track: Welcome everyone. Today we establish our core iOS development environment...\\nCold-Call: 'Alex, why do we need Xcode Command Line Tools?'\\nScaffolding Tip: Think of Xcode as the full workshop and the SDK as the raw materials."
891
- },
892
- {
893
- "id": 2,
894
- "layoutId": "split-concept-code",
895
- "slots": {
896
- "tag": "Architecture & Syntax",
897
- "title": "SwiftUI App Entry Point",
898
- "points": [
899
- "@main attribute designates the entry point of the app",
900
- "App protocol defines the structure and scene hierarchy",
901
- "WindowGroup manages the root view lifecycle across platforms"
902
- ],
903
- "code": "import SwiftUI\\n\\n@main\\nstruct MyApp: App {\\n var body: some Scene {\\n WindowGroup {\\n ContentView()\\n }\\n }\\n}",
904
- "language": "swift",
905
- "codeNote": "Notice how Scene encapsulates WindowGroup automatically"
906
- },
907
- "notes": "Talk Track: ...\\nCold-Call: ...\\nScaffolding Tip: ..."
908
- },
909
- {
910
- "id": 3,
911
- "layoutId": "three-cards-grid",
912
- "slots": {
913
- "tag": "Core Pillars",
914
- "title": "Three Pillars of App State",
915
- "cards": [
916
- { "badge": "01", "title": "Active State", "desc": "App is in foreground and responding to user events directly." },
917
- { "badge": "02", "title": "Inactive State", "desc": "App is transitioning, interrupted by system dialogs or Control Center." },
918
- { "badge": "03", "title": "Background State", "desc": "Executing background tasks or preparing for memory suspension." }
919
- ]
920
- },
921
- "notes": "Talk Track: ...\\nCold-Call: ...\\nScaffolding Tip: ..."
922
- },
923
- {
924
- "id": 4,
925
- "layoutId": "timeline-steps",
926
- "slots": {
927
- "tag": "Step-by-Step",
928
- "title": "Xcode Setup Workflow",
929
- "steps": [
930
- { "stepNum": 1, "title": "Download Xcode", "desc": "Install latest Xcode from the Mac App Store" },
931
- { "stepNum": 2, "title": "Command Line Tools", "desc": "Run xcode-select --install in Terminal" },
932
- { "stepNum": 3, "title": "Select Simulators", "desc": "Download iOS 18+ runtime simulators" },
933
- { "stepNum": 4, "title": "Verify Build", "desc": "Create a new SwiftUI project and press Cmd+R" }
934
- ]
935
- },
936
- "notes": "Talk Track: ...\\nCold-Call: ...\\nScaffolding Tip: ..."
937
- },
938
- {
939
- "id": 5,
940
- "layoutId": "two-columns-compare",
941
- "slots": {
942
- "tag": "Comparison",
943
- "title": "SwiftUI vs UIKit Architecture",
944
- "col1Title": "SwiftUI (Declarative)",
945
- "col1Items": [
946
- "State drives the UI automatically",
947
- "Lightweight immutable structs",
948
- "Cross-platform unified API"
949
- ],
950
- "col2Title": "UIKit (Imperative)",
951
- "col2Items": [
952
- "Manual view controller manipulation",
953
- "Heavyweight class hierarchies",
954
- "Explicit event-driven updates"
955
- ]
956
- },
957
- "notes": "Talk Track: ...\\nCold-Call: ...\\nScaffolding Tip: ..."
958
- },
959
- {
960
- "id": 6,
961
- "layoutId": "checkpoint-quiz",
962
- "slots": {
963
- "tag": "Knowledge Check",
964
- "question": "Which SwiftUI modifier is used to observe external observable state objects?",
965
- "options": [
966
- { "label": "A", "text": "@State" },
967
- { "label": "B", "text": "@StateObject / @ObservedObject" },
968
- { "label": "C", "text": "@Binding" },
969
- { "label": "D", "text": "@Environment" }
970
- ],
971
- "explanation": "@StateObject manages the lifecycle of reference-type ObservableObjects, while @State is for value types."
972
- },
973
- "notes": "Talk Track: ...\\nCold-Call: ...\\nScaffolding Tip: ..."
974
- },
975
- {
976
- "id": 7,
977
- "layoutId": "summary-takeaways",
978
- "slots": {
979
- "tag": "Recap & Next",
980
- "title": "Lesson Summary & Key Takeaways",
981
- "takeaways": [
982
- "Configured complete developer toolchain with Xcode 16+",
983
- "Understood SwiftUI declarative lifecycle and @main entry point",
984
- "Mastered App State transitions between active, inactive, and background"
985
- ],
986
- "nextStep": "Lesson 02: State Management & Reactive Data Flow with @State and @Binding"
987
- },
988
- "notes": "Talk Track: ...\\nCold-Call: ...\\nScaffolding Tip: ..."
989
- }
990
- ]
991
- }
992
- \`\`\`
993
-
994
- ## \u{1F6AB} STRICT ANTI-SLOP CONSTRAINTS:
995
- 1. NEVER output a raw unstructured string like \`content: "..."\` or \`content: "Concept: ... Code snippet: ..."\`. All slide content MUST be placed inside the \`slots\` object with its specific keys (\`points\`, \`code\`, \`cards\`, \`steps\`, \`options\`, \`takeaways\`).
996
- 2. NEVER use ellipsis \`...\` or placeholder comments in \`code\`. Every code snippet MUST be real, fully typed, syntax-valid, and pedagogical.
997
- 3. NEVER leave \`slots\` empty \`{}\`.
998
- 4. Output 6 to 8 substantive, rich slides covering the lesson plan thoroughly.
999
- `;
1000
-
1001
774
  // src/ai/html/tools.ts
1002
775
  function handleListHtmlSlidePresets(input) {
1003
776
  const category = input.category || "all";
1004
- const presets = Object.values(chunkJNTRKKJX_cjs.HTML_SLIDE_PRESETS).filter((p) => category === "all" || p.category === category).map((p) => ({
777
+ const presets = Object.values(chunkSFBEDDGU_cjs.HTML_SLIDE_PRESETS).filter((p) => category === "all" || p.category === category).map((p) => ({
1005
778
  id: p.id,
1006
779
  name: p.name,
1007
780
  category: p.category,
@@ -1017,12 +790,12 @@ function handleListHtmlSlidePresets(input) {
1017
790
  return {
1018
791
  success: true,
1019
792
  presets,
1020
- availableThemes: Object.keys(chunkJNTRKKJX_cjs.HTML_THEMES)
793
+ availableThemes: Object.keys(chunkSFBEDDGU_cjs.HTML_THEMES)
1021
794
  };
1022
795
  }
1023
796
  function handleGenerateHtmlDeck(input) {
1024
797
  try {
1025
- const result = chunkJNTRKKJX_cjs.compileHtmlDeck(input);
798
+ const result = chunkSFBEDDGU_cjs.compileHtmlDeck(input);
1026
799
  return {
1027
800
  success: true,
1028
801
  title: result.title,
@@ -1038,7 +811,7 @@ function handleGenerateHtmlDeck(input) {
1038
811
  }
1039
812
  }
1040
813
  function handleCreateHtmlSlide(input) {
1041
- const preset = chunkJNTRKKJX_cjs.HTML_SLIDE_PRESETS[input.layoutId];
814
+ const preset = chunkSFBEDDGU_cjs.HTML_SLIDE_PRESETS[input.layoutId];
1042
815
  if (!preset) {
1043
816
  return {
1044
817
  success: false,
@@ -1058,8 +831,59 @@ var executeListHtmlSlidePresets = handleListHtmlSlidePresets;
1058
831
  var executeGenerateHtmlDeck = handleGenerateHtmlDeck;
1059
832
  var executeCreateHtmlSlide = handleCreateHtmlSlide;
1060
833
 
834
+ Object.defineProperty(exports, "FRONTEND_SLIDES_CORE_RULES", {
835
+ enumerable: true,
836
+ get: function () { return chunkHSVXH7DD_cjs.FRONTEND_SLIDES_CORE_RULES; }
837
+ });
838
+ Object.defineProperty(exports, "SLIDE_HTML_PROMPT_CONTRACT", {
839
+ enumerable: true,
840
+ get: function () { return chunkHSVXH7DD_cjs.SLIDE_HTML_PROMPT_CONTRACT; }
841
+ });
842
+ Object.defineProperty(exports, "STYLE_PRESETS", {
843
+ enumerable: true,
844
+ get: function () { return chunkHSVXH7DD_cjs.STYLE_PRESETS; }
845
+ });
846
+ Object.defineProperty(exports, "TEMPLATES_CATALOG", {
847
+ enumerable: true,
848
+ get: function () { return chunkHSVXH7DD_cjs.TEMPLATES_CATALOG; }
849
+ });
850
+ Object.defineProperty(exports, "VIEWPORT_BASE_CSS", {
851
+ enumerable: true,
852
+ get: function () { return chunkHSVXH7DD_cjs.VIEWPORT_BASE_CSS; }
853
+ });
854
+ Object.defineProperty(exports, "frontendSlidesTools", {
855
+ enumerable: true,
856
+ get: function () { return chunkHSVXH7DD_cjs.frontendSlidesTools; }
857
+ });
858
+ Object.defineProperty(exports, "getFrontendSlidesSkillPrompt", {
859
+ enumerable: true,
860
+ get: function () { return chunkHSVXH7DD_cjs.getFrontendSlidesSkillPrompt; }
861
+ });
862
+ Object.defineProperty(exports, "getSlideStylePresetSchema", {
863
+ enumerable: true,
864
+ get: function () { return chunkHSVXH7DD_cjs.getSlideStylePresetSchema; }
865
+ });
866
+ Object.defineProperty(exports, "getStylePreset", {
867
+ enumerable: true,
868
+ get: function () { return chunkHSVXH7DD_cjs.getStylePreset; }
869
+ });
870
+ Object.defineProperty(exports, "getStylePresetById", {
871
+ enumerable: true,
872
+ get: function () { return chunkHSVXH7DD_cjs.getStylePresetById; }
873
+ });
874
+ Object.defineProperty(exports, "getTemplatesCatalog", {
875
+ enumerable: true,
876
+ get: function () { return chunkHSVXH7DD_cjs.getTemplatesCatalog; }
877
+ });
878
+ Object.defineProperty(exports, "querySlideTemplatesSchema", {
879
+ enumerable: true,
880
+ get: function () { return chunkHSVXH7DD_cjs.querySlideTemplatesSchema; }
881
+ });
882
+ Object.defineProperty(exports, "searchTemplates", {
883
+ enumerable: true,
884
+ get: function () { return chunkHSVXH7DD_cjs.searchTemplates; }
885
+ });
1061
886
  exports.SLIDE_DESIGN_PROMPT_CONTRACT = SLIDE_DESIGN_PROMPT_CONTRACT;
1062
- exports.SLIDE_HTML_PROMPT_CONTRACT = SLIDE_HTML_PROMPT_CONTRACT;
1063
887
  exports.applySlideLayoutSchema = applySlideLayoutSchema;
1064
888
  exports.createHtmlSlideSchema = createHtmlSlideSchema;
1065
889
  exports.createSlideFromPresetSchema = createSlideFromPresetSchema;