@lionchat/mcp-server 0.5.7 → 0.5.8

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.
@@ -248,7 +248,7 @@ No editor visual esses destinos só aparecem quando a validação bate (computed
248
248
  | `conversation_has_agent` / `conversation_no_agent` / `conversation_not_agent` | agente atribuído |
249
249
  | `contact_has_label` / `contact_no_label` / `conversation_has_label` / `conversation_no_label` | labels |
250
250
  | `kanban_exists` / `kanban_in_stage` / `kanban_won` / `kanban_lost` | card no funil (usa `funnel_id` + `stage`) |
251
- | `card_attr_equals` / `card_attr_contains` | atributo do card (`attrSource: 'card'` + `attr_key`) |
251
+ | `card_attr_equals` / `card_attr_contains` | atributo do card (`attrSource: 'card'` + `attr_key`; aceita `card_source: 'trigger'` p/ ler o card que iniciou o flow) |
252
252
  | `pagetrack_visited` / `pagetrack_event` | LionTrack |
253
253
  | `sla_check` | status do SLA da conversa (usa `value` = código fixo; ver abaixo) |
254
254
 
@@ -327,6 +327,8 @@ Ex.: `{ "operator": "sla_check", "value": "frt_breached" }`. "Estourado" = o mon
327
327
 
328
328
  **Handles que SAEM:** `success`. Não tem handle `error` — falhas viram warning silencioso e o flow continua.
329
329
 
330
+ **`card_source` (blocos de card) — opcional:** as ações de card aceitam `card_source`: `'funnel'` (default — procura o card pelo `funnel_id`) ou `'trigger'` (usa o card que DISPAROU o flow, em flows iniciados por `card_created`/`card_moved`/`card_won`/`card_lost`). Com `'trigger'`, `funnel_id` deixa de ser obrigatório — EXCETO em `move_kanban_stage`/`create_kanban_item`, cujo funil/etapa são o DESTINO. Sem card-gatilho disponível, a ação é pulada (não cai no fallback de funil). Aplica-se a `move_kanban_stage`, `set_won`/`set_lost`/`set_open`, `assign_agent_card`, `add_card_note`, `update_attribute` (com `attr_source: 'card'`) e às condições `card_attr_equals`/`card_attr_contains` (gravando `card_source` na própria regra).
331
+
330
332
  **`update_attribute` — campos EXATOS:** `attr_source` (`'contact'`, `'conversation'` ou `'card'`), `attr_key` (nome do atributo), `attr_value` (valor). NÃO existem `entity`/`key`/`value` — esses são ignorados e não salvam nada.
331
333
 
332
334
  **Somar/subtrair NÃO é operação dedicada** — é filtro Liquid no próprio `attr_value`. O valor é resolvido como template antes de salvar. Exemplos:
package/endpoints.json CHANGED
@@ -1901,6 +1901,13 @@
1901
1901
  "location": "body",
1902
1902
  "required": false,
1903
1903
  "description": "Arquivos anexos"
1904
+ },
1905
+ {
1906
+ "name": "content_attributes",
1907
+ "type": "object",
1908
+ "location": "body",
1909
+ "required": false,
1910
+ "description": "Atributos livres da mensagem (objeto). Chaves uteis: coex_backup=true => envia fora da janela de 24h via sessao WAHA so-envio (caixa Cloud em coexistencia); reply_mode='public'|'private' + in_reply_to_comment_id => responde a um comentario do Instagram; in_reply_to => cita/responde outra mensagem pelo id."
1904
1911
  }
1905
1912
  ],
1906
1913
  "returns": "mensagem criada",
@@ -2295,7 +2302,7 @@
2295
2302
  "type": "object",
2296
2303
  "location": "body",
2297
2304
  "required": false,
2298
- "description": "Configurações"
2305
+ "description": "Objeto de configuracoes do funil. Chaves: goals[], agents[] e automations[] (automacoes do funil). Cada automacao: {id, enabled, trigger_type: 'card_created'|'stage_moved'|'status_change', trigger_value (id da etapa p/ stage_moved; status p/ status_change; vazio p/ card_created), action: 'move_to_stage'|'assign_agent'|'create_note'|'update_checklist'|'apply_checklist_template'|'notify_team'|'duplicate_item'|'send_webhook', action_config: {} (ex.: move_to_stage->{stage}; assign_agent->{agent_id}; create_note->{note_text}; apply_checklist_template->{template_id}; notify_team->{message}; send_webhook->{webhook_url}; duplicate_item->{funnel_id,stage})}. ATENCAO: gravar settings SUBSTITUI o objeto inteiro — leia o funil (show) e reenvie settings completo (goals+agents+automations)."
2299
2306
  },
2300
2307
  {
2301
2308
  "name": "funnel.global_custom_attributes",
@@ -2374,7 +2381,7 @@
2374
2381
  "type": "object",
2375
2382
  "location": "body",
2376
2383
  "required": false,
2377
- "description": "Configurações"
2384
+ "description": "Objeto de configuracoes do funil. Chaves: goals[], agents[] e automations[] (automacoes do funil). Cada automacao: {id, enabled, trigger_type: 'card_created'|'stage_moved'|'status_change', trigger_value (id da etapa p/ stage_moved; status p/ status_change; vazio p/ card_created), action: 'move_to_stage'|'assign_agent'|'create_note'|'update_checklist'|'apply_checklist_template'|'notify_team'|'duplicate_item'|'send_webhook', action_config: {} (ex.: move_to_stage->{stage}; assign_agent->{agent_id}; create_note->{note_text}; apply_checklist_template->{template_id}; notify_team->{message}; send_webhook->{webhook_url}; duplicate_item->{funnel_id,stage})}. ATENCAO: gravar settings SUBSTITUI o objeto inteiro — leia o funil (show) e reenvie settings completo (goals+agents+automations)."
2378
2385
  }
2379
2386
  ],
2380
2387
  "returns": "funil atualizado",
@@ -3997,6 +4004,13 @@
3997
4004
  "location": "body",
3998
4005
  "required": false,
3999
4006
  "description": "BOTAO DE PANICO: true pausa TODA a IA do assistente (respostas, follow-ups, callbacks) sem perder config. Top-level, auditado"
4007
+ },
4008
+ {
4009
+ "name": "config.follow_up_skip_conditions",
4010
+ "type": "array",
4011
+ "location": "body",
4012
+ "required": false,
4013
+ "description": "Condicoes para a IA NAO fazer follow-up (ate 3). Array de objetos, ex.: {type, operator, attribute, value, labels:[]}."
4000
4014
  }
4001
4015
  ],
4002
4016
  "returns": "assistente AI criado (com novo ID)",
@@ -4208,6 +4222,13 @@
4208
4222
  "location": "body",
4209
4223
  "required": false,
4210
4224
  "description": "BOTAO DE PANICO: true pausa TODA a IA do assistente (respostas, follow-ups, callbacks) sem perder config. Top-level, auditado"
4225
+ },
4226
+ {
4227
+ "name": "config.follow_up_skip_conditions",
4228
+ "type": "array",
4229
+ "location": "body",
4230
+ "required": false,
4231
+ "description": "Condicoes para a IA NAO fazer follow-up (ate 3). Array de objetos, ex.: {type, operator, attribute, value, labels:[]}."
4211
4232
  }
4212
4233
  ],
4213
4234
  "returns": "assistente AI atualizado",
@@ -6191,7 +6212,15 @@
6191
6212
  "title": "Listar Threads Copilot",
6192
6213
  "description": "Lista as threads do Copilot.",
6193
6214
  "category": "Assistentes",
6194
- "params": [],
6215
+ "params": [
6216
+ {
6217
+ "name": "conversation_id",
6218
+ "type": "integer",
6219
+ "location": "query",
6220
+ "required": false,
6221
+ "description": "Filtra as threads do Copiloto pela conversa (conversation_display_id)."
6222
+ }
6223
+ ],
6195
6224
  "returns": "meta (contadores globais) + payload (array de assistentes AI)",
6196
6225
  "common_use_cases": [
6197
6226
  "Dashboard: contar/exibir assistentes AI",
@@ -18172,9 +18201,73 @@
18172
18201
  "method": "POST",
18173
18202
  "path": "/api/v1/accounts/{account_id}/kanban_config",
18174
18203
  "title": "Criar Configuracao Kanban",
18175
- "description": "Cria a configuracao do Kanban. Cria novo config Kanban. Valida unicidade quando aplicável. Retorna o config Kanban criado com ID atribuído.",
18204
+ "description": "Cria a configuracao do Kanban da conta (singleton). Aceita: checklist_templates (templates de checklist reutilizaveis aplicados aos cards), win_reasons/loss_reasons (motivos de ganho/perda), global_custom_attributes (atributos dos cards), config (preferencias) e webhook (url/secret/events).",
18176
18205
  "category": "Config Kanban",
18177
- "params": [],
18206
+ "params": [
18207
+ {
18208
+ "name": "kanban_config.checklist_templates",
18209
+ "type": "array",
18210
+ "location": "body",
18211
+ "required": false,
18212
+ "description": "Templates de checklist reutilizaveis aplicaveis aos cards. Formato: [{id, name, items:[{id, text}]}]"
18213
+ },
18214
+ {
18215
+ "name": "kanban_config.win_reasons",
18216
+ "type": "array",
18217
+ "location": "body",
18218
+ "required": false,
18219
+ "description": "Motivos de ganho do funil. Formato: [{id, title}]"
18220
+ },
18221
+ {
18222
+ "name": "kanban_config.loss_reasons",
18223
+ "type": "array",
18224
+ "location": "body",
18225
+ "required": false,
18226
+ "description": "Motivos de perda do funil. Formato: [{id, title}]"
18227
+ },
18228
+ {
18229
+ "name": "kanban_config.global_custom_attributes",
18230
+ "type": "array",
18231
+ "location": "body",
18232
+ "required": false,
18233
+ "description": "Atributos personalizados globais dos cards. Formato: [{name, type, is_list, list_values:[]}]"
18234
+ },
18235
+ {
18236
+ "name": "kanban_config.config",
18237
+ "type": "object",
18238
+ "location": "body",
18239
+ "required": false,
18240
+ "description": "Preferencias do Kanban: title, default_view, auto_assignment, notifications_enabled, support_email, support_phone, support_chat_hours, support_chat_enabled, dragbar_enabled, quick_message_enabled, list_view_enabled, agenda_view_enabled"
18241
+ },
18242
+ {
18243
+ "name": "kanban_config.enabled",
18244
+ "type": "boolean",
18245
+ "location": "body",
18246
+ "required": false,
18247
+ "description": "Habilita/desabilita a config (afeta o webhook)"
18248
+ },
18249
+ {
18250
+ "name": "kanban_config.webhook_url",
18251
+ "type": "string",
18252
+ "location": "body",
18253
+ "required": false,
18254
+ "description": "URL do webhook do Kanban"
18255
+ },
18256
+ {
18257
+ "name": "kanban_config.webhook_secret",
18258
+ "type": "string",
18259
+ "location": "body",
18260
+ "required": false,
18261
+ "description": "Segredo HMAC do webhook"
18262
+ },
18263
+ {
18264
+ "name": "kanban_config.webhook_events",
18265
+ "type": "array",
18266
+ "location": "body",
18267
+ "required": false,
18268
+ "description": "Eventos do webhook habilitados (array de strings)"
18269
+ }
18270
+ ],
18178
18271
  "returns": "config Kanban criado (com novo ID)",
18179
18272
  "common_use_cases": [
18180
18273
  "Cadastro inicial de config Kanban",
@@ -18192,9 +18285,73 @@
18192
18285
  "method": "PUT",
18193
18286
  "path": "/api/v1/accounts/{account_id}/kanban_config",
18194
18287
  "title": "Atualizar Configuracao Kanban",
18195
- "description": "Atualiza a configuracao do Kanban. Atualiza campos do config Kanban existente. Suporta atualização parcial (PATCH) — só campos enviados são alterados.",
18288
+ "description": "Atualiza a configuracao do Kanban da conta. Atualizacao parcial — so os campos enviados mudam. Use para criar/editar checklist_templates (templates de checklist dos cards), win_reasons/loss_reasons (motivos de ganho/perda), global_custom_attributes (atributos dos cards), config (preferencias) e webhook (url/secret/events).",
18196
18289
  "category": "Config Kanban",
18197
- "params": [],
18290
+ "params": [
18291
+ {
18292
+ "name": "kanban_config.checklist_templates",
18293
+ "type": "array",
18294
+ "location": "body",
18295
+ "required": false,
18296
+ "description": "Templates de checklist reutilizaveis aplicaveis aos cards. Formato: [{id, name, items:[{id, text}]}]"
18297
+ },
18298
+ {
18299
+ "name": "kanban_config.win_reasons",
18300
+ "type": "array",
18301
+ "location": "body",
18302
+ "required": false,
18303
+ "description": "Motivos de ganho do funil. Formato: [{id, title}]"
18304
+ },
18305
+ {
18306
+ "name": "kanban_config.loss_reasons",
18307
+ "type": "array",
18308
+ "location": "body",
18309
+ "required": false,
18310
+ "description": "Motivos de perda do funil. Formato: [{id, title}]"
18311
+ },
18312
+ {
18313
+ "name": "kanban_config.global_custom_attributes",
18314
+ "type": "array",
18315
+ "location": "body",
18316
+ "required": false,
18317
+ "description": "Atributos personalizados globais dos cards. Formato: [{name, type, is_list, list_values:[]}]"
18318
+ },
18319
+ {
18320
+ "name": "kanban_config.config",
18321
+ "type": "object",
18322
+ "location": "body",
18323
+ "required": false,
18324
+ "description": "Preferencias do Kanban: title, default_view, auto_assignment, notifications_enabled, support_email, support_phone, support_chat_hours, support_chat_enabled, dragbar_enabled, quick_message_enabled, list_view_enabled, agenda_view_enabled"
18325
+ },
18326
+ {
18327
+ "name": "kanban_config.enabled",
18328
+ "type": "boolean",
18329
+ "location": "body",
18330
+ "required": false,
18331
+ "description": "Habilita/desabilita a config (afeta o webhook)"
18332
+ },
18333
+ {
18334
+ "name": "kanban_config.webhook_url",
18335
+ "type": "string",
18336
+ "location": "body",
18337
+ "required": false,
18338
+ "description": "URL do webhook do Kanban"
18339
+ },
18340
+ {
18341
+ "name": "kanban_config.webhook_secret",
18342
+ "type": "string",
18343
+ "location": "body",
18344
+ "required": false,
18345
+ "description": "Segredo HMAC do webhook"
18346
+ },
18347
+ {
18348
+ "name": "kanban_config.webhook_events",
18349
+ "type": "array",
18350
+ "location": "body",
18351
+ "required": false,
18352
+ "description": "Eventos do webhook habilitados (array de strings)"
18353
+ }
18354
+ ],
18198
18355
  "returns": "config Kanban atualizado",
18199
18356
  "common_use_cases": [
18200
18357
  "Edição parcial de config Kanban",
@@ -24364,6 +24521,84 @@
24364
24521
  "lionchat_inboxes_whatsapp_history_status"
24365
24522
  ]
24366
24523
  },
24524
+ {
24525
+ "id": "lionchat_inboxes_coex_backup_connect",
24526
+ "method": "POST",
24527
+ "path": "/api/v1/accounts/{account_id}/inboxes/{inbox_id}/coex_backup/connect",
24528
+ "title": "Conectar Saida de Emergencia (Coex)",
24529
+ "description": "Provisiona/conecta a sessao WAHA so-envio (retorna QR) de uma caixa WhatsApp Cloud em coexistencia, usada para enviar texto fora da janela de 24h. Requer admin + feature 'coexistence_backup_send' + caixa Cloud em coexistencia.",
24530
+ "category": "Caixas de Entrada",
24531
+ "params": [
24532
+ {
24533
+ "name": "inbox_id",
24534
+ "type": "integer",
24535
+ "location": "path",
24536
+ "required": true,
24537
+ "description": "ID da caixa de entrada (inbox)"
24538
+ }
24539
+ ],
24540
+ "returns": "Estado da sessao de emergencia (state, qr, connected)",
24541
+ "common_use_cases": [
24542
+ "Ativar o envio fora da janela de 24h numa caixa Cloud",
24543
+ "Exibir o QR para parear o numero de emergencia"
24544
+ ],
24545
+ "related_tools": [
24546
+ "lionchat_inboxes_coex_backup_status",
24547
+ "lionchat_inboxes_coex_backup_disconnect"
24548
+ ]
24549
+ },
24550
+ {
24551
+ "id": "lionchat_inboxes_coex_backup_status",
24552
+ "method": "GET",
24553
+ "path": "/api/v1/accounts/{account_id}/inboxes/{inbox_id}/coex_backup/status",
24554
+ "title": "Status da Saida de Emergencia (Coex)",
24555
+ "description": "Retorna o estado da sessao WAHA so-envio da caixa (state, qr, connected). Nunca levanta erro. Requer admin + feature 'coexistence_backup_send'.",
24556
+ "category": "Caixas de Entrada",
24557
+ "params": [
24558
+ {
24559
+ "name": "inbox_id",
24560
+ "type": "integer",
24561
+ "location": "path",
24562
+ "required": true,
24563
+ "description": "ID da caixa de entrada (inbox)"
24564
+ }
24565
+ ],
24566
+ "returns": "{ state, qr, connected }",
24567
+ "common_use_cases": [
24568
+ "Verificar se a saida de emergencia esta conectada",
24569
+ "Buscar o QR atual durante o pareamento"
24570
+ ],
24571
+ "related_tools": [
24572
+ "lionchat_inboxes_coex_backup_connect",
24573
+ "lionchat_inboxes_coex_backup_disconnect"
24574
+ ]
24575
+ },
24576
+ {
24577
+ "id": "lionchat_inboxes_coex_backup_disconnect",
24578
+ "method": "POST",
24579
+ "path": "/api/v1/accounts/{account_id}/inboxes/{inbox_id}/coex_backup/disconnect",
24580
+ "title": "Desconectar Saida de Emergencia (Coex)",
24581
+ "description": "Desconecta/destroi a sessao WAHA so-envio da caixa Cloud em coexistencia. Requer admin + feature 'coexistence_backup_send'.",
24582
+ "category": "Caixas de Entrada",
24583
+ "params": [
24584
+ {
24585
+ "name": "inbox_id",
24586
+ "type": "integer",
24587
+ "location": "path",
24588
+ "required": true,
24589
+ "description": "ID da caixa de entrada (inbox)"
24590
+ }
24591
+ ],
24592
+ "returns": "Resultado da desconexao",
24593
+ "common_use_cases": [
24594
+ "Desligar o envio fora da janela de 24h",
24595
+ "Limpar a sessao de emergencia da caixa"
24596
+ ],
24597
+ "related_tools": [
24598
+ "lionchat_inboxes_coex_backup_connect",
24599
+ "lionchat_inboxes_coex_backup_status"
24600
+ ]
24601
+ },
24367
24602
  {
24368
24603
  "id": "lionchat_conversations_toggle_block",
24369
24604
  "method": "POST",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lionchat/mcp-server",
3
- "version": "0.5.7",
3
+ "version": "0.5.8",
4
4
  "description": "MCP server for LionChat API — 547 tools + 10 resources + 9 prompts. Audit-log aware, completion API, progress notifications.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",