evo360-types 1.3.376 → 1.3.378

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.
@@ -10,22 +10,31 @@
10
10
  /** Fase de avaliação.
11
11
  * - `pre_llm` (v1.0) : avalia antes do orchestrator LLM.
12
12
  * - `post_llm` (v1.1) : avalia depois do orchestrator e antes do envio
13
- * outbound (safety/governance). */
13
+ * outbound (safety/governance).
14
+ * Ortogonal ao `when` (trigger): regras outbound (feat-027) usam
15
+ * `when=outbound_message + phase=pre_llm`. O par
16
+ * `outbound_message + post_llm` fica reservado p/ LLM-em-outbound futuro. */
14
17
  export type IHubiaRulePhase = "pre_llm" | "post_llm";
15
18
 
16
- /** Gatilho que dispara a avaliação. Correlacionado com `phase`:
17
- * pre_llm inbound_message; post_llm → llm_completed (validado pelo
18
- * superRefine de `zHubiaRuleSchema`). */
19
- export type IHubiaRuleTrigger = "inbound_message" | "llm_completed";
19
+ /** Gatilho que dispara a avaliação. Combinações válidas com `phase`
20
+ * (validado pelo superRefine de `zHubiaRuleSchema`):
21
+ * - `inbound_message` + pre_llm : mensagem do paciente (v1.0).
22
+ * - `llm_completed` + post_llm : turno do LLM concluído (feat-026).
23
+ * - `outbound_message` + pre_llm : mensagem enviada ao paciente, reativo
24
+ * pós-fato (feat-027). */
25
+ export type IHubiaRuleTrigger = "inbound_message" | "llm_completed" | "outbound_message";
20
26
 
21
27
  /** Desfecho do turno após a regra disparar:
22
28
  * - `stop` — finaliza turno; em pre_llm pula o LLM,
23
- * em post_llm bloqueia o envio outbound (único
24
- * outcome permitido em post_llm).
29
+ * em post_llm bloqueia o envio outbound, em
30
+ * outbound_message apenas registra trace + executa
31
+ * actions (msg já saiu). Único outcome permitido
32
+ * em post_llm e outbound_message.
25
33
  * - `to_llm` — segue para o orchestrator normalmente
26
- * (apenas pre_llm).
34
+ * (apenas inbound_message + pre_llm).
27
35
  * - `to_llm_with_context` — segue para o orchestrator com trace das ações
28
- * injetado como bloco de sistema (apenas pre_llm).
36
+ * injetado como bloco de sistema (apenas
37
+ * inbound_message + pre_llm).
29
38
  * Quando o LLM está desligado no binding (default_mode `human_only`/`blocked`),
30
39
  * `to_llm`/`to_llm_with_context` degradam para "cai pro humano". */
31
40
  export type IHubiaRuleOutcome = "stop" | "to_llm" | "to_llm_with_context";
@@ -34,6 +43,13 @@ export type IHubiaRuleOutcome = "stop" | "to_llm" | "to_llm_with_context";
34
43
  * a mensagem de kickoff do sistema — proteção contra loop de transferência. */
35
44
  export type IHubiaRuleAppliesTo = "real_message" | "kickoff" | "any";
36
45
 
46
+ /** Filtro por origem da mensagem outbound (apenas `when=outbound_message`).
47
+ * - `all` : qualquer origem dispara.
48
+ * - `llm_only` : só mensagens do LLM.
49
+ * - `non_system` : exclui mensagens sintéticas do sistema.
50
+ * - `all_except_kickoff` : default — exclui apenas kickoff de transferência. */
51
+ export type IHubiaOutboundSource = "all" | "llm_only" | "non_system" | "all_except_kickoff";
52
+
37
53
  /** Operadores suportados pelas condições.
38
54
  *
39
55
  * `in_schedule` / `not_in_schedule` esperam `value: IHubiaSchedule` e
@@ -117,6 +133,9 @@ export interface IHubiaConditionGroup {
117
133
  export interface IHubiaRuleScope {
118
134
  applies_to?: IHubiaRuleAppliesTo;
119
135
  provider?: "chatbee" | "hub-waba";
136
+ /** Apenas `when=outbound_message`: filtra por origem da msg outbound.
137
+ * Default runtime quando ausente: `all_except_kickoff`. */
138
+ outbound_source?: IHubiaOutboundSource;
120
139
  }
121
140
 
122
141
  /** Uma ação a executar via ToolRegistry. `input` aceita templating
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "evo360-types",
3
- "version": "1.3.376",
3
+ "version": "1.3.378",
4
4
  "description": "HREVO360 Shared Types",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",