sapiens-mcp 1.24.4 → 1.24.6
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/index.js +3 -3
- package/dist/tools/pipeline.js +33 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -34,7 +34,7 @@ import { trilhas, trilhasSchema } from "./tools/trilhas.js";
|
|
|
34
34
|
import { describeConvexError } from "./convexClient.js";
|
|
35
35
|
const TOOLS = {
|
|
36
36
|
sapiens_pipeline: {
|
|
37
|
-
description: "CRUD do content pipeline Sapiens (sources/productions/publishables). Sub-actions: list_sources, list_articles (use includeDrafts pra incluir drafts; onlyAvailable pra esconder os já virados em source), get_source, get_production, list_versions, add_article_as_source, create_draft_article_and_source (seed), create_production (sourceId+format → productionId draft), update_production (substitui payload, opcionalmente muda status), finalize_production (cria publishable v1, v2... com snapshot), remove_production, remove_source, set_source_done, update_source_notes, restore_version (volta payload duma versão antiga), propose_mega_grafico_plan (granular: só gera plano via Gemini, devolve fullPrompt+spec), run_mega_grafico_full (ONE-SHOT, recomendado: cria production+propõe plano+gera imagem+aplica selo Sapiens+finaliza publishable numa chamada só). Pra mega_grafico, SEMPRE prefira run_mega_grafico_full em vez de sequenciar manualmente — menos drift, idempotente (passa productionId pra reusar). OBRIGATÓRIO perguntar ao user antes se withHelen=true (cartoon Helen interage com tema, ~15-25% do poster) ou false (poster 100% diagramático). Custo ~900-1000 sinapses por geração. Use skipFinalize=true se quiser deixar production em 'ready' pro admin revisar antes de publishable. Payload livre por formato — chame sapiens_meta action=formats pra ver schemas sugeridos.",
|
|
37
|
+
description: "CRUD do content pipeline Sapiens (sources/productions/publishables). Sub-actions: list_sources, list_articles (use includeDrafts pra incluir drafts; onlyAvailable pra esconder os já virados em source), get_source, get_production, list_versions, add_article_as_source, create_draft_article_and_source (seed), create_production (sourceId+format → productionId draft), update_production (substitui payload, opcionalmente muda status), finalize_production (cria publishable v1, v2... com snapshot), remove_production, remove_source, set_source_done, update_source_notes, restore_version (volta payload duma versão antiga), propose_mega_grafico_plan (granular: só gera plano via Gemini, devolve fullPrompt+spec), run_mega_grafico_full (ONE-SHOT, recomendado: cria production+propõe plano+gera imagem+aplica selo Sapiens+finaliza publishable numa chamada só), generate_carousel (gera um carrossel editorial standalone a partir de brief OU articleId — 7-9 slides na voz Sapiens + imagens do banco; devolve id + url do editor pro humano abrir, ajustar e exportar; admin-only, cobra Sinapses, reembolsa se falhar). Pra mega_grafico, SEMPRE prefira run_mega_grafico_full em vez de sequenciar manualmente — menos drift, idempotente (passa productionId pra reusar). OBRIGATÓRIO perguntar ao user antes se withHelen=true (cartoon Helen interage com tema, ~15-25% do poster) ou false (poster 100% diagramático). Custo ~900-1000 sinapses por geração. Use skipFinalize=true se quiser deixar production em 'ready' pro admin revisar antes de publishable. Payload livre por formato — chame sapiens_meta action=formats pra ver schemas sugeridos.",
|
|
38
38
|
schema: pipelineSchema,
|
|
39
39
|
handler: pipeline,
|
|
40
40
|
},
|
|
@@ -219,7 +219,7 @@ Mídia no Fórum (PADRÃO, faça sempre assim): a peça vai EMBEDADA num card es
|
|
|
219
219
|
Trilhas e Ritos de Fogo (sapiens_trilhas): 'list'/'get' pra navegar as trilhas; 'list_challenges' mostra os Ritos ativos + seu status; 'claim_mission' (missionId + proofText) envia a prova pra revisão do dono — o crédito em Sinapses sai na aprovação dele, não na hora. Não prometa Sinapse na hora do claim.
|
|
220
220
|
|
|
221
221
|
Voz da casa: 1ª pessoa, direto, anti-corporate, sem travessão. Pra bom entendedor, meia palavra basta.`;
|
|
222
|
-
const server = new Server({ name: "mcp-sapiens", version: "1.24.
|
|
222
|
+
const server = new Server({ name: "mcp-sapiens", version: "1.24.6" }, { capabilities: { tools: {} }, instructions: SAPIENS_INSTRUCTIONS });
|
|
223
223
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
224
224
|
tools: Object.entries(TOOLS).map(([name, t]) => ({
|
|
225
225
|
name,
|
|
@@ -252,4 +252,4 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
252
252
|
});
|
|
253
253
|
const transport = new StdioServerTransport();
|
|
254
254
|
await server.connect(transport);
|
|
255
|
-
console.error("mcp-sapiens v1.24.
|
|
255
|
+
console.error("mcp-sapiens v1.24.6 rodando via stdio (27 tools)");
|
package/dist/tools/pipeline.js
CHANGED
|
@@ -41,6 +41,7 @@ export const pipelineSchema = z.object({
|
|
|
41
41
|
"backfill_via",
|
|
42
42
|
"propose_mega_grafico_plan",
|
|
43
43
|
"run_mega_grafico_full",
|
|
44
|
+
"generate_carousel",
|
|
44
45
|
]),
|
|
45
46
|
// propose_mega_grafico_plan / run_mega_grafico_full
|
|
46
47
|
withHelen: z
|
|
@@ -68,6 +69,19 @@ export const pipelineSchema = z.object({
|
|
|
68
69
|
})
|
|
69
70
|
.optional()
|
|
70
71
|
.describe("Override de model/aspectRatio/size sobre os defaults do template. Cada um valida contra o allowedX do template; se sair do whitelist, action throws."),
|
|
72
|
+
// generate_carousel
|
|
73
|
+
brief: z
|
|
74
|
+
.string()
|
|
75
|
+
.optional()
|
|
76
|
+
.describe("Tema/ângulo do carrossel (fonte 'brief'). Quanto mais específico, melhor. Alternativa: articleId pra partir de um artigo publicado."),
|
|
77
|
+
autoPickImages: z
|
|
78
|
+
.boolean()
|
|
79
|
+
.optional()
|
|
80
|
+
.describe("generate_carousel: a IA escolhe imagens do banco pros slides de foto (default true)."),
|
|
81
|
+
useSintetico: z
|
|
82
|
+
.boolean()
|
|
83
|
+
.optional()
|
|
84
|
+
.describe("generate_carousel: se TRUE, a voz do Sintético do dono dirige o copy (amplificar). Default false = estilo do dono."),
|
|
71
85
|
// list_articles
|
|
72
86
|
includeDrafts: z.boolean().optional(),
|
|
73
87
|
includeArchived: z.boolean().optional(),
|
|
@@ -296,5 +310,24 @@ export async function pipeline(args) {
|
|
|
296
310
|
});
|
|
297
311
|
return result;
|
|
298
312
|
}
|
|
313
|
+
case "generate_carousel": {
|
|
314
|
+
// Gera um carrossel editorial standalone (7-9 slides na voz Sapiens) a
|
|
315
|
+
// partir de um brief OU de um artigo publicado, escolhe imagens do banco, e
|
|
316
|
+
// devolve { id, url, title, slidesCount } — o humano abre a URL do editor
|
|
317
|
+
// pra ajustar e exportar. ADMIN-ONLY. Cobra Sinapses (reembolsa se falhar).
|
|
318
|
+
const brief = args.brief?.trim();
|
|
319
|
+
const articleId = args.articleId;
|
|
320
|
+
if (!brief && !articleId) {
|
|
321
|
+
throw new Error('generate_carousel: passe brief (tema/ângulo) OU articleId (artigo publicado como fonte).');
|
|
322
|
+
}
|
|
323
|
+
return await convexAction("carouselAutofill:mcpCreateCarousel", {
|
|
324
|
+
sessionToken,
|
|
325
|
+
sourceKind: articleId ? "published_article" : "brief",
|
|
326
|
+
...(brief ? { brief } : {}),
|
|
327
|
+
...(articleId ? { publishedArticleId: articleId } : {}),
|
|
328
|
+
autoPickImages: args.autoPickImages,
|
|
329
|
+
useSintetico: args.useSintetico,
|
|
330
|
+
});
|
|
331
|
+
}
|
|
299
332
|
}
|
|
300
333
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sapiens-mcp",
|
|
3
|
-
"version": "1.24.
|
|
3
|
+
"version": "1.24.6",
|
|
4
4
|
"description": "MCP server pra operar o Sapiens Sintéticos (sapiensinteticos.com) pelo Claude Code: gerar imagem, escrever artigo, voz, música e mais, na sua conta. Login pelo código de sapiensinteticos.com/conectar-claude.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|