sagadeck 1.6.0 → 1.7.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.
@@ -4,7 +4,7 @@
4
4
  export const EXPERIENCES = [
5
5
  { id: "executivo", name: "Sala de decisão", subtitle: "Clareza que convence.", description: "Uma recomendação, evidências e a decisão. Elegância sóbria para reuniões importantes.", theme: "noite", accent: "#E4B660", background: "#0F1115", color: "#EDEBE6", font: "Segoe UI", category: "executive", tags: ["Estratégia", "Dados", "Sóbrio"], slideCount: 8 },
6
6
  { id: "editorial", name: "Matéria de capa", subtitle: "Uma história bem contada.", description: "Tipografia editorial, enquadramentos amplos e pistas que se revelam até a virada.", theme: "editorial", accent: "#E0432B", background: "#FAF9F6", color: "#141414", font: "Georgia", category: "creative", tags: ["Storytelling", "Editorial", "Autoral"], slideCount: 8 },
7
- { id: "palco", name: "Modo espetáculo", subtitle: "A próxima ideia já vem.", description: "Contraste, pausas dramáticas e participação da plateia. Feito para ocupar o palco.", theme: "aurora", accent: "#00F2FE", background: "#0A0D17", color: "#F8FAFC", font: "Segoe UI", category: "stage", tags: ["Keynote", "Impacto", "Interativo"], slideCount: 8 },
7
+ { id: "palco", name: "Modo espetáculo", subtitle: "A próxima ideia já vem.", description: "Contraste, pausas dramáticas e participação da plateia. Feito para ocupar o palco.", theme: "aurora", accent: "#00F2FE", background: "#0A0D17", color: "#F8FAFC", font: "Segoe UI", category: "stage", tags: ["Palco", "Impacto", "Interativo"], slideCount: 8 },
8
8
  { id: "pop", name: "Clube criativo", subtitle: "Ideias que saem da linha.", description: "Formas geométricas, cores primárias e um workshop com espaço para experimentar.", theme: "bauhaus", accent: "#D93A2B", background: "#F3EEE3", color: "#1A1A1A", font: "Century Gothic", category: "creative", tags: ["Workshop", "Geométrico", "Divertido"], slideCount: 8 },
9
9
  { id: "aula", name: "Laboratório vivo", subtitle: "Entender. Prever. Experimentar.", description: "Código por etapas, terminal, screenshot com foco e desafios para ensinar programação.", theme: "terminal", accent: "#FFB224", background: "#0D0E0D", color: "#DAD6CC", font: "Cascadia Mono", category: "code", tags: ["Programação", "Código", "Aulas"], slideCount: 9 },
10
10
  { id: "minimal", name: "Uma ideia por vez", subtitle: "Só o que importa.", description: "Uma ideia por vez. Muito espaço, tipografia precisa e detalhes que deixam o conteúdo respirar.", theme: "prata", accent: "#0071E3", background: "#F5F5F7", color: "#1D1D1F", font: "Segoe UI", category: "executive", tags: ["Clean", "Produto", "Respiro"], slideCount: 8 },
package/src/library.js CHANGED
@@ -429,10 +429,10 @@ export function openLibrary(root, { trashDays } = {}) {
429
429
  return idOf(file);
430
430
  }
431
431
 
432
- // .pptx (PowerPoint, Google Slides, Keynote exportado) vira uma apresentação da biblioteca, fiel ao original
432
+ // .pptx (PowerPoint, Google Slides e outros programas que exportam .pptx) vira uma apresentação da biblioteca, fiel ao original
433
433
  // (src/import): cada slide na mesma posição, mídias em imagens/original/, cópia e fotos do original em original/
434
434
  async function importOffice(buffer, topic, name = "Importada.pptx", opts = {}) {
435
- if (!/\.pptx$/i.test(name)) throw new Error("Por enquanto a importação lê .pptx (o PowerPoint salva em .pptx; o Google Slides e o Keynote exportam).");
435
+ if (!/\.pptx$/i.test(name)) throw new Error("Por enquanto a importação lê .pptx (o PowerPoint salva em .pptx; o Google Slides e outros programas exportam).");
436
436
  const { importToDir } = await import("./import/index.js");
437
437
  const base = topicDir(topic || ensureTopic("Importados"));
438
438
  const dir = uniquePath(base, safeName(opts.title || name.replace(/\.pptx$/i, "")));
package/src/mcp/server.js CHANGED
@@ -91,8 +91,8 @@ const TOOLS = [
91
91
  },
92
92
  type: {
93
93
  type: "string",
94
- enum: ["keynote", "pitch", "palestra"],
95
- description: "Tipo narrativo do esqueleto (padrão: keynote)",
94
+ enum: ["lancamento", "pitch", "palestra"],
95
+ description: "Tipo narrativo do esqueleto (padrão: lancamento)",
96
96
  },
97
97
  author: { type: "string", description: "Nome do autor ou palestrante" },
98
98
  },
@@ -110,7 +110,7 @@ const TOOLS = [
110
110
  theme: {
111
111
  type: "string",
112
112
  enum: ["sinal", "prata", "rabisco", "oceano", "pop", "aurora", "editorial", "noite", "bauhaus", "terminal", "jornal"],
113
- description: "Tema visual do Sagadeck (ex.: prata para Apple Keynote, rabisco para artesanal, oceano para azul elétrico)",
113
+ description: "Tema visual do Sagadeck (ex.: prata para limpo e espaçoso, rabisco para artesanal, oceano para azul elétrico)",
114
114
  },
115
115
  author: { type: "string", description: "Nome do autor ou palestrante" },
116
116
  },
@@ -307,7 +307,7 @@ async function handleToolCall(name, args) {
307
307
  const spec = generateScaffold({
308
308
  title: args.title || "Nova Apresentação",
309
309
  theme: args.theme || "prata",
310
- type: args.type || "keynote",
310
+ type: args.type || "lancamento",
311
311
  author: args.author || "Seu Nome",
312
312
  });
313
313
  fs.mkdirSync(path.dirname(targetPath), { recursive: true });
@@ -69,7 +69,7 @@ body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-k
69
69
  .deco-silver::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% -15%,rgba(255,255,255,.9) 0%,transparent 60%),radial-gradient(circle at 80% 115%,rgba(210,210,215,.4) 0%,transparent 55%)}
70
70
  .tone-dark.deco-silver::before,.tone-alert.deco-silver::before{background:radial-gradient(circle at 50% -20%,rgba(255,255,255,.09) 0%,transparent 70%),radial-gradient(circle at 50% 120%,rgba(255,255,255,.04) 0%,transparent 60%)}
71
71
 
72
- /* estilo prata / keynote clean espacial */
72
+ /* estilo prata: limpo e espacial */
73
73
  .deco-silver .card,.deco-silver .stat-card,.deco-silver .step-card{
74
74
  box-shadow:0 4px 24px -2px rgba(0,0,0,.05),0 2px 6px -1px rgba(0,0,0,.02)!important;
75
75
  border:1px solid rgba(0,0,0,.07)!important;