sapiens-mcp 1.87.0 → 1.88.0
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/registry.js +1 -1
- package/dist/skills.js +4 -1
- package/dist/tools/publicar.js +10 -5
- package/package.json +1 -1
package/dist/registry.js
CHANGED
|
@@ -230,7 +230,7 @@ export const TOOLS = {
|
|
|
230
230
|
handler: distribution,
|
|
231
231
|
},
|
|
232
232
|
sapiens_publicar: {
|
|
233
|
-
description: "Publicar uma peça SUA nas SUAS redes (TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky), pelo Distribution da pessoa (assinatura ou convite). Identidade SEMPRE pelo sessionToken. Sub-actions: 'painel' (as redes com conectada ou não, o @, o limite de texto e a régua de cada praça; com handle, a peça: onde ela já está por rede, com estado e link, e a sugestão de onde mandar, as que ficam de fora com o motivo e as que valeria conectar), 'rascunho' (handle + rede + legenda: guarda a legenda de UMA rede pra peça, vazia apaga; acima do limite da rede volta erro com o número), 'publicar' (handle + redes, agora ou agendarPara ISO com fuso; a legenda vai em BLOCOS: text é o corpo, cta a chamada, hashtags sem #, e cada rede leva o que cabe no limite dela, saindo primeiro as hashtags, depois a chamada, e o corpo corta em fim de frase; legendas {rede: texto} passa por cima dos blocos naquela rede; o retorno diz em `adaptadas` quais redes receberam menos do que foi escrito), 'lista' (o que já saiu: os envios recentes com o estado de cada rede), 'conferir' (postId: pergunta o que cada rede fez e grava o link), 'cancelar' (postId: cancela agendado que ainda não saiu). Fluxo: painel com handle, escolhe pela sugestão, publicar, conferir. Só peça da própria pessoa, e só rede conectada (conectar é na tela /dashboard/distribution). Sem custo em Sinapses: o teto é o de publicações por ciclo do plano. Publicar POSTA DE VERDADE na conta da pessoa: confirme redes e legenda com ela antes. A fila da casa é outra tool (sapiens_distribution, admin). Passo a passo: skill publicar.",
|
|
233
|
+
description: "Publicar uma peça SUA nas SUAS redes (TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky), pelo Distribution da pessoa (assinatura ou convite). Identidade SEMPRE pelo sessionToken. É o mesmo Distribution da tela /dashboard/distribution (a fila de peças à esquerda, a ficha de cada peça numa rede à direita). Sub-actions: 'fila' (a fila da pessoa: cada peça com título, tipo e o estado em cada rede, rascunho, agendado, enviado, publicado, falhou ou descartado, com a legenda e o link de cada uma; a peça que ela preparou na tela aparece aqui), 'painel' (as redes com conectada ou não, o @, o limite de texto e a régua de cada praça; com handle, a peça: onde ela já está por rede, com estado e link, e a sugestão de onde mandar, as que ficam de fora com o motivo e as que valeria conectar), 'rascunho' (handle + rede + legenda: guarda a legenda de UMA rede pra peça, vazia apaga; acima do limite da rede volta erro com o número), 'publicar' (handle + redes, agora ou agendarPara ISO com fuso; a legenda vai em BLOCOS: text é o corpo, cta a chamada, hashtags sem #, e cada rede leva o que cabe no limite dela, saindo primeiro as hashtags, depois a chamada, e o corpo corta em fim de frase; legendas {rede: texto} passa por cima dos blocos naquela rede; o retorno diz em `adaptadas` quais redes receberam menos do que foi escrito), 'lista' (o que já saiu: os envios recentes com o estado de cada rede), 'conferir' (postId: pergunta o que cada rede fez e grava o link), 'cancelar' (postId: cancela agendado que ainda não saiu). Fluxo: painel com handle, escolhe pela sugestão, publicar, conferir. Só peça da própria pessoa, e só rede conectada (conectar é na tela /dashboard/distribution). Sem custo em Sinapses: o teto é o de publicações por ciclo do plano. Publicar POSTA DE VERDADE na conta da pessoa: confirme redes e legenda com ela antes. A fila da casa é outra tool (sapiens_distribution, admin). Passo a passo: skill publicar.",
|
|
234
234
|
schema: publicarSchema,
|
|
235
235
|
handler: publicar,
|
|
236
236
|
},
|
package/dist/skills.js
CHANGED
|
@@ -831,9 +831,11 @@ O que a peça vira: NATIVA, PRIVADA, publicável depois por \`action=publish\` (
|
|
|
831
831
|
|
|
832
832
|
A pessoa liga as redes dela (TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky) na tela do Distribution, e daqui a peça dela sai por essas contas, com o nome dela. Só peça DELA, e só rede que ela já ligou. Conectar rede nova é sempre na tela: \`/dashboard/distribution\`.
|
|
833
833
|
|
|
834
|
+
A tela é uma FILA: cada peça numa rede é um cartão (rascunho, agendado, enviado, publicado, falhou, descartado), e o que você faz aqui aparece lá, e vice-versa. \`sapiens_publicar action=fila\` lê a fila inteira: comece por ela quando a pessoa perguntar "o que eu tenho pra postar", "o que está agendado" ou "o que saiu".
|
|
835
|
+
|
|
834
836
|
## O fluxo
|
|
835
837
|
|
|
836
|
-
1. \`sapiens_publicar action=painel handle=<img_... ou
|
|
838
|
+
1. \`sapiens_publicar action=painel handle=<img_..., vid_... ou car_...>\`. Volta:
|
|
837
839
|
- \`redes\`: cada rede com \`conectada\`, o \`conta\` (@), o \`copyMax\` (limite de texto) e o \`fit\` (o que rende lá).
|
|
838
840
|
- \`peca.porRede\`: onde a peça já está, uma linha por rede, com \`status\` (rascunho, enviado, agendado, publicado, falhou, cancelado) e \`url\` quando saiu.
|
|
839
841
|
- \`sugestao\`: \`sugeridas\` (conectadas, na ordem do que rende, com o motivo), \`fora\` (as que não levam essa peça e por quê) e \`valeConectar\` (não ligadas onde a peça iria bem).
|
|
@@ -851,6 +853,7 @@ A pessoa liga as redes dela (TikTok, Instagram, YouTube, LinkedIn, Facebook, X,
|
|
|
851
853
|
|
|
852
854
|
- Sem custo em Sinapses. O teto é o do plano do Distribution: publicações por ciclo, mais o limite diário de cada rede. O erro diz qual bateu.
|
|
853
855
|
- Imagem não vai pra TikTok nem YouTube (só vídeo). Áudio não sai por aqui.
|
|
856
|
+
- Carrossel (\`car_...\`) sai INTEIRO, até 10 slides: vira carrossel no Instagram e no Threads, fio de 4 em 4 no X, as 4 primeiras no Bluesky. O Pinterest recusa mais de 5: tire ele da lista. Carrossel que nunca foi exportado nem guardado no editor ainda não tem arquivo e volta erro dizendo isso.
|
|
854
857
|
- Agendado se cancela com \`action=cancelar postId=...\` até 2 minutos antes da hora.`,
|
|
855
858
|
},
|
|
856
859
|
{
|
package/dist/tools/publicar.js
CHANGED
|
@@ -4,13 +4,16 @@ import { need } from "../schema.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* sapiens_publicar: a peça do MEMBRO saindo pelas redes DELE.
|
|
6
6
|
*
|
|
7
|
-
* O mesmo
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* O mesmo Distribution da tela (/dashboard/distribution: a fila à esquerda, a
|
|
8
|
+
* ficha da peça à direita), lido por quem não tem tela: a fila peça × rede, as
|
|
9
|
+
* redes com o limite de texto e a régua de cada praça, onde a peça já está, pra
|
|
10
|
+
* onde vale mandar, a legenda de cada rede e o envio. Irmã da
|
|
10
11
|
* sapiens_distribution, que é a fila da CASA (admin); aqui é a conta da pessoa,
|
|
11
12
|
* pelo Distribution dela (assinatura ou convite).
|
|
12
13
|
*
|
|
13
14
|
* Sub-actions:
|
|
15
|
+
* - fila: a fila da pessoa: cada peça com o estado em cada rede
|
|
16
|
+
* (rascunho, agendado, enviado, publicado, falhou, descartado).
|
|
14
17
|
* - painel: as redes (conectada ou não, @, limite, régua). Com `handle`,
|
|
15
18
|
* a peça: onde já está, por rede, e a sugestão de onde mandar.
|
|
16
19
|
* - rascunho: guarda a legenda de UMA rede pra peça (vazia apaga).
|
|
@@ -25,11 +28,11 @@ import { need } from "../schema.js";
|
|
|
25
28
|
* novo (dono da peça, rede, limite, tipo de mídia).
|
|
26
29
|
*/
|
|
27
30
|
export const publicarSchema = z.object({
|
|
28
|
-
action: z.enum(["painel", "rascunho", "publicar", "lista", "conferir", "cancelar"]),
|
|
31
|
+
action: z.enum(["fila", "painel", "rascunho", "publicar", "lista", "conferir", "cancelar"]),
|
|
29
32
|
handle: z
|
|
30
33
|
.string()
|
|
31
34
|
.optional()
|
|
32
|
-
.describe("A peça (img_..., vid_...). Obrigatório em rascunho e publicar; em painel traz a peça junto."),
|
|
35
|
+
.describe("A peça (img_..., vid_..., car_... pro carrossel inteiro). Obrigatório em rascunho e publicar; em painel traz a peça junto."),
|
|
33
36
|
rede: z.string().optional().describe("rascunho: a rede (id do painel: instagram, tiktok, threads...)."),
|
|
34
37
|
legenda: z.string().optional().describe("rascunho: a legenda daquela rede. Vazia apaga o rascunho."),
|
|
35
38
|
redes: z.array(z.string()).optional().describe("publicar: as redes (ids do painel), só as conectadas."),
|
|
@@ -52,6 +55,8 @@ export const publicarSchema = z.object({
|
|
|
52
55
|
export async function publicar(args) {
|
|
53
56
|
const sessionToken = getSessionToken();
|
|
54
57
|
switch (args.action) {
|
|
58
|
+
case "fila":
|
|
59
|
+
return await convexAction("uploadPost:mcpFila", { sessionToken });
|
|
55
60
|
case "painel":
|
|
56
61
|
return await convexAction("uploadPost:mcpPainel", {
|
|
57
62
|
sessionToken,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sapiens-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.88.0",
|
|
4
4
|
"mcpName": "com.sapiensinteticos/sapiens",
|
|
5
5
|
"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.",
|
|
6
6
|
"type": "module",
|