paris-immersion 0.1.28 → 0.1.29
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/package.json +1 -1
- package/templates/mcp/index.mjs +37 -0
package/package.json
CHANGED
package/templates/mcp/index.mjs
CHANGED
|
@@ -18075,6 +18075,43 @@ function buildTools() {
|
|
|
18075
18075
|
detail: external_exports.string().max(1e3).optional()
|
|
18076
18076
|
}),
|
|
18077
18077
|
handler: async (input, { client }) => client.post("/immersion-app/v1/events", input)
|
|
18078
|
+
},
|
|
18079
|
+
{
|
|
18080
|
+
name: "publish_solution",
|
|
18081
|
+
description: "Publicar a solu\xE7\xE3o do aluno no Marketplace da Paris (vitrine entre turmas). S\xD3 chame depois de PERGUNTAR explicitamente ao aluno e ele CONSENTIR que a solu\xE7\xE3o \u2014 com o contato e a apresenta\xE7\xE3o, se informados \u2014 apare\xE7a na vitrine. Sem consentimento verbal do aluno, n\xE3o chame (consent deve ser true). Inclua contact_email/contact_whatsapp pra quem quiser falar com o aluno, e presentation_url com o link da apresenta\xE7\xE3o do dia 3. O item passa por modera\xE7\xE3o do mentor antes de aparecer.",
|
|
18082
|
+
inputSchema: external_exports.object({
|
|
18083
|
+
title: external_exports.string().min(1).max(255),
|
|
18084
|
+
description: external_exports.string().max(1e3).optional(),
|
|
18085
|
+
type: external_exports.enum(["playbook", "workflow", "script", "template", "plan"]),
|
|
18086
|
+
sector: external_exports.string().max(100).optional(),
|
|
18087
|
+
content: external_exports.string().max(1e5).optional(),
|
|
18088
|
+
consent: external_exports.boolean(),
|
|
18089
|
+
contact_email: external_exports.string().email().max(255).optional(),
|
|
18090
|
+
contact_whatsapp: external_exports.string().max(32).optional(),
|
|
18091
|
+
presentation_url: external_exports.string().url().max(2048).optional(),
|
|
18092
|
+
visibility: external_exports.enum(["public", "turma_only"]).optional(),
|
|
18093
|
+
anonymous: external_exports.boolean().optional()
|
|
18094
|
+
}),
|
|
18095
|
+
handler: async (input, { client }) => {
|
|
18096
|
+
if (input.consent !== true) {
|
|
18097
|
+
throw new Error(
|
|
18098
|
+
"Consentimento pendente: pergunte ao aluno se ele autoriza publicar a solu\xE7\xE3o (e o contato/apresenta\xE7\xE3o) no marketplace, e s\xF3 chame de novo com consent: true."
|
|
18099
|
+
);
|
|
18100
|
+
}
|
|
18101
|
+
return client.post("/api/marketplace", {
|
|
18102
|
+
title: input.title,
|
|
18103
|
+
description: input.description,
|
|
18104
|
+
type: input.type,
|
|
18105
|
+
sector: input.sector,
|
|
18106
|
+
content: input.content,
|
|
18107
|
+
consent: true,
|
|
18108
|
+
contactEmail: input.contact_email,
|
|
18109
|
+
contactWhatsapp: input.contact_whatsapp,
|
|
18110
|
+
presentationUrl: input.presentation_url,
|
|
18111
|
+
visibility: input.visibility,
|
|
18112
|
+
anonymous: input.anonymous
|
|
18113
|
+
});
|
|
18114
|
+
}
|
|
18078
18115
|
}
|
|
18079
18116
|
];
|
|
18080
18117
|
}
|