✨ feat(admin): concluir fluxo governado de tools na fase 5
parent
3dcf80eaaa
commit
2e3a695878
@ -0,0 +1,13 @@
|
||||
from admin_app.catalogs.tool_governance_catalog import (
|
||||
BOOTSTRAP_TOOL_CATALOG,
|
||||
INTAKE_DOMAIN_OPTIONS,
|
||||
BootstrapToolCatalogEntry,
|
||||
ToolIntakeDomainOption,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
"BOOTSTRAP_TOOL_CATALOG",
|
||||
"INTAKE_DOMAIN_OPTIONS",
|
||||
"BootstrapToolCatalogEntry",
|
||||
"ToolIntakeDomainOption",
|
||||
]
|
||||
@ -0,0 +1,172 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class BootstrapToolCatalogEntry:
|
||||
tool_name: str
|
||||
display_name: str
|
||||
description: str
|
||||
domain: str
|
||||
parameter_count: int
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class ToolIntakeDomainOption:
|
||||
value: str
|
||||
label: str
|
||||
description: str
|
||||
|
||||
|
||||
BOOTSTRAP_TOOL_CATALOG: tuple[BootstrapToolCatalogEntry, ...] = (
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="consultar_estoque",
|
||||
display_name="Consultar estoque",
|
||||
description="Consulta veiculos disponiveis no estoque comercial.",
|
||||
domain="vendas",
|
||||
parameter_count=4,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="validar_cliente_venda",
|
||||
display_name="Validar cliente para venda",
|
||||
description="Avalia elegibilidade de credito para operacoes de venda.",
|
||||
domain="vendas",
|
||||
parameter_count=2,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="avaliar_veiculo_troca",
|
||||
display_name="Avaliar veiculo de troca",
|
||||
description="Estima o valor de entrada de um veiculo usado.",
|
||||
domain="vendas",
|
||||
parameter_count=3,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="agendar_revisao",
|
||||
display_name="Agendar revisao",
|
||||
description="Abre um agendamento de revisao ou manutencao.",
|
||||
domain="revisao",
|
||||
parameter_count=6,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="listar_agendamentos_revisao",
|
||||
display_name="Listar agendamentos de revisao",
|
||||
description="Consulta a fila de agendamentos de revisao do cliente.",
|
||||
domain="revisao",
|
||||
parameter_count=3,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="cancelar_agendamento_revisao",
|
||||
display_name="Cancelar agendamento de revisao",
|
||||
description="Cancela um agendamento existente por protocolo.",
|
||||
domain="revisao",
|
||||
parameter_count=2,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="editar_data_revisao",
|
||||
display_name="Editar data de revisao",
|
||||
description="Remarca uma revisao para um novo horario.",
|
||||
domain="revisao",
|
||||
parameter_count=2,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="realizar_pedido",
|
||||
display_name="Realizar pedido",
|
||||
description="Efetiva um pedido de compra com o veiculo escolhido.",
|
||||
domain="vendas",
|
||||
parameter_count=2,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="listar_pedidos",
|
||||
display_name="Listar pedidos",
|
||||
description="Consulta pedidos ja abertos pelo cliente.",
|
||||
domain="vendas",
|
||||
parameter_count=3,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="cancelar_pedido",
|
||||
display_name="Cancelar pedido",
|
||||
description="Cancela um pedido existente com motivo registrado.",
|
||||
domain="vendas",
|
||||
parameter_count=2,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="consultar_frota_aluguel",
|
||||
display_name="Consultar frota de aluguel",
|
||||
description="Lista veiculos disponiveis para locacao.",
|
||||
domain="locacao",
|
||||
parameter_count=6,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="abrir_locacao_aluguel",
|
||||
display_name="Abrir locacao de aluguel",
|
||||
description="Inicia um contrato de locacao de veiculo.",
|
||||
domain="locacao",
|
||||
parameter_count=7,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="registrar_devolucao_aluguel",
|
||||
display_name="Registrar devolucao de aluguel",
|
||||
description="Fecha uma locacao e devolve o veiculo para a frota.",
|
||||
domain="locacao",
|
||||
parameter_count=4,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="registrar_pagamento_aluguel",
|
||||
display_name="Registrar pagamento de aluguel",
|
||||
description="Registra comprovantes e pagamentos de contratos de locacao.",
|
||||
domain="locacao",
|
||||
parameter_count=7,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="limpar_contexto_conversa",
|
||||
display_name="Limpar contexto de conversa",
|
||||
description="Reinicia o contexto operacional atual do atendimento.",
|
||||
domain="orquestracao",
|
||||
parameter_count=1,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="continuar_proximo_pedido",
|
||||
display_name="Continuar proximo pedido",
|
||||
description="Retoma o proximo pedido pendente do fluxo atual.",
|
||||
domain="orquestracao",
|
||||
parameter_count=0,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="descartar_pedidos_pendentes",
|
||||
display_name="Descartar pedidos pendentes",
|
||||
description="Descarta apenas a fila pendente de pedidos do contexto.",
|
||||
domain="orquestracao",
|
||||
parameter_count=1,
|
||||
),
|
||||
BootstrapToolCatalogEntry(
|
||||
tool_name="cancelar_fluxo_atual",
|
||||
display_name="Cancelar fluxo atual",
|
||||
description="Interrompe o fluxo corrente sem apagar todo o contexto.",
|
||||
domain="orquestracao",
|
||||
parameter_count=1,
|
||||
),
|
||||
)
|
||||
|
||||
INTAKE_DOMAIN_OPTIONS: tuple[ToolIntakeDomainOption, ...] = (
|
||||
ToolIntakeDomainOption(
|
||||
value="vendas",
|
||||
label="Vendas",
|
||||
description="Ferramentas para estoque, negociacao, pedido e conversao comercial.",
|
||||
),
|
||||
ToolIntakeDomainOption(
|
||||
value="revisao",
|
||||
label="Revisao",
|
||||
description="Ferramentas para agendamento, remarcacao e operacao da oficina.",
|
||||
),
|
||||
ToolIntakeDomainOption(
|
||||
value="locacao",
|
||||
label="Locacao",
|
||||
description="Ferramentas para frota, contratos, devolucao e arrecadacao de aluguel.",
|
||||
),
|
||||
ToolIntakeDomainOption(
|
||||
value="orquestracao",
|
||||
label="Orquestracao",
|
||||
description="Ferramentas internas para fluxo conversacional, contexto e decisao do bot.",
|
||||
),
|
||||
)
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue