n8n-nodes-zarkchat 0.3.0 → 0.5.0

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.
@@ -154,6 +154,25 @@ function messageBodyFields(show) {
154
154
  displayOptions: { show: { ...show, messageType: ['interactive'] } },
155
155
  routing: { send: { type: 'body', property: 'interactive' } },
156
156
  },
157
+ {
158
+ displayName: 'Reply to Message ID',
159
+ name: 'replyToMessageId',
160
+ type: 'string',
161
+ default: '',
162
+ description: 'Responde uma mensagem específica da conversa (a bolha sai citando ela, como no WhatsApp). É o ID do ZarkChat, não o wamid. Vazio: mensagem normal.',
163
+ displayOptions: { show },
164
+ routing: {
165
+ send: {
166
+ type: 'body',
167
+ property: 'replyToMessageId',
168
+ // `|| undefined` NÃO é enfeite: o contrato é `uuid().optional()`,
169
+ // então mandar string vazia daria 400 em TODO envio que não cita
170
+ // nada, que é a imensa maioria. Campo opcional vazio precisa
171
+ // SUMIR do corpo, não virar valor vazio.
172
+ value: '={{ $value || undefined }}',
173
+ },
174
+ },
175
+ },
157
176
  ];
158
177
  }
159
178
  //# sourceMappingURL=messageBody.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messageBody.js","sourceRoot":"","sources":["../../../../nodes/ZarkChat/shared/messageBody.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messageBody.js","sourceRoot":"","sources":["../../../../nodes/ZarkChat/shared/messageBody.ts"],"names":[],"mappings":"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"}
@@ -1,44 +1,4 @@
1
1
  import type { DeclarativeRestApiSettings, IDataObject, IExecutePaginationFunctions, INodeExecutionData } from 'n8n-workflow';
2
- /**
3
- * Trata 429 dentro de um node declarativo (`routing`, sem `execute()`), sem
4
- * reescrever as 32 operações.
5
- *
6
- * ONDE ISTO PODE VIVER: o formato declarativo só dá UM ponto de extensão com
7
- * acesso à requisição HTTP inteira (método, URL, corpo, headers) ANTES dela
8
- * sair: o hook de paginação
9
- * (`INodeTypeDescription.requestOperations.pagination`, quando é uma
10
- * função). Ele roda mesmo sem paginação de verdade acontecer; só precisa que
11
- * `routing.send.paginate` esteja ligado em algum campo visível na chamada.
12
- * Ligamos isso UMA vez no campo `resource` (o único sempre presente, em
13
- * toda operação), então nenhuma das 32 operações muda.
14
- *
15
- * Os outros pontos do routing NÃO servem pra isto:
16
- * - `postReceive` (função ou declarativo) só roda em cima de uma resposta
17
- * já processada e não recebe de volta a requisição que a gerou, só a
18
- * resposta. Não dá pra reemitir a chamada a partir dele.
19
- * - Sem `ignoreHttpStatusErrors`, um 429 já sai como `NodeApiError` antes de
20
- * qualquer hook rodar, e nessa conversão os headers da resposta (onde mora
21
- * o `Retry-After`) não sobrevivem no objeto de erro.
22
- *
23
- * Por isso a chamada HTTP em si é feita AQUI, com
24
- * `helpers.httpRequestWithAuthentication` (o mesmo helper que o RoutingNode
25
- * usa por baixo) e `ignoreHttpStatusErrors: true`, pra poder ler o
26
- * `Retry-After` num 429 sem que ele vire exceção primeiro. A consequência é
27
- * que este arquivo também reimplementa, à mão, os dois pedaços que o n8n
28
- * faria sozinho num node declarativo comum:
29
- *
30
- * 1. O pós-processamento declarativo (`postReceive`) — hoje só o tipo
31
- * `rootProperty`, usado por Contact/Conversation: Get Many e
32
- * Conversation: Get Messages pra desembrulhar `{data:[...], nextCursor}`.
33
- * 2. O `NodeApiError` pros status que não são 429, pra manter a mesma
34
- * mensagem de erro que as operações já davam antes desta mudança.
35
- *
36
- * Se uma operação nova um dia precisar de um tipo de `postReceive` diferente
37
- * de `rootProperty` (`filter`, `limit`, `set`, `sort`, `setKeyValue`,
38
- * `binaryData` ou uma função customizada), `aplicarPostReceive` abaixo
39
- * lança um erro claro em vez de ignorar silenciosamente: é o sinal de que
40
- * este arquivo precisa ganhar suporte a esse tipo.
41
- */
42
2
  /** Teto de tentativas pro 429: 1 chamada original + até 3 reenvios. Não fica preso pra sempre. */
43
3
  export declare const RATE_LIMIT_MAX_ATTEMPTS = 4;
44
4
  /** Lê o `Retry-After` (sempre em segundos inteiros, ver `rate-limit.service.ts`) em ms, com teto e fallback. */
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RATE_LIMIT_MAX_ATTEMPTS = void 0;
4
4
  exports.parseRetryAfterMs = parseRetryAfterMs;
5
5
  exports.zarkChatRateLimitedRequest = zarkChatRateLimitedRequest;
6
+ const node_crypto_1 = require("node:crypto");
6
7
  const n8n_workflow_1 = require("n8n-workflow");
7
8
  /**
8
9
  * Trata 429 dentro de um node declarativo (`routing`, sem `execute()`), sem
@@ -44,6 +45,8 @@ const n8n_workflow_1 = require("n8n-workflow");
44
45
  * lança um erro claro em vez de ignorar silenciosamente: é o sinal de que
45
46
  * este arquivo precisa ganhar suporte a esse tipo.
46
47
  */
48
+ /** Cabeçalho que a API exige em envio via api-key (`IdempotencyInterceptor`). */
49
+ const HEADER_IDEMPOTENCIA = 'Idempotency-Key';
47
50
  /** Teto de tentativas pro 429: 1 chamada original + até 3 reenvios. Não fica preso pra sempre. */
48
51
  exports.RATE_LIMIT_MAX_ATTEMPTS = 4;
49
52
  /** Nome da credencial usada por todas as 32 operações (ver ZarkChatApi.credentials.ts). */
@@ -114,6 +117,28 @@ function respostaComoErro(response) {
114
117
  * liga `routing.send.paginate`.
115
118
  */
116
119
  async function zarkChatRateLimitedRequest(requestOptions) {
120
+ var _a, _b;
121
+ // BLOQUEADOR RESOLVIDO (relatado pelo integrador do Tantalo em 2026-08-15):
122
+ // a API exige `Idempotency-Key` em envio via api-key, e o nó não mandava
123
+ // nenhum. Resultado medido: TODA tentativa de responder cliente voltava
124
+ // 400 e o agente nunca entregou uma mensagem.
125
+ //
126
+ // A CHAVE NASCE AQUI, FORA DO LAÇO, e é isso que faz a coisa prestar. Ela
127
+ // precisa ser estável por MENSAGEM LÓGICA, não por tentativa HTTP: gerada
128
+ // dentro do laço, um 429 seguido de reenvio entregaria DUAS mensagens ao
129
+ // cliente, que é exatamente o que a idempotência existe pra impedir.
130
+ //
131
+ // Só em envio (POST). Em GET o cabeçalho seria ruído, e a API nem olha.
132
+ // Chave que o workflow já definiu é respeitada: quem monta o próprio
133
+ // reenvio no n8n precisa poder controlar a idempotência dele.
134
+ const opcoes = requestOptions.options;
135
+ if (String((_a = opcoes.method) !== null && _a !== void 0 ? _a : 'GET').toUpperCase() === 'POST') {
136
+ const headers = (_b = opcoes.headers) !== null && _b !== void 0 ? _b : {};
137
+ if (!headers[HEADER_IDEMPOTENCIA]) {
138
+ headers[HEADER_IDEMPOTENCIA] = (0, node_crypto_1.randomUUID)();
139
+ }
140
+ opcoes.headers = headers;
141
+ }
117
142
  let tentativa = 1;
118
143
  while (true) {
119
144
  const response = (await this.helpers.httpRequestWithAuthentication.call(this, CREDENTIAL_TYPE, {
@@ -1 +1 @@
1
- {"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../../../nodes/ZarkChat/shared/rateLimit.ts"],"names":[],"mappings":";;;AAiEA,8CAMC;AAsED,gEAkCC;AAtKD,+CAAuE;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,kGAAkG;AACrF,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAEzC,2FAA2F;AAC3F,MAAM,eAAe,GAAG,aAAa,CAAC;AAEtC,mGAAmG;AACnG,MAAM,sBAAsB,GAAG,IAAK,CAAC;AAErC,sGAAsG;AACtG,MAAM,kBAAkB,GAAG,MAAO,CAAC;AAEnC,gHAAgH;AAChH,SAAgB,iBAAiB,CAAC,OAAoB;;IACrD,MAAM,KAAK,GAAG,MAAA,OAAO,CAAC,aAAa,CAAC,mCAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAC/E,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,EAAE,kBAAkB,CAAC,CAAC;AACtD,CAAC;AAED,uFAAuF;AACvF,SAAS,SAAS,CAAC,KAAc,EAAE,OAAe;IACjD,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAU,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1D,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAK,KAAiC,EAAE,CAAC;YACvF,OAAQ,KAAiC,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC,EAAE,KAAK,CAAC,CAAC;AACX,CAAC;AAUD;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAChC,GAAgC,EAChC,MAAyB,EACzB,QAA8B;;IAE9B,IAAI,KAAK,GAAyB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC7D,CAAC,CAAE,QAAQ,CAAC,IAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAA,QAAQ,CAAC,IAAI,mCAAI,EAAE,CAAgB,EAAE,CAAC,CAAC;IAEpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;gBAChC,KAAK,GAAG,MAAO,IAAiC,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC5E,SAAS;YACV,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAClC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC9B,IAAI,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAAE,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACpD,OAAQ,QAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC,CAAC;gBACH,SAAS;YACV,CAAC;YACD,MAAM,IAAI,iCAAkB,CAC3B,GAAG,CAAC,OAAO,EAAE,EACb,oFAAoF,IAAI,CAAC,IAAI,sFAAsF,CACnL,CAAC;QACH,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,sGAAsG;AACtG,SAAS,gBAAgB,CAAC,QAA8B;IACvD,OAAO;QACN,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAmB,EAAE;KACpD,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,0BAA0B,CAE/C,cAAwD;IAExD,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE;YAC9F,GAAG,cAAc,CAAC,OAAO;YACzB,kBAAkB,EAAE,IAAI;YACxB,sBAAsB,EAAE,IAAI;SACL,CAAC,CAAyB,CAAC;QAEnD,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,SAAS,GAAG,+BAAuB,EAAE,CAAC;YACxE,SAAS,IAAI,CAAC,CAAC;YACf,MAAM,IAAA,oBAAK,EAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACjD,SAAS;QACV,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YACjC,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE;gBAClE,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,yCAAyC,+BAAuB,wJAAwJ;aACjO,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE;gBAClE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;aACrC,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../../../nodes/ZarkChat/shared/rateLimit.ts"],"names":[],"mappings":";;;AAqEA,8CAMC;AAsED,gEA2DC;AA5MD,6CAAyC;AAUzC,+CAAuE;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,iFAAiF;AACjF,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAE9C,kGAAkG;AACrF,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAEzC,2FAA2F;AAC3F,MAAM,eAAe,GAAG,aAAa,CAAC;AAEtC,mGAAmG;AACnG,MAAM,sBAAsB,GAAG,IAAK,CAAC;AAErC,sGAAsG;AACtG,MAAM,kBAAkB,GAAG,MAAO,CAAC;AAEnC,gHAAgH;AAChH,SAAgB,iBAAiB,CAAC,OAAoB;;IACrD,MAAM,KAAK,GAAG,MAAA,OAAO,CAAC,aAAa,CAAC,mCAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAC/E,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,EAAE,kBAAkB,CAAC,CAAC;AACtD,CAAC;AAED,uFAAuF;AACvF,SAAS,SAAS,CAAC,KAAc,EAAE,OAAe;IACjD,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAU,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1D,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAK,KAAiC,EAAE,CAAC;YACvF,OAAQ,KAAiC,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC,EAAE,KAAK,CAAC,CAAC;AACX,CAAC;AAUD;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAChC,GAAgC,EAChC,MAAyB,EACzB,QAA8B;;IAE9B,IAAI,KAAK,GAAyB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC7D,CAAC,CAAE,QAAQ,CAAC,IAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAA,QAAQ,CAAC,IAAI,mCAAI,EAAE,CAAgB,EAAE,CAAC,CAAC;IAEpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;gBAChC,KAAK,GAAG,MAAO,IAAiC,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC5E,SAAS;YACV,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAClC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC9B,IAAI,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAAE,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACpD,OAAQ,QAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC,CAAC;gBACH,SAAS;YACV,CAAC;YACD,MAAM,IAAI,iCAAkB,CAC3B,GAAG,CAAC,OAAO,EAAE,EACb,oFAAoF,IAAI,CAAC,IAAI,sFAAsF,CACnL,CAAC;QACH,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,sGAAsG;AACtG,SAAS,gBAAgB,CAAC,QAA8B;IACvD,OAAO;QACN,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAmB,EAAE;KACpD,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,0BAA0B,CAE/C,cAAwD;;IAExD,4EAA4E;IAC5E,yEAAyE;IACzE,wEAAwE;IACxE,8CAA8C;IAC9C,EAAE;IACF,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,qEAAqE;IACrE,EAAE;IACF,wEAAwE;IACxE,qEAAqE;IACrE,8DAA8D;IAC9D,MAAM,MAAM,GAAG,cAAc,CAAC,OAG7B,CAAC;IACF,IAAI,MAAM,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAA,wBAAU,GAAE,CAAC;QAC7C,CAAC;QACD,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE;YAC9F,GAAG,cAAc,CAAC,OAAO;YACzB,kBAAkB,EAAE,IAAI;YACxB,sBAAsB,EAAE,IAAI;SACL,CAAC,CAAyB,CAAC;QAEnD,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,SAAS,GAAG,+BAAuB,EAAE,CAAC;YACxE,SAAS,IAAI,CAAC,CAAC;YACf,MAAM,IAAA,oBAAK,EAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACjD,SAAS;QACV,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YACjC,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE;gBAClE,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,yCAAyC,+BAAuB,wJAAwJ;aACjO,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE;gBAClE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;aACrC,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-zarkchat",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "Nodes do ZarkChat para o n8n: CRM, contatos, conversas, envio de mensagem no WhatsApp, base de conhecimento e gatilho por webhook assinado.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/mayconjordanr/zark-chat/tree/main/packages/n8n-nodes-zarkchat#readme",