@rodrigobeber/patoai-dtos 4.8.21 → 4.8.22
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.
|
@@ -20,15 +20,31 @@ export interface LabActionParam {
|
|
|
20
20
|
unit?: string;
|
|
21
21
|
options?: LabActionOption[];
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Como o usuário volta atrás depois de aplicar. É isto — e não o verbo da operação — que define quanto
|
|
25
|
+
* atrito o diálogo impõe.
|
|
26
|
+
* historico → dá para restaurar a versão anterior pela tela (ex.: roteiro)
|
|
27
|
+
* tela → dá para reeditar/refazer na mão (o valor antigo está no próprio diálogo)
|
|
28
|
+
* nenhuma → não volta: o valor antigo se perde no momento em que aplica
|
|
29
|
+
*/
|
|
30
|
+
export type LabActionReversible = 'historico' | 'tela' | 'nenhuma';
|
|
23
31
|
export interface LabAction {
|
|
24
32
|
id: string;
|
|
25
|
-
op: 'update' | 'create';
|
|
33
|
+
op: 'update' | 'create' | 'delete';
|
|
26
34
|
render: LabActionRender;
|
|
27
35
|
title: string;
|
|
28
36
|
path: string;
|
|
29
37
|
summary: string;
|
|
30
38
|
params: LabActionParam[];
|
|
39
|
+
reversible: LabActionReversible;
|
|
31
40
|
undoHint: string;
|
|
41
|
+
/**
|
|
42
|
+
* O que mais quebra junto, quando o alvo é referenciado em outro lugar (mídia usada em roteiro,
|
|
43
|
+
* template usado em lembrete, estágio com leads dentro). O texto ESTÁTICO fica aqui; a lista do que
|
|
44
|
+
* de fato depende deste item é calculada na materialização e vai em `SupportLabProposalDto.impact`.
|
|
45
|
+
* Cascata é o que o cartão do item NÃO mostra — é por isso que ela precisa ser explícita.
|
|
46
|
+
*/
|
|
47
|
+
impactHint?: string;
|
|
32
48
|
}
|
|
33
49
|
/** Uma linha "Antes -> Depois" já formatada em pt-BR (render 'field' e 'item'). */
|
|
34
50
|
export interface LabProposalChangeDto {
|
|
@@ -10,8 +10,11 @@
|
|
|
10
10
|
// chamada da Oráculo, porque schema de tool entra no prefixo cacheado.
|
|
11
11
|
//
|
|
12
12
|
// A IA NUNCA aplica: a proposta é um formulário pré-preenchido e quem aplica é o usuário, pelo diálogo,
|
|
13
|
-
// no endpoint REST normal — com o guard que já existe.
|
|
14
|
-
//
|
|
13
|
+
// no endpoint REST normal — com o guard que já existe.
|
|
14
|
+
//
|
|
15
|
+
// O eixo de risco NÃO é update × delete (apagar um roteiro é SOFT delete, com restaurar na tela; já
|
|
16
|
+
// reescrever um campo do contexto sobrescreve sem histórico nenhum). O que decide o atrito é
|
|
17
|
+
// `reversible` + `impact`, e o diálogo escala: aplicar direto → caixa de aviso → confirmação digitada.
|
|
15
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
19
|
exports.LAB_ACTIONS = void 0;
|
|
17
20
|
exports.findLabAction = findLabAction;
|
|
@@ -29,6 +32,7 @@ exports.LAB_ACTIONS = [
|
|
|
29
32
|
title: 'Roteiro',
|
|
30
33
|
path: 'Configurações → Agente → Prompts',
|
|
31
34
|
summary: 'Reescrever o texto de um roteiro do agente (informe o id do roteiro).',
|
|
35
|
+
reversible: 'historico',
|
|
32
36
|
undoHint: 'Configurações → Agente → Prompts: o roteiro tem histórico e dá para restaurar a versão anterior.',
|
|
33
37
|
params: [
|
|
34
38
|
{
|
|
@@ -50,7 +54,10 @@ exports.LAB_ACTIONS = [
|
|
|
50
54
|
title: 'Contexto básico',
|
|
51
55
|
path: 'Configurações → Agente → Contexto Básico',
|
|
52
56
|
summary: 'Reescrever um campo do contexto básico (sobre, papel, público ou comportamento).',
|
|
53
|
-
|
|
57
|
+
// O endpoint sobrescreve sem gravar histórico: o texto antigo só existe no diálogo, e some no
|
|
58
|
+
// instante em que aplica. Por isso é 'nenhuma' — e leva mais atrito que o roteiro, que tem restaurar.
|
|
59
|
+
reversible: 'nenhuma',
|
|
60
|
+
undoHint: 'Este campo não tem histórico: copie o texto atual antes de aplicar se quiser poder voltar.',
|
|
54
61
|
params: [
|
|
55
62
|
{
|
|
56
63
|
name: 'field', kind: 'enum', identity: true, required: true, options: CONTEXT_FIELDS,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SupportMessageDto } from "./support-message.dto";
|
|
2
2
|
import { SupportAgentBalanceDto } from "./support-agent-balance.dto";
|
|
3
3
|
import { SupportLabPendingAnalysisDto } from "./support-lab-analyze.dto";
|
|
4
|
-
import { LabActionRender, LabProposalChangeDto } from "./lab-action-catalog";
|
|
4
|
+
import { LabActionRender, LabActionReversible, LabProposalChangeDto } from "./lab-action-catalog";
|
|
5
5
|
export interface SupportLabFocusDto {
|
|
6
6
|
idStage?: number;
|
|
7
7
|
runType?: string;
|
|
@@ -25,7 +25,14 @@ export interface SupportLabProposalDto {
|
|
|
25
25
|
path: string;
|
|
26
26
|
params: Record<string, unknown>;
|
|
27
27
|
rationale: string;
|
|
28
|
+
reversible: LabActionReversible;
|
|
28
29
|
undoHint: string;
|
|
30
|
+
/**
|
|
31
|
+
* O que quebra junto se aplicar (mídia usada em roteiro, template usado em lembrete...). Calculado na
|
|
32
|
+
* materialização, não estático: é o que o cartão do item NÃO mostra. Lista não-vazia => confirmação
|
|
33
|
+
* digitada no diálogo.
|
|
34
|
+
*/
|
|
35
|
+
impact?: string[];
|
|
29
36
|
kind?: 'markdown' | 'spin-yaml';
|
|
30
37
|
baseText?: string;
|
|
31
38
|
proposedText?: string;
|