tweak(secretaria): frase da zona cinza sem citar "secretária"

Ao registrar um pedido de horário fora do padrão, a IA passa a responder no tom:
"No momento esse horário não está disponível, mas ainda não confirmei a agenda —
posso te confirmar daqui a pouco?" (antes: "vou verificar com a secretária").

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
VPS 4 Deploy Agent
2026-07-06 05:34:09 +02:00
parent 0f20fe5314
commit 46b9efaed0
6 changed files with 12 additions and 10 deletions
@@ -210,7 +210,7 @@ class ProtocolEngine {
L.push(`Próximos feriados/fechamentos: ${st.feriados_proximos.map((f) => `${dm(f.data)} ${f.nome}`).join('; ')}.`); L.push(`Próximos feriados/fechamentos: ${st.feriados_proximos.map((f) => `${dm(f.data)} ${f.nome}`).join('; ')}.`);
} }
L.push('IMPORTANTE: só ofereça horários e confirme agendamento quando a clínica estiver ABERTA. Se pedirem em dia/horário fechado ou feriado, informe o horário de funcionamento e ofereça o próximo dia disponível.'); L.push('IMPORTANTE: só ofereça horários e confirme agendamento quando a clínica estiver ABERTA. Se pedirem em dia/horário fechado ou feriado, informe o horário de funcionamento e ofereça o próximo dia disponível.');
L.push('Se o cliente pedir um horário PONTUAL fora dos disponíveis (mais cedo/mais tarde, ex.: 8h30 ou depois das 17h), NÃO recuse: use a ferramenta solicitar_horario_especial e diga que vai confirmar com a secretária e retornar.'); L.push('Se o cliente pedir um horário PONTUAL fora dos disponíveis (mais cedo/mais tarde, ex.: 8h30 ou depois das 17h), NÃO recuse nem confirme: use a ferramenta solicitar_horario_especial e responda algo como "No momento esse horário não está disponível, mas ainda não confirmei a agenda — posso te confirmar daqui a pouco?" (sem mencionar "secretária").');
return `\n\n${L.join('\n')}\n`; return `\n\n${L.join('\n')}\n`;
} }
// ── System Prompt Builder ───────────────────────────────────────────────── // ── System Prompt Builder ─────────────────────────────────────────────────
File diff suppressed because one or more lines are too long
@@ -238,7 +238,7 @@ export class ProtocolEngine {
L.push(`Próximos feriados/fechamentos: ${st.feriados_proximos.map((f: any) => `${dm(f.data)} ${f.nome}`).join('; ')}.`) L.push(`Próximos feriados/fechamentos: ${st.feriados_proximos.map((f: any) => `${dm(f.data)} ${f.nome}`).join('; ')}.`)
} }
L.push('IMPORTANTE: só ofereça horários e confirme agendamento quando a clínica estiver ABERTA. Se pedirem em dia/horário fechado ou feriado, informe o horário de funcionamento e ofereça o próximo dia disponível.') L.push('IMPORTANTE: só ofereça horários e confirme agendamento quando a clínica estiver ABERTA. Se pedirem em dia/horário fechado ou feriado, informe o horário de funcionamento e ofereça o próximo dia disponível.')
L.push('Se o cliente pedir um horário PONTUAL fora dos disponíveis (mais cedo/mais tarde, ex.: 8h30 ou depois das 17h), NÃO recuse: use a ferramenta solicitar_horario_especial e diga que vai confirmar com a secretária e retornar.') L.push('Se o cliente pedir um horário PONTUAL fora dos disponíveis (mais cedo/mais tarde, ex.: 8h30 ou depois das 17h), NÃO recuse nem confirme: use a ferramenta solicitar_horario_especial e responda algo como "No momento esse horário não está disponível, mas ainda não confirmei a agenda — posso te confirmar daqui a pouco?" (sem mencionar "secretária").')
return `\n\n${L.join('\n')}\n` return `\n\n${L.join('\n')}\n`
} }
@@ -339,8 +339,9 @@ exports.BUILTIN_TOOLS = [
name: 'solicitar_horario_especial', name: 'solicitar_horario_especial',
description: 'Use QUANDO o cliente pedir um horário que NÃO aparece na lista de horários disponíveis — ' + description: 'Use QUANDO o cliente pedir um horário que NÃO aparece na lista de horários disponíveis — ' +
'mais cedo ou mais tarde que o normal (ex.: "tem às 8h30?", "consegue depois das 17h?"). ' + 'mais cedo ou mais tarde que o normal (ex.: "tem às 8h30?", "consegue depois das 17h?"). ' +
'NUNCA diga que não tem: registre o pedido com esta tool e diga ao cliente que você vai ' + 'NUNCA diga que não tem: registre o pedido com esta tool e responda algo como "No momento esse ' +
'CONFIRMAR com a secretária e RETORNAR. Não garanta o horário. Só para horários pontuais fora do padrão.', 'horário não está disponível, mas ainda não confirmei a agenda — posso te confirmar daqui a pouco?". ' +
'Não garanta o horário nem mencione "secretária". Só para horários pontuais fora do padrão.',
parameters: { parameters: {
type: 'object', type: 'object',
properties: { properties: {
@@ -375,7 +376,7 @@ exports.BUILTIN_TOOLS = [
const j = await r.json().catch(() => ({})); const j = await r.json().catch(() => ({}));
if (!r.ok || j.ok === false) if (!r.ok || j.ok === false)
return { ok: false, mensagem: j.motivo ?? 'Não foi possível registrar o pedido.' }; return { ok: false, mensagem: j.motivo ?? 'Não foi possível registrar o pedido.' };
return { ok: true, registrado: true, instrucao: 'Diga ao cliente que você vai VERIFICAR esse horário com a secretária e RETORNA com a confirmação. NÃO garanta o horário agora.' }; return { ok: true, registrado: true, instrucao: 'Responda ao cliente algo como: "No momento esse horário não está disponível, mas ainda não confirmei a agenda — posso te confirmar daqui a pouco?". NÃO garanta o horário nem mencione "secretária"; deixe claro que confirma em breve.' };
} }
catch (e) { catch (e) {
return { ok: false, erro: e.message }; return { ok: false, erro: e.message };
File diff suppressed because one or more lines are too long
@@ -387,8 +387,9 @@ export const BUILTIN_TOOLS: ToolDef[] = [
description: description:
'Use QUANDO o cliente pedir um horário que NÃO aparece na lista de horários disponíveis — ' + 'Use QUANDO o cliente pedir um horário que NÃO aparece na lista de horários disponíveis — ' +
'mais cedo ou mais tarde que o normal (ex.: "tem às 8h30?", "consegue depois das 17h?"). ' + 'mais cedo ou mais tarde que o normal (ex.: "tem às 8h30?", "consegue depois das 17h?"). ' +
'NUNCA diga que não tem: registre o pedido com esta tool e diga ao cliente que você vai ' + 'NUNCA diga que não tem: registre o pedido com esta tool e responda algo como "No momento esse ' +
'CONFIRMAR com a secretária e RETORNAR. Não garanta o horário. Só para horários pontuais fora do padrão.', 'horário não está disponível, mas ainda não confirmei a agenda — posso te confirmar daqui a pouco?". ' +
'Não garanta o horário nem mencione "secretária". Só para horários pontuais fora do padrão.',
parameters: { parameters: {
type: 'object', type: 'object',
properties: { properties: {
@@ -418,7 +419,7 @@ export const BUILTIN_TOOLS: ToolDef[] = [
}) })
const j: any = await r.json().catch(() => ({})) const j: any = await r.json().catch(() => ({}))
if (!r.ok || j.ok === false) return { ok: false, mensagem: j.motivo ?? 'Não foi possível registrar o pedido.' } if (!r.ok || j.ok === false) return { ok: false, mensagem: j.motivo ?? 'Não foi possível registrar o pedido.' }
return { ok: true, registrado: true, instrucao: 'Diga ao cliente que você vai VERIFICAR esse horário com a secretária e RETORNA com a confirmação. NÃO garanta o horário agora.' } return { ok: true, registrado: true, instrucao: 'Responda ao cliente algo como: "No momento esse horário não está disponível, mas ainda não confirmei a agenda — posso te confirmar daqui a pouco?". NÃO garanta o horário nem mencione "secretária"; deixe claro que confirma em breve.' }
} catch (e: any) { return { ok: false, erro: e.message } } } catch (e: any) { return { ok: false, erro: e.message } }
}, },
}, },