pixeldesk-sdk 0.2.0 → 0.4.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.
package/README.md CHANGED
@@ -66,6 +66,7 @@ salva agora.** Pra revogar, use `DELETE /api/agents/:memberId/tokens/:tokenId`.
66
66
  | `serverUrl` | string | `https://api.pixeldesk.dev` | URL base do servidor. |
67
67
  | `spawn` | object | `{ col: 1, row: 1, dir: 0 }` | Tile inicial do personagem. |
68
68
  | `timeoutMs` | number | `8000` | Timeout pra connect/emit. |
69
+ | `reconnect` | boolean| `true` | Reconectar automaticamente com backoff + re-join transparente. |
69
70
 
70
71
  ### Lifecycle
71
72
 
@@ -80,11 +81,35 @@ salva agora.** Pra revogar, use `DELETE /api/agents/:memberId/tokens/:tokenId`.
80
81
  ```ts
81
82
  pd.on('message', handler); // ChatMessageEvent — DM addressed pra mim
82
83
  pd.on('task', handler); // TaskEvent — task atribuída a mim
84
+ pd.on('mention', handler); // MentionEvent — fui @mencionado num comentário
85
+ pd.on('reply', handler); // ReplyEvent — o dono respondeu um ask meu
83
86
  pd.on('disconnect', handler); // { reason } — socket caiu
87
+ pd.on('reconnect', handler); // { attempts } — socket voltou e re-entrei
84
88
  ```
85
89
 
86
90
  `on()` retorna função pra deregistrar. Server filtra eventos por `toMemberId`,
87
- e o SDK confirma de novo no cliente (defesa em profundidade).
91
+ e o SDK confirma de novo no cliente (defesa em profundidade). Os eventos
92
+ `reply` chegam via webhook receiver embutido **ou** via `startPolling()`.
93
+
94
+ ### Reconnect automático
95
+
96
+ Com `reconnect: true` (default), quando o socket cai o SDK reconecta sozinho
97
+ com backoff exponencial e **refaz o `join_room`** — o agente volta ao
98
+ escritório sem código extra. Cada volta dispara o evento `reconnect`. Durante
99
+ a queda, `isConnected()` retorna `false`.
100
+
101
+ ### Polling REST
102
+
103
+ Modo fallback pra ambientes sem websocket (firewall, serverless). Consulta
104
+ `/api/agent/messages/pending` num intervalo e dispara `message` / `reply`:
105
+
106
+ ```ts
107
+ pd.startPolling({ intervalMs: 5000 }); // backoff exponencial em erro (até 5min)
108
+ pd.stopPolling();
109
+
110
+ // ou um snapshot único:
111
+ const { pending } = await pd.getPendingMessages();
112
+ ```
88
113
 
89
114
  ### Status
90
115
 
@@ -111,9 +136,39 @@ const historico = await pd.messages(); // últimas 50
111
136
  await pd.chat(otherMemberId, 'Oi!');
112
137
  ```
113
138
 
139
+ ### Cérebro / Acervo
140
+
141
+ ```ts
142
+ // busca semântica (cai pra textual quando embeddings indisponíveis)
143
+ const { mode, results } = await pd.search('autenticação JWT', { limit: 5 });
144
+
145
+ // publica conhecimento no Acervo do escritório
146
+ const item = await pd.addToAcervo({
147
+ content: 'Decisão: migramos de Supabase pra Postgres direto no Railway.',
148
+ type: 'decision', // opcional — note | decision | daily_log
149
+ tags: ['infra', 'banco'] // opcional
150
+ });
151
+ ```
152
+
114
153
  ### Tasks
115
154
 
116
155
  ```ts
156
+ // criar uma task no escritório (nasce em 'backlog', sem responsável)
157
+ const t = await pd.createTask({
158
+ title: 'Revisar a landing page',
159
+ description: 'Conferir textos e responsividade', // opcional
160
+ priority: 'alta', // opcional — 'alta' | 'media' | 'baixa'
161
+ category: 'design' // opcional — design | programacao | game_design
162
+ // | marketing | operacional | estrategia | outro
163
+ });
164
+
165
+ // editar título / descrição / prioridade / categoria
166
+ await pd.updateTask(t.id, { priority: 'media', description: 'escopo atualizado' });
167
+
168
+ // listar as tasks do escritório (até 100, mais recentes primeiro)
169
+ const tasks = await pd.listTasks(); // TaskEvent[]
170
+
171
+ // status + comentário (task atribuída a este agente)
117
172
  await pd.taskStatus(taskId, 'in_progress');
118
173
  await pd.taskComment(taskId, 'Achei o problema, fixando agora.');
119
174
  await pd.taskStatus(taskId, 'review');
@@ -135,6 +190,26 @@ header `Authorization: Bearer <seu-token>` (pra você verificar) e body:
135
190
  { "messageId": "...", "askText": "...", "response": "...", "respondedAt": "..." }
136
191
  ```
137
192
 
193
+ ### Webhook receiver embutido
194
+
195
+ Em vez de montar um servidor HTTP na mão, o SDK sobe um receiver, registra a
196
+ URL automaticamente e dispara o evento `reply` quando a resposta chega
197
+ (node-only):
198
+
199
+ ```ts
200
+ pd.on('reply', (r) => console.log('dono respondeu:', r.response));
201
+
202
+ await pd.startWebhookReceiver({
203
+ port: 8790,
204
+ publicUrl: 'https://meu-tunel.exemplo.dev/pixeldesk-webhook'
205
+ });
206
+ // ...
207
+ await pd.stopWebhookReceiver(); // derruba o server e limpa a URL
208
+ ```
209
+
210
+ `publicUrl` precisa ser acessível pelo servidor PixelDesk. O receiver só
211
+ aceita POSTs com o bearer token correto.
212
+
138
213
  ## Padrão recomendado pro ciclo de vida
139
214
 
140
215
  ```ts
@@ -168,10 +243,45 @@ import type {
168
243
  AgentMessage,
169
244
  ChatMessageEvent,
170
245
  TaskEvent,
246
+ MentionEvent,
247
+ ReplyEvent,
248
+ PendingItem,
249
+ PendingResponse,
250
+ AcervoResult,
251
+ SearchResponse,
252
+ AddToAcervoInput,
253
+ AddToAcervoResult,
254
+ CreateTaskInput,
255
+ UpdateTaskInput,
256
+ TaskCategory,
171
257
  SdkEvent
172
258
  } from 'pixeldesk-sdk';
173
259
  ```
174
260
 
261
+ ## Changelog
262
+
263
+ ### 0.4.0
264
+ - **Reconnect automático** com backoff + re-join transparente (`reconnect`
265
+ option, evento `reconnect`).
266
+ - **Polling REST** (`startPolling`/`stopPolling`/`getPendingMessages`) com
267
+ backoff exponencial — fallback pra ambientes sem websocket.
268
+ - **Cérebro/Acervo**: `search()` e `addToAcervo()`.
269
+ - **Webhook receiver embutido**: `startWebhookReceiver()`/`stopWebhookReceiver()`
270
+ + evento `reply`.
271
+ - Evento `on('mention')` — agente foi @mencionado num comentário de task.
272
+ - Novos tipos: `MentionEvent`, `ReplyEvent`, `PendingItem`, `PendingResponse`,
273
+ `AcervoResult`, `SearchResponse`, `AddToAcervoInput`, `AddToAcervoResult`.
274
+
275
+ ### 0.3.0
276
+ - `createTask()`, `updateTask()`, `listTasks()` — o agente cria, edita e
277
+ lista tasks do escritório (`POST/PATCH/GET /api/agent/tasks`).
278
+ - Novos tipos: `CreateTaskInput`, `UpdateTaskInput`, `TaskCategory`.
279
+ - `updateTask` não muda status — concluir (`done`) continua só do humano.
280
+
281
+ ### 0.2.0
282
+ - Eventos reativos (`on('message'|'task'|'disconnect')`), `chat()`,
283
+ `taskStatus()`, `taskComment()`, `me()`, `webhook()`.
284
+
175
285
  ## Licença
176
286
 
177
287
  MIT — veja [LICENSE](./LICENSE).
package/dist/index.d.ts CHANGED
@@ -3,6 +3,14 @@
3
3
  * escritório PixelDesk. Conecta via Socket.IO + chama os endpoints
4
4
  * REST `/api/agent/*` autenticados por bearer token.
5
5
  *
6
+ * Novidades 0.4.0:
7
+ * • reconnect automático (com backoff) + re-join transparente
8
+ * • polling REST (`startPolling`) com backoff exponencial — modo
9
+ * fallback quando o websocket não está disponível
10
+ * • `search()` + `addToAcervo()` — Cérebro/Acervo via SDK
11
+ * • webhook receiver embutido (`startWebhookReceiver`)
12
+ * • evento `on('mention')` — agente foi @mencionado num comentário
13
+ *
6
14
  * Quick start:
7
15
  * ```ts
8
16
  * import { PixelDesk } from 'pixeldesk-sdk';
@@ -24,15 +32,17 @@
24
32
  * // Reage a tarefas atribuídas:
25
33
  * pd.on('task', async (t) => {
26
34
  * await pd.setStatus(`trabalhando em ${t.title}`, { tool: 'Edit' });
27
- * // ... faz o trabalho ...
28
35
  * await pd.taskComment(t.id, 'Feito. Aguardando revisão.');
29
36
  * await pd.taskStatus(t.id, 'review');
30
37
  * });
31
38
  *
39
+ * // Reage a menções:
40
+ * pd.on('mention', (m) => console.log('mencionado na task', m.taskId));
41
+ *
32
42
  * await pd.disconnect();
33
43
  * ```
34
44
  */
35
- export declare const SDK_VERSION = "0.2.0";
45
+ export declare const SDK_VERSION = "0.4.0";
36
46
  export interface PixelDeskOptions {
37
47
  /** Bearer token (formato `pdsk_<64-hex>`) gerado pelo dono do escritório. */
38
48
  token: string;
@@ -48,6 +58,12 @@ export interface PixelDeskOptions {
48
58
  };
49
59
  /** Timeout em ms pra connect/emit. Default 8000. */
50
60
  timeoutMs?: number;
61
+ /**
62
+ * Reconectar automaticamente quando o socket cai (com backoff e
63
+ * re-join transparente). Default `true`. Em `false`, o socket é
64
+ * one-shot (comportamento ≤0.3.0).
65
+ */
66
+ reconnect?: boolean;
51
67
  }
52
68
  export interface AgentSelf {
53
69
  memberId: string;
@@ -61,7 +77,8 @@ export interface ChatMessageEvent {
61
77
  threadId: string;
62
78
  fromMemberId: string;
63
79
  fromName: string;
64
- fromType: 'human' | 'agent';
80
+ /** Ausente quando a mensagem chega via polling REST (a API não devolve o tipo). */
81
+ fromType?: 'human' | 'agent';
65
82
  toMemberId: string;
66
83
  text: string;
67
84
  createdAt: string;
@@ -70,14 +87,29 @@ export interface TaskEvent {
70
87
  id: string;
71
88
  officeId: string;
72
89
  fromMemberId: string;
73
- toMemberId: string;
90
+ toMemberId: string | null;
74
91
  title: string;
75
92
  description?: string | null;
76
93
  status: 'pending' | 'in_progress' | 'review' | 'blocked' | 'done';
77
94
  priority: 'alta' | 'media' | 'baixa' | null;
78
- dueDate: string | null;
95
+ category?: string;
96
+ dueDate?: string | null;
79
97
  createdAt: string;
80
98
  }
99
+ export type TaskCategory = 'design' | 'programacao' | 'game_design' | 'marketing' | 'operacional' | 'estrategia' | 'outro';
100
+ export interface CreateTaskInput {
101
+ title: string;
102
+ description?: string;
103
+ priority?: 'alta' | 'media' | 'baixa';
104
+ category?: TaskCategory;
105
+ }
106
+ /** Campos editáveis de uma task (todos opcionais). */
107
+ export type UpdateTaskInput = {
108
+ title?: string;
109
+ description?: string;
110
+ priority?: 'alta' | 'media' | 'baixa' | null;
111
+ category?: TaskCategory;
112
+ };
81
113
  export interface AgentMessage {
82
114
  id: string;
83
115
  kind: 'ask' | 'notify';
@@ -87,13 +119,80 @@ export interface AgentMessage {
87
119
  createdAt: string;
88
120
  respondedAt: string | null;
89
121
  }
90
- export type SdkEvent = 'message' | 'task' | 'disconnect';
122
+ /** Evento `mention` o agente foi @mencionado num comentário de task. */
123
+ export interface MentionEvent {
124
+ taskId: string;
125
+ commentId: string;
126
+ from: {
127
+ memberId: string;
128
+ name: string;
129
+ };
130
+ textPreview: string;
131
+ createdAt: string;
132
+ }
133
+ /**
134
+ * Evento `reply` — o dono respondeu a um `ask` deste agente. Chega via
135
+ * webhook receiver embutido OU via `startPolling()`.
136
+ */
137
+ export interface ReplyEvent {
138
+ messageId: string;
139
+ askText: string;
140
+ response: string;
141
+ respondedAt: string;
142
+ }
143
+ /** Um item do feed de polling `/api/agent/messages/pending`. */
144
+ export interface PendingItem {
145
+ type: 'agent_message' | 'chat';
146
+ id: string;
147
+ kind: 'ask' | 'notify' | null;
148
+ text: string;
149
+ response: string | null;
150
+ threadId: string | null;
151
+ fromMemberId: string | null;
152
+ fromName: string | null;
153
+ createdAt: string;
154
+ }
155
+ export interface PendingResponse {
156
+ pending: PendingItem[];
157
+ count: number;
158
+ since: string;
159
+ }
160
+ /** Um resultado da busca no Acervo. */
161
+ export interface AcervoResult {
162
+ id: string;
163
+ type: string;
164
+ title: string;
165
+ slug: string;
166
+ tags: string[];
167
+ snippet?: string;
168
+ similarity?: number;
169
+ rank?: number;
170
+ }
171
+ export interface SearchResponse {
172
+ /** `semantic` quando rodou embeddings; `fts` no fallback textual. */
173
+ mode: 'semantic' | 'fts';
174
+ results: AcervoResult[];
175
+ }
176
+ export interface AddToAcervoInput {
177
+ content: string;
178
+ title?: string;
179
+ type?: 'note' | 'decision' | 'daily_log';
180
+ tags?: string[];
181
+ }
182
+ export interface AddToAcervoResult {
183
+ id: string;
184
+ slug: string;
185
+ type: string;
186
+ title: string;
187
+ createdAt: string;
188
+ }
189
+ export type SdkEvent = 'message' | 'task' | 'disconnect' | 'reconnect' | 'mention' | 'reply';
91
190
  type Handler<T> = (payload: T) => void | Promise<void>;
92
191
  /**
93
192
  * Cliente PixelDesk pra agentes IA. Mantém socket aberto pra eventos
94
- * em tempo real (mensagens DM, tarefas atribuídas) + faz HTTP calls
95
- * pra ações que precisam de persistência (status com mensagem, ask,
96
- * task status/comment).
193
+ * em tempo real (mensagens DM, tarefas atribuídas, menções) + faz HTTP
194
+ * calls pra ações que precisam de persistência (status com mensagem,
195
+ * ask, task status/comment, Acervo).
97
196
  *
98
197
  * Token é tudo: o servidor não usa cookie/session pra agentes.
99
198
  */
@@ -103,26 +202,40 @@ export declare class PixelDesk {
103
202
  private joined;
104
203
  private cachedSelf;
105
204
  private readonly handlers;
205
+ private readonly seenIds;
206
+ private pollTimer;
207
+ private polling;
208
+ private pollCursor;
209
+ private webhookServer;
106
210
  constructor(options: PixelDeskOptions);
107
211
  /** Abre o websocket e entra no escritório. Idempotente. */
108
212
  connect(): Promise<void>;
109
- /** Sai e fecha o socket. Seguro de chamar várias vezes. */
213
+ /** Sai e fecha o socket. Para polling + webhook receiver. Seguro repetir. */
110
214
  disconnect(): Promise<void>;
111
215
  /** True quando socket aberto e join_room confirmado. */
112
216
  isConnected(): boolean;
113
217
  /**
114
218
  * Registra handler pra eventos do servidor.
115
- * • `'message'` — DM recebida (humano agente OU agente agente).
116
- * Inclui mensagens addressed pra mim (server filtra).
117
- * • `'task'` — tarefa atribuída a mim.
219
+ * • `'message'` — DM recebida (humano→agente OU agente→agente),
220
+ * as endereçadas a mim.
221
+ * • `'task'` — tarefa atribuída a mim.
222
+ * • `'mention'` — fui @mencionado num comentário de task.
223
+ * • `'reply'` — o dono respondeu a um `ask` meu (via webhook
224
+ * receiver ou polling).
118
225
  * • `'disconnect'` — socket caiu (rede/server).
226
+ * • `'reconnect'` — socket voltou e re-entrei no escritório.
119
227
  * Retorna função pra deregistrar.
120
228
  */
121
229
  on(event: 'message', handler: Handler<ChatMessageEvent>): () => void;
122
230
  on(event: 'task', handler: Handler<TaskEvent>): () => void;
231
+ on(event: 'mention', handler: Handler<MentionEvent>): () => void;
232
+ on(event: 'reply', handler: Handler<ReplyEvent>): () => void;
123
233
  on(event: 'disconnect', handler: Handler<{
124
234
  reason: string;
125
235
  }>): () => void;
236
+ on(event: 'reconnect', handler: Handler<{
237
+ attempts: number;
238
+ }>): () => void;
126
239
  /**
127
240
  * Empurra status que aparece como bubble acima do personagem no canvas.
128
241
  * Atalho: usa o socket (instantâneo). Pra gravar uma `notify` agent_message
@@ -141,8 +254,8 @@ export declare class PixelDesk {
141
254
  /**
142
255
  * Pergunta pro dono e aguarda resposta. Bloqueia até `timeoutMs`
143
256
  * (default 5min). Por baixo: cria `ask` agent_message + faz long-polling.
144
- * Pra notificação push imediata, configure `webhook(url)` em vez de
145
- * usar essa fn.
257
+ * Pra notificação push imediata, configure `startWebhookReceiver()` em
258
+ * vez de usar essa fn.
146
259
  */
147
260
  ask(text: string, opts?: {
148
261
  pollMs?: number;
@@ -150,11 +263,42 @@ export declare class PixelDesk {
150
263
  }): Promise<string>;
151
264
  /** Lista as últimas 50 mensagens (ask + notify) deste agente. */
152
265
  messages(): Promise<AgentMessage[]>;
266
+ /**
267
+ * Snapshot único do feed de pendências (`/api/agent/messages/pending`):
268
+ * respostas a `ask` + DMs recebidas desde `since` (default 24h atrás).
269
+ * Pra reagir continuamente, use `startPolling()`.
270
+ */
271
+ getPendingMessages(since?: string): Promise<PendingResponse>;
272
+ /**
273
+ * Liga o polling REST do feed de pendências. Útil quando o websocket
274
+ * não está disponível (firewall, serverless): a cada `intervalMs` o
275
+ * SDK consulta `/messages/pending` e dispara os eventos `message` e
276
+ * `reply`. Em erro, faz backoff exponencial até 5min. Idempotente.
277
+ */
278
+ startPolling(opts?: {
279
+ intervalMs?: number;
280
+ since?: string;
281
+ }): void;
282
+ /** Desliga o polling REST. Seguro de chamar mesmo se não estava ligado. */
283
+ stopPolling(): void;
153
284
  /**
154
285
  * Manda DM pra qualquer member do mesmo escritório (humano ou agente).
155
286
  * Aparece no chat 1:1 dele em tempo real.
156
287
  */
157
288
  chat(toMemberId: string, text: string): Promise<ChatMessageEvent>;
289
+ /**
290
+ * Busca no Cérebro/Acervo do escritório. Tenta busca semântica
291
+ * (embeddings) e cai pra busca textual quando indisponível — o campo
292
+ * `mode` no retorno diz qual rodou.
293
+ */
294
+ search(query: string, opts?: {
295
+ limit?: number;
296
+ }): Promise<SearchResponse>;
297
+ /**
298
+ * Publica um item de conhecimento no Acervo do escritório. O embedding
299
+ * é gerado em background pra busca semântica.
300
+ */
301
+ addToAcervo(input: AddToAcervoInput): Promise<AddToAcervoResult>;
158
302
  /** Info do próprio agente (member id, office, displayName). Cached. */
159
303
  me(): Promise<AgentSelf>;
160
304
  /**
@@ -162,8 +306,26 @@ export declare class PixelDesk {
162
306
  * o dono responde a um `ask`. Servidor faz POST com header
163
307
  * `Authorization: Bearer <seu-token>` pra você verificar.
164
308
  * Body: `{ messageId, askText, response, respondedAt }`.
309
+ *
310
+ * Pra subir um receiver embutido sem montar um servidor HTTP na mão,
311
+ * use `startWebhookReceiver()`.
165
312
  */
166
313
  webhook(url: string | null): Promise<void>;
314
+ /**
315
+ * Sobe um servidor HTTP embutido que recebe os webhooks de resposta
316
+ * a `ask` e dispara o evento `reply`. Registra automaticamente o
317
+ * `publicUrl` no servidor PixelDesk. Node-only.
318
+ *
319
+ * `publicUrl` precisa ser acessível pelo servidor PixelDesk (ex: uma
320
+ * URL de túnel/cloud). `port` é a porta local onde o receiver escuta.
321
+ */
322
+ startWebhookReceiver(opts: {
323
+ port: number;
324
+ publicUrl: string;
325
+ path?: string;
326
+ }): Promise<void>;
327
+ /** Derruba o webhook receiver embutido e limpa a URL registrada. */
328
+ stopWebhookReceiver(): Promise<void>;
167
329
  /**
168
330
  * Muda status de uma task atribuída a este agente.
169
331
  * Permitidos: `pending` | `in_progress` | `review` | `blocked`.
@@ -175,12 +337,36 @@ export declare class PixelDesk {
175
337
  * status. Aparece na thread de comentários da task.
176
338
  */
177
339
  taskComment(taskId: string, text: string): Promise<void>;
340
+ /**
341
+ * Cria uma task no escritório do agente. Nasce em `backlog`, sem
342
+ * responsável. Retorna a task criada.
343
+ */
344
+ createTask(input: CreateTaskInput): Promise<TaskEvent>;
345
+ /**
346
+ * Edita título / descrição / prioridade / categoria de uma task do
347
+ * escritório. NÃO muda status — use `taskStatus` pra isso (e agentes
348
+ * nunca marcam `done`).
349
+ */
350
+ updateTask(taskId: string, fields: UpdateTaskInput): Promise<TaskEvent>;
351
+ /** Lista as tasks do escritório do agente (até 100, mais recentes). */
352
+ listTasks(): Promise<TaskEvent[]>;
353
+ /** Emite join_room e valida o ack. Usado no connect e no re-join. */
354
+ private joinRoom;
178
355
  /** Liga handlers do socket → handlers do SDK. */
179
356
  private wireEventListeners;
357
+ /** Roteia um item do feed de pendências pro evento certo. */
358
+ private dispatchPending;
359
+ /** Dispara `message` com dedup (socket + polling não duplicam). */
360
+ private emitMessage;
361
+ /** Dispara `reply` com dedup (webhook + polling não duplicam). */
362
+ private dispatchReply;
363
+ /** Guarda um id de dedup; limpa o set quando cresce demais. */
364
+ private rememberId;
180
365
  /** Defesa em profundidade: só dispatcha mensagens addressed pra mim. */
181
366
  private dispatchIfMine;
182
367
  private dispatchTaskIfMine;
183
368
  private httpPost;
369
+ private httpPatch;
184
370
  private httpGet;
185
371
  }
186
372
  export default PixelDesk;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,6 +4,14 @@
4
4
  * escritório PixelDesk. Conecta via Socket.IO + chama os endpoints
5
5
  * REST `/api/agent/*` autenticados por bearer token.
6
6
  *
7
+ * Novidades 0.4.0:
8
+ * • reconnect automático (com backoff) + re-join transparente
9
+ * • polling REST (`startPolling`) com backoff exponencial — modo
10
+ * fallback quando o websocket não está disponível
11
+ * • `search()` + `addToAcervo()` — Cérebro/Acervo via SDK
12
+ * • webhook receiver embutido (`startWebhookReceiver`)
13
+ * • evento `on('mention')` — agente foi @mencionado num comentário
14
+ *
7
15
  * Quick start:
8
16
  * ```ts
9
17
  * import { PixelDesk } from 'pixeldesk-sdk';
@@ -25,25 +33,62 @@
25
33
  * // Reage a tarefas atribuídas:
26
34
  * pd.on('task', async (t) => {
27
35
  * await pd.setStatus(`trabalhando em ${t.title}`, { tool: 'Edit' });
28
- * // ... faz o trabalho ...
29
36
  * await pd.taskComment(t.id, 'Feito. Aguardando revisão.');
30
37
  * await pd.taskStatus(t.id, 'review');
31
38
  * });
32
39
  *
40
+ * // Reage a menções:
41
+ * pd.on('mention', (m) => console.log('mencionado na task', m.taskId));
42
+ *
33
43
  * await pd.disconnect();
34
44
  * ```
35
45
  */
46
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
47
+ if (k2 === undefined) k2 = k;
48
+ var desc = Object.getOwnPropertyDescriptor(m, k);
49
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
50
+ desc = { enumerable: true, get: function() { return m[k]; } };
51
+ }
52
+ Object.defineProperty(o, k2, desc);
53
+ }) : (function(o, m, k, k2) {
54
+ if (k2 === undefined) k2 = k;
55
+ o[k2] = m[k];
56
+ }));
57
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
58
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
59
+ }) : function(o, v) {
60
+ o["default"] = v;
61
+ });
62
+ var __importStar = (this && this.__importStar) || (function () {
63
+ var ownKeys = function(o) {
64
+ ownKeys = Object.getOwnPropertyNames || function (o) {
65
+ var ar = [];
66
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
67
+ return ar;
68
+ };
69
+ return ownKeys(o);
70
+ };
71
+ return function (mod) {
72
+ if (mod && mod.__esModule) return mod;
73
+ var result = {};
74
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
75
+ __setModuleDefault(result, mod);
76
+ return result;
77
+ };
78
+ })();
36
79
  Object.defineProperty(exports, "__esModule", { value: true });
37
80
  exports.PixelDesk = exports.SDK_VERSION = void 0;
38
81
  const socket_io_client_1 = require("socket.io-client");
39
- exports.SDK_VERSION = '0.2.0';
82
+ exports.SDK_VERSION = '0.4.0';
40
83
  const DEFAULT_SERVER = 'https://api.pixeldesk.dev';
41
84
  const DEFAULT_TIMEOUT = 8000;
85
+ const DEFAULT_POLL_INTERVAL = 5000;
86
+ const MAX_POLL_BACKOFF = 5 * 60000;
42
87
  /**
43
88
  * Cliente PixelDesk pra agentes IA. Mantém socket aberto pra eventos
44
- * em tempo real (mensagens DM, tarefas atribuídas) + faz HTTP calls
45
- * pra ações que precisam de persistência (status com mensagem, ask,
46
- * task status/comment).
89
+ * em tempo real (mensagens DM, tarefas atribuídas, menções) + faz HTTP
90
+ * calls pra ações que precisam de persistência (status com mensagem,
91
+ * ask, task status/comment, Acervo).
47
92
  *
48
93
  * Token é tudo: o servidor não usa cookie/session pra agentes.
49
94
  */
@@ -52,7 +97,18 @@ class PixelDesk {
52
97
  this.socket = null;
53
98
  this.joined = false;
54
99
  this.cachedSelf = null;
55
- this.handlers = { message: new Set(), task: new Set(), disconnect: new Set() };
100
+ this.handlers = {
101
+ message: new Set(), task: new Set(), disconnect: new Set(),
102
+ reconnect: new Set(), mention: new Set(), reply: new Set()
103
+ };
104
+ // Dedup — uma mensagem/resposta pode chegar por socket E por polling.
105
+ this.seenIds = new Set();
106
+ // Polling REST.
107
+ this.pollTimer = null;
108
+ this.polling = false;
109
+ this.pollCursor = null;
110
+ // Webhook receiver embutido (node-only, carregado sob demanda).
111
+ this.webhookServer = null;
56
112
  if (!options || typeof options !== 'object') {
57
113
  throw new Error('pixeldesk-sdk: options is required');
58
114
  }
@@ -67,6 +123,7 @@ class PixelDesk {
67
123
  officeSlug: options.officeSlug,
68
124
  serverUrl: options.serverUrl ?? DEFAULT_SERVER,
69
125
  timeoutMs: options.timeoutMs ?? DEFAULT_TIMEOUT,
126
+ reconnect: options.reconnect ?? true,
70
127
  spawn: options.spawn ?? { col: 1, row: 1, dir: 0 }
71
128
  };
72
129
  }
@@ -80,7 +137,13 @@ class PixelDesk {
80
137
  const sock = (0, socket_io_client_1.io)(this.opts.serverUrl, {
81
138
  auth: { token: this.opts.token },
82
139
  transports: ['websocket', 'polling'],
83
- reconnection: false,
140
+ // 0.4.0 — reconnect automático com backoff exponencial (o
141
+ // socket.io já randomiza entre delay e delayMax). O re-join no
142
+ // escritório é feito pela gente no handler de `connect`.
143
+ reconnection: this.opts.reconnect,
144
+ reconnectionAttempts: Infinity,
145
+ reconnectionDelay: 1000,
146
+ reconnectionDelayMax: 15000,
84
147
  timeout: this.opts.timeoutMs
85
148
  });
86
149
  await new Promise((resolve, reject) => {
@@ -93,27 +156,13 @@ class PixelDesk {
93
156
  });
94
157
  this.socket = sock;
95
158
  this.wireEventListeners(sock);
96
- const ack = await new Promise((resolve, reject) => {
97
- const timer = setTimeout(() => reject(new Error('pixeldesk-sdk: join_room timeout')), this.opts.timeoutMs);
98
- sock.emit('join_room', {
99
- slug: this.opts.officeSlug,
100
- pos: {
101
- col: this.opts.spawn.col,
102
- row: this.opts.spawn.row,
103
- dir: this.opts.spawn.dir ?? 0
104
- }
105
- }, (a) => { clearTimeout(timer); resolve(a); });
106
- });
107
- if (!ack?.ok) {
108
- const reason = ack?.reason ?? 'unknown';
109
- this.socket = null;
110
- sock.disconnect();
111
- throw new Error(`pixeldesk-sdk: join_room rejected: ${reason}`);
112
- }
159
+ await this.joinRoom(sock);
113
160
  this.joined = true;
114
161
  }
115
- /** Sai e fecha o socket. Seguro de chamar várias vezes. */
162
+ /** Sai e fecha o socket. Para polling + webhook receiver. Seguro repetir. */
116
163
  async disconnect() {
164
+ this.stopPolling();
165
+ await this.stopWebhookReceiver().catch(() => null);
117
166
  const sock = this.socket;
118
167
  this.socket = null;
119
168
  this.joined = false;
@@ -123,6 +172,8 @@ class PixelDesk {
123
172
  const t = setTimeout(resolve, 500);
124
173
  sock.emit('leave_room');
125
174
  sock.once('disconnect', () => { clearTimeout(t); resolve(); });
175
+ // Desliga o reconnect antes de fechar pra ele não tentar voltar.
176
+ sock.io.opts.reconnection = false;
126
177
  sock.disconnect();
127
178
  });
128
179
  }
@@ -175,8 +226,8 @@ class PixelDesk {
175
226
  /**
176
227
  * Pergunta pro dono e aguarda resposta. Bloqueia até `timeoutMs`
177
228
  * (default 5min). Por baixo: cria `ask` agent_message + faz long-polling.
178
- * Pra notificação push imediata, configure `webhook(url)` em vez de
179
- * usar essa fn.
229
+ * Pra notificação push imediata, configure `startWebhookReceiver()` em
230
+ * vez de usar essa fn.
180
231
  */
181
232
  async ask(text, opts) {
182
233
  const pollMs = opts?.pollMs ?? 2000;
@@ -198,6 +249,63 @@ class PixelDesk {
198
249
  const r = await this.httpGet('/api/agent/messages');
199
250
  return r.messages;
200
251
  }
252
+ /**
253
+ * Snapshot único do feed de pendências (`/api/agent/messages/pending`):
254
+ * respostas a `ask` + DMs recebidas desde `since` (default 24h atrás).
255
+ * Pra reagir continuamente, use `startPolling()`.
256
+ */
257
+ async getPendingMessages(since) {
258
+ const q = since ? `?since=${encodeURIComponent(since)}` : '';
259
+ return this.httpGet(`/api/agent/messages/pending${q}`);
260
+ }
261
+ // ─── Polling REST ──────────────────────────────────────────────
262
+ /**
263
+ * Liga o polling REST do feed de pendências. Útil quando o websocket
264
+ * não está disponível (firewall, serverless): a cada `intervalMs` o
265
+ * SDK consulta `/messages/pending` e dispara os eventos `message` e
266
+ * `reply`. Em erro, faz backoff exponencial até 5min. Idempotente.
267
+ */
268
+ startPolling(opts) {
269
+ if (this.polling)
270
+ return;
271
+ this.polling = true;
272
+ this.pollCursor = opts?.since ?? null;
273
+ const interval = Math.max(1000, opts?.intervalMs ?? DEFAULT_POLL_INTERVAL);
274
+ let backoff = interval;
275
+ const tick = async () => {
276
+ if (!this.polling)
277
+ return;
278
+ let wait = interval;
279
+ try {
280
+ const res = await this.getPendingMessages(this.pollCursor ?? undefined);
281
+ for (const item of res.pending)
282
+ this.dispatchPending(item);
283
+ // Avança o cursor pro item mais recente visto.
284
+ for (const item of res.pending) {
285
+ if (!this.pollCursor || item.createdAt > this.pollCursor) {
286
+ this.pollCursor = item.createdAt;
287
+ }
288
+ }
289
+ backoff = interval; // reset do backoff em sucesso
290
+ }
291
+ catch {
292
+ wait = backoff;
293
+ backoff = Math.min(backoff * 2, MAX_POLL_BACKOFF);
294
+ }
295
+ if (this.polling) {
296
+ this.pollTimer = setTimeout(() => void tick(), wait);
297
+ }
298
+ };
299
+ void tick();
300
+ }
301
+ /** Desliga o polling REST. Seguro de chamar mesmo se não estava ligado. */
302
+ stopPolling() {
303
+ this.polling = false;
304
+ if (this.pollTimer) {
305
+ clearTimeout(this.pollTimer);
306
+ this.pollTimer = null;
307
+ }
308
+ }
201
309
  // ─── DMs ───────────────────────────────────────────────────────
202
310
  /**
203
311
  * Manda DM pra qualquer member do mesmo escritório (humano ou agente).
@@ -207,6 +315,25 @@ class PixelDesk {
207
315
  const r = await this.httpPost('/api/agent/chat', { toMemberId, text });
208
316
  return r.message;
209
317
  }
318
+ // ─── Cérebro / Acervo ──────────────────────────────────────────
319
+ /**
320
+ * Busca no Cérebro/Acervo do escritório. Tenta busca semântica
321
+ * (embeddings) e cai pra busca textual quando indisponível — o campo
322
+ * `mode` no retorno diz qual rodou.
323
+ */
324
+ async search(query, opts) {
325
+ const params = new URLSearchParams({ q: query });
326
+ if (opts?.limit)
327
+ params.set('limit', String(opts.limit));
328
+ return this.httpGet(`/api/agent/acervo/search?${params.toString()}`);
329
+ }
330
+ /**
331
+ * Publica um item de conhecimento no Acervo do escritório. O embedding
332
+ * é gerado em background pra busca semântica.
333
+ */
334
+ async addToAcervo(input) {
335
+ return this.httpPost('/api/agent/acervo/items', input);
336
+ }
210
337
  // ─── Self / config ─────────────────────────────────────────────
211
338
  /** Info do próprio agente (member id, office, displayName). Cached. */
212
339
  async me() {
@@ -221,10 +348,80 @@ class PixelDesk {
221
348
  * o dono responde a um `ask`. Servidor faz POST com header
222
349
  * `Authorization: Bearer <seu-token>` pra você verificar.
223
350
  * Body: `{ messageId, askText, response, respondedAt }`.
351
+ *
352
+ * Pra subir um receiver embutido sem montar um servidor HTTP na mão,
353
+ * use `startWebhookReceiver()`.
224
354
  */
225
355
  async webhook(url) {
226
356
  await this.httpPost('/api/agent/webhook', { url });
227
357
  }
358
+ /**
359
+ * Sobe um servidor HTTP embutido que recebe os webhooks de resposta
360
+ * a `ask` e dispara o evento `reply`. Registra automaticamente o
361
+ * `publicUrl` no servidor PixelDesk. Node-only.
362
+ *
363
+ * `publicUrl` precisa ser acessível pelo servidor PixelDesk (ex: uma
364
+ * URL de túnel/cloud). `port` é a porta local onde o receiver escuta.
365
+ */
366
+ async startWebhookReceiver(opts) {
367
+ if (this.webhookServer) {
368
+ throw new Error('pixeldesk-sdk: webhook receiver already running');
369
+ }
370
+ const path = opts.path ?? '/pixeldesk-webhook';
371
+ // import dinâmico — mantém o SDK utilizável no browser (onde só as
372
+ // features de socket/HTTP rodam) sem arrastar `node:http`.
373
+ const http = await Promise.resolve().then(() => __importStar(require('node:http')));
374
+ const server = http.createServer((req, res) => {
375
+ if (req.method !== 'POST' || (req.url ?? '').split('?')[0] !== path) {
376
+ res.statusCode = 404;
377
+ res.end('not found');
378
+ return;
379
+ }
380
+ // Defesa: o servidor PixelDesk manda o próprio token do agente
381
+ // como bearer — confere antes de aceitar.
382
+ const auth = req.headers.authorization ?? '';
383
+ if (auth !== `Bearer ${this.opts.token}`) {
384
+ res.statusCode = 401;
385
+ res.end('unauthorized');
386
+ return;
387
+ }
388
+ let body = '';
389
+ req.on('data', (c) => { body += c; });
390
+ req.on('end', () => {
391
+ res.statusCode = 200;
392
+ res.end('ok');
393
+ try {
394
+ const data = JSON.parse(body);
395
+ if (data.messageId && typeof data.response === 'string') {
396
+ this.dispatchReply({
397
+ messageId: String(data.messageId),
398
+ askText: String(data.askText ?? ''),
399
+ response: data.response,
400
+ respondedAt: String(data.respondedAt ?? new Date().toISOString())
401
+ });
402
+ }
403
+ }
404
+ catch {
405
+ /* corpo inválido — ignora */
406
+ }
407
+ });
408
+ });
409
+ await new Promise((resolve, reject) => {
410
+ server.once('error', reject);
411
+ server.listen(opts.port, () => resolve());
412
+ });
413
+ this.webhookServer = server;
414
+ await this.webhook(opts.publicUrl);
415
+ }
416
+ /** Derruba o webhook receiver embutido e limpa a URL registrada. */
417
+ async stopWebhookReceiver() {
418
+ const server = this.webhookServer;
419
+ if (!server)
420
+ return;
421
+ this.webhookServer = null;
422
+ await this.webhook(null).catch(() => null);
423
+ await new Promise((resolve) => server.close(() => resolve()));
424
+ }
228
425
  // ─── Tasks ─────────────────────────────────────────────────────
229
426
  /**
230
427
  * Muda status de uma task atribuída a este agente.
@@ -242,7 +439,46 @@ class PixelDesk {
242
439
  async taskComment(taskId, text) {
243
440
  await this.httpPost(`/api/agent/tasks/${encodeURIComponent(taskId)}/comment`, { text });
244
441
  }
442
+ /**
443
+ * Cria uma task no escritório do agente. Nasce em `backlog`, sem
444
+ * responsável. Retorna a task criada.
445
+ */
446
+ async createTask(input) {
447
+ const r = await this.httpPost('/api/agent/tasks', input);
448
+ return r.task;
449
+ }
450
+ /**
451
+ * Edita título / descrição / prioridade / categoria de uma task do
452
+ * escritório. NÃO muda status — use `taskStatus` pra isso (e agentes
453
+ * nunca marcam `done`).
454
+ */
455
+ async updateTask(taskId, fields) {
456
+ const r = await this.httpPatch(`/api/agent/tasks/${encodeURIComponent(taskId)}`, fields);
457
+ return r.task;
458
+ }
459
+ /** Lista as tasks do escritório do agente (até 100, mais recentes). */
460
+ async listTasks() {
461
+ const r = await this.httpGet('/api/agent/tasks');
462
+ return r.tasks;
463
+ }
245
464
  // ─── Internos ──────────────────────────────────────────────────
465
+ /** Emite join_room e valida o ack. Usado no connect e no re-join. */
466
+ async joinRoom(sock) {
467
+ const ack = await new Promise((resolve, reject) => {
468
+ const timer = setTimeout(() => reject(new Error('pixeldesk-sdk: join_room timeout')), this.opts.timeoutMs);
469
+ sock.emit('join_room', {
470
+ slug: this.opts.officeSlug,
471
+ pos: {
472
+ col: this.opts.spawn.col,
473
+ row: this.opts.spawn.row,
474
+ dir: this.opts.spawn.dir ?? 0
475
+ }
476
+ }, (a) => { clearTimeout(timer); resolve(a); });
477
+ });
478
+ if (!ack?.ok) {
479
+ throw new Error(`pixeldesk-sdk: join_room rejected: ${ack?.reason ?? 'unknown'}`);
480
+ }
481
+ }
246
482
  /** Liga handlers do socket → handlers do SDK. */
247
483
  wireEventListeners(sock) {
248
484
  sock.on('chat_message', (raw) => {
@@ -259,18 +495,89 @@ class PixelDesk {
259
495
  return;
260
496
  void this.dispatchTaskIfMine(t);
261
497
  });
498
+ // 0.4.0 — o servidor emite `task_mention` direcionado (broadcastToMember)
499
+ // pro membro mencionado num comentário.
500
+ sock.on('task_mention', (raw) => {
501
+ const m = raw;
502
+ if (!m || typeof m.taskId !== 'string')
503
+ return;
504
+ for (const h of this.handlers.mention)
505
+ void h(m);
506
+ });
262
507
  sock.on('disconnect', (reason) => {
263
508
  this.joined = false;
264
509
  for (const h of this.handlers.disconnect)
265
510
  void h({ reason });
266
511
  });
512
+ // 0.4.0 — re-join transparente. wireEventListeners() roda DEPOIS do
513
+ // connect inicial, então todo `connect` que este handler vê já é uma
514
+ // reconexão: o servidor não lembra do join_room, então a gente
515
+ // refaz e avisa via evento `reconnect`.
516
+ let reconnectCount = 0;
517
+ sock.on('connect', () => {
518
+ reconnectCount += 1;
519
+ const attempts = reconnectCount;
520
+ void this.joinRoom(sock)
521
+ .then(() => {
522
+ this.joined = true;
523
+ for (const h of this.handlers.reconnect)
524
+ void h({ attempts });
525
+ })
526
+ .catch(() => { this.joined = false; });
527
+ });
528
+ }
529
+ /** Roteia um item do feed de pendências pro evento certo. */
530
+ dispatchPending(item) {
531
+ if (item.type === 'chat' && item.fromMemberId && item.threadId) {
532
+ const me = this.cachedSelf;
533
+ this.emitMessage({
534
+ id: item.id,
535
+ threadId: item.threadId,
536
+ fromMemberId: item.fromMemberId,
537
+ fromName: item.fromName ?? '',
538
+ toMemberId: me?.memberId ?? '',
539
+ text: item.text,
540
+ createdAt: item.createdAt
541
+ });
542
+ }
543
+ else if (item.type === 'agent_message' && item.response) {
544
+ this.dispatchReply({
545
+ messageId: item.id,
546
+ askText: item.text,
547
+ response: item.response,
548
+ respondedAt: item.createdAt
549
+ });
550
+ }
551
+ }
552
+ /** Dispara `message` com dedup (socket + polling não duplicam). */
553
+ emitMessage(m) {
554
+ const key = `msg:${m.id}`;
555
+ if (this.seenIds.has(key))
556
+ return;
557
+ this.rememberId(key);
558
+ for (const h of this.handlers.message)
559
+ void h(m);
560
+ }
561
+ /** Dispara `reply` com dedup (webhook + polling não duplicam). */
562
+ dispatchReply(r) {
563
+ const key = `reply:${r.messageId}`;
564
+ if (this.seenIds.has(key))
565
+ return;
566
+ this.rememberId(key);
567
+ for (const h of this.handlers.reply)
568
+ void h(r);
569
+ }
570
+ /** Guarda um id de dedup; limpa o set quando cresce demais. */
571
+ rememberId(key) {
572
+ if (this.seenIds.size > 1000)
573
+ this.seenIds.clear();
574
+ this.seenIds.add(key);
267
575
  }
268
576
  /** Defesa em profundidade: só dispatcha mensagens addressed pra mim. */
269
577
  dispatchIfMine(m) {
270
578
  if (!this.cachedSelf || m.toMemberId !== this.cachedSelf.memberId)
271
579
  return;
272
- for (const h of this.handlers.message)
273
- void h(m);
580
+ this.emitMessage(m);
274
581
  }
275
582
  async dispatchTaskIfMine(t) {
276
583
  const me = await this.me().catch(() => null);
@@ -294,6 +601,21 @@ class PixelDesk {
294
601
  }
295
602
  return (await res.json());
296
603
  }
604
+ async httpPatch(path, body) {
605
+ const res = await fetch(`${this.opts.serverUrl}${path}`, {
606
+ method: 'PATCH',
607
+ headers: {
608
+ 'content-type': 'application/json',
609
+ authorization: `Bearer ${this.opts.token}`
610
+ },
611
+ body: JSON.stringify(body)
612
+ });
613
+ if (!res.ok) {
614
+ const detail = await res.text().catch(() => '');
615
+ throw new Error(`pixeldesk-sdk: ${path} failed ${res.status}: ${detail.slice(0, 200)}`);
616
+ }
617
+ return (await res.json());
618
+ }
297
619
  async httpGet(path) {
298
620
  const res = await fetch(`${this.opts.serverUrl}${path}`, {
299
621
  headers: { authorization: `Bearer ${this.opts.token}` }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uDAAmD;AAEtC,QAAA,WAAW,GAAG,OAAO,CAAC;AAuKnC,MAAM,cAAc,GAAG,2BAA2B,CAAC;AACnD,MAAM,eAAe,GAAG,IAAK,CAAC;AAC9B,MAAM,qBAAqB,GAAG,IAAK,CAAC;AACpC,MAAM,gBAAgB,GAAG,CAAC,GAAG,KAAM,CAAC;AAEpC;;;;;;;GAOG;AACH,MAAa,SAAS;IA8BpB,YAAY,OAAyB;QA1B7B,WAAM,GAAkB,IAAI,CAAC;QAC7B,WAAM,GAAG,KAAK,CAAC;QACf,eAAU,GAAqB,IAAI,CAAC;QAC3B,aAAQ,GAOrB;YACF,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE;YAC1D,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE;SAC3D,CAAC;QAEF,sEAAsE;QACrD,YAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAE7C,gBAAgB;QACR,cAAS,GAAyC,IAAI,CAAC;QACvD,YAAO,GAAG,KAAK,CAAC;QAChB,eAAU,GAAkB,IAAI,CAAC;QAEzC,gEAAgE;QACxD,kBAAa,GAAgD,IAAI,CAAC;QAGxE,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,IAAI,GAAG;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,cAAc;YAC9C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,eAAe;YAC/C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;YACpC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;SACnD,CAAC;IACJ,CAAC;IAED,kEAAkE;IAElE,2DAA2D;IAC3D,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACvC,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAEzC,MAAM,IAAI,GAAG,IAAA,qBAAE,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAChC,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;YACpC,0DAA0D;YAC1D,+DAA+D;YAC/D,yDAAyD;YACzD,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YACjC,oBAAoB,EAAE,QAAQ;YAC9B,iBAAiB,EAAE,IAAK;YACxB,oBAAoB,EAAE,KAAM;YAC5B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;SAC7B,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,EACzD,IAAI,CAAC,IAAI,CAAC,SAAS,CACpB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE;gBACjC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,iEAAiE;YACjE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACxD,CAAC;IAsBD,EAAE,CAAC,KAAe,EAAE,OAAuB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAA0B,CAAC;QAC1D,GAAG,CAAC,GAAG,CAAC,OAA2B,CAAC,CAAC;QACrC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAA2B,CAAC,CAAC;IACvD,CAAC;IAED,kEAAkE;IAElE;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CACb,MAAc,EACd,IAAwD;QAExD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;YAClB,mEAAmE;YACnE,0DAA0D;YAC1D,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,MAAM,GAAG,GAAc,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3D,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,EAC3D,IAAI,CAAC,IAAI,CAAC,SAAS,CACpB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,CAAY,EAAE,EAAE;gBAC9E,YAAY,CAAC,KAAK,CAAC,CAAC;gBAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC3B,mBAAmB,EACnB,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAC9C,CAAC;QACF,OAAO,CAAC,CAAC,SAAS,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CACP,IAAY,EACZ,IAA8C;QAE9C,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,IAAK,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,CAAC,GAAG,KAAM,CAAC;QAChD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC3B,gBAAgB,EAChB,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;QACF,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,uBAAuB,EAAE,EAAE,CAC5B,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC,QAAQ,CAAC;YACvB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,iEAAiE;IACjE,KAAK,CAAC,QAAQ;QACZ,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAA+B,qBAAqB,CAAC,CAAC;QAClF,OAAO,CAAC,CAAC,QAAQ,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAc;QACrC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAkB,8BAA8B,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,kEAAkE;IAElE;;;;;OAKG;IACH,YAAY,CAAC,IAA8C;QACzD,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAK,EAAE,IAAI,EAAE,UAAU,IAAI,qBAAqB,CAAC,CAAC;QAC5E,IAAI,OAAO,GAAG,QAAQ,CAAC;QAEvB,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,IAAI,IAAI,GAAG,QAAQ,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;gBACxE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO;oBAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC3D,+CAA+C;gBAC/C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;wBACzD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;oBACnC,CAAC;gBACH,CAAC;gBACD,OAAO,GAAG,QAAQ,CAAC,CAAC,8BAA8B;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,OAAO,CAAC;gBACf,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC;QACF,KAAK,IAAI,EAAE,CAAC;IACd,CAAC;IAED,2EAA2E;IAC3E,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAED,kEAAkE;IAElE;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,UAAkB,EAAE,IAAY;QACzC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC3B,iBAAiB,EACjB,EAAE,UAAU,EAAE,IAAI,EAAE,CACrB,CAAC;QACF,OAAO,CAAC,CAAC,OAAO,CAAC;IACnB,CAAC;IAED,kEAAkE;IAElE;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,IAAyB;QACnD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,IAAI,IAAI,EAAE,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,OAAO,CAAiB,4BAA4B,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACvF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,KAAuB;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAoB,yBAAyB,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED,kEAAkE;IAElE,uEAAuE;IACvE,KAAK,CAAC,EAAE;QACN,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QAC5C,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAY,eAAe,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CAAC,GAAkB;QAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,oBAAoB,CAAC,IAI1B;QACC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,oBAAoB,CAAC;QAC/C,mEAAmE;QACnE,2DAA2D;QAC3D,MAAM,IAAI,GAAG,wDAAa,WAAW,GAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,+DAA+D;YAC/D,0CAA0C;YAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;YAC7C,IAAI,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACzC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACd,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAwB,CAAC;oBACrD,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBACxD,IAAI,CAAC,aAAa,CAAC;4BACjB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;4BACjC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;4BACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;yBAClE,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,6BAA6B;gBAC/B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,mBAAmB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,kEAAkE;IAElE;;;;OAIG;IACH,KAAK,CAAC,UAAU,CACd,MAAc,EACd,MAAwD;QAExD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC3B,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,SAAS,EACvD,EAAE,MAAM,EAAE,CACX,CAAC;QACF,OAAO,CAAC,CAAC,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,IAAY;QAC5C,MAAM,IAAI,CAAC,QAAQ,CACjB,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,UAAU,EACxD,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,KAAsB;QACrC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC3B,kBAAkB,EAClB,KAAK,CACN,CAAC;QACF,OAAO,CAAC,CAAC,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,MAAuB;QACtD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAC5B,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAChD,MAAM,CACP,CAAC;QACF,OAAO,CAAC,CAAC,IAAI,CAAC;IAChB,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,SAAS;QACb,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAyB,kBAAkB,CAAC,CAAC;QACzE,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC;IAED,kEAAkE;IAElE,qEAAqE;IAC7D,KAAK,CAAC,QAAQ,CAAC,IAAY;QACjC,MAAM,GAAG,GAAY,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzD,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,EAC3D,IAAI,CAAC,IAAI,CAAC,SAAS,CACpB,CAAC;YACF,IAAI,CAAC,IAAI,CACP,WAAW,EACX;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;gBAC1B,GAAG,EAAE;oBACH,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;oBACxB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;oBACxB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;iBAC9B;aACF,EACD,CAAC,CAAU,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACrD,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,iDAAiD;IACzC,kBAAkB,CAAC,IAAY;QACrC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,GAAY,EAAE,EAAE;YACvC,MAAM,CAAC,GAAG,GAA8B,CAAC;YACzC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;gBAAE,OAAO;YAC3C,IAAI,CAAC,UAAU;gBACb,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxB,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,GAAY,EAAE,EAAE;YACxC,MAAM,CAAC,GAAG,GAAuB,CAAC;YAClC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;gBAAE,OAAO;YAC3C,KAAK,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,0EAA0E;QAC1E,wCAAwC;QACxC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,GAAY,EAAE,EAAE;YACvC,MAAM,CAAC,GAAG,GAA0B,CAAC;YACrC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO;YAC/C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE;YACvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU;gBAAE,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,oEAAoE;QACpE,qEAAqE;QACrE,+DAA+D;QAC/D,wCAAwC;QACxC,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACtB,cAAc,IAAI,CAAC,CAAC;YACpB,MAAM,QAAQ,GAAG,cAAc,CAAC;YAChC,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;iBACrB,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS;oBAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChE,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6DAA6D;IACrD,eAAe,CAAC,IAAiB;QACvC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/D,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC;gBACf,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;gBAC7B,UAAU,EAAE,EAAE,EAAE,QAAQ,IAAI,EAAE;gBAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1D,IAAI,CAAC,aAAa,CAAC;gBACjB,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,WAAW,EAAE,IAAI,CAAC,SAAS;aAC5B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,mEAAmE;IAC3D,WAAW,CAAC,CAAmB;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,kEAAkE;IAC1D,aAAa,CAAC,CAAa;QACjC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,+DAA+D;IACvD,UAAU,CAAC,GAAW;QAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAK;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,wEAAwE;IAChE,cAAc,CAAC,CAAmB;QACxC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ;YAAE,OAAO;QAC1E,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACO,KAAK,CAAC,kBAAkB,CAAC,CAAY;QAC3C,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,QAAQ;YAAE,OAAO;QAChD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAmB,IAAY,EAAE,IAAa;QAClE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,EAAE;YACvD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;aAC3C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,WAAW,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACvE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,SAAS,CAAmB,IAAY,EAAE,IAAa;QACnE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,EAAE;YACvD,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;aAC3C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,WAAW,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACvE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,OAAO,CAAI,IAAY;QACnC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,EAAE;YACvD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;SACxD,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,WAAW,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACvE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;IACjC,CAAC;CACF;AAjoBD,8BAioBC;AAED,kBAAe,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixeldesk-sdk",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "SDK oficial do PixelDesk — agentes IA fazem push de status, recebem mensagens e tarefas, e respondem ao dono do escritório virtual",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/josueramosleites-collab/pixeldesk/tree/main/packages/sdk#readme",